De veiligheid van websites onder de loep

We weten allemaal dat het (goed) maken van websites een vak apart is. Het bijhouden en beschermen hiervan vereist echter weer een andere vorm van expertise. Maar, met logisch nadenken kom je al een heel eind.

We weten allemaal dat het (goed) maken van websites een vak apart is. Het bijhouden en beschermen hiervan vereist echter weer een andere vorm van expertise. Maar, met logisch nadenken kom je al een heel eind.

Omdat niet iedereen hiervoor gestudeerd heeft, wordt ons regelmatig gevraagd of er punten zijn waar men extra op kan letten bij het beveiligen van een website. Het gaat hier dan meestal om websites gemaakt door een webmaster welke niet meer in beeld is en gebruik maakt van een CMS (Content Management System) zoals WordPress of Joomla.

Nu zijn wij geen specialisten op het gebied van de genoemde software, maar we komen dergelijke websites regelmatig tegen en er zijn dan ook altijd wel een paar basis regels waar u zich aan kunt houden om zo de kans op misbruik van uw website, bijvoorbeeld door een hacker, te minimaliseren.

De eerste vraag is dan natuurlijk wel, waarom zou u gehackt worden? Wat heeft uw website, waardoor dit een mooi doelwit wordt? Is het een hacker echt te doen om uw website?

TYPE HACKERS

Feitelijk is een hacker niets meer of niets minder dan een ouderwetse inbreker. Als een inbreker echt binnen wil komen, dan bestaat er geen huis waar hij of zij niet in kan komen. Zelfs de kluizen van een bank zijn immers wel eens het doelwit van een inbraak. In het geval van een inbraak is tijd en moeite versus de opbrengst vaak een afweging welke er gemaakt moet worden door de crimineel-in-spe: hoe meer tijd het kost, des te minder interessant het wordt voor de doorsnee inbreker om zich aan uw huis te wagen.

Voor uw website is het niet anders. Zolang u geen financiële dienst levert, zoals bijv. een bank, of anderszins belangrijke of waardevolle informatie opslaat, dan is uw website geen belangrijk doelwit voor een professional.

Hackers zijn over het algemeen in te delen in een viertal categorieën.

- Script kiddies

Dit zijn vaak beginnende hackers van jongere leeftijd met een laag kennisniveau. Ze gebruiken bestaande, door meer ervaren hackers geschreven software om stoer te doen. Vaak weten dit soort hackers niet eens wat voor schade zij aanrichten en doen ze dit voor de lol of bijvoorbeeld om een boodschap over te brengen van politieke aard. Denk hierbij aan het 'defacen' (het vervangen van de homepage van een website door bijvoorbeeld een stuk propaganda van terroristische organisaties) van een hele zwik Joomla-sites waarin eenzelfde lek zit.

- Black hat hackers / Crackers

Dit zijn de professionele criminelen, de Bonny's en Clyde's van nu. Zij maken software voor andere hackers en verkopen deze, houden zich bezig met identiteitsfraude en het binnen dringen van financiële instellingen om transacties te monitoren of kapen.

- Grey hat Hackers

Dit zijn vaak ingehuurde hackers, of hackers die een systeem binnen proberen te komen om via deze weg een beloning te ontvangen. Dit soort hackers proberen vaak lekken bij grote bedrijven zoals Google en Facebook of overheden te vinden en bieden dan hulp aan om het probleem tegen betaling op te lossen.

- White hat of ethical hackers / Security specialisten

Dit zijn de mensen die de kennis hebben van alle bovenstaande hackers, maar die hun kennis en kunde op een legale manier toepassen. Ze doen dit onder andere door de lekken in bestaande systemen te detecteren om het te verbeteren in opdracht van hun werkgever.

WAAROM

Zoals u ziet zijn er verschillende type hackers. Of en zo ja, waarom uw website gehackt wordt komt neer op de mate van beveiliging en het type hacker aan de voordeur.

Vroeger hoorde je verhalen van straat-schoffies die een brood uit het raam van de bakker joepte. Als uw poort en achterdeur thuis open staan, hoeft er maar een hongerig scharminkel langs te komen die binnenglipt en de fruitschaal leeg rooft. Doet u de poort op slot en installeert u een beveiligingssysteem, hoeft u voor het schoffie niet meer bang te zijn.
Voor een hongerige inbreker ook niet. Maar heeft u vervolgens naast die fruitschaal uw autosleutels of een duur horloge liggen, zal een inbreker de afweging maken hoe lang het duurt voordat het alarm gekraakt is.

Waar het op neer komt is dat een website voldoende beveiligd moet zijn om de standaard inbreker (de straat-schoffies en script kiddies) buiten te houden. Dit is namelijk verreweg de grootste groep lastpakken. Om u zichzelf hiertegen te beschermen, volgen hieronder een paar belangrijke tips.

- Maak regelmatig back-ups en bewaar deze het liefst op uw eigen PC of zelfs op een externe harde schijf. Bewaar eventueel back-ups van verschillende jaren, maanden en dagen om altijd terug te kunnen naar een bepaald tijdstip.

