Tja, dit is allemaal nogal relatief. DDOS aanvallen kan je niet binnen WordPress afslaan; dan ben je al te laat. Dit moet je aanpakken op het eerste moment dat er dataverkeer jouw infrastructuur binnenkomt (dus bijvoorbeeld met een load balancer). Maar ook daar zitten beperkingen op. Als je het echt wilt voorkomen moet je kijken naar cloudoplossingen die dat voor je overnemen.
WordPress “kaal” is an sich veilig, het is het moment dat je het uitbreid met plugins dat het gevaarlijk wordt. Je moet dus eigenlijk de plugins aan een security audit onderwerpen; dan hou je het systeem veilig.
Deze plugin is wel een aardige om mee te starten voor wat basale veiligheidsopties.
Roy
(@gangleri)
Verplichte lectuur:
http://codex.wordpress.org/Hardening_WordPress
Er zijn tegenwoordig inderdaad talloze plugins. Ik gebruikte in het begin deze:
http://wordpress.org/extend/plugins/askapache-password-protect/
Hiermee kun je bijna alles beveiligen, maar het vraagt tegenwoordig zoveel van de server dat ik het allemaal niet meer ingesteld krijg.
Dit is ook een veel gebruikte:
http://wordpress.org/extend/plugins/bulletproof-security/
Maar met wat gezond verstand kom je een heel eind. Een paar tips:
– Hou je WP bij, zeker als een upgrade een ‘security update’ is (zoals 3.5.1), ga dan niet lopen te miepen dat een plugin niet meer werkt of dat je thema de nieuwe versie niet aan kan, die problemen zijn veel marginaler dan een pagina die gehacked is.
– Je login naam moet geen “admin” zijn, dan hoef je namelijk alleen nog maar het wachtwoord te raden (en die is natuurlijk niet “welkom”);
– Je ’table prefix’ is niet wp_ (je kunt dit instellen bij de installatie en later aanpassen via een plugin, maar dit is wel een serieuze aanpassing als je website al draait, maar… het is mij ook gelukt), want dan kan iedereen alle tabellen raden;
– Ik heb zelf mijn /wp-admin map en login.php achter een htaccess wachtwoord zitten. Dat is geen top-beveiliging, maar dan moeten ze in elk geval twee logins raden en mocht iemand via een omwegje binnen komen, dan krijgen ze alsnog het htaccess schermpje als ze willen navigeren;
– Ik heb een ‘limit login attempts’ plugin wat voorkomt dat iemand (geautomatiseerd) logins gaat proberen;
– Er zijn plugins om ‘bad queries’ tegen te houden. Het is mij niet controleerbaar of het helpt;
– Mijn /themes map is niet beschrijfbaar. Mocht iemand binnen komen, dan zullen ze niet zomaar spam of weet ik wat in mijn thema pompen. Het is wel even vogelen met server-instellingen om alles goed werkend te houden, maar mijn server vindt het prima.
Een minder praktische tip: pak een ‘dedicated server’, want ik kan mijn website nog zo goed beveiligen, als mijn buurman op de server wordpress 2.0.1 heeft draaien, ben ik hoogstwaarschijnlijk ook de sjaak. Hier heeft de host natuurlijk een grote rol, maar het risico is zeker aanwezig.
En zoals Niels al zegt, voorkomen kun je een hack niet, maar maak het niet al te makkelijk en laat je niet gek maken door het idee dat je misschien ook ooit ‘aan de beurt bent’. Ben je dan toch een keer de pineut, zoek er niet meer achter dan een geautomatiseerde hack uitgevoerd door een ‘scriptkiddie’. Weinig websites zijn interessant genoeg om gericht te hacken en als ze dat gaan proberen, dan hou je ze toch niet tegen. De kans blijft erg klein als je je pagina goed beheert.