Initiële serverconfiguratie met Ubuntu 20.04

Introductie

Wanneer je voor het eerst een nieuwe Ubuntu 20.04-server maakt, moet je enkele belangrijke configuratiestappen uitvoeren als onderdeel van de initiële installatie. Deze stappen zullen de beveiliging en bruikbaarheid van je server vergroten en je een solide basis bieden voor volgende acties.

Als je een DigitalOcean Droplet maakt, kun je een Ubuntu-versie kiezen die automatisch aan je nieuwe Droplet wordt toegevoegd. Vereenvoudig je setup met onze kant-en-klare oplossingen.

Stap 1 — Inloggen als root

Om in te loggen op je server, heb je het openbare IP-adres van de server nodig. Je hebt ook het wachtwoord nodig of — als je een SSH-sleutel hebt geïnstalleerd voor authenticatie — de privésleutel voor het root-account. Als je nog niet bent ingelogd op je server, kun je onze handleiding volgen over hoe je verbinding kunt maken met Droplets via SSH, waarin dit proces in detail wordt behandeld.

Als je nog niet verbonden bent met je server, log dan nu in als de root gebruiker met behulp van de volgende opdracht (vervang het gemarkeerde gedeelte van de opdracht door het openbare IP-adres van je server):

  1. ssh root@your_server_ip

Accepteer de waarschuwing over de authenticiteit van de host als deze verschijnt. Als je wachtwoordverificatie gebruikt, voer dan je root wachtwoord in om in te loggen. Als je een SSH-sleutel gebruikt die met een wachtwoord is beveiligd, kan het zijn dat je gevraagd wordt om het wachtwoord in te voeren de eerste keer dat je de sleutel in elke sessie gebruikt. Als dit de eerste keer is dat je met een wachtwoord op de server inlogt, kan het zijn dat je ook wordt gevraagd om het root wachtwoord te wijzigen.

Over root

De root gebruiker is de beheerdersgebruiker in een Linux-omgeving met zeer uitgebreide privileges. Vanwege de verhoogde privileges van het root account wordt het afgeraden om dit regelmatig te gebruiken. Dit komt doordat het root account zeer destructieve wijzigingen kan aanbrengen, zelfs per ongeluk.

De volgende stap is het instellen van een nieuw gebruikersaccount met verminderde privileges voor dagelijks gebruik. Later laten we je zien hoe je tijdelijk verhoogde privileges kunt verkrijgen voor de momenten waarop je ze nodig hebt.

Stap 2 — Het aanmaken van een nieuw 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 nieuw gebruiker met de naam sammy aan, maar je moet dat vervangen door een gebruikersnaam die je zelf wilt:

  1. adduser sammy

Je krijgt een paar vragen, te beginnen met het wachtwoord voor het account.

Voer een sterk wachtwoord in en vul optioneel eventuele aanvullende informatie in als je dat wilt. Dit is niet verplicht en je kunt gewoon op ENTER drukken in elk veld dat je wilt overslaan.

Stap 3 — Beheerdersprivileges toewijzen

We hebben nu een nieuw gebruikersaccount met reguliere accountrechten. Soms moeten we echter beheerstaken uitvoeren.

Om te voorkomen dat we moeten uitloggen uit ons normale gebruikersaccount en opnieuw moeten inloggen als het root-account, kunnen we instellen wat bekend staat als superuser– of root-privileges voor ons normale account. Hierdoor kan onze normale gebruiker opdrachten uitvoeren met beheerdersrechten door het woord sudo vóór de opdracht te plaatsen.

Om deze privileges aan ons nieuwe gebruikersaccount toe te voegen, moeten we de gebruiker toevoegen aan de sudo-groep. Standaard zijn op Ubuntu 20.04 gebruikers die lid zijn van de sudo-groep gemachtigd om de sudo-opdracht te gebruiken.

Als root, voer dit commando uit om je nieuwe gebruiker toe te voegen aan de sudo-groep (vervang de gemarkeerde gebruikersnaam door je nieuwe gebruiker):

  1. usermod -aG sudo sammy

Nu kun je, wanneer je bent ingelogd als je reguliere gebruiker, sudo typen vóór commando’s om ze uit te voeren met supergebruikersrechten.

Stap 4 — Instellen van een basisfirewall

Ubuntu 20.04-servers kunnen de UFW-firewall gebruiken om ervoor te zorgen dat alleen verbindingen met bepaalde services zijn toegestaan. We kunnen een basisfirewall instellen met behulp van deze toepassing.

Opmerking: Als je servers draaien op DigitalOcean, kun je optioneel DigitalOcean Cloud Firewalls gebruiken in plaats van de UFW-firewall. We raden aan slechts één firewall tegelijk te gebruiken om conflicterende regels te vermijden die mogelijk moeilijk op te lossen zijn.

Toepassingen kunnen hun profielen registreren bij UFW bij installatie. Deze profielen stellen UFW in staat deze toepassingen te beheren op naam. OpenSSH, de service waarmee we nu verbinding kunnen maken met onze server, heeft een profiel geregistreerd bij UFW.

Je kunt dit zien door het volgende te typen:

  1. ufw app list
Output
Available applications: OpenSSH

We moeten ervoor zorgen dat de firewall SSH-verbindingen toestaat, zodat we de volgende keer weer kunnen inloggen. We kunnen deze verbindingen toestaan door het volgende te typen:

  1. ufw allow OpenSSH

