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


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Ограничение SYN запросов  (Прочитано 554 раз)

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

Оффлайн Пончик

  • Автор темы
  • Любитель
  • *
  • Сообщений: 69
    • Просмотр профиля
Ограничение SYN запросов
« : 24 Мая 2016, 08:40:26 »
Доброго времени суток!
Хочу лимитировать "всплески" SYN запросов. Вроде для этого подходит hashlimit модуль. Но не совсем понимаю что я делаю не так.
iptables -A block-flood -m state --state NEW -m hashlimit --hashlimit-above 25/second --hashlimit-burst 30  --hashlimit-mode srcip --hashlimit-name syn_flood_list -j drop_add_ip
Если я правильно понимаю то: для всех новых подключений если количество запросов превышает 25 в секунду то мы уменьшаем "счетчик" (brust) на один. Когда он дойдет до 0 то сработает правило -j drop_add_ip. Верно? А что с полем hashlimit-htable-expire делать? Может мне brust поставить в один?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Ограничение SYN запросов
« Ответ #1 : 24 Мая 2016, 16:40:47 »
hashlimit-above 25/second устанавливает предел SYN запросов 25 в секунду.
hashlimit-burst 30 увеличивает этот лимит для первого появления этого адреса в таблице.
Т.е. постоянно устанавливать ты сможешь до 25 соединений на протяжении любого количества времени, но СРАЗУ ты сможешь установить 30.
И conntrack а не state.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн Пончик

  • Автор темы
  • Любитель
  • *
  • Сообщений: 69
    • Просмотр профиля
Re: Ограничение SYN запросов
« Ответ #2 : 24 Мая 2016, 21:50:24 »
Прошу прощения за возможно глупый вопрос...
А разве максимальное кол-во пакетов на подключение не будет равно 25 + 30 ? Насколько я понял из мануала то счетчик изменится при выполнении условия hashlimit-upto/hashlimit-above. В то же время burst это скорее bucket.
например есть у нас 25 подключений но должно быть больше 25 чтобы счетчик изменился. Приходит еще один пакет. Выходит 26 подключений в секунду. Тут уже уменьшается счетчик burst (с 30 до 29). Каждый следующий пакет который пришел в ту же секунду будет уменьшать burst на 1, а когда burst станет 0 то будет выполнено действие (-j) ?

А по поводу conntrack.. потому что это суперсет стейта? И в ядре просто стоит алиас?

Поправьте меня пожалуйста и простите дурака за такие тупые вопросы

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Ограничение SYN запросов
« Ответ #3 : 24 Мая 2016, 21:53:25 »
Вы внимательно прочли то, что я написал?…
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн Пончик

  • Автор темы
  • Любитель
  • *
  • Сообщений: 69
    • Просмотр профиля
Re: Ограничение SYN запросов
« Ответ #4 : 24 Мая 2016, 22:35:38 »
Хорошо.. вроде понял.. хотя не совсем уверен.
Если hashlimit-burst не будет установлен (т.е. по дефолту он = 5). Тогда что выйдет? Максимальное кол-во запросов на подключение будет не 25 а 5 ?
А hashlimit-htable-expire ? По дефолту он равен 10 секундам. То есть если создался хеш в таблице то он там будет 10 секунд (в случае если он не будет изменен) и по истечению тех 10 секунд он пропадет. В каких случаях можно/надо менять этот параметр?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Ограничение SYN запросов
« Ответ #5 : 24 Мая 2016, 22:42:57 »
По умолчанию, если burst меньше разрешения проверки… не знаю, честно.
expire - да, если значение не обновлялось, оно будет выкинуто через это время.
Т.е. если кто-то случано вломил 50 запросов, обломался и ушёл, через 10 секунд о нём тут забудут.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

 

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