« B4A Weblog on-line | Main | Fax en telefooncentrale met een ip-nummer »
31 maart 2005
Swatch trouble
Vandaag heb ik flink wat ellende gehad met swatch. http://swatch.sourceforge.net/ De zogenaamde logwatcher die ook acties kan ondernemen op bepaalde events in de logfiles, zoals brute-force password attacks. Eergisteren hadden we er zo eentje. Meer dan 1200 keer werd er geprobeert op onze server in te loggen van hetzelfde ip-adres. Tegenhouden kun je het niet, of je moet alle toegang blokkeren en alleen vertrouwede ip-adressen toelaten. Dan is echter het concept "on-line" wel ver te zoeken. Als je eens ergens anders bent dan thuis, kun je niet bij de server.
De oplossing die ik zocht is er één die het midden houd tussen beiden, na 1 keer verkeerd inloggen vanaf een vreemd ip wordt de "boef" direct geblokkeerd in de firewall met een DROP regel. Dat vertraagd ook nog een beetje. In ieder geval mer dan een DENY, want dan heeft je attacker meteen door dat wij hem in de gaten hebben.
Na wat nachtwerk staat er nu dus een rhel4 swatch package op met een swatchrc script in /etc/init.d/swatchrc (start|stop|restart|enz), er draait een cronjob om het roteren van de logfiles op te vangen (swatch werkt met tail), en er is een beta test scriptje in /root/banner.pl die door swatch aangeroepen wordt als er iemand verkeerd inlogd. In /root/banfile.conf staan de tot nu toe gebande ip adressen, in /root/safe.conf staan de ip adressen die we vertrouwen en die er dus wel altijd doormogen. Deze worden dus niet gedropped.
Probleem met swatch is dus dat de documentatie en dus ook de man page absoluut niet overeenkomen met de werkelijke werking van het script. De enige manier om achter de werking te komen is door echt naar het script te kijken.
TODO
- Werking controleren en in versiebeheer en productie nemen
- Dekking uitbreiden van sshd.* in /var/log/messages naar andere vunzigheden
- IPtable-rules statefull maken
- Script ook thuis deployen... :)
Posted by marko at 31 maart 2005 03:54