• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

vsf full_audit protokolliert keine fehlerhaften Anmeldungen

asl8night

Newbie
Hallo zusammen,

ich habe einen Samba-Server auf OpenSuse 12.3 laufen, würde nun noch gerne einen fail2ban-Mechanismus einrichten. Dazu schreibe ich per full_audit alle relevanten Daten nach /var/log/messages. Die Konfiguration in der [global] sieht folgendermaßen aus:

Code:
 # audit settings
 vfs objects = full_audit
 full_audit:prefix = %u %I %S
 full_audit:failure = all
 full_audit:success = connect disconnect [much stuff deleted...]
 full_audit:facility = local7
 full_audit:priority = NOTICE

Ich würde erwarten, dass fehlerhafte Anmeldungen am Samba-Server protokolliert werden. Dem ist nicht so. Das Protokoll zeigt keine "failure"-Einträge. Erfolgreiche Aktionen hingegen werden gelogged.

Im Samba-eigenen Protokoll (/var/log/samba/log.smbd) stehen die fehlerhaften Anmeldungen.

Code:
[2013/07/09 13:02:08.894915,  2] auth/auth.c:319(check_ntlm_password)
  check_ntlm_password:  Authentication for user [nobody] -> [nobody] FAILED with error NT_STATUS_NO_SUCH_USER

Was habe ich falsch gemacht, wo liegt mein Denkfehler.

Bin für jeden Hinweis dankbar!

VG Andreas
 
OP
A

asl8night

Newbie
Der Vollständigkeit halber hier die gesamte smb.conf:

Code:
[global]
        server string = %h
        workgroup = WORKGROUP

        passdb backend = tdbsam
        security = user
        encrypt passwords = true
        invalid users = root

        time server = yes
        unix extensions = yes

        wins support = yes
        name resolve order = host wins bcast

        # recyle bin
        vfs objects = recycle
        recycle:repository = .recyclebin
        recycle:keeptree = yes
        recycle:touch = yes
        recycle:versions = yes
        recycle:maxsize = 0
        usershare allow guests = No

        # audit settings
        vfs objects = full_audit
        full_audit:prefix = %u %I %S
        full_audit:failure = all
        full_audit:success = connect disconnect [much stuff deleted...]
        full_audit:facility = local7
        full_audit:priority = NOTICE

        log level = 2

[homes]
        comment = Home Directories
        valid users = %S, %D%w%S
        browseable = No
        read only = No
        inherit acls = Yes
 

spoensche

Moderator
Teammitglied
Du weisst schon, was fail2ban ist oder was es macht oder?

Dein gewähltes Loglevel (NOTICE) ist für Fehlermeldungen falsch gewählt. Fehlerhafte Anmeldeversuche sind ein WARNING, ALERT und keine "unwichtige" Info bzw Notizmeldung.

Wie sieht den deine fail2ban Konfiguration bezüglich Samba aus?
 
OP
A

asl8night

Newbie
Hi, erstmal vielen Dank für deine Antwort.

Fail2ban kenne ich, bisher habe ich aber so eine Art fail2ban-Eigenbau im Einsatz. Dieses Shellscript prüft per cron meine Logs und füllt die hosts.deny. Funktioniert super und läuft extrem stabil.

Dein gewähltes Loglevel (NOTICE) ist für Fehlermeldungen falsch gewählt. Fehlerhafte Anmeldeversuche sind ein WARNING, ALERT und keine "unwichtige" Info bzw Notizmeldung.

Heisst das, das ich diesen Parameter

Code:
full_audit:priority = NOTICE

auf ALERT setzen soll? Das habe ich schon einmal getestet, ohne jeden Erfolg. Die Anmeldeversuche werden trotzdem nicht protokolliert. Und dann würde mir auch fail2ban nicht helfen.

Zur Sicherheit habe ich das normale log level mal erhöht - auch das hat keine Änderung hervorgerufen.

Code:
log level = 10

Habt ihr noch eine Idee?

Vielen Dank im Voraus!

Andreas
 

spoensche

Moderator
Teammitglied
asl8night schrieb:
Code:
full_audit:priority = NOTICE

auf ALERT setzen soll? Das habe ich schon einmal getestet, ohne jeden Erfolg. Die Anmeldeversuche werden trotzdem nicht protokolliert. Und dann würde mir auch fail2ban nicht helfen.

Setze es auf Alert. Fail2ban würde dir trotzdem nutzen, weil Fail2ban anhand der geloggten fehlerhaften Anmeldungen die Verbindung von der Client IP für einen bestimmten Zeitraum untersagt.

Wie sehen denn deine Fail2ban Rules für Samba aus?
 
OP
A

asl8night

Newbie
Code:
# tail /etc/samba/smb.conf -n 50

...
# audit settings
vfs objects = full_audit
full_audit:prefix = %u %I %S
full_audit:failure = all
full_audit:success = connect disconnect opendir mkdir rmdir closedir open close read pread write pwrite sendfile rename unlink chmod fchmod chown fchown chdir ftruncate lock symlink readlink link mknod realpath
full_audit:facility = local7
full_audit:priority = ALERT
...

Die Änderung habe ich gemacht und den smb-daemon sowie den nmb-daemon neu gestartet -> in den Logs (var/log/messages) steht nichts.
Und bevor die Anmeldeversuche nicht im Log stehen, brauche ich fail2ban nicht einzurichten. Folglich habe ich auch noch keine Rules.

Die primäre Frage ist für also nach wie vor, "warum sehe ich im /var/log/messages nur die erfolgreichen (full_audit:success) Aktionen?".

Ich hoffe, ihr habt noch eine Idee. Danke und vG,

Andreas
 

spoensche

Moderator
Teammitglied
Samba Meldungen stehen auch im Log /var/log/samba/smbd.log und alle Meldungen ab Prio warn stehen in /var/log/warn
 
OP
A

asl8night

Newbie
Samba Meldungen stehen auch im Log /var/log/samba/smbd.log

Das stimmt, aber über mehrere Zeilen verteilt. Daher ist es kaum möglich, die IP eines fehlerhaften logins zu ermitteln, um diesen dann per iptables zu sperren. Daher mein Versuch, über full_audit in einer Zeile die IP des Users und die Aktion zu protokollieren. Aber das scheint nicht möglich zu sein...
 

spoensche

Moderator
Teammitglied
asl8night schrieb:
Das stimmt, aber über mehrere Zeilen verteilt. Daher ist es kaum möglich, die IP eines fehlerhaften logins zu ermitteln, um diesen dann per iptables zu sperren. Daher mein Versuch, über full_audit in einer Zeile die IP des Users und die Aktion zu protokollieren. Aber das scheint nicht möglich zu sein...

In einer Zeile. Wenn es umbricht, ist es trotzdem eine Zeile, nur die Konsole ist zu schmal. Mit regulären Ausdrücken ist auch das ermitteln der IP über mehrere Zeilen auch kein Problem.
 
Oben