Nadien kunnen we de firewall inschakelen door het volgende te typen:

  1. ufw enable

Typ y in en druk op ENTER om door te gaan. Je kunt zien dat SSH-verbindingen nog steeds zijn toegestaan door het volgende in te typen:

  1. ufw status
Output
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)

Omdat de firewall momenteel alle verbindingen blokkeert behalve SSH, als je extra services installeert en configureert, zul je de firewall-instellingen moeten aanpassen om verkeer toe te staan. Je kunt enkele veelvoorkomende UFW-operaties leren in onze UFW Essentials gids.

Stap 5 — Externe toegang inschakelen voor je reguliere gebruiker

Nu we een reguliere gebruiker hebben voor dagelijks gebruik, moeten we ervoor zorgen dat we rechtstreeks kunnen SSH’en naar het account.

Let op: Totdat je hebt geverifieerd dat je kunt inloggen en sudo kunt gebruiken met je nieuwe gebruiker, raden we aan ingelogd te blijven als root. Op deze manier kun je, als je problemen ondervindt, problemen oplossen en eventuele noodzakelijke wijzigingen aanbrengen als root. Als je een DigitalOcean Droplet gebruikt en problemen ondervindt met je SSH-verbinding als root, kun je toegang tot Droplets herstellen via de Herstelconsole.

Het proces voor het configureren van SSH-toegang voor je nieuwe gebruiker is afhankelijk van of het root-account van je server een wachtwoord of SSH-sleutels gebruikt voor authenticatie.

Als het rootaccount wachtwoordauthenticatie gebruikt

Als u bent ingelogd op uw root-account met een wachtwoord, dan is wachtwoordauthenticatie ingeschakeld voor SSH. U kunt SSH gebruiken naar uw nieuwe gebruikersaccount door een nieuwe terminalsessie te openen en SSH te gebruiken met uw nieuwe gebruikersnaam:

  1. ssh sammy@your_server_ip

Na het invoeren van het wachtwoord van uw reguliere gebruiker, wordt u ingelogd. Onthoud, als u een opdracht met beheerdersrechten moet uitvoeren, typ dan sudo ervoor zoals dit:

  1. sudo command_to_run

U wordt gevraagd om het wachtwoord van uw reguliere gebruiker bij gebruik van sudo voor de eerste keer per sessie (en periodiek daarna).

Om de beveiliging van uw server te verbeteren, raden we sterk aan om SSH-sleutels in te stellen in plaats van wachtwoordauthenticatie. Volg onze handleiding over het instellen van SSH-sleutels op Ubuntu 20.04 om te leren hoe u op sleutels gebaseerde authenticatie configureert.

Als het rootaccount SSH-sleutelauthenticatie gebruikt

Als u bent ingelogd op uw root-account met behulp van SSH-sleutels, is wachtwoordauthenticatie uitgeschakeld voor SSH. U moet een kopie van uw lokale openbare sleutel toevoegen aan het bestand ~/.ssh/authorized_keys van de nieuwe gebruiker om succesvol in te loggen.

Aangezien uw openbare sleutel al in het bestand ~/.ssh/authorized_keys van het root-account op de server staat, kunnen we dat bestand en de directorystructuur kopiëren naar ons nieuwe gebruikersaccount in onze bestaande sessie.

De eenvoudigste manier om de bestanden met de juiste eigenaar en rechten te kopiëren, is met het rsync-commando. Dit zal de root-gebruikersdirectory .ssh kopiëren, de rechten behouden en de bestandseigenaren wijzigen, alles in één commando. Zorg ervoor dat u de gemarkeerde delen van het onderstaande commando wijzigt om overeen te komen met de naam van uw gewone gebruiker:

Opmerking: Het rsync-commando behandelt bronnen en bestemmingen die eindigen met een schuine streep anders dan die zonder een schuine streep. Wanneer u rsync hieronder gebruikt, zorg er dan voor dat de brondirectory (~/.ssh) niet eindigt met een schuine streep (controleer of u ~/.ssh/ niet gebruikt).

Als u per ongeluk een schuine streep toevoegt aan het commando, zal rsync de inhoud van de root-account’s ~/.ssh-directory naar de home-directory van de sudo-gebruiker kopiëren in plaats van de volledige ~/.ssh-directorystructuur te kopiëren. De bestanden zullen zich op de verkeerde locatie bevinden en SSH zal ze niet kunnen vinden en gebruiken.

  1. rsync --archive --chown=sammy:sammy ~/.ssh /home/sammy

Open nu een nieuwe terminalsessie op je lokale machine en gebruik SSH met je nieuwe gebruikersnaam:

  1. ssh sammy@your_server_ip

Je zou ingelogd moeten zijn op het nieuwe gebruikersaccount zonder een wachtwoord te gebruiken. Onthoud, als je een opdracht met beheerdersrechten moet uitvoeren, typ dan sudo ervoor zoals dit:

  1. sudo command_to_run

Je wordt gevraagd om je reguliere gebruikerswachtwoord in te voeren wanneer je sudo voor de eerste keer elke sessie gebruikt (en periodiek daarna).

Waar Ga Je Nu Heen?

Op dit punt heb je een solide basis voor je server. Je kunt nu alle software installeren die je nodig hebt op je server.

Source:
https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-20-04