{"id":7731,"date":"2016-04-15T11:50:29","date_gmt":"2016-04-15T15:50:29","guid":{"rendered":"https:\/\/spinor.info\/weblog\/?p=7731"},"modified":"2016-04-15T11:50:29","modified_gmt":"2016-04-15T15:50:29","slug":"bleeping-script-kiddies","status":"publish","type":"post","link":"https:\/\/spinor.info\/weblog\/?p=7731","title":{"rendered":"Bleeping script kiddies"},"content":{"rendered":"<p>Not for the first time, one of my Joomla! sites was attacked by a script kiddie using a botnet.<\/p>\n<p>The attack is a primitive brute force attack, trying to guess the administrator password of the site.<\/p>\n<p>The frustrating thing is that the kiddie uses a botnet, accessing the site from several hundred remote computers at once.<\/p>\n<p>A standard, run-of-the-mill defense mechanism that I installed works, as it counts failed password attempts and blocks the offending IP address after a predetermined number of consecutive failures.<\/p>\n<p>Unfortunately, it all consumes significant resources. The Joomla! system wakes up, consults the MySQL database, renders the login page and then later, the rejection page from PHP&#8230; when several hundred such requests arrive simultaneously, they bring my little server to its knees.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-7732\" src=\"https:\/\/spinor.info\/weblog\/wp-content\/uploads\/2016\/04\/system-activity.gif\" alt=\"\" width=\"480\" height=\"360\" \/><\/p>\n<p>I tried as a solution a network-level block on the offending IP addresses, but\u00a0there were just too many: the requests kept coming, and I became concerned that I&#8217;d have an excessively large kernel table that might break the server in other ways.<\/p>\n<p>So now I implemented something I&#8217;ve been meaning to do for some time: ensuring that administrative content is only accessible from my internal network. Anyone accessing it from the outside just gets a static error page, which\u00a0can be sent with minimal resource consumption.<\/p>\n<p>Now my server is happy. If only I didn&#8217;t need to waste several hours of an otherwise fine morning because of this nonsense. I swear, one of these days I&#8217;ll find one of these script kiddies in person and break his nose or something.<\/p>\n<fb:like href='https:\/\/spinor.info\/weblog\/?p=7731' send='true' layout='standard' show_faces='true' width='450' height='65' action='like' colorscheme='light' font='lucida grande'><\/fb:like>","protected":false},"excerpt":{"rendered":"<p>Not for the first time, one of my Joomla! sites was attacked by a script kiddie using a botnet. The attack is a primitive brute force attack, trying to guess the administrator password of the site. The frustrating thing is that the kiddie uses a botnet, accessing the site from several hundred remote computers at <a href='https:\/\/spinor.info\/weblog\/?p=7731' class='excerpt-more'>[&#8230;]<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[51,6,35],"tags":[],"class_list":["post-7731","post","type-post","status-publish","format-standard","hentry","category-computer-security","category-internet","category-personal","category-51-id","category-6-id","category-35-id","post-seq-1","post-parity-odd","meta-position-corners","fix"],"_links":{"self":[{"href":"https:\/\/spinor.info\/weblog\/index.php?rest_route=\/wp\/v2\/posts\/7731","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/spinor.info\/weblog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/spinor.info\/weblog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/spinor.info\/weblog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/spinor.info\/weblog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7731"}],"version-history":[{"count":1,"href":"https:\/\/spinor.info\/weblog\/index.php?rest_route=\/wp\/v2\/posts\/7731\/revisions"}],"predecessor-version":[{"id":7733,"href":"https:\/\/spinor.info\/weblog\/index.php?rest_route=\/wp\/v2\/posts\/7731\/revisions\/7733"}],"wp:attachment":[{"href":"https:\/\/spinor.info\/weblog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7731"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/spinor.info\/weblog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7731"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/spinor.info\/weblog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7731"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}