Indledende serveropsætning med CentOS / RHEL 8


I denne artikel vil vi gennemgå de første grundlæggende trin, som du skal anvende efter installation af en minimal CentOS/RHEL 8-server uden grafisk miljø for at hente oplysningerne om det installerede system, hardwaren oven på serveren kører og konfigurerer andre specifikke systemopgaver, såsom systemopdatering, netværk, rodrettigheder, konfigurering af ssh, administrering af tjenester og andre.

  1. Installationsvejledning til CentOS 8
  2. RHEL 8 Minimal installation
  3. Aktivér RHEL-abonnement i RHEL 8

Vigtigt: Du skal have en Red Hat-abonnementstjeneste aktiveret på din RHEL 8-server for at udføre systemopdatering og softwareinstallation.

Trin 1: Opdater systemsoftware

Først skal du logge ind på din server som rootbruger og køre følgende kommandoer for at opdatere systemet fuldt ud med den nyeste kerne, systemsikkerhedsrettelser, softwarelagre og pakker.

# dnf check-update
# dnf update

Når softwareopgraderingsprocessen er afsluttet, kan du slette alle downloadede softwarepakker med alle cachelagrede opbevaringsoplysninger for at frigøre diskplads ved at køre følgende kommando.

# dnf clean all

Trin 2: Installer systemværktøjer

Disse følgende systemværktøjer kan være meget nyttige til daglige systemadministrationsopgaver: nano, vim editor, wget & curl (hjælpeprogrammer, der hovedsageligt bruges til at downloade pakker via netværk) netværktøjer (værktøjer til styring af lokalt netværk) lsof (nyttigt til finde liste over åbne filer efter proces) og bash-gennemførelse (autofuldfør kommandolinje).

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

Trin 3: Konfigurer værtsnavn og netværk

I CentOS/RHEL 8 er der en lang række værktøjer inkluderet i arkiverne, der bruges til at konfigurere og administrere netværk, fra manuel ændring af netværkskonfigurationsfilen til brug af kommandoer som ifconfig, ip, nmcli og nmtui.

Det nemmeste værktøj, som en nybegynder kan bruge til at konfigurere og administrere netværkskonfigurationer såsom at indstille netværkets værtsnavn og konfigurere statisk IP-adresse bruger nmtui grafisk kommandolinjeværktøj.

For at indstille eller ændre systemværtsnavnet skal du køre følgende nmtui-hostname-kommando, som vil bede dig om at indtaste dit maskins værtsnavn og trykke på OK for at afslutte, som illustreret i nedenstående skærmbillede.

# nmtui-hostname

For at konfigurere en netværksgrænseflade skal du køre følgende nmtui-redigeringskommando, som beder dig om at vælge den grænseflade, du vil konfigurere fra menuen som vist i nedenstående skærmbillede.

# nmtui-edit

Når du klikker på knappen Rediger, bliver du bedt om at indstille IP-indstillingerne til netværksgrænsefladen som illustreret i nedenstående skærmbillede. Når du er færdig, skal du navigere til OK ved hjælp af [fane] en tast for at gemme konfigurationen og afslutte.

Når du er færdig med netværkskonfiguration, skal du køre følgende kommando for at anvende de nye netværksindstillinger ved at vælge den grænseflade, du vil administrere, og trykke på Deaktiver/Aktivér mulighed for at nedlukke og åbne grænsefladen med IP-indstillingerne, som præsenteret i nedenstående skærmbillede.

# nmtui-connect

For at kontrollere netværkskonfigurationsindstillingerne kan du kontrollere indholdet af interfacefilen, eller du kan udstede nedenstående kommandoer.

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

Du kan også bruge andre nyttige netværksværktøjer såsom ethtool og mii-tool til at kontrollere hastigheden på netværksgrænsefladen, netværkslinkstatus og få oplysninger om maskinnetværksgrænseflader.

# ethtool enp0s3
# mii-tool enp0s3

Et vigtigt aspekt af dit maskinnetværk er det vigtigt at liste alle åbne netværksstik for at kontrollere, hvilke tjenester der lytter på hvilke porte, og hvad der er status for de etablerede netværksforbindelser og liste alle filer, der åbnes ved processer.

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

Trin 4: Opret en ny brugerkonto

Det tilrådes altid at have en normal bruger med rodtilladelser til at udføre administrative opgaver, når det er nødvendigt. For at tildele root-rettigheder til en normal bruger skal du først oprette en bruger med brugeradd-kommandoen, indstille adgangskoden og føje en bruger til den administrative hjulgruppe.

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

For at kontrollere, at den nye bruger har rodrettigheder, skal du logge ind på systemet med brugerens legitimationsoplysninger og køre dnf-kommandoen med Sudo-tilladelser som vist.

