Eén van mijn overwegingen om (tot recent) weg te blijven van WordPress was de angst voor kwetsbaarheden. Roelant.net is een behoorlijk oud domein en wordt dagelijks door duizenden bots gevonden met zowel goede als minder goede intenties. Zelfs toen ik helemaal niets publiceerde, kon ik rekenen op honderden “bezoeken” per dag. Dusdanig dat ik me al langere tijd genoodzaakt zag om er een Cloudflare-filter tussen te hangen.1Ondanks de privacy-bezwaren – “ze zijn te groot” – en dat ik me er bewust van ben dat niet iedereen Cloudflare een tof bedrijf meer vindt sinds hun terughoudendheid om doxing sites de dienstverlening te ontzeggen. Vooralsnog is er geen beter alternatief dat ik me kan veroorloven en vind ik dat ze in de “good vs. evil” balans vooralsnog in hun voordeel uitvalt. Dat is mooi zichtbaar door het verschil voor en na dat ik weer actief iets publiceerde hier (vanaf 10 juni) en ernaar verwijs:

Zelfs zonder actieve WordPress installatie zag ik in het verleden in de server logs al pogingen om dingen met /wp-admin
te doen. Dus is het niet heel verbazend dat zodra die installatie er wèl is, het al snel “storm” loopt:

En ondanks dat mijn hoster claimt dat ze verzoeken voor XML RPC zelf afvangen, zie ik dat een substantieel deel van de dingen die limit login attempts afvangt, juist daarop binnenkomen:

En even testen bleek dat xmlrpc.php
op mijn domein het inderdaad nog prima deed. Een korte zoekopdracht leverde al snel op dat je tegenwoordig prima zonder kunt.2Van Kinsta had ik tot recent trouwens nog nooit gehoord, maar sinds ik Marcel Bootsman op Mastodon volg (die werkt daar), heb ik begrepen dat ze onder andere in WordPress-hosting gespecialiseerd zijn, dus ik ga er vanuit dat ze weten waar ze het over hebben. 😉 De instructies die je daar vindt om via Apache het verkeer af te vangen3Kan natuurlijk ook via een plugin, maar als dat niet nodig is, doe ik dat liever niet. Met elke extra plugin die je installeert introduceer je potentieel weer kwetsbaarheden. Bovendien moeten de verzoeken toch nog eerst verwerkt worden door PHP dus genereert dat meer load, in plaats van dat de verzoeken door Apache direct met een 403 Forbidden
worden afgewezen. om daar zijn echter achterhaald, de methode met deny,allow
herken ik van vroegah, maar werkte niet meer toen ik het testen. Gelukkig vond ik al snel op Stackoverflow dat het vanaf Apache 2.4 anders werkt:
<Files "xmlrpc.php">
Require all denied
</Files>
In plaats van:
<Files xmlrpc.php>
Order Allow,Deny
Deny from all
</Files>
Doe er je voordeel mee. 😉
Footnotes
- 1Ondanks de privacy-bezwaren – “ze zijn te groot” – en dat ik me er bewust van ben dat niet iedereen Cloudflare een tof bedrijf meer vindt sinds hun terughoudendheid om doxing sites de dienstverlening te ontzeggen. Vooralsnog is er geen beter alternatief dat ik me kan veroorloven en vind ik dat ze in de “good vs. evil” balans vooralsnog in hun voordeel uitvalt.
- 2Van Kinsta had ik tot recent trouwens nog nooit gehoord, maar sinds ik Marcel Bootsman op Mastodon volg (die werkt daar), heb ik begrepen dat ze onder andere in WordPress-hosting gespecialiseerd zijn, dus ik ga er vanuit dat ze weten waar ze het over hebben. 😉
- 3Kan natuurlijk ook via een plugin, maar als dat niet nodig is, doe ik dat liever niet. Met elke extra plugin die je installeert introduceer je potentieel weer kwetsbaarheden. Bovendien moeten de verzoeken toch nog eerst verwerkt worden door PHP dus genereert dat meer load, in plaats van dat de verzoeken door Apache direct met een
403 Forbidden
worden afgewezen.