Initiële serverconfiguratie met CentOS 8

Geschatte leestijd: 4 min

Introductie

In deze tutorial kijken we naar een aantal belangrijke taken die we moeten uitvoeren op de server voor een initiële configuratie. Deze stappen zullen zowel de veiligheid als bruikbaarheid van jouw server vergroten. We zullen een reeks taken uitvoeren, waaronder het aanmaken van een nieuwe sudo-gebruiker, het bijwerken van pakketten, het instellen van de tijdzone en het beveiligen van de SSH-server, enz.

Vereisten

Stap 1: Log in via SSH

Wanneer je een server hebt besteld ontvang je een e-mail met een gebruikersnaam, wachtwoord en IP-adres. Je logt de eerste keer in met deze gegevens van jouw server. Als je niet weet hoe je verbinding moet maken met je server dan kun je het artikel Leer hoe je via SSH verbinding kunt maken met je server volgen.

Stap 2: Verander het gebruikerswachtwoord

Bij de eerste aanmelding is het belangrijk om het wachtwoord van de huidige gebruiker te wijzigen. Voer hiervoor het volgende commando uit:

passwd

Je wordt gevraagd om een bestaande wachtwoord op te geven, tenzij je bent ingelogd als de rootgebruiker.

Stap 3: Maak een nieuwe Sudo gebruiker aan

Als je bent ingelogd als root gebruiker, dan is het raadzaam om een sudo-gebruiker te creëren. Als je bent ingelogd als sudo-gebruiker met de gebruikersnaam client_xxxxxx_x, die wij voor je hebben aangemaakt is het nog steeds verstandig om een nieuwe sudo-gebruiker aan te maken.

Een Sudo-gebruiker is een gebruiker met superuserrechten. Dit houdt in dat deze gebruiker administratieve commando’s en taken uitvoeren als de rootgebruiker.

Voer het onderstaande commando uit om een nieuwe gebruiker aan te maken. Je kunt het voorbeeld happysnel vervangen met de gebruikersnaam die je wilt. 

sudo adduser happysnel

Let op: Je kunt sudo commando weglaten als je bent ingelogd als  root gebruiker.

Stel een wachtwoord in voor de nieuwe gebruiker door het onderstaande commando uit te voeren:

sudo passwd happysnel

Voeg de nieuwe gebruiker toe aan de wheel groep. Gebruikers in de wheel groep zijn sudo-gebruikers in CentOS 8.

sudo usermod -aG wheel happysnel

Stap 4: Inloggen als nieuwe gebruiker

Verlaat de huidige terminalsessie door dit commando uit te voeren logout en log opnieuw als nieuwe gebruiker met behulp van ssh. 

ssh [email protected]

192.168.0.1 is een voorbeeld IP-adres

Stap 5: Root Login via SSH uitschakelen

Zoek de huidige instelling voor de root-login via SSH door het onderstaande commando uit te voeren. 

sudo cat /etc/ssh/sshd_config | grep PermitRootLogin

Je krijgt mogelijk de onderstaande output.

[happysnel@vps ~]$ sudo cat /etc/ssh/sshd_config | grep PermitRootLogin
PermitRootLogin without-password
# the setting of "PermitRootLogin without-password".

In de bovenstaande output kunnen we zien dat PermitRootLogin de volgende instelling heeft without-password.  Dit betekent dat de wachtwoordauthenticatie is uitgeschakeld. De public-key authenticatie is echter wel ingeschakeld, wat vaak gewoon prima is. Zorg ervoor dat er geen commentaar mag worden gegeven of dat de instelling niet op ja staat.

Om de root-login volledig uit te schakelen voer je het onderstaande commando uit.

sudo nano /etc/ssh/sshd_config

En wijzig de regel naar het volgende:

PermitRootLogin no

Sla het bestand op en start de SSH-server opnieuw door het onderstaande commando uit te voeren. 

sudo systemctl restart sshd

Als je nu als roortgebruiker probeert in te loggen dan wordt dit niet toegestaan. 

Stap 6: Update jouw server

Het is belangrijk om de nieuwste beveiligingspatches en updates op jouw server te installeren. Voer hiervoor het volgende commando uit.

sudo yum -y update

