Computerbeveiliging - Hoe je bad guys buiten de deur houdt

Inlogpogingen op een kleine WordPress-site: Cloudflare-regel of plugin?

Excuses vooraf voor mijn Nederlands, mijn moedertaal is Afrikaans en ik lees jullie forum al een tijdje mee vanuit Gqeberha in Zuid-Afrika. Ik help een paar vrienden met een WordPress-site over onze plaatselijke voetbalclub: uitslagen, de stand in de competitie en af en toe een wedstrijdverslag. Niets bijzonders, maar sinds een paar weken zie ik in de logs elke nacht tussen de 2.000 en 4.000 POST-verzoeken op wp-login.php en xmlrpc.php, telkens vanaf andere IP-adressen, vooral uit datacenters.

Er is tot nu toe niemand binnengekomen. Wachtwoorden zijn lang en uniek, en de drie accounts met schrijfrechten hebben sinds vorige maand tweestapsverificatie via een app. De site draait op gedeelde hosting, dus fail2ban of iets op serverniveau kan ik niet zelf instellen.

Ik twijfel tussen twee routes:

1. Het gratis Cloudflare-abonnement ervoor zetten en met een WAF-regel alles naar wp-login.php en xmlrpc.php blokkeren behalve vanaf Zuid-Afrikaanse IP-adressen.
2. Een beveiligingsplugin die de inlog-URL verplaatst en na een paar mislukte pogingen blokkeert.

Mijn gevoel zegt dat filteren vóór de server beter is dan PHP het werk te laten doen, maar ik weet niet of het blokkeren op land zinvol is als de aanvallen toch via datacenters lopen. En xmlrpc.php helemaal dichtzetten, breekt dat iets wat de WordPress-app op de telefoon nodig heeft?

Hoe pakken jullie dit aan bij kleine sites zonder eigen server?
Reacties (3)
Vandaag, 16:21 door Anoniem
Als je een statisch ip hebt dan kun je daarop filteren in je wp-login.php. dat zal veiliger zijn. Persoonlijk zou ik inderdaad meerdere dingen doen die jij ook voorsteld. En of je xmlrpc gebruikt, test dat even, zo niet uitschakelen. In cloudflare kun je ook bot modus inschakelen wat dan een challenge geeft. 2fa op je logins zal ook helpen. Je kunt ook honeypots opzetten door met plugin je wplogin.php te hernoemen en vervolgens een ip logger op wplogin.php te plaatsen. Vervolgens die ips blokkeren die toch op die pagina komen. Het hangt verder van je use cases af, bijv of andere gebruikers buiten jou kunnen inloggen, wat nuttig is toe te passen. Ik heb ooit voor een wordpress site via simply static een html variant lokaal gegenereerd, aangezien het allemaal statische paginas waren. Dit toen geupload naar cloudflare pages. Dit is het meest veilig en je hebt geen eigen server nodig ondat statische content gratis in cloudflare freetier past. Maar de juiste beveiliging zou afhangen van hoe de site gebruikt wordt verder.
Vandaag, 17:45 door Anoniem
Ik zou Cloudflare als eerste verdedigingslaag inzetten. Zo worden verdachte verzoeken al tegengehouden voordat ze WordPress en PHP bereiken. Je kunt de regels eventueel beperken tot wp-login.php en xmlrpc.php, zodat je website ook buiten je eigen land toegankelijk blijft.

Houd er wel rekening mee dat Cloudflare alleen verkeer beschermt dat er daadwerkelijk doorheen loopt. Vraag je hostingprovider daarom of directe toegang tot je virtuele host kan worden beperkt tot verkeer via Cloudflare. Anders kunnen aanvallers de regels omzeilen als ze het IP-adres van je server kennen.

XML-RPC is mogelijk nodig voor de WordPress-app en sommige plugins of diensten. Je kunt controleren of er iets stukgaat door de toegang tijdelijk te blokkeren of het bestand tijdelijk een andere naam te geven.

Installeer daarnaast zo weinig mogelijk plugins. Elke plugin kan kwetsbaarheden bevatten en moet goed worden bijgehouden. Je kunt je blog bijvoorbeeld scannen met WPScan: https://github.com/wpscanteam/wpscan

Andere maatregelen zijn het aanpassen van de standaardgebruikersnaam admin en, als je dat wilt, het wijzigen van de URL van wp-admin.
Vandaag, 19:38 door Anoniem
Je Nederlands lijkt beter dan dat van de meeste "Nederlanders".
Reageren
Ondersteunde bbcodes
Bold: [b]bold text[/b]
Italic: [i]italic text[/i]
Underline: [u]underlined text[/u]
Quote: [quote]quoted text[/quote]
URL: [url]https://www.security.nl[/url]
Config: [config]config text[/config]
Code: [code]code text[/code]

Je bent niet en reageert "Anoniem". Dit betekent dat Security.NL geen accountgegevens (e-mailadres en alias) opslaat voor deze reactie. Je reactie wordt niet direct geplaatst maar eerst gemodereerd. Als je nog geen account hebt kun je hier direct een account aanmaken. Wanneer je Anoniem reageert moet je altijd een captchacode opgeven.