Innledende serveroppsett med CentOS/RHEL 8


I denne artikkelen vil vi lede deg gjennom de første grunnleggende trinnene du må bruke etter å ha installert en minimal CentOS/RHEL 8-server uten grafisk miljø for å hente informasjonen om det installerte systemet, maskinvaren som serveren på toppen av kjører og konfigurerer andre spesifikke systemoppgaver, for eksempel systemoppdatering, nettverk, root-privilegier, konfigurere ssh, administrere tjenester og andre.

  1. Installasjonsveiledning for CentOS 8
  2. RHEL 8 minimal installasjon
  3. Aktiver RHEL-abonnement i RHEL 8

Viktig: Du må ha en Red Hat-abonnementstjeneste aktivert på RHEL 8-serveren for å utføre systemoppdatering og programvareinstallasjon.

Trinn 1: Oppdater systemprogramvaren

Først, logg på serveren din som root-bruker og kjør følgende kommandoer for å fullstendig oppdatere systemet med den nyeste kjernen, systemsikkerhetsoppdateringene, programvaredepotene og pakkene.

# dnf check-update
# dnf update

Når programvareoppgraderingsprosessen er ferdig, kan du for å frigjøre diskplass slette alle nedlastede programvarepakker med all bufrede depotinformasjon ved å kjøre følgende kommando.

# dnf clean all

Trinn 2: Installer systemverktøy

Disse følgende systemverktøyene kan være svært nyttige for daglige systemadministrasjonsoppgaver: bash-fullføring (autofullføring av kommandolinje).

# dnf install nano vim wget curl net-tools lsof bash-completion

Trinn 3: Konfigurer vertsnavn og nettverk

I CentOS/RHEL 8 er det et bredt spekter av verktøy inkludert i depotene som brukes til å konfigurere og administrere nettverk, fra å manuelt endre nettverkskonfigurasjonsfilen til å bruke kommandoer som nmtui.

Det enkleste verktøyet som en nybegynner kan bruke til å konfigurere og administrere nettverkskonfigurasjoner som å angi nettverksvertsnavn og konfigurere statisk IP-adresse, er å bruke nmtui grafisk kommandolinjeverktøy.

For å angi eller endre systemvertsnavnet, kjør følgende nmtui-hostname-kommando, som vil be deg om å skrive inn maskinens vertsnavn og trykk OK for å fullføre, som illustrert i skjermbildet nedenfor.

# nmtui-hostname

For å konfigurere et nettverksgrensesnitt, kjør følgende nmtui-edit-kommando, som vil be deg om å velge grensesnittet du vil konfigurere fra menyen som vist i skjermbildet nedenfor.

# nmtui-edit

Når du klikker på Rediger-knappen, vil den be deg om å sette opp IP-innstillingene for nettverksgrensesnittet som illustrert i skjermbildet nedenfor. Når du er ferdig, naviger til OK ved å bruke [tab] en tast for å lagre konfigurasjonen og avslutte.

Når du er ferdig med nettverkskonfigurasjonen, må du kjøre følgende kommando for å bruke de nye nettverksinnstillingene ved å velge grensesnittet du vil administrere og trykke på alternativet Deaktiver/Aktiver for å deaktivere og få opp grensesnittet med IP-innstillingene, som presentert i skjermbildet nedenfor.

# nmtui-connect

For å verifisere nettverkskonfigurasjonsinnstillingene, kan du sjekke innholdet i grensesnittfilen eller du kan gi kommandoene nedenfor.

# ifconfig enp0s3
# ip a
# ping -c2 google.com

Du kan også bruke andre nyttige nettverksverktøy som ethtool og mii-tool for å sjekke hastigheten på nettverksgrensesnittet, nettverkskoblingsstatus og få informasjon om maskinnettverksgrensesnitt.

# ethtool enp0s3
# mii-tool enp0s3

Et viktig aspekt av maskinens nettverk, er det viktig å liste alle filer som åpnes av prosesser.

# netstat -tulpn
# ss -tulpn
# lsof -i4 -6

Trinn 4: Opprett en ny brukerkonto

Det er alltid tilrådelig å ha en vanlig bruker med root-tillatelser til å utføre administrative oppgaver når det er nødvendig. For å tildele root-privilegier til en vanlig bruker, må du først opprette en bruker med kommandoen useradd, angi passordet og legge til en bruker i den administrative hjulgruppen.

# useradd ravisaive
# passwd ravisaive
# usermod -aG wheel ravisaive

For å bekrefte at den nye brukeren har root-privilegier, logg på systemet med brukerens påloggingsinformasjon og kjør dnf-kommandoen med Sudo-tillatelser som vist.

# su - ravisaive
# sudo dnf update

Trinn 5: Konfigurer SSH passordløs pålogging på CentOS 8

For å øke serversikkerheten din, sett opp en SSH-passordløs autentisering for den nye brukeren din ved å generere et par SSH-nøkler – som inneholder en offentlig og privat nøkkel, men du må opprette en. Dette vil øke sikkerheten til serveren din ved å kreve en privat SSH-nøkkel for å koble til systemet.

