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
- Cloud VPS of Dedicated Server met CentOS 8 installatie.
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.
Geef een reactie