Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: xinetd завис? (было "iptables/recent помогите с диагностикой?")  (Прочитано 2299 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн AnrDaemon

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
(Нажмите, чтобы показать/скрыть)

См. https://forum.ubuntu.ru/index.php?topic=175419.0#msg1296326
« Последнее редактирование: 22 Ноября 2011, 01:24:57 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

alexxnight

  • Гость
Re: iptables/recent помогите с диагностикой?
« Ответ #1 : 21 Ноября 2011, 21:14:59 »
я немного по другому делаю и все работает. если адаптировать под Ваш код, то

-A INPUT -p tcp -m multiport --dports 9,22,25,110 -m conntrack --ctstate NEW -j SSH_CHECK
.....

# 1. проверка, 2. бан, 3. занесение нового в список
iptables -A SSH_CHECK -j SSH_CHECK_remove
iptables -A SSH_CHECK -m conntrack --ctstate NEW -m recent --name bruteforce --rsource --update --seconds 90 --hitcount 4 -j REJECT --[.....]
iptables -A SSH_CHECK -m recent --name bruteforce --rsource --set

# удаление из бана через 12 часов (43200 сек)
iptables -A SSH_CHECK_remove -m recent --name bruteforce --rsource --rcheck --seconds 43200 -j RETURN
iptables -A SSH_CHECK_remove -m recent --name bruteforce --rsource --remove

у Вас же ведь проверяется tpc пакеты, почему icmp влияет на это?
в цепочке SSH_CHECK явно не указывается tpc, может из какой-то еще цепочки туда заход есть?

а список большой, потому что нет отчистки: туда заносятся все входящие пакеты, которые пришли на порт 9,22,25,110 (судя по коду)

вообще нужно все смотреть... iptables-save :)

Оффлайн AnrDaemon

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: iptables/recent помогите с диагностикой?
« Ответ #2 : 21 Ноября 2011, 23:01:21 »
Server A (Ubuntu 2.6.24-29.95-server), сидит за NAT'ом. Единственная сетевая, разделение трафика по IP. Пинг вот прямо сейчас работает нормально.
(Нажмите, чтобы показать/скрыть)

Server B (Ubuntu 2.6.24-29.88-server), смотрит напрямую в интернет (eth1). Пинг вотпрямсчаз не работает, хотя IP неоднократно вычищал из таблицы.
(Нажмите, чтобы показать/скрыть)


Пользователь решил продолжить мысль 21 Ноября 2011, 23:04:54:
Да, авторазбанивание работает нормально. Если прекратить пинговать, то через 3-4 минуты можно подключиться по SSH спокойно.
« Последнее редактирование: 21 Ноября 2011, 23:04:54 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: iptables/recent помогите с диагностикой?
« Ответ #3 : 21 Ноября 2011, 23:08:17 »
Никогда удалить -D ?
Wars ~.o

Оффлайн AnrDaemon

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: iptables/recent помогите с диагностикой?
« Ответ #4 : 21 Ноября 2011, 23:09:07 »
Никогда удалить -D ?

По-хорошему прошу - УЙДИ. Не провоцируй.

Пользователь решил продолжить мысль 21 Ноября 2011, 23:39:36:
Я сейчас буду долго и со вкусом ругаться...
# netstat -tl | grep discard
(упс?)
# invoke-rc.d xinetd restart
 * Stopping internet superserver xinetd
   ...done.
 * Starting internet superserver xinetd
   ...fail!
(эээ.... ???)
# ps ax | grep xinet | grep -v grep
 5942 ?        S      0:00 (xinetd service)  discard -stream типаадрес
 7094 ?        S      0:00 (xinetd service)  discard -stream типаадрес
 8053 ?        S      0:00 (xinetd service)  discard -stream типаадрес
 8399 ?        S      0:00 (xinetd service)  discard -stream типаадрес
 8409 ?        S      0:00 (xinetd service)  discard -stream типаадрес
 8456 ?        S      0:00 (xinetd service)  discard -stream типаадрес

По -KILL'ял зомбей, ещё раз перезапустил xinetd - забегало.
В логах - пусто, пусто и пусто... Вопрос - ЧТОЭТОБЫЛО?
« Последнее редактирование: 21 Ноября 2011, 23:39:36 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

alexxnight

  • Гость
