Introductie
Wanneer u voor het eerst een nieuwe Ubuntu 22.04-server maakt, moet u enkele belangrijke configuratiestappen uitvoeren als onderdeel van de initiële setup. Deze stappen zullen de beveiliging en bruikbaarheid van uw server vergroten en u een solide basis geven voor volgende acties.
Breng uw applicaties in productie vanaf GitHub met behulp van DigitalOcean App Platform. Laat DigitalOcean zich richten op het schalen van uw app.
Stap 1 — Inloggen als root
Om in te loggen op uw server, moet u het openbare IP-adres van de server weten. U heeft ook het wachtwoord of de privésleutel nodig voor het root-gebruikersaccount als u een SSH-sleutel heeft geïnstalleerd voor authenticatie. Als u nog niet bent ingelogd op uw server, kunt u onze handleiding volgen over hoe u verbinding kunt maken met Droplets via SSH, die dit proces gedetailleerd behandelt.
Als u momenteel niet verbonden bent met uw server, logt u in als de root-gebruiker met het volgende commando. Vervang het gemarkeerde gedeelte uw_server_ip
van het commando door het openbare IP-adres van uw server:
Accepteer de waarschuwing over de authenticiteit van de host als deze verschijnt. Als uw server wachtwoordauthenticatie gebruikt, geef dan uw root wachtwoord om in te loggen. Als u een SSH-sleutel gebruikt die is beveiligd met een wachtwoordzin, moet u mogelijk de wachtwoordzin invoeren de eerste keer dat u de sleutel gebruikt bij elke sessie. Als dit de eerste keer is dat u zich aanmeldt op de server met een wachtwoord, moet u mogelijk ook het wachtwoord van root wijzigen. Volg de instructies om het wachtwoord te wijzigen als u een prompt ontvangt.
Over root
De root gebruiker is de beheerdersgebruiker in een Linux-omgeving met verhoogde privileges. Vanwege de verhoogde privileges van het root account wordt u ontmoedigd om het regelmatig te gebruiken. Het root account kan zeer destructieve wijzigingen aanbrengen, zelfs per ongeluk.
Het volgende stap is het instellen van een nieuw gebruikersaccount met verminderde privileges voor dagelijks gebruik. Later laten we u zien hoe u tijdelijk verhoogde privileges kunt krijgen voor de momenten dat u ze nodig heeft.
Stap 2 – Het maken van een nieuw gebruiker
Zodra u bent ingelogd als root, kunt u 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 sammy aan, maar je moet dat vervangen door een gebruikersnaam die je leuk vindt:
Je wordt een paar vragen gesteld, te beginnen met het accountwachtwoord.
Voer een sterk wachtwoord in en vul optioneel eventuele aanvullende informatie in als je dat wilt. Deze informatie is niet verplicht en je kunt ENTER
indrukken in elk veld dat je wilt overslaan.
Stap 3 — Toekennen van beheerdersprivileges
Je hebt nu een nieuw gebruikersaccount met reguliere accountrechten. Je zult echter soms administratieve taken moeten uitvoeren als de root-gebruiker.
Om uit te loggen bij je reguliere gebruiker en weer in te loggen als de root-account te vermijden, kun je wat bekendstaat als superuser– of root-privileges instellen voor het reguliere account van je gebruiker. Deze privileges stellen je normale gebruiker in staat om commando’s met administratieve privileges uit te voeren door het woord sudo
voor het commando te plaatsen.
Om deze privileges aan je nieuwe gebruiker toe te voegen, moet je de gebruiker toevoegen aan de sudo-systeemgroep. Standaard op Ubuntu 22.04 mogen gebruikers die lid zijn van de sudo-groep het sudo
-commando gebruiken.
Als root, voer deze opdracht uit om je nieuwe gebruiker toe te voegen aan de sudo-groep (vervang de gemarkeerde sammy
gebruikersnaam door je nieuwe gebruiker):
Je kunt nu sudo
typen vóór commando’s om ze uit te voeren met supergebruikersrechten wanneer je bent ingelogd als je reguliere gebruiker.
Stap 4 — 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 basisfirewall opzetten 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 om slechts één firewall tegelijk te gebruiken om conflicterende regels te vermijden die moeilijk te debuggen kunnen zijn.
Toepassingen kunnen hun profielen registreren bij UFW bij installatie. Deze profielen stellen UFW in staat om deze toepassingen te beheren op naam. OpenSSH, de service die het mogelijk maakt om verbinding te maken met je server, heeft een profiel geregistreerd bij UFW.
Je kunt de lijst met geïnstalleerde UFW-profielen bekijken door te typen:
OutputAvailable 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 te typen:
Activeer nu de firewall door te typen:
Typ y
in en druk op ENTER
om door te gaan. U kunt zien dat SSH-verbindingen nog steeds zijn toegestaan door het volgende te typen:
OutputStatus: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
De firewall blokkeert momenteel alle verbindingen behalve SSH. Als u extra services installeert en configureert, moet u de firewall-instellingen aanpassen om het nieuwe verkeer naar uw server toe te staan. U kunt enkele veelvoorkomende UFW-operaties leren in onze UFW Essentials gids.
Stap 5 — Externe toegang inschakelen voor uw reguliere gebruiker
Nu u een reguliere gebruiker heeft voor dagelijks gebruik, moet u ervoor zorgen dat u rechtstreeks kunt SSH’en naar het account.
Opmerking: Totdat u heeft geverifieerd dat u kunt inloggen en sudo
kunt gebruiken met uw nieuwe gebruiker, raden we aan ingelogd te blijven als root. Als u problemen ondervindt met verbinden, kunt u fouten oplossen en eventuele benodigde wijzigingen aanbrengen als root. Als u een DigitalOcean Droplet gebruikt en problemen ondervindt met uw root SSH-verbinding, kunt u toegang tot Droplets herstellen met behulp van de herstelconsole.
Het configureren van SSH-toegang voor uw nieuwe gebruiker is afhankelijk van of het root-account van uw server een wachtwoord of SSH-sleutels gebruikt voor authenticatie.
Als het rootaccount wachtwoordverificatie gebruikt
Als u bent ingelogd op uw root-account met een wachtwoord, dan is wachtwoordverificatie 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:
Nadat u het wachtwoord van uw normale gebruiker hebt ingevoerd, bent u ingelogd. Onthoud dat als u een opdracht met beheerdersrechten moet uitvoeren, u sudo
ervoor moet typen, zoals dit:
U krijgt een prompt voor het wachtwoord van uw normale gebruiker bij het gebruik van sudo
voor de eerste keer elke 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 wachtwoordverificatie te gebruiken. Volg onze handleiding voor het instellen van SSH-sleutels op Ubuntu 22.04 om te leren hoe u op sleutels gebaseerde verificatie kunt configureren.
Als het rootaccount SSH-sleutelverificatie gebruikt
Als je bent ingelogd op je root-account met behulp van SSH-sleutels, dan 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.
Aangezien 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 kopiëren naar je nieuwe gebruikersaccount met je huidige sessie.
De eenvoudigste manier om de bestanden te kopiëren met de juiste eigenaarschap en machtigingen is met het rsync
-commando. Dit commando zal de root-gebruikers .ssh
-directory kopiëren, de machtigingen behouden en de bestandseigenaars wijzigen, allemaal in één commando. Zorg ervoor dat je de gemarkeerde delen van het onderstaande commando wijzigt om overeen te komen met de naam van je reguliere gebruiker:
Let op: Het rsync
-commando behandelt bronnen en bestemmingen die eindigen met een schuine streep anders dan die zonder een schuine streep. Bij het gebruik van rsync
hieronder, zorg ervoor dat de bronmap (~/.ssh
) geen schuine streep bevat (controleer om er zeker van te zijn dat je niet ~/.ssh/
gebruikt).
Als je per ongeluk een schuine streep toevoegt aan het commando, zal rsync
de inhoud van de root-account’s ~/.ssh
-directory kopiëren naar de home-directory van de sudo
-gebruiker 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 verbonden moeten zijn met je server met het nieuwe gebruikersaccount zonder een wachtwoord te gebruiken. Onthoud, als je een opdracht met administratieve privileges wilt uitvoeren, typ sudo
voor de opdracht zoals dit:
Je wordt gevraagd om het wachtwoord van je reguliere gebruiker in te voeren wanneer je sudo
voor het eerst in elke sessie gebruikt (en periodiek daarna).
Waar ga je nu naartoe?
Op dit punt heb je een solide basis voor je server. Je kunt nu alle software installeren die je nodig hebt op je server.
Als je meer vertrouwd wilt raken met Linux-opdrachten, kun je onze Linux Command Line Primer bekijken.
Source:
https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-22-04