URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 88287
[ Назад ]

Исходное сообщение
"iptables и подбор паролей"

Отправлено andlis , 01-Мрт-10 16:27 
В iptables прописано ограничение по количеству обращений в минуту:

-A INPUT -d server.ip -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m recent --set
-A INPUT -p tcp -m recent --update --seconds 30 --hitcount 10 -j REJECT

ну и меня самого при попытках частого подключения прекрасно срезает.
Но в логах вакханалия:

Mar  1 13:28:15 zmmu popa3d(pam_unix)[20394]: authentication failure; logname= uid=0 euid=0 tty= ruser= rhost=  user=root
Mar  1 13:28:18 zmmu popa3d[20394]: Authentication failed for root
Mar  1 13:28:18 zmmu popa3d(pam_unix)[20399]: authentication failure; logname= uid=0 euid=0 tty= ruser= rhost=  user=root
Mar  1 13:28:20 zmmu popa3d[20399]: Authentication failed for root
Mar  1 13:28:21 zmmu popa3d(pam_unix)[20401]: authentication failure; logname= uid=0 euid=0 tty= ruser= rhost=
Mar  1 13:28:23 zmmu popa3d[20401]: Authentication failed for UNKNOWN USER
Mar  1 13:28:24 zmmu popa3d(pam_unix)[20404]: authentication failure; logname= uid=0 euid=0 tty= ruser= rhost=
Mar  1 13:28:26 zmmu popa3d[20404]: Authentication failed for UNKNOWN USER
Mar  1 13:28:15 zmmu xinetd[2078]: START: pop3 pid=20394 from=213.92.11.165
Mar  1 13:28:18 zmmu xinetd[2078]: START: pop3 pid=20399 from=213.92.11.165
Mar  1 13:28:21 zmmu xinetd[2078]: START: pop3 pid=20401 from=213.92.11.165
Mar  1 13:28:23 zmmu xinetd[2078]: START: pop3 pid=20404 from=213.92.11.165
Mar  1 13:28:26 zmmu xinetd[2078]: START: pop3 pid=20407 from=213.92.11.165
и так далее до бесконечности

Насколько я могу судить, это из-за первой приведенной мной строки? А как это технически делается?


Содержание

Сообщения в этом обсуждении
"iptables и подбор паролей"
Отправлено PavelR , 01-Мрт-10 18:46 
>В iptables прописано ограничение по количеству обращений в минуту:
>
>-A INPUT -d server.ip -m state --state RELATED,ESTABLISHED -j ACCEPT
>-A INPUT -p tcp -m recent --set
>-A INPUT -p tcp -m recent --update --seconds 30 --hitcount 10 -j
>REJECT
>
>ну и меня самого при попытках частого подключения прекрасно срезает.
>Но в логах вакханалия:

Вакханалия ? Где вы её увидели ?

Всё работает точно так, как вы наконфигурили. За тридцать секунд - разрешается десять соединений. По одному соединению в три секунды. Как раз соответствует куску приведенного вами лога.

>Насколько я могу судить, это из-за первой приведенной мной строки? А как
>это технически делается?

Вы поясните, зачем вы делаете то, чего не понимаете (правила какие-то набиваете, и т д ) ?


"iptables и подбор паролей"
Отправлено andlis , 01-Мрт-10 20:54 
Ну во-первых спасибо, что ответили. Во-вторых, это что модно теперь учить жить даже не дочитав тред?

>Вакханалия ? Где вы её увидели ?
>
>Всё работает точно так, как вы наконфигурили. За тридцать секунд - разрешается
>десять соединений. По одному соединению в три секунды. Как раз соответствует
>куску приведенного вами лога.

Я привел кусок лога. Считаю я довольно неплохо, и соединений там сильно больше чем 1 на 3 сек.

>>Насколько я могу судить, это из-за первой приведенной мной строки? А как
>>это технически делается?
>
>Вы поясните, зачем вы делаете то, чего не понимаете (правила какие-то набиваете,
>и т д ) ?

Просто изумительно! Ваще можно и извиниться например.


"iptables и подбор паролей"
Отправлено bill , 01-Мрт-10 22:10 
>Я привел кусок лога. Считаю я довольно неплохо, и соединений там сильно
>больше чем 1 на 3 сек.

