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):
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:
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):
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:
OutputAvailable 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:
Nadien kunnen we de firewall inschakelen door het volgende te typen:
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:
OutputStatus: 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:
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:
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.
Open nu een nieuwe terminalsessie op je lokale machine en gebruik SSH met je nieuwe gebruikersnaam:
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:
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