Beveiligen van je Linux server – tips and tricks

Beveilig je server tegen indringers

Je hebt je eigen VPS, maar hoe beveilig je deze tegen ongewenste toegang van buitenaf? Een belangrijke vraag, want als je de logs van je server bekijkt, zie je al gauw dat er heel wat pogingen worden gedaan om ‘binnen’ te komen. Laten we daarom even gaan kijken wat je kunt doen om je server optimaal te beveiligen.

IPtables

Iptables is de firewall van Linux. Hiermee kun je je server beveiligen tegen ongewenste bezoekers, maar je moet de firewall natuurlijk wel goed inrichten. Dat betekent dus dat je inbraakpogingen moet signaleren door goed de logs in de gaten te houden. Deze vindt je onder /var/log

Doe het volgende om hier een overzicht van te krijgen:

Mislukte inbraakpogingen (top 10)
Toon de 10 IPs met mislukte login (eerste kolom is aantal mislukte pogingen, 2e is IP)

lastb | awk ‘{print $3}’ | sort | uniq -c | sort -rn | head -10

Je krijgt dan zoiets te zien:

166 125.212.232.82
44 sd.xjtu.edu.cn
43 117.34.5.211
17 www2.hcchurch.or
16 smtp3.tozzinifre
8 23.96.112.66
6 91.224.160.58
6 91.201.236.155
5 62.140.132.205
5 104.223.6.135

Je kunt dan ipadressen blokkeren

IPadres toevoegen aan firewall:

iptables iptables -I INPUT 1 -s xxx.xxx.xxx.xxx -j DROP

Hierna nog wel even de nieuwe regels opslaan:

service iptables save

Fail2ban

Een veelgebruikt programma is fail2ban. Deze zorgt ervoor dat na een X-aantal mislukte inlogpogingen het ip-adres voor een opgegeven tijd geblokkeerd wordt. Dit is zeer effectief voor het afslaan van een Brute Force Attack. Dit is een methode waarbij een computer via een script probeert in te loggen en daarbij allerlei varianten van inlognaam en wachtwoord uitprobeert. Als dit script oneindig kan blijven lopen kan de server een keer gehacked worden. Maar als je na bijvoorbeeld 5 pogingen de toegang voor 24 uur ontzegt, wordt dit wel heel lastig.

Installatie is eenvoudig:

yum install fail2ban
chkconfig –level fail2ban on
overigens is het wel van belang de service goed te configureren, hoewel ook de standaard instellingen hiervoor voldoen. Meer hierover op fail2ban.org

Na de installatie en configuratie even de service opstarten:
service fail2ban start

Onder /etc/fail2ban kun je je configuratie instellen.
Ik merkte op Centos 7 dat fail2ban niets blokkeerde, maar het volgende commando bood uitkomst:

service rsyslog restart

Update je server

Tja, het lijkt een open deur, maar dit is natuurlijk een van de meest belangrijke manieren om je server te beveiligen. Zorg dat je regelmatig update. Maak eerst een backup van je server voordat je dit uitvoert.
Op de commandline kun je invoeren: yum update, waarna er gezocht wordt naar beschikbare updates die je vervolgens kunt installeren.

Beveiligen van je server? Installeer patches en updates van plugins

Voor de populaire cms systemen, zoals WordPress en Drupal worden regelmatig updates uitgebracht. Vaak worden hiermee lekken gedicht en helpen ze bij het beveiligen van je website en server. Ook voor Magento worden regelmatig patches en updates uitgebracht. Er zijn ook tools voorhanden waarmee je je site kan checken. Voor Magento is er bijvoorbeeld Magereport.com van Byte. Een fantastische tool waarmee je kunt checken of je webshop up to date is. Ook op WordPress.com en Drupal.org is veel informatie beschikbaar. Drupal en WordPress kun je trouwens ook update via de backend.

 Beveiligen van bestanden en mappen

Helaas komt het nog steeds voor dat op servers bestanden en mappen met gevoelige informatie (configuratiegegevens, wachtwoorden, etc.) van buitenaf benaderbaar zijn omdat er teveel rechten zijn toegekend. Het voert nogal ver om uitgebreid in te gaan op gebruikersrechten in deze fase, maar zorg ervoor dat gevoelige informatie niet vanaf het web leesbaar en/of schrijfbaar is. Als rechten 777 is dus NOT DONE!
Bedenk aan dat sommige systemen, zoals Magento nogal roekeloos met hun data omgaan. Magento cached bijvoorbeeld database credentials en andere gevoelige informatie. Je kunt je voorstellen dat het openzetten van map /var/cache voor de hele buitenwereld grote gevolgen kan hebben.

Conclusie

Samenvattend is er heel wat dat je kunt doen om je websites en server te beschermen tegen indringers. En natuurlijk is er nog meer mogelijk dan beschreven is in dit artikel. Het betekent echter wel dat je daar actief mee bezig moet zijn. Heb je daar geen zin in, of geen tijd voor, dan is het beter om dit door een expert laten doen. Niets doen is immers vragen om problemen. Mocht je advies willen over het beveiligen van je website, webshop of webserver, neem dan contact met mij op.