А где ограничение, что их не должно быть больше, чем 1 на 3 сек? Это же два лога, зачем их соединять в один, чтоб больше запутать?


"iptables и подбор паролей"
Отправлено PavelR , 01-Мрт-10 19:23 
Должен заметить, всё оказалось интересней.

Вот уж не знаю, что там творится в нутрях iptables/conntrack, но действительно, у меня в конфигурации

host01:/web# iptables -nvL
Chain INPUT (policy ACCEPT 177M packets, 57G bytes)
pkts bytes target     prot opt in     out     source               destination
203K   61M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
   16   864 AUTHS      tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:22
   26  1260 AUTHS      tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:21


первоначально перестало кидать пакеты новых соединений на цепочку AUTHS, видимо пропуская её на -m state

Чтение манов выявило наличие модуля conntrack, но не выявило наличия разницы в их функциях.

http://www.linux.org.ru/forum/admin/4437887;jsessionid=4FA52...


После некотого шаманства, пакеты всё-таки стали заворачиваться на AUTHS

Chain AUTHS (2 references)
pkts bytes target     prot opt in     out     source               destination
   15   744 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           recent: UPDATE seconds: 60 name: auths side: source reject-with icmp-port-unreachable
    7   348 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           recent: SET name: auths side: source


Правда я поменял последовательность правил - сначала проверяем, потом ставим. Иначе - выставили и следующее правило блокирует пакет, поскольку у меня нет проверки hitcount.

Данная конфигурация жестока - если в течении минуты "пользователь" не прекращал "долбиться" - сооединение не будет пропущено.

Но мы ведь не варвары, поэтому сделаем так:

Chain AUTHS (2 references)
pkts bytes target     prot opt in     out     source               destination
   17   840 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           recent: UPDATE seconds: 60 name: auths side: source reject-with icmp-port-unreachable
    8   396 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           recent: SET name: auths side: source


iptables -A AUTHS -m recent --name auths --rcheck --seconds 60 -j REJECT
iptables -A AUTHS -m recent --name auths --set -j ACCEPT


"iptables и подбор паролей"
Отправлено andlis , 01-Мрт-10 21:10 
По этому поводу масса литературы. Честно говоря я спросил не о том. Виноват - если криво задал вопрос.
Когда я сам пытаюсь сканировать снаружи мои порты или подбирать пароли - мой фильтр меня срезает. Это происходит ИМХО потому, что я каждый раз создаю новое соединение (такой софт). Этот же чел явно подбирает пароли внутри одного соединения - поэтому и подбирает сколько хочет. Возможно я не прав. Логи вроде говорят, что соединение с ним каждый раз заканчивается... Но почему тогда мои попытки фильтр срезает, а ЕГО нет?

"iptables и подбор паролей"
Отправлено PavelR , 01-Мрт-10 23:30 
Mar  1 13:28:15 zmmu xinetd[2078]: START: pop3 pid=20394 from=213.92.11.165
Mar  1 13:28:18 zmmu xinetd[2078]: START: pop3 pid=20399 from=213.92.11.165
Mar  1 13:28:21 zmmu xinetd[2078]: START: pop3 pid=20401 from=213.92.11.165
Mar  1 13:28:23 zmmu xinetd[2078]: START: pop3 pid=20404 from=213.92.11.165
Mar  1 13:28:26 zmmu xinetd[2078]: START: pop3 pid=20407 from=213.92.11.165

15 +3 = 18
18 +3 = 21
21 +2 = 23
23 +3 = 26

Это называется сильно чаще чем раз в три секунды ?


host01:~# telnet mail.mydomain.com 110
Trying 12.34.56.78...
Connected to mail.mydomain.com.
Escape character is '^]'.
+OK Hello there.
user user1
+OK Password required.
pass passw
-ERR Login failed.
user user2
+OK Password required.
pass pass2
-ERR Login failed.
user user3
+OK Password required.
pass pass4
-ERR Login failed.
user user5
+OK Password required.
pass pass5
-ERR Login failed.

Да легко. Надо отключать такое нафиг, поскольку клиентскому софту не нужно...