# su - ravisaive
$ ssh-keygen -t RSA

Når nøkkelen er generert, vil den be deg om å angi passordfrasen for å sikre den private nøkkelen. Du kan angi en sterk passordfrase eller velge å la passordfrasen stå tom hvis du ønsker å automatisere administrative oppgaver via SSH-server.

Når SSH-nøkkelen er generert, må du kopiere det genererte offentlige nøkkelparet til en ekstern server ved å kjøre kommandoen ssh-copy-id med brukernavnet og IP-adressen til den eksterne serveren som vist.

$ ssh-copy-id [email 

Når SSH-nøkkelen har blitt kopiert, kan du nå prøve å logge på den eksterne Linux-serveren ved å bruke den private nøkkelen som autentiseringsmetode. Du skal kunne logge på automatisk uten at SSH-serveren ber om passord.

$ [email 

Trinn 6: Sikring av SSH-fjernpålogginger

Her vil vi sikre serveren vår litt mer ved å deaktivere ekstern SSH-tilgang til rotkontoen i SSH-konfigurasjonsfilen.

# vi /etc/ssh/sshd_config

Finn linjen som sier #PermitRootLogin yes, avkommenter linjen ved å slette # fra begynnelsen av linjen og endre linjen til.

PermitRootLogin no

Etterpå starter du SSH-serveren på nytt for å bruke de siste nye endringene.

# systemctl restart sshd

Bekreft nå konfigurasjonen ved å prøve å logge på som root-konto, du vil få tilgang til SSH Permission Denied-feil som vist.

# ssh [email 

Det er scenarier der du kanskje vil koble fra alle eksterne SSH-tilkoblinger automatisk til serveren din etter en viss periode med inaktivitet.

Trinn 7: Konfigurer brannmur på CentOS 8

I CentOS/RHEL 8 er standard brannmur Firewalld, som brukes til å administrere iptables-regler på serveren. For å aktivere og starte brannmurtjenesten på serveren, kjør følgende kommandoer.

# systemctl enable firewalld
# systemctl start firewalld
# systemctl status firewalld

For å åpne en innkommende tilkobling til en spesifikk tjeneste (SSH), må du først bekrefte at tjenesten er til stede i brannmurreglene, og deretter legge til regelen for tjenesten ved å legge til --permanent bytt til kommandoer som vist.

# firewall-cmd --add-service=[tab]  #List services
# firewall-cmd --add-service=ssh
# firewall-cmd --add-service=ssh --permanent

Hvis du ønsker å åpne innkommende tilkoblinger til andre nettverkstjenester som HTTP eller SMTP, legger du bare til reglene som vist ved å spesifisere tjenestenavnet.

# firewall-cmd --permanent --add-service=http
# firewall-cmd --permanent --add-service=https
# firewall-cmd --permanent --add-service=smtp

For å se alle brannmurregler på serveren, kjør følgende kommando.

# firewall-cmd --permanent --list-all

Trinn 8: Fjern uønskede tjenester i CentOS 8

Det anbefales på det sterkeste etter å ha installert en ny CentOS/RHEL 8-server, du må fjerne og deaktivere uønskede tjenester som kjører som standard på serveren for å redusere angrepene på serveren.

For å liste opp alle kjørende nettverkstjenester inkludert TCP og UDP på serveren, kjør netstat-kommandoen som illustrert i eksemplet nedenfor.

# ss -tulpn
OR
# netstat -tulpn

Kommandoene ovenfor vil liste noen interessante tjenester som kjører som standard på serveren, for eksempel Postfix e-postserveren. Hvis du ikke planlegger å være vert for e-postsystemet på serveren, må du stoppe og fjerne det fra systemet som vist.

# systemctl stop postfix
# systemctl disable postfix
# dnf remove postfix

I tillegg til topp- eller pstree-kommandoer for å oppdage og identifisere alle uønskede tjenester og fjerne dem fra systemet.

# dnf install psmisc
# pstree -p

Trinn 9: Administrer tjenester i CentOS 8

I CentOS/RHEL 8 administreres alle tjenester og demoner via en systemctl-kommando, og du kan bruke denne kommandoen til å liste opp alle aktive, kjørende, avsluttede eller mislykkede tjenester.

# systemctl list-units

For å sjekke om en demon eller tjeneste blir automatisk aktivert under systemstart, utfør følgende kommando.

# systemctl list-unit-files -t service

For å lære mer om systemctl-kommandoen, les artikkelen vår som forklarer - Hvordan administrere tjenester ved å bruke 'Systemctl' i Linux.

Det er alt! I denne artikkelen har vi forklart noen grunnleggende innstillinger og kommandoer hver Linux-systemadministrator trenger å kjenne til og bruke på et nyinstallert CentOS/RHEL 8-system eller for å utføre daglige oppgaver på systemet.