Python

Fail2ban - der bessere Weg IPs zu blocken

Nachdem ich vor kurzem von der SpamAttacke auf den MailServer eines Kumpels berichtet habe und davon wie ich letztendlich die IPs der versendenden Rechner per iptables geblockt habe, hat unser Hoster reagiert und das Tool Fail2ban installiert, dass ich hier mal kurz vorstelle.

Fail2ban ist, um es mit den Worten auf der Fail2ban Seite zu formulieren, ein Scanner, der die Logfiles, zB. des Apache oder auch eines Mailserver, wie postfix oder die auth.log für ssh Zugriffe, usw. durchsucht und mittels konfigurierbarer RegEx-Regeln entscheidet, ob eine IP geblockt werden soll, oder nicht. Damit kann zB. verhindert werden, dass von einer IP übermässig oft versucht wird, per ssh auf den Server zuzugreifen. Die Anzahl der möglichen Versuche ist einstellbar, default ist hier 3. Fail2ban nutzt zum Blocken der IPs die schon auf einem System vorhandenen Möglichkeiten, wie iptables oder shorewall und richtet, wenn eine Regel in den Logfiles anschlägt, einen entsprechenden neuen Eintrag mit der IP in der firewall (zB. iptables) ein.

Fail2ban ist in Python geschrieben und bringt einen eigenen Server daemon mit, der multithreaded ist und auf einem Unix socket auf Kommandos des zugehörigen fail2ban-clients lauscht.

Um die Arbeitsweise und die Konfiguration von Fail2ban zu zeigen, hier ein Beispiel:

Netzwerkprogrammierung mit Python

in

Im letzten Artikel habe ich über meinen Einstieg in Python geschrieben, und nun steig ich auch gleichmal etwas tiefer in die Thematik ein.

In diesem Beitrag stelle ich erstmal eine Linksammlung zum Thema "Netzwerkprogrammierung mit Python" vor.

Hintergrund ist der, dass ich gerade dabei bin, eine Art Datensammler mit Python zu entwickeln, und mich dabei natürlich auf schon vorhandene Bibliotheken bzw. Tools stütze. Noch bin ich mir nicht sicher, welches der vielen Frameworks und Bibliotheken zu meinem Projekt paßt, deshalb hier erstmal eine recht breite Auswahl an Infos zum Thema.

Grundlagen

http://diveintopython.org/http_web_services/index.html

http://openbook.galileocomputing.de/python/python_kapitel_20_001.htm#mj6a610f312e2abfe628f8f50a8629087d
 

SOAP Handling in Python

http://diveintopython.org/soap_web_services/index.html
 

ZSI

http://www.mutschler-net.de/htmlout/htmlout/node17.html

http://www.opensourcetutorials.com/tutorials/Server-Side-Coding/Python/python-soap-libraries-2/page1.html

http://www.mutschler-net.de/htmlout/htmlout/PythonSoapTut.html

http://plone.org/documentation/kb/import-soap-client-object
 

Twisted Framework

Python, die etwas andere Scriptsprache

in

Mein erster Artikel zu Python hier im Blog, was wohl daran liegt, dass ich erst seit kurzem mit Python arbeite.

Bisher habe ich neben einigen Ausflügen in die Javawelt und auch ein paar Gehversuchen im C++ Umfeld eigentlich die meiste Zeit in PHP programmiert.
 

Und nun also Python ... zuerst mal, warum dieser Titel, die andere Scriptsprache.

Im Gegensatz zu PHP läuft Python stateful in einem echten Applikationserver, erlaubt persistente HTTP-Verbindungen und auch echte parallele Verarbeitung und hat sicher auch noch sehr viel mehr Vorteile im Gegensatz zu PHP, die ich noch gar nicht alle kenne.
Ich will an dieser Stelle natürlich keine Grundsatzdiskussion starten über die Vor- und Nachteile von Python vs. PHP, ich möchte nur meine Entscheidung mit Python zu beginnen, begründen, da meine aktuellen Projekte mit Python einfach besser zu bewältigen sind, als mit PHP.

Worum geht es also genau:

Inhalt abgleichen