- Zorg ervoor dat uw software altijd up to date is. Komt er een update uit, stel dit dan niet uit. Het up to date houden van een systeem is misschien wel het belangrijkste onderdeel van een veilig systeem. Denk bij het updaten niet alleen aan de software zelf, zoals WordPress, maar ook aan de gebruikte plug-ins en thema's of templates.

- Verwijder templates/thema’s en plug-ins die u niet gebruikt, dus ook de standaard vooraf geïnstalleerde dingen. Hoe meer plug-ins er geïnstalleerd zijn, des te meer ingangen en dus ook kansen een hacker heeft om een ingang te detecteren.

- Gebruik geen templates/thema’s en plug-ins van derden die niet goed zijn gekeurd door de software leverancier. Het komt vaak voor dat men een leuke uitbreiding ziet die bepaalde mogelijkheden biedt en het 'even'
geïnstalleerd wordt om te kijken of het wat is. Een cracker kan hier echter een virus in hebben gebouwd en op het moment dat u dit installeert, heeft deze direct een ingang waar, vaak geautomatiseerd, misbruik van wordt gemaakt. Als u de plug-in daarna verwijderd, dan is het al te laat.

- Gebruik een sterk wachtwoord. De meningen zijn hierover verdeeld, maar een sterke wachtwoorden bestaat tegenwoordig uit minimaal 12 karakters.
Het bevat geen bestaand woord en gebruikt een combinatie van kleine letters, hoofdletters, cijfers en symbolen. Ter indicatie: met moderne technologieën en geen beveiliging aan de server-kant is een wachtwoord met minder dan 15 karakters binnen 4 dagen geraden.

- Gebruik niet dezelfde wachtwoorden voor verschillende websites. Zodra een cracker een database van een grote organisatie heeft bemachtigd - denk hierbij aan LinkedIn of recentelijk enkele erotische datingsites - dan zijn ze er op uit om de wachtwoorden te achterhalen. Deze wachtwoorden worden dan verkocht of gedeeld met andere hackers. Als men dan een systeem probeert binnen te komen, worden deze wachtwoorden eerst gebruikt. Deze vorm van hacken staat bekend als een Rainbow Table.

- Met oog op bovenstaande, doet u er goed aan om een wachtwoord dus ook met enige regelmaat te veranderen. Hoort u op het nieuws over een bekend platform wat u gebruikt, zoals LinkedIn, verander dan niet alleen bij dit platform uw wachtwoord, maar ook bij alle andere platformen en websites waar u hetzelfde wachtwoord bij gebruikt.

- Zet de editor functies van uw template/thema en plug-ins uit. Hackers kunnen via deze weg bestanden uploaden en aanpassen. De hack hiervan is wat ingewikkelder, maar via deze weg kan een wat ervaren hacker volledige controle krijgen over uw website waardoor de website niet meer betrouwbaar is en in de meeste gevallen opnieuw gebouwd moet worden.

- Zorg dat de inlog omgeving niet op een standaard plaats staat. CMS applicaties gebruiken vaak standaard inlogpagina’s met namen zoals administrator, of wp-login of wp-admin. Er bestaan echter manieren om dit uit te schakelen en de inlogpagina op een andere plaats te zetten (ook wel bekend als secret link).

- Zorg dat de de folder waarop ingelogd wordt, zoals de administrator of de wp-admin map met extra wachtwoord beveiligd is door middel van bijvoorbeeld een .htaccess blokkade. Zie http://www.site-helper.com/misc.html#password voor meer informatie over hoe dit in DirectAdmin kan.

- Zet een beveiliging op mappen waar geen PHP bestanden horen te staan, bijvoorbeeld via .htaccess waarin staat dat PHP niet uitgevoerd mag worden in de betreffende en onderliggende mappen. Dit komt vaak te pas in de map 'wp-content/uploads'. De code hiervoor is de volgende:

RemoveHandler .php .phtml .php3
RemoveType .php .phtml .php3
php_flag engine off

deny from all


- Ten slotte is het aan te raden om binnen de website een soort firewall te installeren. Voor WordPress is de WordFence plug-in hiervoor geschikt.
Zo houd u aanvallers buiten die verdachte of bekende aanvallen proberen uit te voeren. Naast functioneren als een firewall, stuurt WordFence ook een bericht wanneer er iets verdachts gebeurt, zodat u daarop kunt handelen. Tevens maakt WordFence een vergelijking met de bestanden van uw website en de bestanden zoals WordPress deze publiceert en heeft dus dezelfde soort werking als een virus scanner.

CONCLUSIE

Het beschermen van een website is dus eigenlijk niet veel anders dan het beschermen van uw persoonlijke eigendommen in huis. Zorg dat de deur altijd op slot zit door middel van een sterk wachtwoord. Zorg voor extra inbraakbeveiliging door extra beveiliging op de admin-mappen. Gebruik verschillende sloten voor verschillende deuren door wachtwoorden niet te hergebruiken. Zo valt er voor alles wel een vergelijking te vinden. Het belangrijkste is nog altijd: denk logisch na en vraag voor een 'second opinion' door iemand die meer ervaring heeft dan uzelf.