Ik heb last van wordpress ruis op sites die helemaal geen wordpress draaien. De stats van domeinnamen raken vervuild met bijv onderstaande. Ruim 4k hits op /wp-login.php.
Omdat ik Awstats draai is het debiele dat 1 uniek IP adres meteen telt voor 1 unieke bezoeker. Awstats is redelijk accuraat mits geen ruis gaande, je zit ongeveer 50 bezoeken af op een dagstatistiek van ongeveer 500 bezoekers.
Echter gaat dit overal zo tekeer:
De gebruikte stats zijn van o.a Awstats, die zijn mits geen rotzooi op je domein, 'redelijk' accuraat (zo'n 50 bezoekers per dag 'af' in verhouding met analytics van google).
Echter als ik blijvend dit soort scans iedere dag krijg dan is het aantal bezoekers natuurlijk ver van contrast af.
Op serverniveau heb ik een script draaien dat iedere 5 seconden in /apache-status/ kijkt naar:
en zodra daar een 5x een hit in voorkomt in 5 seconden,
Echter als een bot geen POST maakt maar wel een GET naar wp-login.php maakt (het opvragen) dan triggert er natuurlijk niets.
Wat heb ik gedaan... op 1 van mijn hoofddomeinnamen een honeypot opgezet, http://arleym.com/faux-wp-admin-a-non-wordpress-honeypot/
Dit is gewoon een dummy page welk eigenlijk helemaal niets doet en waar een bot stierlijk op vast kan lopen omdat er niets gebeurd. Het aantal posts moet nu dus wel op gaan vallen voor het script. Ik zag bezoekers na het spammen op twitter van 2700 unieke visits ineens zakken naar 300. De CSF log zat inmidels goed vol.
Zijn er nog andere middelen om op domeinnamen waar geen wordpress site op staat, serverwide wel een detectie in zou kunnen stellen welk dit soort overlast tegen moet gaan?
Ja een ander statistiek instellen is een idee, maar om dit voor 2500+ sites toe te gaan passen inclusief het aanmaken van verschillende accounts is nu niet echt een optie.
Ik heb meer dan 4k aan IP bans voor wordpress (POSTS) alleen al. Dat terwijl merendeels geen wordpress draait, en de sites die het wel hebben een aanval vrij snel afgeweerd wordt.
Dat script werkt wel magisch want het voorkomt een hoop gedoe op eigen servers. Zonder dat script is een aanval in staat je server gewoon te crashen gezien de onnodige resources die wordpress kan spawnen bij een aanval.
Omdat ik Awstats draai is het debiele dat 1 uniek IP adres meteen telt voor 1 unieke bezoeker. Awstats is redelijk accuraat mits geen ruis gaande, je zit ongeveer 50 bezoeken af op een dagstatistiek van ongeveer 500 bezoekers.
Echter gaat dit overal zo tekeer:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| URL (53) Error Hits Referrers /wp-login.php 4,664 - /license.txt 68 license.txt /wp-admin/js/media-upload.dev.js 23 wp-admin/js/media-upload.dev.js /wp-content/themes/twentyeleven/readme.txt 23 wp-content/themes/twentyeleven/readme.txt /readme.htm 23 readme.htm /readme.txt 23 readme.txt /wp-admin/css/colors-classic.css 23 wp-admin/css/colors-classic.css /wp-includes/css/buttons.css 23 wp-includes/css/buttons.css /wp-content/themes/classic/rtl.css 23 wp-content/themes/classic/rtl.css /wp-includes/js/tinymce/wp-tinymce.js 23 wp-includes/js/tinymce/wp-tinymce.js /wp-includes/js/scriptaculous/wp-scriptaculous.js 23 wp-includes/js/scriptaculous/wp-scriptaculous.js /help.txt 23 help.txt /wp-content/themes/twentyten/images/wordpress.png 23 wp-content/themes/twentyten/images/wordpress.png /wp-content/themes/twentyten/style.css 23 wp-content/themes/twentyten/style.css /wp-content/plugins/akismet/akismet.js 23 wp-content/plugins/akismet/akismet.js /wp-admin/images/wp-logo-2x.png 23 wp-admin/images/wp-logo-2x.png |
De gebruikte stats zijn van o.a Awstats, die zijn mits geen rotzooi op je domein, 'redelijk' accuraat (zo'n 50 bezoekers per dag 'af' in verhouding met analytics van google).
Echter als ik blijvend dit soort scans iedere dag krijg dan is het aantal bezoekers natuurlijk ver van contrast af.
Op serverniveau heb ik een script draaien dat iedere 5 seconden in /apache-status/ kijkt naar:
code:
1
| POST /wp-login.php HTTP/1.0 |
code:
1
| POST /xmlrpc.php HTTP/1.0 |
code:
1
| POST /wp-admin/wp-admin-ajax.php |
en zodra daar een 5x een hit in voorkomt in 5 seconden,
code:
1
| exec('/usr/sbin/csf -td '.$ipKey.' 86400 banned for wordpress attack', $output, $iets); |
Echter als een bot geen POST maakt maar wel een GET naar wp-login.php maakt (het opvragen) dan triggert er natuurlijk niets.
Wat heb ik gedaan... op 1 van mijn hoofddomeinnamen een honeypot opgezet, http://arleym.com/faux-wp-admin-a-non-wordpress-honeypot/
Dit is gewoon een dummy page welk eigenlijk helemaal niets doet en waar een bot stierlijk op vast kan lopen omdat er niets gebeurd. Het aantal posts moet nu dus wel op gaan vallen voor het script. Ik zag bezoekers na het spammen op twitter van 2700 unieke visits ineens zakken naar 300. De CSF log zat inmidels goed vol.
Zijn er nog andere middelen om op domeinnamen waar geen wordpress site op staat, serverwide wel een detectie in zou kunnen stellen welk dit soort overlast tegen moet gaan?
Ja een ander statistiek instellen is een idee, maar om dit voor 2500+ sites toe te gaan passen inclusief het aanmaken van verschillende accounts is nu niet echt een optie.
Ik heb meer dan 4k aan IP bans voor wordpress (POSTS) alleen al. Dat terwijl merendeels geen wordpress draait, en de sites die het wel hebben een aanval vrij snel afgeweerd wordt.
Dat script werkt wel magisch want het voorkomt een hoop gedoe op eigen servers. Zonder dat script is een aanval in staat je server gewoon te crashen gezien de onnodige resources die wordpress kan spawnen bij een aanval.