Страница 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:

Код: Выделить всё

pfctl -t pop3-bruteforce -T flush

Re: запрет авторизации из мира по клиентам

Добавлено: 2010-07-15 13:16:16
mitiok
_Менделеев писал(а):для очистки таблицы можно воспользоваться стандартным средством - pfctl:

Код: Выделить всё

pfctl -t pop3-bruteforce -T flush
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 порту.