запрет авторизации из мира по клиентам
Модератор: xM
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- лейтенант
- Сообщения: 693
- Зарегистрирован: 2008-10-02 20:49:21
запрет авторизации из мира по клиентам
Возможно ли стандартными средствами экзима запретить попытку аутентификации с мира почтовым клиентам, кроме локалки??? А то переборы паролей с мира уже достали....Искал по поисковикам, но не могу сформулировать правельный запрос. Подскажите в какую сторону копать? или может есть какойто момент в конфиге?? Заранее спасибо
Услуги хостинговой компании Host-Food.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/
Тарифы на виртуальные сервера (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/
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Re: запрет авторизации из мира по клиентам
Конечно. 1. Согласно последним RFC использовать порт 587 для своих клиентов (в том числе для аутентификации и т.п.)
При этом на 25 аутентификации быть не должно. С правилом думаю проблем не будет.
2. Вы определитесь что вы хотите, можно ТУПО не выдавать возможности AUTH для мира через auth_advertise_hosts вроде. Кому можно вообще аутентифицироваться.
http://www.lissyara.su/doc/exim/4.62/sm ... tion/#33.3
Это глобальная опция, можно и в секцию аутентификации засунуть.
3. Много ещё как можно.
При этом на 25 аутентификации быть не должно. С правилом думаю проблем не будет.
2. Вы определитесь что вы хотите, можно ТУПО не выдавать возможности AUTH для мира через auth_advertise_hosts вроде. Кому можно вообще аутентифицироваться.
http://www.lissyara.su/doc/exim/4.62/sm ... tion/#33.3
Это глобальная опция, можно и в секцию аутентификации засунуть.
3. Много ещё как можно.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- лейтенант
- Сообщения: 693
- Зарегистрирован: 2008-10-02 20:49:21
Re: запрет авторизации из мира по клиентам
оо спасибо...покурю в эту сторону
-
- лейтенант
- Сообщения: 693
- Зарегистрирован: 2008-10-02 20:49:21
Re: запрет авторизации из мира по клиентам
Каждое утро-ночь вижу вот такую дрянь в логах
Какой то урод тупо брутит сервак...причём каждый день новый айпи. Можно ли сделать глобальную настройку, чтобы клиента блочило или отрывало после N попыток ввести неправельного юзера? Гуглил по инету, даже примерно не могу найти что то похожее. Я так подозреваю что это можно сделать двумя способами. Или где то написать запрет с определенным кондишином или дополнить \ видоизменить вот эту секцию
В моем случае менять нужно секцию PLAIN.
Код: Выделить всё
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
Код: Выделить всё
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
-
- проходил мимо
Re: запрет авторизации из мира по клиентам
судя по логу твоему
exim здесь не причем
у тебя dovecot мучают
погуглил и я... Защищаем почту (dovecot) с самого начала гляди
че-та по смыслу может это:
exim здесь не причем
у тебя dovecot мучают
погуглил и я... Защищаем почту (dovecot) с самого начала гляди
че-та по смыслу может это:
-C rate
Определение по умолчанию максимального количества раз, которое служба может быть вызвана с одного
IP-адреса в минуту; по умолчанию не ограничено. Может быть переопределено для каждой службы
параметром max-connections-per-ip-per-minute.
-
- лейтенант
- Сообщения: 831
- Зарегистрирован: 2007-06-01 19:27:51
Re: запрет авторизации из мира по клиентам
дето видел приблуду, которая лочит правилами фаера отакой брутфорс на несколько минут. точнее не подскажу
-
- лейтенант
- Сообщения: 693
- Зарегистрирован: 2008-10-02 20:49:21
Re: запрет авторизации из мира по клиентам
блин не увидел ..точно довекот...а я искал по экзиму...недоглядел))).....инетд не совсем то....возможно ли штатными средствами довекота это реализовать?
-
- проходил мимо
Re: запрет авторизации из мира по клиентам
по конфигу оригинальному прошелся че та не нашел там ограничений таких, мож в нем нету, на сайте их глянь
может еще в сторону фильтров глянуть, я в этом пока не силен
а насчет inetd чем не подходит? поставил ограничения и хрен он тебя побрутфорсит, устанет брутфорсить
может еще в сторону фильтров глянуть, я в этом пока не силен
а насчет inetd чем не подходит? поставил ограничения и хрен он тебя побрутфорсит, устанет брутфорсить
-
- рядовой
- Сообщения: 17
- Зарегистрирован: 2008-03-12 15:07:35
Re: запрет авторизации из мира по клиентам
данная проблема легко и непринуждённо решается с помощью pf
-
- проходил мимо
Re: запрет авторизации из мира по клиентам
свети легкий и непринужденный пример, голословный ты нашmitiok писал(а):данная проблема легко и непринуждённо решается с помощью pf
-
- рядовой
- Сообщения: 17
- Зарегистрирован: 2008-03-12 15:07:35
Re: запрет авторизации из мира по клиентам
постарайтесь не хамить сходу. это может помешать конструктивному разговору.
стандартная конструкция резки брутфорса на пф для поп3 выглядит как-то так:
в кронтаб полезно запихнуть чтонить такое:
предварительно доустановив expiretable из портов. тайминги по вкусу.
стандартная конструкция резки брутфорса на пф для поп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
Последний раз редактировалось Alex Keda 2010-07-18 20:32:20, всего редактировалось 1 раз.
Причина: Товарищщи, цените чужое время, юзайте кнопочку [code]...
Причина: Товарищщи, цените чужое время, юзайте кнопочку [code]...
-
- проходил мимо
Re: запрет авторизации из мира по клиентам
Прости пожалуйста, постараюсь не хамить, но было бы неплохо, если бы ты научился пользоваться кнопочкой Code, а то это мешает вести конструктивный разговор.mitiok писал(а):постарайтесь не хамить сходу. это может помешать конструктивному разговору...
более подробно о предложенном, уважаемым mitiok, способе блокировки брутфорсеров, здесь: STATEFUL TRACKING OPTIONS
для очистки таблицы можно воспользоваться стандартным средством - pfctl:
Код: Выделить всё
pfctl -t pop3-bruteforce -T flush
-
- рядовой
- Сообщения: 17
- Зарегистрирован: 2008-03-12 15:07:35
Re: запрет авторизации из мира по клиентам
expiretable имеет определённые преимущества, она умеет удалять записи старше определённого возраста. просто очищать таблицу, как мне кажется, менее интересно_Менделеев писал(а):для очистки таблицы можно воспользоваться стандартным средством - pfctl:Код: Выделить всё
pfctl -t pop3-bruteforce -T flush
-
- лейтенант
- Сообщения: 693
- Зарегистрирован: 2008-10-02 20:49:21
Re: запрет авторизации из мира по клиентам
Всё это конечно хорошо, НО...у меня не pf а ipfw. Пока что прикрутил fail2ban. Сижу жду атаки брутфорса. Как порезать средствами ipfw пока не нашел
-
- лейтенант
- Сообщения: 693
- Зарегистрирован: 2008-10-02 20:49:21
Re: запрет авторизации из мира по клиентам
fail2ban удачно работает...после 2 неудачных авторизаций Айпи (пока только внутренний из локалки) закидывается в таблицу На 20 минут, а потом удаляется. Вот конфиги
ipfw.conf
dovecot-pop3imap.conf (создаётся отдельно в папке /usr/local/etc/fail2ban/filter.d)
fail2ban.conf
jail.conf
10.0.0.227 - локальный айпи маил сервера
Ну и сделать соответствующие правила в фаере, которые блочат таблицу 1
Логи, в момент срабатывания блокировки
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
Код: Выделить всё
[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 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
Код: Выделить всё
[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
Ну и сделать соответствующие правила в фаере, которые блочат таблицу 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
-
- лейтенант
- Сообщения: 693
- Зарегистрирован: 2008-10-02 20:49:21
Re: запрет авторизации из мира по клиентам
И еще один способ, самый простой и радикальный. Если у вас клиенты сидят только в локалке, запретите в фаерволе ходить из мира на почтовик по 110 порту.