Türsteher für vsftp

Fail2Ban ist ein kleines Tool, welches Logdateien verschiedener Dienste im Hintergrund überwacht und basierend auf den Ereignissen verschiedene Aktionen auslöst. Häufig eingesetzt wird das Programm zum verhindern von Brute-Force Attacken. Fail2Ban kann in diesem Fall automatisch eine iptables Regel erstellen und nach einer definierten Zeit wieder entfernen.

Auch ich habe hier einen kleinen FTP Server laufen, welcher in letzter Zeit immer häufiger Opfer von Brute-Force Attacken. Bis jetzt sind die Kiddies noch sehr weit von einem gültigen Benutzernamen entfernt und dann fehlt ihnen auch noch das Passwort, aber man muss es ja nicht darauf ankommen lassen. Also hab ich heute Fail2Ban installiert. Die Unterstützung für vsftpd muss in der Datei /etc/fail2ban/jail.conf eingeschaltet werden.

[vsftpd]

enabled = true
port = ftp,ftp-data,ftps,ftps-data
filter = vsftpd
logpath = /var/log/vsftpd.log
maxretry = 3

Eventuell muss noch der Pfad zur Logdatei angepasst werden.

Die Logdatei meines FTP-Servers hat einen etwas anderen Aufbau als der von Fail2Ban erwartete. Fehlerhafte sehen dort so aus:

Sat Jun 7 22:57:00 2008 [pid 16568] [anonymous] FTP response: Client "77.187.64.154", "530 Permission denied."

Dadurch muss die Fail2Ban RegEx in der Datei /etc/fail2ban/filter.d/vsftpd.conf angepasst werden. Für die Zeile oben gilt:

failregex = .*Client."<HOST>",."530 Permission denied."$

Ob die Zeile funktioniert, kann man dann z.B. mit einem einfachen

fail2ban-regex /var/log/vsftpd.log /etc/fail2ban/filter.d/vsftpd.conf

testen.

Typische Windows Fallen…

…für einen Linux Benutzer.

Teil 1:

Kleiner Auftrag von meinem Chef, neuen Inhalt in eine bestehende Internetseite einfügen. Leider kein CMS, sondern purer Code (noch dazu kein schöner), aber dank Vim für Windows leichtes Spiel. Die "Krönung" war das einfügen eines Link, welcher auf ein PDF-File zeigt. PDF kurz umbenannt, Link gesetzt, funktioniert nicht. :(
Berechtigungen überprüft, Dateiname und Ort geprüft….funktioniert nicht. :(
Ich hätte kotzen können, alles stimmte.
Ich hab dann mal die Datei mit dem Acrobat Reader geöffnet und siehe da, die hieß *.pdf.pdf und nicht *.pdf.
Welcher Idiot ist den eigentlich auf die bescheuerte Idee gekommen, Erweiterungen von Dateinamen standardmässig auszublenden?
Meine selbsteingefügte Erweiterung wieder gelöscht und schon funktionierte es.

Ordnung muss sein…

Gerade eben habe ich mal wieder einen kleinen Blick in meinen Download-Ordner riskiert und festgestellt, dass dort Chaos herrscht. Eigentlich nichts Ungewöhnliches, aber ein wenig Ordnung sollte schon sein. Irgendwo hatte ich mal ein Script gesehen, welches automatisch Ordner mit Datum erstellt und einen Symlink auf den aktuellen Tag legt, damit man die Ordner nicht ständig wechseln muss. Das Script habe ich natürlich nicht gespeichert und auch nicht mehr wiedergefunden. :(
Also gibt es jetzt ein kleines Quick-and-dirty Bashscript von mir.
Sollte ihr es ausprobieren, übernehme ich keine Garantie für zerstörte Dateien o.ä.


#!/bin/bash
#===============================================================================
#
# FILE: arrangeDownloads.sh
#
# USAGE: ./arrangeDownloads.sh
#
# DESCRIPTION: Arrange your downloads by date
#
# OPTIONS: ---
# REQUIREMENTS: ---
# BUGS: ---
# NOTES: ---
# AUTHOR: Marvin Peuster (), peuster@gmail.com
# COMPANY: peuster.com
# VERSION: 1.0
# CREATED: 13.06.2007 13:22:05 CEST
# REVISION: ---
#===============================================================================#Ordner für die Downloads
DOWN_DIR=$HOME/download

#Formatierung des Datums, mehr unter "man date"
TODAY_DIR=`date +%d%m%Y`

#
#Ab hier keine Änderungen mehr!
#

#
# Tägliches Download Verzeichnis vorhanden?
# Sonst anlegen
#
if test -d $DOWN_DIR/$TODAY_DIR; then
echo "OK"
else
echo "Failed! Verzeichnis wird angelegt"
mkdir $DOWN_DIR/$TODAY_DIR
fi

#
# Symlink für den heutigen Tag vorhanden?
# Sonst anlegen
#
if test -L $DOWN_DIR/today; then
echo "OK"
else
echo "Failed! Symlink auf $TODAY_DIR wird angelegt"
ln -s $DOWN_DIR/$TODAY_DIR $DOWN_DIR/today
fi

#
#Überprüfen ob der today Symlink auf das heutige Verzeichnis zeigt.
#
if test $DOWN_DIR/$TODAY_DIR -nt $DOWN_DIR/today; then
rm -r $DOWN_DIR/today
ln -s $DOWN_DIR/$TODAY_DIR $DOWN_DIR/today
else
echo "Alles OK!"
fi

Das Script erstellt beim ersten Aufruf ein Verzeichnis mit dem aktuellem Datum im Ordner $HOME/download, danach wird ein Symlink namens today auf dieses Verzeichnis gesetzt. Wird das Script am nächsten Tag aufgerufen, wird ein Verzeichnis mit dem Datum vom nächsten Tag erstellt, der Symlink entfernt und auf das aktuelle Verzeichnis gesetzt.  Nun kann man z.B. im Firefox die Option "Alle Dateien in folgendem Ordner abspeichern…" auf den Link today setzen und die heruntergeladenen Dateien landen immer in dem Ordner mit dem Datum des entsprechenden Tages.

Ich werde nach und nach Erweiterungen hinzufügen, da man in der jetzigen Version noch keine wirkliche Ordnung erhält.

Canon CanoScan LiDE 25 & (K)Ubuntu

Heute ist er angekommen, mein CanoScan LiDE 25 und was soll sich sagen, angeschlossen, Kooka geöffnet, Scanner gefunden.
Kein böses Wort über Linux! ;)