# su - ravisaive
# sudo dnf update

Trin 5: Opsæt SSH adgangskodeløst login på CentOS 8

For at øge din serversikkerhed skal du oprette en SSH-adgangskodeløs godkendelse til din nye bruger ved at generere et par SSH-nøgler - som indeholder en offentlig og privat nøgle, men du skal oprette en. Dette øger sikkerheden på din server ved at kræve en privat SSH-nøgle for at oprette forbindelse til systemet.

# su - ravisaive
$ ssh-keygen -t RSA

Når nøglen er genereret, vil den bede dig om at indtaste adgangssætningen for at sikre den private nøgle. Du kan indtaste en stærk adgangssætning eller vælge at lade adgangskoden være tom, hvis du vil automatisere administrative opgaver via SSH-serveren.

Når SSH-nøglen er genereret, skal du kopiere det genererede offentlige nøglepar til en ekstern server ved at køre kommandoen ssh-copy-id med fjernbetjeningens brugernavn og IP-adresse som vist.

$ ssh-copy-id [email 

Når SSH-nøglen er kopieret, kan du nu prøve at logge ind på din eksterne Linux-server ved hjælp af den private nøgle som godkendelsesmetode. Du skal være i stand til at logge ind automatisk, uden at SSH-serveren beder om en adgangskode.

$ [email 

Trin 6: Sikring af SSH Remote Logins

Her vil vi sikre vores server lidt mere ved at deaktivere ekstern SSH-adgang til rodkontoen i SSH-konfigurationsfilen.

# vi /etc/ssh/sshd_config

Find den linje, der siger #PermitRootLogin yes , fjern kommentaren fra linjen ved at slette # fra begyndelsen af linjen og rediger linjen til.

PermitRootLogin no

Genstart derefter SSH-serveren for at anvende de seneste nye ændringer.

# systemctl restart sshd

Bekræft nu konfigurationen ved at prøve at logge på som root-konto, du får adgang SSH Tilladelse nægtet fejl som vist.

# ssh [email 

Der er scenarier, hvor du måske ønsker at afbryde alle eksterne SSH-forbindelser automatisk til din server efter en bestemt periode med inaktivitet.

Trin 7: Konfigurer Firewall på CentOS 8

I CentOS/RHEL 8 er standard firewall Firewalld, som bruges til at administrere iptables-regler på serveren. For at aktivere og starte firewalld-tjenesten på serveren skal du køre følgende kommandoer.

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

For at åbne en indgående forbindelse til en bestemt tjeneste (SSH) skal du først kontrollere, at tjenesten er til stede i firewalld-reglerne, og derefter tilføje reglen for tjenesten ved at tilføje --permanent skift 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 at åbne indgående forbindelser til andre netværkstjenester såsom HTTP eller SMTP, skal du blot tilføje reglerne som vist ved at angive tjenestenavnet.

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

For at se alle firewallregler på serveren skal du køre følgende kommando.

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

Trin 8: Fjern uønskede tjenester i CentOS 8

Det anbefales stærkt efter installation af en ny CentOS/RHEL 8-server, du skal fjerne og deaktivere uønskede tjenester, der kører som standard på serveren for at reducere angrebene på serveren.

For at få vist alle kørende netværkstjenester inklusive TCP og UDP på serveren skal du køre kommandoen ss eller netstat som illustreret i nedenstående eksempel.

# ss -tulpn
OR
# netstat -tulpn

Ovenstående kommandoer viser nogle interessante tjenester, der kører som standard på serveren, såsom Postfix-mailserveren. Hvis du ikke planlægger at være vært for mailsystemet på serveren, skal du stoppe og fjerne det fra systemet som vist.

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

Ud over kommandoen ss og netstat-kommandoen kan du også køre ps-, top- eller pstree-kommandoer for at finde og identificere alle uønskede tjenester og fjerne dem fra systemet.

# dnf install psmisc
# pstree -p

Trin 9: Administrer tjenester i CentOS 8

I CentOS/RHEL 8 styres alle tjenester og dæmoner via en systemctl-kommando, og du kan bruge denne kommando til at liste alle aktive, kørende, afsluttede eller mislykkede tjenester.

# systemctl list-units

For at kontrollere, om en dæmon eller tjeneste automatisk er aktiveret under systemstart, skal du udstede følgende kommando.

# systemctl list-unit-files -t service

Hvis du vil lære mere om systemctl-kommandoen, skal du læse vores artikel, der forklarer - Sådan styres tjenester ved hjælp af 'Systemctl' i Linux.

Det er alt! I denne artikel har vi forklaret et par grundlæggende indstillinger og kommandoer, som alle Linux-systemadministratorer har brug for at kende og anvende på et nyinstalleret CentOS/RHEL 8-system eller for at udføre daglige opgaver på systemet.