Strona 1 z 2

[+] fail2ban - tuning powiadomień

: 19 lutego 2015, 15:41
autor: LordRuthwen
Witam.
Od dłuższego czasu głowię się jak to zrobić, żeby było dobrze. Chodzi mi o adres nadawcy i adres zwrotny wysyłanych powiadomień o blokadzie.
Co bym nie robił, zawsze jest wysyłany z adresu root@mojadomena.com, ja bym natomiast chciał, żeby szła z adresu no-reply@mojainnadomena.com.
Czego próbowałem:
1. jail.conf:

Kod: Zaznacz cały

[postfix]

enabled  = true
port     = smtp,ssmtp
filter   = postfix
bantime  = 3600
banaction = iptables-allports[name=postfix, protocol=all]
            complain[logpath=/var/log/mail.log, sender=no-reply@mojainnadomena.com]
logpath  = /var/log/mail.log
Wysyła dalej z roota.
2. complain.conf:

Kod: Zaznacz cały

# Option:  mailargs
# Notes.:  Additional arguments to mail command. e.g. for standard Unix mail:
#          CC reports to another address:
#              -c me@example.com
#          Appear to come from a different address - the '--' indicates
#          arguments to be passed to Sendmail:
#              -- -f me@example.com
# Values:  [ STRING ]  Default: (empty)
#
mailargs = -- -f no-reply@mojainnadomena.com
Efekt był taki, że serwer próbował wysłać maila na adresy: --@mojadomena.com, -f@mojadomena.com oraz [email]no-reply@mojainnadomena.com@mojadomena.com[/email].
I w sumie to nie bardzo wiem o co mu chodzi, wersja f2b: 0.8.6-3wheezy3

: 04 marca 2015, 11:05
autor: sethiel
Zaintrygowało mnie to więc zacząłem porównywać ze swoją konfiguracją. Ja dostaję emaile z fail2ban@mojadomena.pl
Ale co dziwne przeszukałem cały /etc aby znalazł fail2ban@mojadomena.pl - i czegoś takiego nie mam. Co więcej nie mam też w bazie emaili oraz bazie aliasów takiego emaila.

Kod: Zaznacz cały

cat /var/log/mail.log | grep fail2ban
Pusty wynik. Czarna magia.
Ale do rzeczy.
mailargs = (tutaj mam pusto)
banaction = iptables-multiport (i tyle, więcej nic, linijki o complain też nie mam).
Tyle różnic.

Kod: Zaznacz cały

[postfix]
enabled  = true
port     = smtp,ssmtp
filter   = postfix
logpath  = /var/log/mail.log
maxretry  = 8

[sasl_domena]
enabled  = true
port     = 25,smtp,ssmtp,imap2,imap3,imaps,pop3,pop3s,587,785,80,443
#port    = smtp,ssmtp,imap2,imap3,imaps,pop3,pop3s
filter   = sasl_domena
logpath  = /var/log/warn.log
maxretry = 2
bantime   = 100000

sasl_domena

Kod: Zaznacz cały

[Definition]

failregex = (?i): warning: unknown\[<HOST>\]: SASL LOGIN authentication failed: authentication failure

ignoreregex = 62.77.114.11


: 06 marca 2015, 14:14
autor: LordRuthwen
sethiel, z jakiego użytkownika masz uruchomionego fail2bana?

: 06 marca 2015, 14:31
autor: mariaczi
"--" oznacza, że to koniec argumentów.
Może zatem powinno to wyglądać tak:

Kod: Zaznacz cały

mailargs = -f no-reply@mojainnadomena.com --
Edit:
Powyższe, chyba jednak to nie to.
Ważne natomiast będzie: "the '--' indicates arguments to be passed to Sendmail:" a domyślnie mailcmd jest ustawione na "mail -s".
Może zmiana mailcmd da zamierzany efekt.

: 09 marca 2015, 09:58
autor: sethiel

Kod: Zaznacz cały

root@poczta:~# ps auxf | grep fail
root     11804  0.0  0.1 251080  5888 ?        Sl   Feb26  15:23 /usr/bin/python /usr/bin/fail2ban-server -b -s /var/run/fail2ban/fail2ban.sock

: 09 marca 2015, 10:48
autor: LordRuthwen
No to mój genialny pomysł właśnie okazał się nie taki genialny... :P

: 09 marca 2015, 20:00
autor: pawkrol
Zerknij do: /etc/fail2ban/action.d/sendmail-whois.conf
Ja wtedy dostaje z maila no-reply@domena.com

Kod: Zaznacz cały

actionban = printf %%b "Subject: [Fail2Ban] <name>: ZABLOKOWANO ADRES <ip>
#            Date: `date -u +"%%a, %%d %%h %%Y %%T +0000"`
              Date: `date --rfc-2822 -u`
            From: Fail2Ban <<sender>>
            To: <dest>\n
            Hi,\n
            Adres IP <ip> został zablokowany przez program Fail2Ban po
            <failures> próbach połączenia sie do usługi <name>.\n\n
            Więcej informacji o adresie źródłowym <ip>:\n
            `/usr/bin/whois <ip>`\n
            Z Poważaniem,\n
            ADMINISTRATOR" | /usr/sbin/sendmail -f <sender> <dest>


[Init]

# Defaut name of the chain
#
name = default

# Destination/Addressee of the mail
#
dest = root

# Sender of the mail
#
#sender = fail2ban
[B]sender = no-reply@domena.com
[/B]


Takie coś też mi działa:

Kod: Zaznacz cały

[apache64]
enabled  = true
port     = http,https
filter   = apache-auth
logpath  = /var/log/apache*/*error.log
maxretry = 3
action   = iptables46-multiport[name=apache-auth , port=80,443, protocol=tcp]
           sendmail-whois[name=apache-auth, dest=user@gmail.com, sender=no-reply@domena.com]

Drugi kod nadpisuje ten pierwszy

: 09 marca 2015, 21:54
autor: LordRuthwen
Próbowałem i jednego i drugiego, bez efektu.
Żeby nie było - mam standardowego f2b instalowanego z repo wheezy, bez udziwnień.

: 10 marca 2015, 07:50
autor: mariaczi
"sender" jest zdefiniowany w:

Kod: Zaznacz cały

# grep -s "sender =" /etc/fail2ban/action.d/*
/etc/fail2ban/action.d/sendmail-buffered.conf:sender = fail2ban
/etc/fail2ban/action.d/sendmail.conf:sender = fail2ban
/etc/fail2ban/action.d/sendmail-whois.conf:sender = fail2ban
/etc/fail2ban/action.d/sendmail-whois-lines.conf:sender = fail2ban
Któryś musi zaskoczyć ;] Możliwe, że konieczny jest restart fail2ban po rekonfiguracji.

: 10 marca 2015, 08:56
autor: LordRuthwen

Kod: Zaznacz cały

/etc/fail2ban/action.d/sendmail-buffered.conf:sender = fail2ban
/etc/fail2ban/action.d/sendmail-common.conf.dpkg-new:sender = fail2ban
/etc/fail2ban/action.d/sendmail.conf:sender = fail2ban
/etc/fail2ban/action.d/sendmail-whois.conf:sender = fail2ban
/etc/fail2ban/action.d/sendmail-whois-lines.conf:sender = fail2ban
Tych plików nie zmieniałem, a wysyła mi z roota.