Viime viikon puolella havaitsin blogissani järjetöntä hidastelua. Sivulataukset eivät toimineet kunnolla, kuvat ei menneet palvelimelle aina perille ja muutenkin koko sivusto takkuili. Menin tutkimaan ongelmaa palvelimelta ja havaitsin aivan järjettömän määrän latauksia yhdestä IP-osoitteesta jotka kaikki kohdistuivat WordPressin XML-RPC osoitteeseen. Sivulatauksia tuli useita kymmeniä sekunnissa joten kyseessä oli luultavasti satunnainen palvelunestohyökkäys.
Jotta tästä postauksesta olisi jollekin mahdollisesti jotain hyötyä voisin avata hieman kuinka ongelmaa lähdin selvitämään ja korjaamaan.
Ongelman selvittely
1) Kirjauduin palvelimelle ja katsoin avoimet prosessit komennolla top
. Havaitsin että apache2-prosesseja oli aivan järjetön määrä siihen mitä niitä on normaalisti palvelimella. Normaalisti näitä on alle 5, nyt niitä oli kymmenittäin.
2) Koetin ensialkuun vain restartata Apachen siltä varuilta että jokin prosessi olisi vain jäänyt jumiin. Pian Apachen restartin jälkeen ongelma ilmeni uudelleen joten lisäselvittelyä joutui tekemään.
3) Listasin avoimet yhteydet komennolla netstat
jolloin näin että yhdestä IP-osoitteesta tulee paljon yhteyksiä.
4) Tarkistin Apachen logeista onko siellä mitään ihmeellistä ja havaitsin että tuosta osoitteesta tulee koko ajan POST-requesteja osoitteeseen /xmlrpc.php
Ongelman korjaaminen
1) Droppasin kyseisen IP:n kokonaan Linuxin palomuurilla
iptables -A INPUT -s 255.255.255.255 -j DROP
jossa tietenkin 255.255.255.255 tilalle on vaihdettu oikea IP-osoite, eli se mistä tuhoton määrä requesteja tuli
2) Lisäsin tämän jälkeen myös .htaccess-tiedostossa koko XML-RPC:n blokkiin jo Apachen puolelta jatkoa ajatellen.
Tarkemmin tietoa Linuxin palomuurilla IP:n blokkaamisesta ja unblokkaamisesta löytää mm. täältä. Lisätietoja WordPressin XML-RPC:n blokkaamisesta löytyy vastaavasti täältä.
Jatkotoimenpiteet
Selvitin myös kyseisen IP-osoitteen palveluntarjoajan ja olin yhteydessä heidän yhteyshenkilöihin ja infosin heitä tahallisesta verkkohäirinnästä heidän verkossaan ja pyysin heitä olemaan yhteydessä tuon IP-osoitteen omistajaan että lopettaa kyseisen toiminnan.
Moral of the story – loppuu se perseily. Mikäli siis aikomuksena on tehdä palvelunestohyökkäystä ja satut summassa valikoimaan tämän blogin tulen jatkossakin tekemään teknisiä toimenpiteitä ongelman selvittämiseksi ja toki tulen myös jatkossakin ei-teknisesti hoitamaan yhteydenotot operaattoreille ja palveluntarjoajille joiden verkosta häirintää tapahtuu joten script-kiddieiden ja muiden nyyppien kannattaa suosiolla unohtaa kyseinen toiminta, sillä siitä voi tulla seuraamuksiakin 😉
Leave a Reply