Список форумов Postfix: ???????????? postfix, ??????, ????? ??????, ????? Postfix: ???????????? postfix, ??????, ????? ??????, ?????
????????????? ?????? ?????? ?????? ????????????? postfix 

 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

POSTFIX.RU: Файлы конфигурации | Документация | Download | Ссылки | Контакты
Объявления: Новости сайта:
22.03.07 состоялся переезд сайта к новому хостинг-провайдеру.
Подробности здесь >>>
 


?????????? ???????? ? black list IP ? ????????? ?? ? IPFW.

 
Начать новую тему   Ответить на тему       Список форумов Postfix: ???????????? postfix, ??????, ????? ??????, ????? -> ??????? ??????
Предыдущая тема :: Следующая тема  
Автор Сообщение
lexxai
???? ???? ?????...
???? ???? ?????...


Зарегистрирован: 27.03.2008
Сообщения: 29
Откуда: Khakiv

СообщениеДобавлено: Пт Июл 10, 2009 9:32 pm    Заголовок сообщения: ?????????? ???????? ? black list IP ? ????????? ?? ? IPFW. Ответить с цитатой

????:
FreeBSD, Postfix
Swatch - log analyze.
MySQL - database
IPFW - firewall

???? ?????? ??? ?????? ? ???? ????????? ????????? ?????? ?? ???????:
Код:
Jul 10 15:43:52 mail postfix/smtpd[89997]: warning: Connection rate limit exceeded: 10 from unknown[62.213.112.69] for service smtp
Jul 10 15:43:52 mail postfix/smtpd[89997]: disconnect from unknown[62.213.112.69]


?? ??????? ??? ?? ????????? IP block list , IPWF ??????? ?99, ? ??????? ?? ???? ??????? ???? ?? ???????.

??????????:

??????????? ?? ????? 4 ??????????? ? 2 ??????, ?? ?????? ????????? ??????.
postfix, main.cf:
Код:

anvil_rate_time_unit = 240s
smtpd_client_connection_rate_limit = 4
smtpd_client_connection_limit_exceptions = 127.0.0.1 172.16.1.0/24
smtpd_client_event_limit_exceptions = 127.0.0.1 172.16.1.0/24



??????? ???, ???? ?????????? 10 ??? ????? ???????????, ????????? IP ?? 12 ?????.
.swatch-postfix-lim:
Код:
watchfor /warning: Connection rate limit exceeded: 10/i
 echo
 exec /usr/local/etc/manage_scripts/ipfw-blockip-0.sh 12 '$_'


???? ?????? swatch
rc.conf
Код:
swatch_enable="YES"
swatch_rules="7"
swatch_7_flags="--tail-file=/var/log/maillog --config-file=/usr/local/etc/swatch/.swatch-postfix-lim --daemon --pid-file=/var/run/swatch_7.pid --restart-time=00:00"
swatch_7_pidfile="/var/run/swatch_7.pid"


??????? ????????:
ipfw.rules:
Код:
deny log logamount 5 ip from table(99) to any


?????????? ? ???? ??????, ? ? ??????? ?????????. ???????? IP 111.11.11.111 (????, ? ?? ??? ??????????? ????? ????? ???????? ?? ??????? ?????? Smile) ? ????????????? ?? ?????, ??????? ?????? ??????.
ipfw-blockip-0.sh:
Код:
#!/bin/sh
# Block postfix spammers by ip, $1 - hours block duration,  $2 - log line
# ipfw table 99 - list of ips. ipfw deny from table(99) any
# Oleksiy Petrov, 2009, http://lexxai.pp.ua

ip=`echo $2 | /usr/bin/sed -n 's#.*\[\([0-9.]*\)\].*#\1#p'`
ips=`echo $ip | /usr/bin/grep -v '^111\.11\.11\.111$'`
        if [ -n "$ips" ]
            then
            /sbin/ipfw table 99 add $ips $1
            /sbin/ipfw table 99 list > /var/tmp/~blockip
            /usr/bin/tail -n 50 /var/log/maillog | /usr/bin/grep -e "RCPT from.*\[$ips\]"  >> /var/tmp/~blockip
            cat /var/tmp/~blockip | mail -s "ipfw block [$ips] `host $ips`" root
            rm /var/tmp/~blockip
        export HHH=$HOME
        export HOME=/root
        echo "replace into blackip VALUES('$ips',DATE_ADD(NOW(), INTERVAL $1 HOUR));" | /usr/local/bin/mysql --defaults-file=~/.my.cnf  mailusers
        export HOME=$HHH
            fi


mysql: table mailusers.blackip
Код:
CREATE TABLE IF NOT EXISTS `blackip` (
  `ip` char(15) CHARACTER SET ascii NOT NULL,
  `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`ip`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


~/.my.cnf :
Код:
[client]
user = mailusers
password = fdfjuu3***def


??????? ?????????? IP ??? ? ???.
ipfw-blockip-release.sh:
Код:
#!/bin/sh
# Block postfix spammers by ip, $1 - hours block duration,  $2 - log line
# ipfw table 99 - list of ips. ipfw deny from table(99) any
# Oleksiy Petrov, 2009 http://lexxai.pp.ua
        export HHH=$HOME
        export HOME=/root
        echo "SELECT ip FROM blackip WHERE time < now( ) " | /usr/local/bin/mysql  --defaults-file=~/.my.cnf --skip-column-name  mailusers |  while read str; do \
            /sbin/ipfw table 99 delete "$str" | echo "DELETE FROM blackip WHERE (ip='$str');" | /usr/local/bin/mysql --defaults-file=~/.my.cnf mailuser
        done
        export HOME=$HHH



crontab:
Код:
@hourly                                 root    /usr/local/etc/manage_scripts/ipfw-blockip-release.sh


??? ?????? ???????, ??????? ???????? ??????, ???????? ?? ?? ???? ??????.
ipfw-blockip-init.sh:
Код:
#!/bin/sh
# Block postfix spammers by ip, $1 - hours block duration,  $2 - log line
# ipfw table 99 - list of ips. ipfw deny from table(99) any
# Oleksiy Petrov, 2009 http://lexxai.pp.ua
        export HHH=$HOME
        export HOME=/root
        echo "SELECT ip FROM blackip WHERE time > now( ) " | /usr/local/bin/mysql  --defaults-file=~/.my.cnf --skip-column-name  mailusers |  while read str; do \
            /sbin/ipfw table 99 flush
            /sbin/ipfw table 99 add "$str" 999
        done
        export HOME=$HHH



??? ???????? ???????, ???? ????????? ??????????? ?


Последний раз редактировалось: lexxai (Ср Фев 13, 2013 12:26 am), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
den68
???????
???????


Зарегистрирован: 22.08.2009
Сообщения: 9

СообщениеДобавлено: Сб Авг 22, 2009 1:36 pm    Заголовок сообщения: Ответить с цитатой

???? ??? ??????:

main.cf
Код:

anvil_rate_time_unit = 240s
smtpd_client_connection_rate_limit = 4
smtpd_client_connection_limit_exceptions = /etc/mail/postfix/networks_relay.txt
smtpd_client_event_limit_exceptions = /etc/mail/postfix/networks_relay.txt


crontab:
Код:

*/5 * * * * /etc/mail/postfix/scripts/fwall_connect.pl >/dev/null 2>&1
0 */4 * * * /etc/cron.daily/logrotate >/dev/null 2>&1

?????? 5 ????? ??????? ?????????? ????? ?????????, ????????? ????. ?? 4 ????.

/etc/rc.d/rc.local:
Код:

/sbin/iptables -t filter -N MAILDROP
/sbin/iptables -A INPUT -p tcp --dport 25 -j MAILDROP


/etc/logrotate.d/syslog:
Код:

/var/log/maillog {
    notifempty
    missingok
    size 1000k
    olddir /var/log/OLD
    sharedscripts
    postrotate
        /sbin/iptables -F MAILDROP
        /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
        /bin/rm -f /var/log/OLD/maillog.1
    endscript
}


/etc/mail/postfix/scripts/fwall_connect.pl:
Код:

#!/usr/bin/perl -w

my @flog = `/bin/grep "Connection rate limit exceeded:" /var/log/maillog`;

foreach $flog (@flog)
{
    my  @tmps = split(/\[/,$flog);
        @tmps = split(/\]/,$tmps[2]);


    if ( `/sbin/iptables -L MAILDROP -n | /bin/grep $tmps[0]` =~ /$tmps[0]/ )
    { ; }
        else
    {
        # print "Add: ".$tmps[0]."\n";
        system('/sbin/iptables -t filter -A MAILDROP -s '.$tmps[0].' -j DROP');
    }

    unlink @tmps;
}


exit 0;
1;
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
ALex_hha
Moderator
Moderator


Зарегистрирован: 09.11.2006
Сообщения: 2347
Откуда: ???????. ???????.

СообщениеДобавлено: Пт Авг 28, 2009 7:09 pm    Заголовок сообщения: Ответить с цитатой

Цитата:
/etc/rc.d/rc.local

??? ????? ???? /etc/sysconfig/iptables
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
den68
???????
???????


Зарегистрирован: 22.08.2009
Сообщения: 9

СообщениеДобавлено: Вс Авг 30, 2009 6:55 pm    Заголовок сообщения: Ответить с цитатой

ALex_hha писал(а):
Цитата:
/etc/rc.d/rc.local

??? ????? ???? /etc/sysconfig/iptables


??? ???? ??? ???????, ???????? ? ??? ?? ????????? ...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
beast1983
???????
???????


Зарегистрирован: 28.03.2011
Сообщения: 3

СообщениеДобавлено: Ср Фев 01, 2012 11:12 pm    Заголовок сообщения: ?????????? ?????????? Ответить с цитатой

???????? ?????????? ? ???? ? ??????? CentOS 6.0 ????????? ??? ?? ????? ???????? ???????? ? ????? /var/log/dovecot.log ????? ??? ??????? ??? ???? ?? ???? ??? ?????????????

-----
Nov 27 18:13:20 pop3-login: Info: Disconnected (auth failed, 1 attempts): user=<admin>, method=PLAIN, rip=58.248.217.109, lip=192.168.100.102, mpid=0, secured
Nov 27 18:13:29 pop3-login: Info: Disconnected (auth failed, 1 attempts): user=<abuse>, method=PLAIN, rip=58.248.217.109, lip=192.168.100.102, mpid=0, secured
-----
Jan 21 08:11:32 pop3-login: Info: Disconnected (auth failed, 1 attempts): user=<backup>, method=PLAIN, rip=218.26.119.61, lip=192.168.100.102, mpid=0, secured
Jan 21 08:11:52 pop3-login: Info: Disconnected (auth failed, 1 attempts): user=<random>, method=PLAIN, rip=221.204.246.73, lip=192.168.100.102, mpid=0, secured
------
Jan 30 10:02:32 pop3-login: Info: Aborted login (auth failed, 1 attempts): user=<oracle8>, method=PLAIN, rip=110.142.106.185, lip=192.168.100.102, mpid=0, secured
Jan 30 10:02:32 pop3-login: Info: Aborted login (auth failed, 1 attempts): user=<oracle>, method=PLAIN, rip=110.142.106.185, lip=192.168.100.102, mpid=0, secured
-----

??????? ?????? ????? ???????? Smile ? ??? ?? ??? ???? ???????? ??????? ??? ??????. 192.168.100.102 ??? ??????????? ?????? ?? ??? ??? ?? ???????? ???????? ????? WiFi ????? ????? ???? ?? WiFi ?? ?????? ?????? Smile)
??? ????? ????????????? ?? IP ?????? ?? ???? ??????
? ?? ?????????? IP ?????? ????????? ?????? !
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
lexxai
???? ???? ?????...
???? ???? ?????...


Зарегистрирован: 27.03.2008
Сообщения: 29
Откуда: Khakiv

СообщениеДобавлено: Пт Фев 03, 2012 2:24 pm    Заголовок сообщения: Ответить с цитатой

По аналогу с примером в начале темы Монторим "dovecot.log"

rc.conf :
Код:
swatch_1_flags="--tail-file=/var/log/dovecot.log --config-file=/usr/local/etc/swatch/.swatch-dovecot-lim --daemon --pid-file=/var/run/swatch_1.pid --restart-time=00:00"
swatch_1_pidfile="/var/run/swatch_1.pid"


На предмет "auth failed", как только появиться вызвать скрипт блокировки IP, у Вас это iptables доработать напильником и ответов в этой теме

/usr/local/etc/swatch/.swatch-dovecot-lim:
Код:
watchfor /warning: auth failed/i
 echo
 exec /usr/local/etc/manage_scripts/ipfw-blockip-0.sh 5 '$_'
[/code]
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
beast1983
???????
???????


Зарегистрирован: 28.03.2011
Сообщения: 3

СообщениеДобавлено: Вт Фев 07, 2012 9:31 pm    Заголовок сообщения: ??????? ?????? :( Ответить с цитатой

???????? ?? ?? ??? ?? ???? ??????????! ? ??? ????? ????? ??? ???? ???? ? ???????! ??? ??? ?????? ?? ????! ?????? ??????

?? ???? ?????
/usr/local/etc/swatch/.swatch-dovecot-lim
?????? ??? ?????? ????? .swatch-dovecot-lim
???? ? ???? /usr/bin/swatch

? ?? ??????? ?????? ipfw ??? ??????? ?????? ?????!!!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
beast1983
???????
???????


Зарегистрирован: 28.03.2011
Сообщения: 3

СообщениеДобавлено: Пт Фев 24, 2012 11:16 am    Заголовок сообщения: ?????? ??? CentOS 6 Ответить с цитатой

??? ?????? ??? CentOS 6 ??? ?? ??? ?????????? Smile

????? ???????? ? ?????? ?????? ?? ??? ?????
1) ??????????? ?????????? ??????????? epel
http://metalcandy.ru/faq/centos-5-faq/252-how-enable-epel-on-centos

2) ?????????? swatch
yum install swatch

3)???????? ??? ?????? ? ???????? /etc/postfix/ ???? ?? ??????? ????? IP ???????
???? ipfw-blockip-whitelist.txt
Цитата:
127.0.0.1
192.168.100.101
192.168.98.*
172.16.1.*
.mail.ru

3) ? ???????? /etc/postfix/ ??????? ??????? scripts
mkdir /etc/postfix/scripts

4) ? ???????? scripts ???????? ???? ????? ??? ??????

???? swatch-dovecot-lim
Цитата:
watchfor /(auth failed)/i
threshold track_by=key, type=limit,count=seconds=900
exec /etc/postfix/scripts/ipfw-blockip-0.sh 48 '$_'

???? ipfw-blockip-0.sh
ip=`echo $2 |awk '{split($0,array,"=");split(array[4],ar,",");print ar[1]}'`

if [ -n "`echo $ipn | /bin/grep -ix -f /etc/postfix/ipfw-blockip-whitelist.txt`""`echo $ip | /bin/grep -ix -f /etc/postfix/ipfw-blockip-whitelist.txt`" ]
then
echo "whitelist $ipn [$ip]" | mail -s "ipfw WHITELIST block auth ignored [$ip] `host $ip`" postmaster
exit
fi

echo "$ip" >> /var/log/myown.log
/sbin/iptables -A INPUT -s "$ip" -j DROP


???? fwall_connect.pl
Цитата:
#!/usr/bin/perl -w

my @flog = `/bin/grep "Connection rate limit exceeded:" /var/log/dovecot.log `;

foreach $flog (@flog)
{
my @tmps = split(/\[/,$flog);
@tmps = split(/\]/,$tmps[2]);

if ( `/sbin/iptables -L MAILDROP -n | /bin/grep $ip` =~ /$tmps[0]/ )
{ ; }
else
{
# print "Add: ".$tmps[0]."\n";
system('/sbin/iptables -t filter -A MAILDROP -s '.$tmps[0].' -j DROP');
}

unlink @tmps;
}

exit 0;
1;


???? clearlist.pl
Цитата:
cat /var/log/myown.log | while read str; do \
IP=`echo $str | awk '{print $1}'`; \
iptables -D INPUT -s "$IP" -j DROP
done
rm /var/log/myown.log
touch /var/log/myown.log
echo >/var/log/dovecot.log


?? ???? ????? ?????? Smile ???????? ?????? ??? ???????? ? ???????? Smile

5) ? ???????? /etc/init.d/
???????? ???? swatch ??? ??? ??????? ?????

(?????? ???? ????? ????????)
Цитата:
/usr/bin/swatch -tail-file=/var/log/dovecot.log
--config-file=/etc/postfix/scripts/swatch-dovecot-lim
--daemon --pid-file=file=/var/run/swatch.pid --restart-time=00:00"


???????? ?? ????? ?? ??????????????? ?????? ??? ????? ????? ?????? ? ???????? ?????? ??????? swatch ? ???? ?????? ??? ? ???????? root ??? ?????? ????? ?? ??? ????????? ???? ????? ??? perl ?????? ???????????? ?????? ?????
yum -y install perl-Time-HiRes
yum -y install perl-Date-Manip


6) ?????? ???????? ???? myown.log ? ???????? /var/log/
touch /var/log/myown.log

7) ???? ? ????? ????? iptables ????????? 110 ???? ???????? ??????? ? ???? /etc/sysconfig/iptables ?????????????? ???????
Цитата:
#-A INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT

??????? ???? ? ??????? /etc/rc.d/ ? ??????????????? ???? rc.local
Цитата:
/sbin/iptables -t filter -N MAILDROP
/sbin/iptables -A INPUT -p tcp --dport 110 -j MAILDROP


8 ) ???? ?? ????? (??? ???) Smile ?? ??????? ??? ??????? ? iptables
iptables -F
servicer iptables restart


????????????? ????? 110 ???? ????????? ?????? ?? ??? ?????? ????????? Smile

9) ??????????? crontab
crontab - e
???????? INSERT
Цитата:
59 23 * * * /etc/postfix/scripts/clearlist.pl
*/5 * * * * /etc/postfix/scripts/fwall_connect.pl >/dev/null 2>&1
0 */4 * * * /etc/cron.daily/logrotate >/dev/null 2>&1


???????? ESC ????? shift + ? ?????? ????????? Smile ??????? x ? ????? Smile ??? ??????????? Smile ?????? ????????? crontab -l

10) ????????? Smile
service swatch

??????? ????? ???? ???? ??? ? ??? ??? ???????? Smile)

?????? ???? ?? ????? Smile
???????? ??????? ?? ?????? lexxai
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Scorp
???????
???????


Зарегистрирован: 28.08.2012
Сообщения: 1

СообщениеДобавлено: Вт Авг 28, 2012 1:37 am    Заголовок сообщения: Fail2ban Ответить с цитатой

????? ?????????? ?????????? ???? ???????? ????? fail2ban, ??????? ????? ????????? ????????? IPTABLES ? ?? ??????...
??? ?????? ????? ?????? ????? ?? ?????? ??????? ????????? ???????,
?? ? ??????? ?????? ?????????? ?????, ??????? ???????? ??????????? ???? ????.

????????????? ? debian-????????:
apt-get install fail2ban

??????????? ???????? ???? ????????
nano /etc/fail2ban/jail.conf

???? ?????? [DEFAULT]
????? ???????????? ????? ?????????, ???? ?? ?????????? ? ????????? ??????.
? ???? ???:
Код:
[DEFAULT]
ignoreip = 127.0.0.1
bantime  = 1800
maxretry = 2


????? ?????????? ????
?? ????????? ??????? ?????? SSH

Код:
[ssh]
enabled = true
port    = ssh
filter  = sshd
logpath  = /var/log/auth.log
maxretry = 2
bantime  = 600

enabled = true -?????? ???????
port = ssh -????? ??????? ???????? ????????, ???? ????? ?? ?? ??????????? ?????
filter = sshd -???????? ??????? (??? .conf), ??????? ????????????? ????? ? /etc/fail2ban/filter.d
logpath = /var/log/auth.log -???? ? ????? ?????, ? ??????? ?????????? ???????
maxretry = 2 -???-?? ???????? ???????, ??? ??????? ????????? ??????
bantime = 600 -????? ? ???. ?? ??????? ?????? ?????? ??????? ????

?????? ????????????? ? Postfix

???? ? ??????? ?????? [postfix]
Код:
[postfix]
enabled  = true
port     = smtp,ssmtp
filter   = postfix
logpath  = /var/log/mail.log
maxretry = 1
bantime  = 1800

??????????? ? ???? /etc/fail2ban/filter.d/postfix.conf
??? ?????????? ??????:
failregex = reject: RCPT from (.*)\[<HOST>\]: 450 4.7.1

???? ?????? ??????????, ???? ? ???? /var/log/mail.log ???????? ?????? ????:

Код:
Aug 28 01:04:05 Solaris postfix/smtpd[9688]: NOQUEUE: reject: RCPT from unknown[193.169.188.253]: 450 4.7.1 Client host rejected: cannot find your hostname, [193.169.188.253]; from=<mixmir@isp.mixmir.net> to=<xxxx@xxxxxx> proto=ESMTP helo=<isp.mixmir.net>


?? ?????? ????? ??????? ???? ???????:
? ??????? /etc/fail2ban/jail.conf
????????? ??????, ????????:

Код:
[postfix2]
enabled  = true
port     = smtp,ssmtp
filter   = postfix2
logpath  = /var/log/mail.log
maxretry = 1
bantime  = 1800


??????? ???? ??????? ??? ?????? ?????? ?? ?????? ?????? ??????? ??????? ??? postfix
/etc/fail2ban/filter.d/postfix2.conf

Код:
# Fail2Ban configuration file
#
# Author: Cyril Jaquier
#
# $Revision: 728 $
#

[Definition]

# Option:  failregex
# Notes.:  regex to match the password failures messages in the logfile. The
#          host must be matched by a group named "host". The tag "<HOST>" can
#          be used for standard IP/hostname matching and is only an alias for
#          (?:::f{4,6}:)?(?P<host>[\w\-.^_]+)
# Values:  TEXT
#
failregex = too many errors after RCPT from (.*)\[<HOST>\]

# Option:  ignoreregex
# Notes.:  regex to ignore. If this regex matches, the line is ignored.
# Values:  TEXT
#
ignoreregex =


?????? ?????? ?????????? ???? ? ???? ???????? ?????? ????:
Код:
Aug 28 01:20:38 Solaris postfix/smtpd[9800]: too many errors after RCPT from mail.wbbottle.com[69.129.251.158]


????? ?????? ?????? ???????????? ??????????? ????????????? fail2ban
service fail2ban restart

??????? ????
tail -f /var/log/fail2ban.log
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему       Список форумов Postfix: ???????????? postfix, ??????, ????? ??????, ????? -> ??????? ?????? Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах

POSTFIX.RU: Файлы конфигурации | Документация | Download | Ссылки | Контакты












© Copyright 2005-2007, ITprofy.org
Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB