Initiële serverconfiguratie met Debian 10

Estimated reading time: 5 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:

[email protected]:~$ 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.

[[email protected] ~]$ 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.

[email protected]:~$ 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.

[email protected]:~$ 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.

[email protected]:~$ 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. 

Was this article helpful?
Dislike 0
Views: 116

Lees Interacties

Geef een reactie

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

snel-knowledgebase-image