Страница 1 из 1
запрет авторизации из мира по клиентам
Добавлено: 2010-04-19 14:28:02
mediamag
Возможно ли стандартными средствами экзима запретить попытку аутентификации с мира почтовым клиентам, кроме локалки??? А то переборы паролей с мира уже достали....Искал по поисковикам, но не могу сформулировать правельный запрос. Подскажите в какую сторону копать? или может есть какойто момент в конфиге?? Заранее спасибо
Re: запрет авторизации из мира по клиентам
Добавлено: 2010-04-19 20:22:30
dikens3
Конечно. 1. Согласно последним RFC использовать порт 587 для своих клиентов (в том числе для аутентификации и т.п.)
При этом на 25 аутентификации быть не должно. С правилом думаю проблем не будет.
2. Вы определитесь что вы хотите, можно ТУПО не выдавать возможности AUTH для мира через
auth_advertise_hosts вроде. Кому можно вообще аутентифицироваться.
http://www.lissyara.su/doc/exim/4.62/sm ... tion/#33.3
Это глобальная опция, можно и в секцию аутентификации засунуть.
3. Много ещё как можно.
Re: запрет авторизации из мира по клиентам
Добавлено: 2010-04-19 20:44:49
mediamag
оо спасибо...покурю в эту сторону
Re: запрет авторизации из мира по клиентам
Добавлено: 2010-07-14 12:09:00
mediamag
Каждое утро-ночь вижу вот такую дрянь в логах
Код: Выделить всё
Jul 14 06:38:08 mail dovecot: pop3-login: Aborted login (auth failed, 1 attempts): user=<aerial>, method=PLAIN, rip=66.212.1.254, lip=10.0.0.227
Jul 14 06:38:09 mail dovecot: pop3-login: Aborted login (auth failed, 1 attempts): user=<agent>, method=PLAIN, rip=66.212.1.254, lip=10.0.0.227
Jul 14 06:38:10 mail dovecot: pop3-login: Aborted login (auth failed, 1 attempts): user=<alec>, method=PLAIN, rip=66.212.1.254, lip=10.0.0.227
Jul 14 06:38:10 mail dovecot: pop3-login: Aborted login (auth failed, 1 attempts): user=<alexa>, method=PLAIN, rip=66.212.1.254, lip=10.0.0.227
Jul 14 06:38:11 mail dovecot: pop3-login: Aborted login (auth failed, 1 attempts): user=<alexandria>, method=PLAIN, rip=66.212.1.254, lip=10.0.0.227
Какой то урод тупо брутит сервак...причём каждый день новый айпи. Можно ли сделать глобальную настройку, чтобы клиента блочило или отрывало после N попыток ввести неправельного юзера? Гуглил по инету, даже примерно не могу найти что то похожее. Я так подозреваю что это можно сделать двумя способами. Или где то написать запрет с определенным кондишином или дополнить \ видоизменить вот эту секцию
Код: Выделить всё
begin authenticators
# outlook or netscape
auth_plain:
driver = plaintext
public_name = PLAIN
server_condition = ${lookup mysql{SELECT `username` FROM `mailbox` WHERE `username` = '${quote_mysql:$auth2}' AND `password` = '${quote_mysql:$auth3}'}{yes}{no}}
server_prompts = :
server_set_id = $auth2
# outlook or netscape
auth_login:
driver = plaintext
public_name = LOGIN
server_condition = ${lookup mysql{SELECT `username` FROM `mailbox` WHERE `username` = '${quote_mysql:$auth1}' AND `password` = '${quote_mysql:$auth2}'}{yes}{no}}
server_prompts = Username:: : Password::
server_set_id = $auth1
# the bat
auth_cram_md5:
driver = cram_md5
public_name = CRAM-MD5
server_secret = ${lookup mysql{SELECT `password` FROM `mailbox` WHERE `username` = '${quote_mysql:$auth1}'}{$value}fail}
server_set_id = $auth2
В моем случае менять нужно секцию PLAIN.
Re: запрет авторизации из мира по клиентам
Добавлено: 2010-07-14 12:58:57
_Сатана
судя по логу твоему
exim здесь не причем
у тебя dovecot мучают
погуглил и я...
Защищаем почту (dovecot) с самого начала гляди
че-та по смыслу может это:
-C rate
Определение по умолчанию максимального количества раз, которое служба может быть вызвана с одного
IP-адреса в минуту; по умолчанию не ограничено. Может быть переопределено для каждой службы
параметром max-connections-per-ip-per-minute.
Re: запрет авторизации из мира по клиентам
Добавлено: 2010-07-14 12:59:04
risk94
дето видел приблуду, которая лочит правилами фаера отакой брутфорс на несколько минут. точнее не подскажу
Re: запрет авторизации из мира по клиентам
Добавлено: 2010-07-14 13:10:45
mediamag
блин не увидел ..точно довекот...а я искал по экзиму...недоглядел))).....инетд не совсем то....возможно ли штатными средствами довекота это реализовать?
Re: запрет авторизации из мира по клиентам
Добавлено: 2010-07-14 13:18:02
_9 мая
по конфигу оригинальному прошелся че та не нашел там ограничений таких, мож в нем нету, на сайте их глянь
может еще в сторону фильтров глянуть, я в этом пока не силен
а насчет inetd чем не подходит? поставил ограничения и хрен он тебя побрутфорсит, устанет брутфорсить
Re: запрет авторизации из мира по клиентам
Добавлено: 2010-07-15 9:49:46
mitiok
данная проблема легко и непринуждённо решается с помощью pf
Re: запрет авторизации из мира по клиентам
Добавлено: 2010-07-15 11:38:51
_Сатана
mitiok писал(а):данная проблема легко и непринуждённо решается с помощью pf
свети легкий и непринужденный пример, голословный ты наш
Re: запрет авторизации из мира по клиентам
Добавлено: 2010-07-15 12:36:17
mitiok
постарайтесь не хамить сходу. это может помешать конструктивному разговору.
стандартная конструкция резки брутфорса на пф для поп3 выглядит как-то так:
Код: Выделить всё
# block the pop3 bruteforce
block drop in quick on $ext_if proto tcp from <pop3-bruteforce> to port pop3
pass in on $ext_if proto tcp from any to ($ext_if) port pop3 flags S/SA keep state (max-src-conn-rate 15/60, overload <pop3-bruteforce> flush)
в кронтаб полезно запихнуть чтонить такое:
Код: Выделить всё
# clear firewall table with pop3-bruteforce
*/2 * * * * /usr/local/sbin/expiretable -t 600 pop3-bruteforce
предварительно доустановив expiretable из портов. тайминги по вкусу.
Re: запрет авторизации из мира по клиентам
Добавлено: 2010-07-15 13:02:49
_Менделеев
mitiok писал(а):постарайтесь не хамить сходу. это может помешать конструктивному разговору...
Прости пожалуйста, постараюсь не хамить, но было бы неплохо, если бы ты научился пользоваться кнопочкой Code, а то это мешает вести конструктивный разговор.
более подробно о предложенном, уважаемым
mitiok, способе блокировки брутфорсеров, здесь:
STATEFUL TRACKING OPTIONS
для очистки таблицы можно воспользоваться стандартным средством - pfctl:
Re: запрет авторизации из мира по клиентам
Добавлено: 2010-07-15 13:16:16
mitiok
_Менделеев писал(а):для очистки таблицы можно воспользоваться стандартным средством - pfctl:
expiretable имеет определённые преимущества, она умеет удалять записи старше определённого возраста. просто очищать таблицу, как мне кажется, менее интересно
Re: запрет авторизации из мира по клиентам
Добавлено: 2010-07-15 13:53:41
mediamag
Всё это конечно хорошо, НО...у меня не pf а ipfw. Пока что прикрутил fail2ban. Сижу жду атаки брутфорса. Как порезать средствами ipfw пока не нашел
Re: запрет авторизации из мира по клиентам
Добавлено: 2010-07-15 15:40:54
mediamag
fail2ban удачно работает...после 2 неудачных авторизаций Айпи (пока только внутренний из локалки) закидывается в таблицу На 20 минут, а потом удаляется. Вот конфиги
ipfw.conf
Код: Выделить всё
[Definition]
actionstart =
actionstop =
actioncheck =
actionban = ipfw table 1 add <ip>
actionunban = ipfw table 1 delete <ip>
[Init]
port = pop3
localhost = 127.0.0.1
dovecot-pop3imap.conf (создаётся отдельно в папке /usr/local/etc/fail2ban/filter.d)
Код: Выделить всё
[Definition]
failregex = (?: pop3-login|imap-login): (?:Authentication failure|Aborted login \(auth failed|Aborted login \(tried to use disabled|Disconnected \(auth failed).*rip=(?P<host>\S*),.*
ignoreregex =
fail2ban.conf
Код: Выделить всё
# Fail2Ban configuration file
#
# Author: Cyril Jaquier
#
# $Revision: 629 $
#
[Definition]
# Option: loglevel
# Notes.: Set the log level output.
# 1 = ERROR
# 2 = WARN
# 3 = INFO
# 4 = DEBUG
# Values: NUM Default: 3
#
loglevel = 3
# Option: logtarget
# Notes.: Set the log target. This could be a file, SYSLOG, STDERR or STDOUT.
# Only one log target can be specified.
# Values: STDOUT STDERR SYSLOG file Default: /var/log/fail2ban.log
#
logtarget = /var/log/fail2ban.log
# Option: socket
# Notes.: Set the socket file. This is used to communicate with the daemon. Do
# not remove this file when Fail2ban runs. It will not be possible to
# communicate with the server afterwards.
# Values: FILE Default: /var/run/fail2ban/fail2ban.sock
#
socket = /var/run/fail2ban/fail2ban.sock
jail.conf
Код: Выделить всё
[DEFAULT]
ignoreip = 127.0.0.1
backend = auto
findtime = 1200
bantime = 1200
maxretry = 2
[dovecot-pop3imap]
enabled = true
filter = dovecot-pop3imap
action = ipfw[localhost=10.0.0.227]
logpath = /var/log/maillog
ignoreip = 10.0.0.227
10.0.0.227 - локальный айпи маил сервера
Ну и сделать соответствующие правила в фаере, которые блочат таблицу 1
Логи, в момент срабатывания блокировки
Код: Выделить всё
2010-07-15 13:44:47,320 fail2ban.actions: WARNING [dovecot-pop3imap] Ban 10.0.0.12
2010-07-15 14:04:47,461 fail2ban.actions: WARNING [dovecot-pop3imap] Unban 10.0.0.12
2010-07-15 14:09:33,209 fail2ban.actions: WARNING [dovecot-pop3imap] Ban 10.0.0.12
2010-07-15 14:29:33,350 fail2ban.actions: WARNING [dovecot-pop3imap] Unban 10.0.0.12
2010-07-15 14:34:22,107 fail2ban.actions: WARNING [dovecot-pop3imap] Ban 10.0.0.12
2010-07-15 14:54:22,248 fail2ban.actions: WARNING [dovecot-pop3imap] Unban 10.0.0.12
2010-07-15 15:00:24,195 fail2ban.actions: WARNING [dovecot-pop3imap] Ban 10.0.0.12
2010-07-15 15:20:24,336 fail2ban.actions: WARNING [dovecot-pop3imap] Unban 10.0.0.12
Re: запрет авторизации из мира по клиентам
Добавлено: 2010-07-22 14:38:35
mediamag
И еще один способ, самый простой и радикальный. Если у вас клиенты сидят только в локалке, запретите в фаерволе ходить из мира на почтовик по 110 порту.