Volgens het zakenblad Forbes worden er gemiddeld 30.000 websites per dag gehackt. Voorkomen is altijd beter dan genezen. Zorg er dus voor dat de door jou gehoste websites, mailservices en/of andere applicaties op je VPS beschermd zijn tegen hackers. Om je te helpen je VPS beter te beveiligen, vind je in dit artikel 6 eenvoudige tips.

Tip 1: Sluit onnodige netwerkpoorten en zet ongewenste netwerkservices stop

Om hackers buiten de deur te houden is het verstandig om open netwerkpoorten te sluiten. De services die van deze poorten gebruikmaken, vormen namelijk een relatief eenvoudig doelwit voor hackers. Een overzicht van alle actieve services met bijbehorende netwerkpoorten kun je in de terminal oproepen met het volgende commando:

Voor Ubuntu/Debian: netstat -atup | grep LISTEN
Voor CentOS/RHEL: ss -atu | grep LISTEN

In het overzicht dat je nu te zien krijgt, kun je bijvoorbeeld zien of services als http, IMAP en POP3 actief zijn. Met het volgende commando is het mogelijk om een service te stoppen:

sudo service [servicenaam] stop

Gebruikmaken van iptables

Je kunt ook iptables opzetten om de poorten te sluiten die jij niet nodig hebt. Denk bijvoorbeeld aan de MySQL-service op poort 3306. Bij veel firewalls, zoals CSF, is het mogelijk om de regels rondom iptables te automatiseren. In het artikel ‘Linux: block port with iptables‘ vind je de commando’s die je hiervoor nodig hebt.

Geen netwerkservice zonder netwerkpoort

Een netwerkservice en een open poort kun je zien als een paartje. Zonder een netwerkservice is een open netwerkpoort voor een aanvaller van buitenaf niets waard. Je kunt er dus ook voor kiezen om in plaats van de netwerkpoorten, de bijbehorende netwerkservices uit te schakelen. Met ‘systemctl’ kun je dit voor vrijwel alle distributiesystemen doen. Dit doe je met behulp van het commando ‘systemctl disable’ gevolgd door de naam van de betreffende service:

systemctl disable [servicenaam]
Bijvoorbeeld: systemctl disable ftpd. Hiermee zorg je ervoor dat de FTP-server bij boot niet opstart.

Meer informatie over het gebruik van ‘systemctl’, vind je op de man-page. Deze roep je in de terminal op via het commando:

man systemctl

Tip 2: Beveilig SSH

Door de veelzijdigheid van SSH, is het van belang dat je het protocol goed beveiligt. Je kunt SSH bijvoorbeeld beveiligen door de standaard SSH-poort aan te passen, maar ook door een nieuwe gebruiker aan te maken met root-access of op wachtwoordgebaseerde authenticatie te deactiveren. Het tot stand brengen van de SSH-verbinding zelf, kun je op verschillende manieren doen. Mocht je hier meer over willen weten, bekijk dan ook het artikel ‘Verbinden via SSH‘ op onze Helpdesk.

Het aanpassen van de standaard SSH-poort

Het is natuurlijk lastig om een service die op de SSH-poort luistert te hacken, als je de poort niet kunt vinden. Door het poortnummer te wijzigen, voorkom je dat eenvoudige, geautomatiseerde scripts van buitenaf verbinding proberen te maken met (standaard)poort 22. Het wijzigen van de poort waarnaar je SSH-service luistert, doe je door het SSH-configuratiebestand in de terminal aan te passen met het volgende commando:

vi /etc/ssh/sshd_config

Zoek naar:

# Port 22

Verwijder # en pas het getal 22 aan naar het poortnummer van jouw keuze. Herstart tot slot de SSHD-service:

# service sshd restart

Controleer voorafgaand wel even of het nieuw gekozen poortnummer niet in gebruik is door andere services.

Een gebruiker aanmaken met root-access en de root-gebruiker deactiveren