Let op: Als je een opdrachtprompt ziet die aangeeft dat er een bijgewerkt pakket of bestand beschikbaar is terwijl de geinstalleerde versie al is gewijzigd, dan kies je 
keep the local version currently installed.

Stap 7: Tijdzone instellen

Voer het volgende commando uit om een lijst te krijgen met verschillende tijdzones. 

timedatectl list-timezones

De lijst met verschillende tijdzonde is ook hier te bekijken.

Nadat je de tijdzone hebt geïdentificeerd, kun je deze instellen door het volgende commando uit te voeren.

sudo timedatectl set-timezone Europe/Amsterdam

Je kunt de tijdzone bevestigen door het onderstaande commando uit te voeren.

timedatectl

Stap 8: Hostnaam instellen

Controleer jouw hostnaam door het onderstaande commando uit te voeren.

hostnamectl

Je zou een soortgelijke output moeten zien.

[happysnel@vps ~]$ hostnamectl
   Static hostname: vps.snelexample.site
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 
           Boot ID: 
    Virtualization: kvm
  Operating System: CentOS Linux 8 (Core)
       CPE OS Name: cpe:/o:centos:centos:8
            Kernel: Linux 4.18.0-80.11.2.el8_0.x86_64
      Architecture: x86-64

Voer het onderstaande commando uit om de hostnaam in te stellen.

sudo hostnamectl set-hostname host.snelexample.site

Vervang host.snelexample.site met de daadwerkelijke hostnaam. Gebruik een  FQDN(Fully Qualified Domain Name). Je kunt ook een label toevoegen om jouw server te identificeren, deze optie werkt ook prima.

Zet de hostnaam in jouw lokale server om door het toe te voegen aan dit bestand /etc/hosts. Bewerk dit bestand hosts, voer hiervoor het onderstaande commando uit.

sudo nano /etc/hosts

Voeg uw hostnaam toe aan het einde van de regel die begint met 127.0.0.1. Bijvoorbeeld:

127.0.0.1       localhost host.snelexample.site

Stap 9: Configureer een Firewall

In de meeste gevallen is de Firewall standaard ingeschakeld bij een CentOS 8 installatie. Je kunt dit controleren door het onderstaande commando uit te voeren.

sudo firewall-cmd --state

Als Firewall al draait, dan hoor dit commando te zien running.

[happysnel@vps ~]$ sudo firewall-cmd --state
running

Stap 10: SSH-Poort wijziging (Optioneel)

Schadelijke bots richten zich voornamelijk op SSH-poort 22. Je kan dit veranderen naar een andere poort zodat je server wordt beschermd tegen aanvallen. Om de SSH-poort te wijzigen, open je het SSH-configuratiebestand en voer je het onderstaande commando uit. 

sudo nano /etc/ssh/sshd_config

Zoek de volgende regel.

#Port 22

Verander de poort , je kunt gebruikenmaken van 1024 tot 65535.

Port 2200

Sla het bestand op en verlaat de editor.

Communiceer dit met SELinux door het onderstaande commando uit te voeren.

sudo yum -y install policycoreutils-python-utils
sudo semanage port -a -t ssh_port_t -p tcp 2200

Open poort 2200 vanaf de firewall met het onderstaande commando.

sudo firewall-cmd --permanent --add-port=2200/tcp
sudo firewall-cmd --reload

Herstart de SSH-server door het onderstaande commando uit te voeren.

sudo systemctl restart sshd

Als je nu probeert in te loggen vanaf een andere terminal zonder een poort op te geven, dan wordt dit niet toegestaan. Wijzig de SSH-commando zodat je kunt inloggen met het poortnummer.

ssh -p 2200 [email protected]

192.168.0.1 is een voorbeeld IP-adres.

Stap 11: Reboot

Nu we de pakketten hebben bijgewerkt en de server hebben geconfigureerd, kun je nu de server rebooten zodat de wijzigingen worden doorgevoerd.

sudo reboot

Conclusie

In deze tutorial heb je geleerd hoe je een sudo-gebruiker kunt aanmaken op een nieuwe CentOS 8  instance. Je hebt ook geleerd hoe je een hostnaam en tijdzonde moet instellen. Daarnaast heb je ook geleerd hoe je jouw server moet beveiligen en de pakketten moet upgraden.

Was dit artikel nuttig?
Niet leuk 1
Weergaven: 301

Reader Interactions

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *