EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты
Модератор: xM
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
kross
- рядовой
- Сообщения: 25
- Зарегистрирован: 2008-04-08 8:47:02
Непрочитанное сообщение
kross » 2009-03-06 20:42:14
Здрасьте. Имеется сервер на FreeBSD 7.1+postfix+popper. Последнее время наблюдаю пытаются подобрать пароль к почтовым ящикам, либо просто найти рабочий ящик+пароль. Лог popper-a:
Код: Выделить всё
Mar 6 13:27:41 fire popper[89348]: (v2.53) Unable to get canonical name of clie
nt 78.110.162.7: Unknown host
Mar 6 13:27:51 fire popper[89348]: staff@[78.110.162.7]: -ERR Password supplied
for "staff" is incorrect.
Mar 6 13:27:51 fire popper[89349]: (v2.53) Unable to get canonical name of clie
nt 78.110.162.7: Unknown host
Mar 6 13:28:01 fire popper[89349]: sales@[78.110.162.7]: -ERR Password supplied
for "sales" is incorrect.
Mar 6 13:28:02 fire popper[89351]: (v2.53) Unable to get canonical name of clie
nt 78.110.162.7: Unknown host
Mar 6 13:28:12 fire popper[89351]: recruit@[78.110.162.7]: -ERR Password suppli
ed for "recruit" is incorrect.
Mar 6 13:28:12 fire popper[89352]: (v2.53) Unable to get canonical name of clie
nt 78.110.162.7: Unknown host
Mar 6 13:28:22 fire popper[89352]: alias@[78.110.162.7]: -ERR Password supplied
for "alias" is incorrect.
Mar 6 13:28:23 fire popper[89354]: (v2.53) Unable to get canonical name of clie
nt 78.110.162.7: Unknown host
есть какие-то варианты борьбы с такими редисками?? может какой-то скрипт, который будет парситm maillog на наличие подборов и блокировать, или может настройки postfix-a, чтоб больше, к примеру, 4 неудачных попыток с одного IP не допускал. Вобщем, направьте в нужную сторону.
kross
-
Хостинг HostFood.ru
-
Хостинг HostFood.ru
Тарифы на хостинг в России, от 12 рублей:
https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.:
https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах:
https://www.host-food.ru/domains/
-
Alex Keda
- стреляли...
- Сообщения: 35465
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2009-03-06 21:06:33
написать скрипт.
мысль - верная.
Убей их всех! Бог потом рассортирует...
Alex Keda
-
kross
- рядовой
- Сообщения: 25
- Зарегистрирован: 2008-04-08 8:47:02
Непрочитанное сообщение
kross » 2009-03-06 21:16:42
да скрипт было бы неплохо, НО я не шарю в языках програмирования.
Пытаюсь сделать так:
Код: Выделить всё
#! /bin/sh.
if [ x$1 = x ]; then
FILE=/var/log/popper.log
else
FILE=$1
fi
........
cat $FILE | grep "ERR Password supplie" > /tmp/popper.log
тогда выбирает всю строчку
А как сделать так чтоб выбирало именно IP адресс???
оооо, типа тако-го что-то
Код: Выделить всё
grep -o -E '\[[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+\]'
,
но тогда результат в кавычках и повторяется:
Код: Выделить всё
[92.80.181.167]
[92.80.181.167]
[92.80.181.167]
[92.80.181.167]
[92.80.181.167]
[92.80.181.167]
[92.80.181.167]
[92.80.181.167]
[92.80.181.167]
[92.80.181.167]
[92.80.181.167]
kross
-
paix
- лейтенант
- Сообщения: 863
- Зарегистрирован: 2007-09-24 12:41:05
- Откуда: dn.ua
-
Контактная информация:
Непрочитанное сообщение
paix » 2009-03-07 10:50:26
bruteblock
With best wishes, Sergej Kandyla
paix
-
kross
- рядовой
- Сообщения: 25
- Зарегистрирован: 2008-04-08 8:47:02
Непрочитанное сообщение
kross » 2009-03-07 14:23:56
bruteblock-установил, он заточен под proftpd и ssh. Попробую переделать под логи постфикса. Пасибо
kross
-
paix
- лейтенант
- Сообщения: 863
- Зарегистрирован: 2007-09-24 12:41:05
- Откуда: dn.ua
-
Контактная информация:
Непрочитанное сообщение
paix » 2009-03-07 15:31:42
kross писал(а):bruteblock-установил, он заточен под proftpd и ssh. Попробую переделать под логи постфикса. Пасибо
ну заточка там вся в регулярном выражени.....
With best wishes, Sergej Kandyla
paix
-
Cancer
- Гл. Кастратор
- Сообщения: 1269
- Зарегистрирован: 2008-03-25 12:21:36
- Откуда: г. Ростов-на-Дону
-
Контактная информация:
Непрочитанное сообщение
Cancer » 2009-04-26 2:24:22
Вот такое вот сделал!
Код: Выделить всё
#!/bin/sh
event="denied|deny|failed"
ip="([0-9])+\.([0-9])+\.([0-9])+\.([0-9])+"
trusted="127.0.0.1|192.168.1.|192.168.55."
maillog="/var/log/maillog"
event_log="/usr/home/otchets/event.log"
ip_log="/usr/home/otchets/ip.log"
ipsort_log="/usr/home/otchets/ipsort.log"
norepeatip_log="/usr/home/otchets/norepeatip.log"
banlist="/usr/home/otchets/banlist.log"
# 1.Парсим по событию
cat $maillog | egrep "$event" > $event_log
# 2.Выдераем только IP
cat $event_log | egrep -o "$ip" > $ip_log
# 3.Сортируем IP
sort $ip_log > $ipsort_log
# 4.Удаляем дублированные IP
uniq $ipsort_log > $norepeatip_log
# 5.Убераем из отчета IP локальных сетей итд итп
cat $norepeatip_log | egrep -v "$trusted" > $banlist
# 6.Отправляем отчет на мыло админа
mail -s ban_list cancer@domain.ru < $banlist
вывод такой
Ну естественно далее добавляем руками IP в бан лист фаерволла
, если есть у кого соображения как сделать что бы добавлять сразу в фаеволл то буду очень рад
да и еще заметил что pf если большая переменная ban_list по строкам, то pf будет ругаться на то что она большой слишком.
Последний раз редактировалось
Cancer 2009-04-27 9:33:02, всего редактировалось 2 раза.
Cancer
-
rnd
- мл. сержант
- Сообщения: 112
- Зарегистрирован: 2007-11-06 20:36:25
- Откуда: RonDon
Непрочитанное сообщение
rnd » 2009-04-26 12:18:42
а что за event.log и где его брать?
простите за нелепый вопрос
rnd
-
Cancer
- Гл. Кастратор
- Сообщения: 1269
- Зарегистрирован: 2008-03-25 12:21:36
- Откуда: г. Ростов-на-Дону
-
Контактная информация:
Непрочитанное сообщение
Cancer » 2009-04-26 15:43:16
rnd писал(а):а что за event.log и где его брать?
простите за нелепый вопрос
Код: Выделить всё
event="denied|deny|failed"
ip="([0-9])+\.([0-9])+\.([0-9])+\.([0-9])+"
trusted="127.0.0.1|192.168.1.|192.168.55."
# 1.Парсим по событию
cat /var/log/maillog | egrep "$event" > /usr/home/otchets/event.log
# 2.Выдераем только IP
cat /usr/home/otchets/event.log | egrep -o "$ip" > /usr/home/otchets/ip.log
# 3.Сортируем IP
sort /usr/home/otchets/ip.log > /usr/home/otchets/ipsort.log
# 4.Удаляем дублированные IP
uniq /usr/home/otchets/ipsort.log > /usr/home/otchets/norepeatip.log
# 5.Убераем из отчета IP локальных сетей итд итп
cat /usr/home/otchets/norepeatip.log | egrep -v "$trusted" > /usr/home/otchets/banlist.log
# 6.Отправляем отчет на мыло админа
mail -s ban_list cancer@domain.ru < /usr/home/otchets/banlist.log
Так понятнее ?
Последний раз редактировалось
Cancer 2009-04-27 9:26:54, всего редактировалось 1 раз.
Cancer
-
rnd
- мл. сержант
- Сообщения: 112
- Зарегистрирован: 2007-11-06 20:36:25
- Откуда: RonDon
Непрочитанное сообщение
rnd » 2009-04-27 8:39:05
да, спасибо )
только почему-то в отсортированных ip последний октет не такой как у оригинального в логе
Код: Выделить всё
в файле > 82.90.48.1
из лога > mail postfix/smtpd[2979]: NOQUEUE: reject: RCPT from host176-48-static.90-82-b.business.telecomitalia.it[82.90.48.176]: 554 5.7.1 <host176-48-static.90-82-b.business.
rnd
-
Cancer
- Гл. Кастратор
- Сообщения: 1269
- Зарегистрирован: 2008-03-25 12:21:36
- Откуда: г. Ростов-на-Дону
-
Контактная информация:
Непрочитанное сообщение
Cancer » 2009-04-27 9:02:14
rnd писал(а):да, спасибо )
только почему-то в отсортированных ip последний октет не такой как у оригинального в логе
Код: Выделить всё
в файле > 82.90.48.1
из лога > mail postfix/smtpd[2979]: NOQUEUE: reject: RCPT from host176-48-static.90-82-b.business.telecomitalia.it[82.90.48.176]: 554 5.7.1 <host176-48-static.90-82-b.business.
блин точно ща поковыряю и переделаю
Cancer
-
Cancer
- Гл. Кастратор
- Сообщения: 1269
- Зарегистрирован: 2008-03-25 12:21:36
- Откуда: г. Ростов-на-Дону
-
Контактная информация:
Непрочитанное сообщение
Cancer » 2009-04-27 9:27:40
Все рабочий проверяй
Код: Выделить всё
ip="([0-9])+\.([0-9])+\.([0-9])+\.([0-9])+"
Код: Выделить всё
#!/bin/sh
event="denied|deny|failed"
ip="([0-9])+\.([0-9])+\.([0-9])+\.([0-9])+"
trusted="127.0.0.1|192.168.1.|192.168.55."
maillog="/var/log/maillog"
event_log="/usr/home/otchets/event.log"
ip_log="/usr/home/otchets/ip.log"
ipsort_log="/usr/home/otchets/ipsort.log"
norepeatip_log="/usr/home/otchets/norepeatip.log"
banlist="/usr/home/otchets/banlist.log"
# 1.Парсим по событию
cat $maillog | egrep "$event" > $event_log
# 2.Выдераем только IP
cat $event_log | egrep -o "$ip" > $ip_log
# 3.Сортируем IP
sort $ip_log > $ipsort_log
# 4.Удаляем дублированные IP
uniq $ipsort_log > $norepeatip_log
# 5.Убераем из отчета IP локальных сетей итд итп
cat $norepeatip_log | egrep -v "$trusted" > $banlist
# 6.Отправляем отчет на мыло админа
mail -s ban_list cancer@domain.ru < $banlist
Последний раз редактировалось
Cancer 2009-04-27 9:32:23, всего редактировалось 1 раз.
Cancer
-
rnd
- мл. сержант
- Сообщения: 112
- Зарегистрирован: 2007-11-06 20:36:25
- Откуда: RonDon
Непрочитанное сообщение
rnd » 2009-04-27 9:31:37
да, все работает : )
пасиб.
rnd