Iedere Linux-server heeft standaard een root-gebruiker. Het vermijden van de root-gebruiker bij het beheren van je server voorkomt mogelijke softwarefouten. Hierdoor wordt je VPS dus minder kwetsbaar voor hacks. Het vermijden van de root-gebruiker doe je door in te loggen als een nieuwe of een andere gebruiker. Een nieuwe gebruiker kun je aanmaken met het volgende commando:

adduser [gebruikersnaam]

Vervolgens voeg je een wachtwoord toe aan de gebruiker. Met het volgende commando vraagt de server je om een wachtwoord toe te kennen aan de nieuwe gebruiker:

passwd [gebruikersnaam]

De gebruiker is nu toegevoegd aan het systeem. De volgende stap is om sudo-rechten uit te delen zodat deze gebruiker root-commando’s kan uitvoeren. Voer in de terminal het volgende commando in om de gebruikersgroep te beheren:

visudo

Voeg daarna de volgende regel toe:

# User privilege specification
root ALL=(ALL:ALL) ALL
[gebruikersnaam]=(ALL:ALL) ALL

Eenmaal ingelogd, kun je het sudo-commando gebruiken om rootlevel-commando’s uit te voeren. Nu kun je voor de root-gebruiker aangeven dat hij geen externe logins voor ‘root’ mag accepteren. Voordat je dit doet, moet je uiteraard niet vergeten de nieuwe gebruiker de vereiste authentificatie te geven. Daarna is het slim om nog even te testen of de rechten goed zijn ingesteld om te voorkomen dat je jezelf buitensluit. Het stopzetten van de root-gebruiker doe je als volgt in vi (nano of vim kan natuurlijk ook):

[root@root ~] # vi /etc/ssh/sshd_config

Zoek de volgende parameter op:

PermitRootLogin yes

Vanuit de standaardinstellingen staat deze parameter op ‘yes’ ingesteld, verander dit naar ‘no’. Sluit daarna af en sla je wijzigingen op door op ‘Esc’ te klikken en vervolgens de volgende code in te voeren:

:wq!

Daarna moet je nog SSHD herstarten:

# service sshd restart
Stopping sshd: [ OK ]
Starting sshd: [ OK ]

Op wachtwoordgebaseerde authenticatie deactiveren en gebruikmaken van SSH-key pairs

Als je ervoor kiest om gebruik te maken van SSH-key pairs, dan is het niet langer nodig om op wachtwoordgebaseerde authenticatie te gebruiken in de terminal. Doordat de private key op je computer matcht met de public key op je VPS, wordt de verbinding automatisch opengezet. Met behulp van commando’s kun je de keys toevoegen en daarna op wachtwoordgebaseerde authenticatie deactiveren. De benodigde commando’s vind je in het artikel ‘SSH/OpenSSH/Keys‘ op de helpdesk van Ubuntu.

Tip 3: Maak gebruik van bruteforce-detectie

Door de logfiles op je VPS actief te monitoren op mislukte inlogpogingen en de bijbehorende IP-adressen, is jouw VPS in staat om deze IP-adressen automatisch te blokkeren wanneer ze een bruteforce-aanval uitvoeren. Deze zogeheten bruteforce-detectie kun je bijvoorbeeld tot stand brengen met het programma Fail2ban. Fail2ban logt mislukte inlogpogingen en kan een IP-adres voor een bepaalde tijd verbieden om in te loggen. De blacklist-periodes en het aantal mislukte inlogpogingen kun je zelf bepalen in de configuratie van Fail2ban.

Tip 4: Update regelmatig en gebruik sterke wachtwoorden

Deze tip ligt misschien erg voor de hand, maar in de praktijk blijken veel hacks nog steeds veroorzaakt te worden door het gebruik van zwakke wachtwoorden en door verouderde software op servers. Kies daarom altijd voor een sterk wachtwoord en wijzig dit wachtwoord regelmatig. Controleer daarnaast iedere week of er nieuwe updates zijn en installeer de updates zo snel mogelijk. Hoe langer je namelijk wacht, hoe minder veilig je server wordt.

Upgraden met Yum Package Manager of apt-get

Via Yum Package Manager (CentOS/RHEL) of apt-get (Ubuntu/Debian) kun je de geïnstalleerde software, modules en componenten op jouw VPS eenvoudig upgraden. Je kunt ook een cronjob opzetten waarmee je alle beschikbare security-updates automatisch uitvoert. Softwarepakketten zoals cron-apt of yum-cron kunnen je helpen om dit in te regelen.

Vergeet je control panel en je CMS niet te updaten

Maak je gebruik van een control panel zoals Plesk? Vergeet dan niet om ook het panel regelmatig te controleren op updates. Als je inlogt in je Plesk-omgeving kun je zien of er nieuwe updates beschikbaar zijn. Het is ook mogelijk om je control panel zo in te stellen dat updates automatisch worden geïnstalleerd. Meer hierover vind je op de helpdesk van Plesk in het artikel ‘Plesk updates‘.

Als we het dan toch over het installeren van updates hebben, vergeet dan niet om ook je CMS regelmatig te updaten. Voor alle grote CMS’en zoals WordPress en Joomla! komen regelmatig updates uit. Deze updates brengen niet alleen nieuwe functies met zich mee, maar zorgen er ook voor dat bekende lekken worden gedicht. Meer over de oorzaken van websitehacks vind je in het artikel ‘Is mijn website gehackt?‘ op onze Helpdesk.

Tip 5: Gebruik SFTP in plaats van FTP

Bij het maken van verbinding met je server is het veiliger om gebruik te maken van een SFTP-verbinding in plaats van een FTP-verbinding. SFTP wordt namelijk anders geëncrypt dan FTP, waardoor er een veiligere verbinding tot stand wordt gebracht. SFTP maakt gebruik van de SSH-poort. Mocht je tip 2 hebben gevolgd en daarom het poortnummer hebben gewijzigd, vergeet dit dan niet bij het maken van de verbinding. Doordat SFTP via SSH loopt, kun je er ook voor kiezen om de FTP-server te verwijderen.

Met de volgende commando’s kun je controleren van welke FTP-service je gebruikmaakt:

Voor Ubuntu/Debian: apt list –installed | grep ftp
Voor CentOS/RHEL: rpm -qa | grep ftp

En vervolgens kun je de FTP-service verwijderen met het volgende commando:

Voor Ubuntu/Debian: sudo apt-get remove [pakketnaam]
Voor CentOS/RHEL: sudo yum remove [pakketnaam]

Tip 6: Verwijder modules en packages die je niet gebruikt

Bijna niemand heeft alle modules en packages nodig die standaard op een VPS geïnstalleerd zijn. Ga daarom na welke je niet nodig hebt en deïnstalleer deze. Een overzicht van alle geïnstalleerde packages krijg je te zien met het volgende commando:

Voor Ubuntu/Debian: apt list –installed
Voor CentOS/RHEL: rpm -qa

Zeker verouderde services vormen een makkelijk doelwit voor hackers als ze niet verwijderd worden. Deze services kunnen namelijk fouten bevatten. Een bijkomend voordeel van het deïnstalleren van services op je VPS is dat je er ook voor zorgt dat de workload op je VPS lager wordt.

Tot slot is het handig om regelmatig packages te verwijderen die geïnstalleerd zijn voor bepaalde dependencies. Vaak heb je deze packages niet meer nodig en kun je ze dus prima verwijderen. Bij Ubuntu/Debian kun je dit doen met apt-get autoremove en op CentOS/RedHat werkt dit via Yum autoremove.

Heb je zelf nog andere tips waarmee je je VPS veiliger maakt? Laat ze dan gerust achter.

Meer weten over VPS?

Wil je meer weten over het beheren en instellen van een VPS? Op onze Helpdesk vind je diverse artikelen waarin we uitleg geven over verschillende aspecten van je VPS. Zo laten we je bijvoorbeeld zien hoe je een SSL-certificaat installeert op NGINX en Plesk 12, maar ook hoe je automatische back-ups instelt op Plesk 11 of lager en Plesk 12. Je vindt de artikelen via https://www.hostnet.nl/helpdesk/vps.

Delen
Reacties

Er zijn nog geen reacties.

Reageer

Praat mee over dit onderwerp