Zoeken op website

Initiële serverconfiguratie met CentOS/RHEL 8


In dit artikel leiden we u door de eerste basisstappen die u moet uitvoeren na het installeren van een minimale CentOS/RHEL 8 server zonder grafische omgeving om de informatie op te halen over het geïnstalleerde systeem, de hardware waarop de server draait en configureer andere specifieke systeemtaken, zoals systeemupdates, netwerken, rootrechten, ssh configureren, services beheren en meer.

Vereisten

  1. CentOS 8 Installatiehandleiding
  2. RHEL 8 Minimale installatie
  3. RHEL-abonnement inschakelen in RHEL 8

Belangrijk: u moet een Red Hat Subscription Service ingeschakeld hebben op uw RHEL 8-server om systeemupdates uit te voeren en software installatie.

Stap 1: Update de systeemsoftware

Meld u eerst aan bij uw server als rootgebruiker en voer de volgende opdrachten uit om het systeem volledig bij te werken met de nieuwste kernel, systeembeveiligingspatches, softwarebronnen en pakketten.

dnf check-update
dnf update

Zodra het software-upgradeproces is voltooid, kunt u, om schijfruimte vrij te maken, alle gedownloade softwarepakketten met alle informatie over de opslagplaatsen in de cache verwijderen door de volgende opdracht uit te voeren.

dnf clean all

Stap 2: Installeer systeemhulpprogramma's