Re: iptables/recent помогите с диагностикой?
« Ответ #5 : 22 Ноября 2011, 00:17:19 »
Да, авторазбанивание работает нормально. Если прекратить пинговать, то через 3-4 минуты можно подключиться по SSH спокойно.

а как у Вас реализовано авторазбанивание?

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Оффтоп
#truegeek

Предупреждение: 5%, п.2.3 Правил форума.
« Последнее редактирование: 22 Ноября 2011, 13:26:15 от truegeek »
Wars ~.o

Оффлайн AnrDaemon

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
а как у Вас реализовано авторазбанивание?
Таки правило читайте :)

-A SSH_CHECK -m conntrack --ctstate NEW -m recent --set --name SSH --rsource
-A SSH_CHECK -m conntrack --ctstate NEW -m recent --update --seconds 90 --hitcount 4 --name SSH --rsource -j NOWAY


Если за последние 90 секунд было зарегистрировано 4 хита - не пускать.

Возможно, имеет смысл добавить полное удаление адреса по истечении некоторого большого срока, перед повторной проверкой.
Но я, скорее, напишу отдельный скрипт для выбивания застарелых адресов по крону.
« Последнее редактирование: 22 Ноября 2011, 01:20:08 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

alexxnight

  • Гость
а как у Вас реализовано авторазбанивание?
Таки правило читайте :)

-A SSH_CHECK -m conntrack --ctstate NEW -m recent --set --name SSH --rsource
-A SSH_CHECK -m conntrack --ctstate NEW -m recent --update --seconds 90 --hitcount 4 --name SSH --rsource -j NOWAY


Если за последние 90 секунд было зарегистрировано 4 хита - не пускать.

смотрите... у Вас первое правило заносит любой адрес (который попал в эту цепочку) в список, а второе правило обновляет время последнего обращения, и, если условия по 90 сек. и 4 срабатываниям успешно проверяется, то -j NOWAY.

а удаления нет.
посмотрите, я Вам написал пример с удалением. К сожалению, это организовывается через доп. цепочку...

я думаю, что изменение списка вручную может непредвиденно повлиять на систему... хотя надо тестировать...

Оффлайн AnrDaemon

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
А удаление и не нужно для нормальной работы. Само условие проверки "4 хита в 90 секунд" является разбанивающим.
Другое дело, что таблица может неконтролируемо расти.
А удалять адреса из неё (через нетфильтр) можно только при получении новых пакетов с этого же адреса.
Проще написать скрипт, вычитывающий /proc/net/ipt_recent/SSH и делающий
echo -$address >> /proc/net/ipt_recent/SSH
для всех адресов, с которых не было пакетов за, скажем, последний час.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

alexxnight

  • Гость
А удаление и не нужно для нормальной работы. Само условие проверки "4 хита в 90 секунд" является разбанивающим.

а не скажите... после 4 хитов за 90 сек. попадает ip в бан и остается там очень надолго (пока не убрать). Не путайте с hashlimit, iplimit...

Оффлайн AnrDaemon

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
А удаление и не нужно для нормальной работы. Само условие проверки "4 хита в 90 секунд" является разбанивающим.

а не скажите... после 4 хитов за 90 сек. попадает ip в бан и остается там очень надолго (пока не убрать). Не путайте с hashlimit, iplimit...
Вы проверяли, прежде чем говорить такое?... Работает именно так, как написано в документации: ограничивает подсчёт числа пакетов указанным временем. Здесь нет никакого специального отдельного бана - само это правило и бан и разбан одновременно.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

alexxnight

  • Гость
проведем простой тест:
IPTABLES -A -m recent --name test --rsource --update --seconds 20 --hitcount 3 -j REJECT
IPTABLES -A -m recent --name test --rsource --set

теперь сделаем 4 пинга:
первый - прошел
второй - прошел
третий - прошел
четвертый - не прошел - бан

Если теперь подождать 20 и более сек., то тест можно повторить, и результат будет такой же - 4 пинга: 1-ок, 2-ок, 3-ок, 4-бан

Если же пинговать постоянно, то бан будет после 3-ех пакетов и пока пинг не прекратим... или адрес не вычистим из /proc/net/xt_recent/test

Оффлайн AnrDaemon

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
:) Вы уже определитесь, что вы пытаетесь до меня донести. Что мои правила работают? Они работают. Я и без вас это знал.
И, да, меня устраивает, что бан не снимется, пока долбёжка не прекратится. В этом и есть смысл бана.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.021 секунд. Запросов: 22.