abonnementen ibood.com bol.com Coolblue
pi_180375391
registreer om deze reclame te verbergen
Tutorial: hoe configureer je een nieuwe Linux-server

SPOILER
Om spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
Altijd al willen weten hoe je een Linux-server klaar maakt voor gebruik? Nou, dan zit je hier goed! Ik zal je stapsgewijs uitleggen hoe je dat doet, volgens de laatste standaarden en best-practices.

Wat gaan we precies doen?
Je zult leren hoe je een VPS (Virtual Private Server) op klaar kunt maken voor gebruik, waarna je er bijvoorbeeld een VPN-server van kunt maken, een webserver of een mailserver. De mogelijkheden zijn echt eindeloos en je kunt op deze wijze je Linux-vaardigheden enorm verbeteren! :Y)

In deze tutorial zullen we gebruik maken van Ubuntu: bij uitstek de meest gebruikte en populairste Linux-distributie die er is. Uiteraard zou je ook kunnen kiezen voor een andere distro die gelieerd is aan Debian (de oer-distro waar Ubuntu vanaf stamt).

Hoe kom ik aan zo'n VPS-server?
Er zijn verscheidene aanbieders op de markt waar je een VPS-server kunt huren. Als goedkope oplossing zou ik een server huren bij OVH of KimSufi. Je hebt er al eentje voor minder dan 3 euro per maand, en ze zijn ideaal om op te stellen als testserver of als machine waar je aan je Linux-skills kunt werken.

Voor beginners is OVH daarnaast ook een wat gemakkelijkere keuze, gezien je server dan al voor je geÔnstalleerd is. Je hoeft dan niet zoals bij TransIP zelf de installatieprocedure van Ubuntu te doorlopen.
________________________________________________________________________________________

Stap 0) het eventueel instellen van A en AAA DNS-records
Deze stap kun je eventueel overslaan indien je niet beschikt over een eigen domainnaam. Het is echter wel handig om te hebben, zodat je bijvoorbeeld een FQDN als hieronder kunt maken:

nl-web-01.vps.example.com

...in plaats van ...

vps191748.vps.ovh.ca, wat natuurlijk niemand onthoud. We gaan echter werken met OpenSSH, dat vanaf je cliŽnt de mogelijkheid biedt een alias te creŽren. Je kunt je server dan benaderen met bijvoorbeeld de volgende toverspreuk:

1localhost:~ devfreak$ ssh nl-web-01

...wat het al een stuk gemakkelijker maakt allemaal.

Stap 1) remote inloggen op je server
Zodra je een VPS-server hebt gekocht en hebt gekozen voor het juiste besturingssysteem, kunnen we dan eindelijk aan de slag met de configuratie van je VPS-server. Je ontvangt een e-mail van OVH met het gebruikersnaam en wachtwoord zodat je in kunt loggen. Dit ziet er zo uit:

8707494467b9534e3a9270e4840ce55d

De mail bevat het IPv4 en IPv6 adres, het DNS-adres waar je hem op kunt bereiken en je gebruikersnaam met wachtwoord.

Indien je Windows gebruik zul je gebruik moeten maken van PuTTY, een open-bron SSH-client. Onder Linux en MacOS wordt dit standaard meegeleverd, dus hoef je hiervoor niets te downloaden.

Open je terminal en gebruik de volgende toverspreuk:

933039ac6852cdd001a02c307d344757

Zodra je gevraagd wordt of je de ECDSA key fingerprint vertrouwd, geef dan toestemming. Voer het wachtwoord in, en je bent op afstand ingelogd op je server. ^O^

Stap 2) de repository-list updaten en lokale packages upgraden
Met andere woorden: het is tijd om je server te updaten. Zodra je bent ingelogd zal Ubuntu tevens zo vriendelijk zijn om aan te geven dat jij als beheerder eventueel kunt updaten.

fb7923ea062c9013ae01393a2572bd0f

Gezien je bent ingelogd als root, te herkennen aan de "#", beschik je over alle rechten die er zijn en hoef je niks te bevestigen. Wees hier voorzichtig mee.

Voer de volgende toverspreuk uit:

1~# apt update && apt-upgrade -y && reboot now

Zodra de server klaar is met de installatie en je de melding krijgt dat verbinding gesloten is, log je opnieuw na een paar seconden opnieuw in met SSH. Normaliter is een reboot onder Linux tevens 'niet nodig', maar bij een eerste updateronde kan dit voordeel bieden.

Stap 3) het root-wachtwoord veranderen en een nieuwe gebruiker aanmaken
Nu is het zaak dat we allereerst het root-wachtwoord wijzigen. Type de volgende spreuk in:

1~# passwd
... En volg de instructies. Aangeraden is een wachtwoord te kiezen dat langer is dan 30 tekens. Voorbeeld:

quote:
5WPAUcw-rSEcamq6rk-dHcJoJgU-LLeTrHq
Gebruik een tool als KeePass2 om dit op te slaan.

Zodra je dit gedaan hebt is het tijd om een eigen gebruikersaccount aan te maken en deze toe te voegen aan de sudo-group. Dit houdt kortweg in dat je wel beheerder bent, maar eerst om bevestiging gevraagd zult worden voordat een commando uitgevoerd wordt. Om een dergelijk account te maken, gebruik dit commando:

1~# adduser vornaamachternaam

Je zult gevraagd worden wat informatie in te vullen. Is niet nodig en je kunt dit overslaan. Het (sterke!) wachtwoord is voldoende.

