Hoe kan ik mijn server beter beveiligen?

Het beveiligen van je server is triviaal, zonder een betere beveiliging wordt een server veel makkelijker binnengedrongen. Dit document zal proberen een aantal basis beveiligingen te onderstrepen die je toe zou kunnen passen op je eigen server.

Firewall

Een erg belangrijk onderdeel van de beveiliging van een server is de Firewall, deze wordt bij oplevering mee geïnstalleerd op de server. Deze wordt echter met een standaard set waardes opgeleverd die het functioneren van je server tot op zekere hoogte beveiligen. Zo staan alle onnodige poorten dicht. Maar hier kunnen we nog wat extra veiligheid in bouwen.

Services afschermen

Een aantal cruciale services waar veelal misbruik van wordt gemaakt, of in ieder geval geprobeerd om misbruik van te maken zijn SSH en FTP.

/etc/csf/csf.allow
in d=22|s=[ip-adres]

Dit afschermen van services kan met elke willekeurige poort die beschikbaar is op je server. Heb je bijvoorbeeld een server admin tool als webmin op je server draaien zal deze op een eigen poort draaien, de hiervoor ingestelde poort kan op bovenstaande wijze ook worden afgeschermd tot specifieke ip-adressen.

Een poort kan meerdere keren gedefinieerd worden als je deze voor meerdere ip-adressen beschikbaar wilt stellen.

Website

Een andere vaak gezien gevoelig punt is de website die draait op de server. Tegenwoordig wordt veel gebruikt gemaakt van de zogenaamde CMS systemen, deze hebben een groot voordeel in het beheersbaar maken van de website. Hier schuilt ook het gevaar, omdat ze zo populair zijn wordt er veel gezocht naar exploits. Erg belangrijk bij het gebruik van deze systemen is het bijhouden van updates van niet alleen je pakket maar ook de gebruikte plug-ins. Deze zijn namelijk ook kwetsbaar maar snel vergeten.

Control Panel

Een control panel is nog een element waar het mis kan lopen, zorg ervoor dat deze up-to-date is. Wij leveren bij onze servers 2 control panels, dit zijn het Plesk en DirectAdmin control panel die er elk weer een andere manier van updaten op na houden.

DirectAdmin

Deze is te updaten via een SSH sessie. Met de volgende commando’s is er een overzicht te krijgen van de pakketten die een update moeten krijgen:

cd /usr/local/directadmin/custombuild
./build update
./build versions | grep update

Hier komt een overzicht uit als:

[root@daserver custombuild]# ./build versions | grep update
Dovecot 2.1.1 to 2.1.3 update is available.
MySQL 5.5.21 to 5.5.22 update is available.
RoundCube webmail 0.7.1 to 0.7.2 update is available.
If you want to update all the available versions run: ./build update_versions

Met het aangegeven commando ./build update_versions worden alle beschikbare pakketen geupdatet naar de nieuwste versie. Mocht je alleen specifieke pakketten willen updaten kan dit met:

./build pakketnaam
voor PHP

./build php n

Plesk

Plesk heeft de mogelijkheid tot het updaten van zijn services op 2 manieren.

micro updates: veelal veiligheidslekken binnen 1 versie
Control panel updates: Updates die nodig zijn om major versies omhoog te gaan.
Beide kunnen via de commandline worden aangeroepen:

Micro-updates:

/usr/local/psa/admin/sbin/autoinstaller --select-product-id plesk --select-release-current --reinstall-patch --install-component base
Control panel updates:

/usr/local/psa/admin/sbin/autoinstaller
Maar ook via de webinterface, log hiervoor in op de interface en ga naar de update knop. Hier zul je vanzelf zien welke onderdelen kunnen worden bijgewerkt.

Terug naar kennisbank