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.
- Installasjonsveiledning for CentOS 8
- RHEL 8 minimal installasjon
- 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.
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.