Het configureren van een nieuwe Ubuntu 22.04 server is niet moeilijk om te doen. Echter, er zijn wel een aantal belangrijke configuratiestappen die je als onderdeel van de aanvankelijke setup moet uitvoeren. Deze stappen verbeteren de beveiliging en bruikbaarheid van je server. Dit geeft je een goede basis voor de rest van de werkzaamheden die je op je server wil uitvoeren.
Stap 1 — Inloggen als root
Om in te loggen op je server, moet je het openbare IP-adres van je server weten. Je hebt ook het wachtwoord of de privésleutel voor het root gebruikersaccount nodig als je een SSH-sleutel hebt geïnstalleerd voor authenticatie.
Als je op dit moment niet verbonden bent met je server, log dan in als de root gebruiker met de volgende opdracht. Vervang het gemarkeerde gedeelte jouw_server_ip in de opdracht door het openbare IP-adres van je server:
$ ssh root@jouw_server_ip
Accepteer de waarschuwing over de hostauthenticiteit als deze verschijnt. Als je server wachtwoordauthenticatie gebruikt, geef dan je rootwachtwoord om in te loggen. Als je een SSH-sleutel gebruikt die is beveiligd met een wachtwoordzin, moet je mogelijk de wachtwoordzin invoeren de eerste keer dat je de sleutel in elke sessie gebruikt. Als dit de eerste keer is dat je inlogt op de server met een wachtwoord, moet je mogelijk ook het rootwachtwoord wijzigen. Volg de instructies om het wachtwoord te wijzigen als je een prompt ontvangt.
Over de root gebruiker
De root gebruiker is de beheerdersgebruiker in een Linux-omgeving met verhoogde privileges. Vanwege de verhoogde privileges van het root-account wordt het afgeraden om het regelmatig te gebruiken. Het root-account kan zeer destructieve wijzigingen aanbrengen, zelfs per ongeluk.
De volgende stap is het instellen van een nieuw gebruikersaccount met verminderde privileges voor dagelijks gebruik. Later zullen we je laten zien hoe je tijdelijk verhoogde privileges kunt verkrijgen voor de momenten dat je ze nodig hebt.
Stap 2 — Het aanmaken van een nieuwe gebruiker
Zodra je bent ingelogd als root, kun je het nieuwe gebruikersaccount toevoegen. In de toekomst zullen we inloggen met dit nieuwe account in plaats van root.
Dit voorbeeld maakt een nieuwe gebruiker genaamd Pietje aan, maar je kunt dat vervangen door een gebruikersnaam naar keuze:
$ adduser rudy
Je krijgt enkele vragen gesteld, te beginnen met het wachtwoord voor het account.
Voer een sterk wachtwoord in en vul optioneel eventuele aanvullende informatie in als je dat wilt. Deze informatie is niet verplicht, en je kunt op ENTER drukken in elk veld dat je wilt overslaan.
Stap 3 — Toekennen van Administratieve Privileges
Je hebt nu een nieuw gebruikersaccount met reguliere gebruikersrechten. Echter, soms zul je administratieve taken moeten uitvoeren als de root gebruiker.
Om te voorkomen dat je uitlogt bij je reguliere gebruiker en weer inlogt als de rootgebruiker, kun je wat bekend staat als supergebruikers- of rootprivileges instellen voor het reguliere account van je gebruiker. Met deze privileges kan je normale gebruiker opdrachten uitvoeren met administratieve privileges door het woord ‘sudo’ voor de opdracht te plaatsen.
Om deze privileges aan je nieuwe gebruiker toe te voegen, moet je de gebruiker toevoegen aan de sudo-systeemgroep. Standaard zijn gebruikers die lid zijn van de sudo-groep op Ubuntu 22.04 gemachtigd om het sudo-commando te gebruiken.
Als root, voer deze opdracht uit om je nieuwe gebruiker toe te voegen aan de sudo-groep (vervang de gemarkeerde gebruikersnaam ‘rudy’ door je nieuwe gebruiker):
$ usermod -aG sudo rudy
Je kunt nu ‘sudo’ typen voor opdrachten om ze uit te voeren met supergebruikersprivileges wanneer je bent ingelogd als je reguliere gebruiker.
Stap 4 — Het instellen van een Firewall
Ubuntu 22.04-servers kunnen de UFW firewall gebruiken om ervoor te zorgen dat alleen verbindingen met bepaalde services zijn toegestaan. Je kunt een basis firewall opzetten met behulp van deze toepassing.
Toepassingen kunnen bij de installatie hun profielen registreren bij UFW. Deze profielen stellen UFW in staat om deze toepassingen te beheren op basis van hun naam. OpenSSH, de service waarmee je verbinding kunt maken met je server, heeft een profiel geregistreerd bij UFW.
Je kunt de lijst met geïnstalleerde UFW-profielen bekijken door het volgende te typen:
$ ufw app list
Available applications:
OpenSSH
Je moet ervoor zorgen dat de firewall SSH-verbindingen toestaat, zodat je de volgende keer kunt inloggen op je server. Sta deze verbindingen toe door het volgende te typen:
$ ufw allow OpenSSH
Activeer nu de firewall door het volgende te typen:
$ ufw enable
Typ ‘y’ en druk op ENTER om door te gaan. Je kunt zien dat SSH-verbindingen nog steeds zijn toegestaan door het volgende te typen:
Statu: active
To Action From
-- ------ -----
OpenSSH ALLOW Anywhere
OpenSSH (v6) Allow Anywhere (v6)
De firewall blokkeert momenteel alle verbindingen, behalve SSH. Als je extra services installeert en configureert, zul je de firewall-instellingen moeten aanpassen om het nieuwe verkeer naar je server toe te staan.
Stap 5 — Externe toegang inschakelen voor je reguliere gebruiker
Nu je een reguliere gebruiker hebt voor dagelijks gebruik, moet je ervoor zorgen dat je rechtstreeks via SSH naar het account kunt verbinden.
Het configureren van SSH-toegang voor je nieuwe gebruiker hangt af van of het root-account van je server een wachtwoord of SSH-sleutels gebruikt voor authenticatie.
Als het root-account wachtwoord authenticatie gebruikt
Als je bent ingelogd op je root-account met behulp van een wachtwoord, dan is wachtwoordauthenticatie ingeschakeld voor SSH. Je kunt SSH gebruiken om verbinding te maken met je nieuwe gebruikersaccount door een nieuwe terminalsessie te openen en SSH te gebruiken met je nieuwe gebruikersnaam:
$ ssh rudy@jouw_server_ip
Na het invoeren van het wachtwoord van je reguliere gebruiker, zul je worden ingelogd. Onthoud dat als je een opdracht met administratieve privileges moet uitvoeren, je ‘sudo’ ervoor moet typen, zoals dit:
$ sudo opdracht_uitvoeren
Je ontvangt een prompt voor het wachtwoord van je reguliere gebruiker wanneer je ‘sudo’ voor de eerste keer in elke sessie gebruikt (en zo af en toe daarna).
Om de beveiliging van je server te verbeteren, raad ik je sterk aan om SSH sleutels in te stellen in plaats van wachtwoord authenticatie te gebruiken. Ik zal een ander artikel schrijven hoe je SSH sleutels kunt instellen.
Als het root-account SSH sleutel authenticatie gebruikt
Als je bent ingelogd op je root-account met behulp van SSH-sleutels, is wachtwoordauthenticatie uitgeschakeld voor SSH. Om in te loggen als je reguliere gebruiker met een SSH-sleutel, moet je een kopie van je lokale openbare sleutel toevoegen aan het bestand ~/.ssh/authorized_keys van je nieuwe gebruiker.
Omdat je openbare sleutel al in het bestand ~/.ssh/authorized_keys van het root-account op de server staat, kun je dat bestand en de directorystructuur naar je nieuwe gebruikersaccount kopiëren met behulp van je huidige sessie.
De eenvoudigste manier om de bestanden met de juiste eigenaar en rechten te kopiëren, is met het ‘rsync’-commando. Dit commando kopieert de .ssh-directory van de rootgebruiker, behoudt de rechten en past de bestandseigenaren aan, allemaal in één commando. Zorg ervoor dat je de gemarkeerde delen van het onderstaande commando aanpast om overeen te komen met de naam van je reguliere gebruiker:
$ rsync --archive --chown=rudy:rudy ~.ssh /home/rudyexport "PS1=$"
Open nu een nieuwe terminalsessie op je lokale computer en gebruik SSH met je nieuwe gebruikersnaam:
$ ssh rudy@jouw_server_ip
Je bent nu verbonden met je server met het nieuwe gebruikersaccount zonder een wachtwoord te gebruiken. Onthoud dat als je een opdracht met administratieve privileges moet uitvoeren, je ‘sudo’ ervoor moet typen, zoals dit:
$ sudo opdracht_uitvoeren
Bij het eerste sudo commando dat je gaat invoeren nadat je op je server bent ingelogd, zal je om het wachtwoord van de gebruiker waarmee je bent ingelogd worden gevraagd.
Je server heeft nu een goede basis om mee verder te gaan met het inrichten van de server en met de benodigde software te installeren.
Ik zal binnenkort voor de duidelijkheid een video maken waarin ik laat zien hoe je de basis configuratie van Ubuntu 22.04 server uitvoert.