De volgende systeemhulpprogramma's kunnen erg handig zijn voor dagelijkse systeembeheertaken: nano, vim-editor, wget & curl (hulpprogramma's die meestal worden gebruikt voor het downloaden van pakketten via het netwerk) net-tools (hulpprogramma's voor het beheren van lokale netwerken) lsof (handig voor het vinden van een lijst met geopende bestanden per proces) en bash-completion (automatisch aanvullen op de opdrachtregel).

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

Stap 3: Stel de hostnaam en netwerken in

In CentOS/RHEL 8 is er een breed scala aan tools opgenomen in de opslagplaatsen die gebruikt worden om netwerken te configureren en te beheren, van het handmatig wijzigen van het netwerkconfiguratiebestand tot het gebruik van opdrachten zoals ifconfig, ip, nmcli en nmtui.

Het eenvoudigste hulpprogramma dat een nieuweling kan gebruiken om netwerkconfiguraties te configureren en te beheren, zoals het instellen van de netwerkhostnaam en het configureren van een statisch IP-adres, is het gebruik van het grafische opdrachtregelprogramma nmtui.

Stel de hostnaam in CentOS 8 in

Om de hostnaam van het systeem in te stellen of te wijzigen, voert u de volgende opdracht nmtui-hostname uit, die u zal vragen de hostnaam van uw machine in te voeren en op OK te drukken om te voltooien, zoals geïllustreerd in de onderstaande schermafbeelding.

nmtui-hostname

Stel een statisch IP-adres in CentOS 8 in

Om een netwerkinterface te configureren, voert u de volgende nmtui-edit opdracht uit, die u zal vragen om de interface die u wilt configureren in het menu te selecteren, zoals weergegeven in de onderstaande schermafbeelding.

nmtui-edit

Zodra u op de knop Bewerken klikt, wordt u gevraagd de IP-instellingen van de netwerkinterface in te stellen, zoals geïllustreerd in de onderstaande schermafbeelding. Wanneer u klaar bent, navigeert u naar OK met [tab] een sleutel om de configuratie op te slaan en af te sluiten.

Zodra u klaar bent met de netwerkconfiguratie, moet u de volgende opdracht uitvoeren om de nieuwe netwerkinstellingen toe te passen door de interface te selecteren die u wilt beheren en op de optie Deactiveren/Activeren te klikken om de interface buiten gebruik te stellen en weer te geven met de IP-instellingen, zoals weergegeven in de onderstaande schermafbeelding.

nmtui-connect

Om de netwerkconfiguratie-instellingen te verifiëren, kunt u de inhoud van het interfacebestand controleren of de onderstaande opdrachten geven.

ifconfig enp0s3
ip a
ping -c2 google.com

U kunt ook andere handige netwerkhulpprogramma's gebruiken, zoals ethtool en mii-tool, om de snelheid van de netwerkinterface en de status van de netwerkverbinding te controleren en informatie te verkrijgen over machinenetwerkinterfaces.

ethtool enp0s3
mii-tool enp0s3

Een belangrijk aspect van uw machinenetwerk: het is belangrijk om alle open netwerkaansluitingen te vermelden om te controleren welke services op welke poorten luisteren en wat de status is van de tot stand gebrachte netwerkverbindingen en om alle bestanden weer te geven die door processen zijn geopend.

netstat -tulpn
ss -tulpn
lsof -i4 -6

Stap 4: Maak een nieuw gebruikersaccount aan

Het is altijd raadzaam om een normale gebruiker met root-rechten te hebben om administratieve taken uit te voeren wanneer dat nodig is. Om rootrechten aan een normale gebruiker toe te kennen, maakt u eerst een gebruiker aan met de opdracht useradd, stelt u het wachtwoord in en voegt u een gebruiker toe aan de administratieve wielgroep.

useradd ravisaive
passwd ravisaive
usermod -aG wheel ravisaive

Om te verifiëren dat de nieuwe gebruiker root-rechten heeft, logt u in op het systeem met de inloggegevens van de gebruiker en voert u de opdracht dnf uit met Sudo-machtigingen, zoals weergegeven.

su - ravisaive
sudo dnf update

Stap 5: Stel SSH wachtwoordloos inloggen in op CentOS 8

Om uw serverbeveiliging te vergroten, stelt u een SSH-wachtwoordloze authenticatie in voor uw nieuwe gebruiker door een paar SSH-sleutels te genereren – die een openbare en privésleutel bevatten, maar je moet er een maken. Dit verhoogt de veiligheid van uw server doordat er een privé SSH-sleutel nodig is om verbinding te maken met het systeem.

su - ravisaive
ssh-keygen -t RSA

Zodra de sleutel is gegenereerd, wordt u gevraagd het wachtwoord in te voeren om de privésleutel te beveiligen. U kunt een sterke wachtwoordzin invoeren of ervoor kiezen om de wachtwoordzin leeg te laten als u administratieve taken via de SSH-server wilt automatiseren.

Zodra de SSH-sleutel is gegenereerd, moet u het gegenereerde openbare sleutelpaar naar een externe server kopiëren door de opdracht ssh-copy-id uit te voeren met de gebruikersnaam en het IP-adres van de externe server, zoals weergegeven.

ssh-copy-id [email 

Nadat de SSH-sleutel is gekopieerd, kunt u nu proberen in te loggen op uw externe Linux-server met de privésleutel als authenticatiemethode. Je zou automatisch moeten kunnen inloggen zonder dat de SSH-server om een wachtwoord vraagt.

[email 

Stap 6: SSH-aanmeldingen op afstand beveiligen

Hier zullen we onze server iets beter beveiligen door externe SSH-toegang tot het root-account in het SSH-configuratiebestand uit te schakelen.

vi /etc/ssh/sshd_config

Zoek de regel met de tekst #PermitRootLogin yes, verwijder het commentaar van de regel door # aan het begin van de regel te verwijderen en wijzig de regel in.

PermitRootLogin no

Start daarna de SSH-server opnieuw op om de recente nieuwe wijzigingen toe te passen.

systemctl restart sshd

Controleer nu de configuratie door te proberen in te loggen als root-account. U krijgt toegang tot de SSH Permission Denied-fout zoals weergegeven.

ssh [email 

Er zijn scenario's waarin u mogelijk alle externe SSH-verbindingen met uw server automatisch wilt verbreken na een bepaalde periode van inactiviteit.

Stap 7: Configureer Firewall op CentOS 8

In CentOS/RHEL 8 is de standaardfirewall Firewalld, die wordt gebruikt om iptables-regels op de server te beheren. Om de firewalld-service op de server in te schakelen en te starten, voert u de volgende opdrachten uit.

systemctl enable firewalld
systemctl start firewalld
systemctl status firewalld

Als u een inkomende verbinding met een specifieke service (SSH) wilt openen, moet u eerst verifiëren dat de service aanwezig is in de firewalld-regels en vervolgens de regel toevoegen voor de service door --permanent schakelaar toe te voegen aan opdrachten, zoals weergegeven.

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

Als u inkomende verbindingen met andere netwerkdiensten zoals HTTP of SMTP wilt openen, voegt u gewoon de regels toe zoals weergegeven door de servicenaam op te geven.

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

Voer de volgende opdracht uit om alle firewallregels op de server te bekijken.

firewall-cmd --permanent --list-all

Stap 8: Verwijder ongewenste services in CentOS 8

Het wordt ten zeerste aanbevolen dat u na het installeren van een nieuwe CentOS/RHEL 8-server ongewenste services verwijdert en uitschakelt die standaard op de server draaien om de aanvallen op de server te verminderen.

Om alle actieve netwerkservices, inclusief TCP en UDP op de server weer te geven, voert u de opdracht ss of netstat uit, zoals geïllustreerd in het onderstaande voorbeeld.

ss -tulpn
OR
netstat -tulpn

De bovenstaande commando's tonen een aantal interessante services die standaard op de server draaien, zoals de Postfix mailserver. Als u niet van plan bent het mailsysteem op de server te hosten, moet u dit stoppen en van het systeem verwijderen, zoals weergegeven.

systemctl stop postfix
systemctl disable postfix
dnf remove postfix

Naast de opdrachten ss en netstat kunt u ook de opdrachten ps, top of pstree uitvoeren om alle ongewenste services te ontdekken en te identificeren en deze van het systeem te verwijderen.

dnf install psmisc
pstree -p

Stap 9: Services beheren in CentOS 8

In CentOS/RHEL 8 worden alle services en daemons beheerd via een systemctl-opdracht, en u kunt deze opdracht gebruiken om alle actieve, actieve, afgesloten of mislukte services weer te geven.

systemctl list-units

Om te controleren of een daemon of service automatisch wordt ingeschakeld tijdens het opstarten van het systeem, geeft u de volgende opdracht.

systemctl list-unit-files -t service

Voor meer informatie over de systemctl-opdracht leest u ons artikel waarin wordt uitgelegd: Services beheren met behulp van 'Systemctl' in Linux.

Dat is alles! In dit artikel hebben we enkele basisinstellingen en opdrachten uitgelegd die elke Linux-systeembeheerder moet kennen en toepassen op een nieuw geïnstalleerd CentOS/RHEL 8-systeem of om dagelijkse taken op het systeem uit te voeren. .