"iptables и подбор паролей"
Отправлено andlis , 02-Мрт-10 08:49 
>[оверквотинг удален]
>user user3
>+OK Password required.
>pass pass4
>-ERR Login failed.
>user user5
>+OK Password required.
>pass pass5
>-ERR Login failed.
>
>Да легко. Надо отключать такое нафиг, поскольку клиентскому софту не нужно

Стоп! Можно на этом месте подробнее? Длинный столбец - это лог сессии в которой в течение одного соединения несколько раз запрашивают логин/пароль. Так?
А вот дальше я не понял смысл предложения. Можно объяснить?


"iptables и подбор паролей"
Отправлено andlis , 02-Мрт-10 08:59 
В догонку
У меня аналогичный лог выглядит отнюдь не так.
Соединяюсь telnet или маньяком все равно.

open mydomain.ru 110
+OK
user user
+OK
pass ghj
-ERR Authentication failed (bad password?)
Connection closed.

И все - опаньки. Так только 10 раз.
А почему у вас не было Connection closed? (на всякий случай скажу, что далеко не всякая софтина выдает эту строку в лог - ну это так... мало ли вдруг не знали..)


"iptables и подбор паролей"
Отправлено andlis , 02-Мрт-10 12:00 
так все - я лох педальный.
Действительно их строго 9 на 30 секунд. Я не заметил проброса в 30 секунд на каждый десятый раз.
Пожалуйста, ответьте на мой вопрос что значило: "Да легко. Надо отключать такое нафиг"

"iptables и подбор паролей"
Отправлено PavelR , 02-Мрт-10 12:12 
>так все - я лох педальный.
>Действительно их строго 9 на 30 секунд. Я не заметил проброса в
>30 секунд на каждый десятый раз.
>Пожалуйста, ответьте на мой вопрос что значило: "Да легко. Надо отключать такое
>нафиг"

"Да легко" - это в адрес  конкретной реализации сервиса, позволяющей в рамках установленного ТСР соединения производить несколько попыток авторизации.

"Отключать" - делать так, чтобы неудачная попытка авторизации обрывала ТСР-сессию, заставляя пересоединяться, соответственно подпадая под действие файрволла. Поскольку, обычно нормальному клиентскому софту нафиг не надо делать несколько авторизаций в одном ТСР соединении :-) А если пользователь действительно ошибся  - то ничего страшного, переподключится.

Кстати говоря, кроме fail2ban, есть еще например pam-shield ...
Всё это очень удачно можно прикрутить к обсуждаемому recent, заполняя его таблицы скриптами.


"iptables и подбор паролей"
Отправлено andlis , 02-Мрт-10 12:47 
Спасибо!
>"Да легко" - это в адрес  конкретной реализации сервиса, позволяющей в
>рамках установленного ТСР соединения производить несколько попыток авторизации.

Так, а как вы это сделали я не понял? судя по логу - просто зашли с телнета...


"iptables и подбор паролей"
Отправлено PavelR , 02-Мрт-10 13:03 
>Спасибо!
>>"Да легко" - это в адрес  конкретной реализации сервиса, позволяющей в
>>рамках установленного ТСР соединения производить несколько попыток авторизации.
>
>Так, а как вы это сделали я не понял? судя по логу
>- просто зашли с телнета...

ну да, обычный телнет.


"iptables и подбор паролей"
Отправлено andlis , 02-Мрт-10 14:14 
>>Спасибо!
>>>"Да легко" - это в адрес  конкретной реализации сервиса, позволяющей в
>>>рамках установленного ТСР соединения производить несколько попыток авторизации.
>>
>>Так, а как вы это сделали я не понял? судя по логу
>>- просто зашли с телнета...
>
>ну да, обычный телнет.

а ну это меняет дело. у меня такие попытки на сервере принудительно приводят к закрытию соединения.
в общем получилось, что я разобрался. Просто не так посчитал.
спасибо большое за дискуссию



"iptables и подбор паролей"
Отправлено PavelR , 02-Мрт-10 15:09 
>[оверквотинг удален]
>>>
>>>Так, а как вы это сделали я не понял? судя по логу
>>>- просто зашли с телнета...
>>
>>ну да, обычный телнет.
>
>а ну это меняет дело. у меня такие попытки на сервере принудительно
>приводят к закрытию соединения.
>в общем получилось, что я разобрался. Просто не так посчитал.
>спасибо большое за дискуссию

:-) Я тоже маленько разобрался :-)))