Het is nu tijd om je nieuwe account toe te voegen aan de sudo-group. Voer de volgende toverspreuk uit:

1~# usermod -aG sudo voornaamachternaam

...waar -aG staat voor append en group. Dit kun je ook uitdrukken als usermod -a -G sudo voornaamachternaam.

Log uit als root en log nu in met je eigen account.

Disable nu het root-account, uit veiligheidsoverwegingen. Is belangrijk. Gezien je in de sudo-group zit kun je later altijd nog zelf inloggen als root vanuit je eigen omgeving. Toverspreuk:

1~$ sudo passwd -l root

Gedaan? Mooi! Log nu uit, zodat je je niet langer in de SSH-sessie bevindt. ^O^

Stap 4) een public en private SSH-keypair genereren, en kopiŽren naar de server
Het is nu tijd om naar je lokale .ssh-directory te navigeren. Dit doe je met:

1$ cd ~/.ssh

We gaan nu een SSH-keypair genereren. Dit doe je als volgt:

1~# ssh-keygen -b 4096

Als naam geef je bijvoorbeeld op: mijnserver_rsa. Eventueel kun je een passphrase instellen voor extra veiligheid. Indien je meer mogelijkheden of opties wilt zien, wel... RTFM: .ssh $ man ssh-keygen.

94079411d7737478ca18f6664a0e516f

Nu is het tijd de publieke SSH-sleutel te kopiŽren naar de server. Onthoud: jij bent de enige die beschikt over de private sleutel.

Terwijl je nog steeds in de ~/.ssh directory zit, gebruik de volgende toverspreuk:

1.ssh $ ssh-copy-id -i mijnserver_rsa.pub [voornaamachternaam]@[server-FQDN]

Gedaan? Mooi zo! Wat je nu alleen nog hoeft te doen is je server toevoegen aan de config file. Het kan zijn dat dit bestand nog niet aanwezig is. Om een overzicht te krijgen van de inhoud in deze dir, gebruik je:

1$ ls -lath

Open het bestand genaamd config, of maak hem aan:

1.ssh $ touch config

Open het bestand vanuit de terminal met nano of vi:

1.ssh $ nano config

Voeg nu de volgende configuratie toe en pas hem aan naar jouw smaak:

567a4a2c14ec48f7f22ba79ecf632e03

Als je dit gedaan hebt, zou je in moeten kunnen loggen met bijvoorbeeld de volgende toverspreuk:

1~$ ssh [jouwservernaam]

Het alias van de server is het enige dat je nu nog nodig hebt, want de rest heb je dus al ingesteld. Mooi, hŤ? ^O^

Stap 5) het configureren van de SSH-daemon
Is minder eng dan het klinkt! Wat je wilt voorkomen is dat je in kunt loggen met een wachtwoord, ondanks dat je de jouwe natuurlijk uit meer dan dertig tekens bestaat.

Edit het sshd_config bestand dat leeft in /etc/ssh:

1~$ sudo nano /etc/ssh/sshd_config

Zorg ervoor dat de volgende regels als volgt staan ingesteld:

1
2
3
4
5
PasswordAuthentication no

PubkeyAuthentication yes

ChallengeResponseAuthentication no

Gedaan? :)
Herstart de SSH-daemon met:

1~$ sudo service sshd restart

Stap 6) het configureren van de firewall
Nu is het nog zaak dat je de UFW-firewall enabled en op de juiste wijze instelt voordat je hem inschakelt, zodat je niet buitengesloten raakt en niet via de KVM je fout hoeft te herstellen. :7

1
2
3
~$ sudo ufw allow OpenSSH
~$ sudo ufw enable
~$ sudo ufw status

Dit zou je als output moeten krijgen:

384fb0c123b9ceb6a5ddc44516bc2b61

*O* Je bent klaar! Hoe nu verder? *O*
Een vervolgstap zou kunnen zijn de package fail2ban te installeren. Deze software biedt een extra beveiligingslaag waarmee je eventuele aanvallers na bijvoorbeeld vijf mislukte inlogpogingen volledig kunt blokkeren. Je kunt zelf instellen hoe lang deze blokkade duurt.

De meningen over de noodzaak zijn verdeeld, maar ik kan je sterk aanbevelen je in deze materie te verdiepen voordat je aan de slag gaat met aanvalsgevoelige zaken als SMTP-servers en dergelijke.

Veel plezier met je server! ^O^

[ Bericht 0% gewijzigd door DevFreak op 10-07-2018 14:50:43 ]
Speciaal ontwikkeld voor FOK.nl: eindelijk snel en eenvoudig plaatjes kunnen uploaden voor je topic -> https://www.upmijnplaatje.nl/
  Moderator dinsdag 10 juli 2018 @ 15:27:52 #2
273461 crew  AlwaysHappy
You've Been Gilmored!
pi_180376201
Topper ^O^
Nintendo Switch: SW-1156-9327-1516 | Xbox One: Alwayshappyz | Photographer: D610, 24mm, 50mm, 85mm | TV Shows: Gilmore Girls, Grey's Anatomy, Game of Thrones, Person of Interest, Homeland, Brothers & Sisters, Veronica Mars & many more!
pi_180379257
quote:
14s.gif Op dinsdag 10 juli 2018 15:27 schreef AlwaysHappy het volgende:
Topper ^O^
Dank u, collega! :P
Speciaal ontwikkeld voor FOK.nl: eindelijk snel en eenvoudig plaatjes kunnen uploaden voor je topic -> https://www.upmijnplaatje.nl/
abonnementen ibood.com bol.com Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')