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:
client_xxxxx_x@vps:~$ sudo adduser happysnel Adding user `happysnel' ... Adding new group `happysnel' (1001) ... Adding new user `happysnel' (1001) with group `happysnel' ... Creating home directory `/home/happysnel' ... Copying files from `/etc/skel' ... New password: Retype new password: passwd: password updated successfully Changing the user information for happysnel Enter the new value, or press ENTER for the default Full Name []: Happy Snel Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] y
Voeg de nieuwe gebruiker toe aan de wheel
groep. Gebruikers in de wheel
groep zijn sudo-gebruikers in Debian 10.
sudo usermod -aG sudo 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 rootgebruiker 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 apt-get update
Update nu de pakketten.
sudo apt-get -y upgrade
Let op: Als je een opdrachtprompt ziet die aangeeft dat er een bijgewerkt pakket of bestand beschikbaar is terwijl de geïnstalleerde 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: cfc70e29ed8440108dfa33dd59160dc9 Boot ID: 3ccca50362244cf7a001d1c45d41223f Virtualization: kvm Operating System: Debian GNU/Linux 10 (buster) Kernel: Linux 4.19.0-5-amd64 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 /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
Debian 10 wordt niet standaard met een firewall configuratie geleverd. Je kunt een UFW(Uncomplicated Firewall) instellen door het onderstaande commando uit te voeren.
sudo apt-get -y install ufw
Weiger eerst de toegang van inkomend verkeer door het onderstaande commando uit te voeren.
sudo ufw default deny incoming
Geef vervolgens toegang tot uitgaande verkeer door het volgende commando uit te voeren.
sudo ufw default allow outgoing
Nu ons standaardbeleid is gemaakt, kunnen we SSH-poort 22
toestaan via de Firewall. Voer hiervoor het volgende commando uit.
sudo ufw allow 22
Je kunt ook dit proberen.
sudo ufw allow ssh
UFW weet dat de standaardpoort voor SSH 22
is.
Nu alle regels zijn aangepast kun je de UFW firewall opstarten met het volgende commando.
sudo ufw enable
Je wordt gevraagd om toestemming te geven voor het inschakelen van UFW, omdat de SSH-verbinding onderbroken kan worden. Druk op y
omdat we poort 22
al via de firewall hebben geopend. Voer het onderstaande commando uit.
happysnel@host:~$ sudo ufw enable Command may disrupt existing ssh connections. Proceed with operation (y|n)? y Firewall is active and enabled on system startup
Je kunt de status van de firewall controleren met het volgende commando.
sudo ufw status
Je zou een soortgelijke output moeten zien.
happysnel@host:~$ sudo ufw status Status: active To Action From -- ------ ---- 22 ALLOW Anywhere 22/tcp ALLOW Anywhere 22 (v6) ALLOW Anywhere (v6) 22/tcp (v6) ALLOW Anywhere (v6)
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 gebruikmaken van 1024 tot 65535.
Port 2200
Sla het bestand op en verlaat de editor.
Open poort 2200
vanaf de firewall met het onderstaande commando.
sudo ufw allow 2200
Aangezien we poort 22
niet meer nodig hebben, kun je dit blokkeren door het volgende commando uit te voeren.
sudo ufw delete allow 22 sudo ufw delete allow ssh
Herstart nu de SSH-server met het volgende commando
sudo systemctl restart sshd
Herlaad de UFW firewall regels met het volgende commando.
sudo ufw reload
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 Debian 10 instance. Je hebt ook geleerd hoe je een hostnaam en tijdzonde moet instellen. Daarnaast heb je ook geleerd hoe je jouw server moet beveiligen.
Geef een reactie