Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Программирование Новый топик    Ответить
 SYN-spoofing и CF_REJECT  [new]
x1ca4064
Member

Откуда:
Сообщений: 1003
Приветствую!
Есть маленький самописный http сервер для тестов и раздачи обновлений, в логах видно, что он участвут в ДДОС атаках: с разных адресов, обычно одной автономной системы, приходят SYN-пакеты, сервер их отклоняет через CF_REJECT, это приводит к отправке ACK+RST пакета жертве. Работе это не мешает, т.к. поток пакетов маленький (максимум несколько десятков в секунду, обычно меньше), но заполняет логи и способствует атаке. В связи с этим вопрос: есть ли способ отклонить подлючение, ничего не посылая в ответ (идеально, если бы была возможность в acceptcondition вернуть что-то типа CF_DROP, но увы)? ОС - Windows.
25 авг 19, 23:02    [21957373]     Ответить | Цитировать Сообщить модератору
 Re: SYN-spoofing и CF_REJECT  [new]
mayton
Member

Откуда: loopback
Сообщений: 41808
Это не решается на уровне ОС Виндовс. Такие фильтры конфигурятся еще до того как IP-пакет зашел на твой
сетевой интерфейс. Может быть где-то на уровне пограничных файрволов которые разделяют сеть вашей
организации от интернета. Потому-как внутри организации обычно всё в порядке и никаких атак не бывает
по определению.

Вобщем это не тема программирования и топик можно переносить например в https://www.sql.ru/forum/linux
25 авг 19, 23:24    [21957378]     Ответить | Цитировать Сообщить модератору
 Re: SYN-spoofing и CF_REJECT  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 48132
x1ca4064
с разных адресов, обычно одной автономной системы, приходят SYN-пакеты

Раз это http сервер, то "разные адреса" это, случайно так, не гугль с яндексом?
26 авг 19, 13:44    [21957627]     Ответить | Цитировать Сообщить модератору
 Re: SYN-spoofing и CF_REJECT  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 48132
x1ca4064
есть ли способ отклонить подлючение, ничего не посылая в ответ

То есть прикинуться мёртвым? Верни CF_DEFER.
26 авг 19, 13:49    [21957632]     Ответить | Цитировать Сообщить модератору
 Re: SYN-spoofing и CF_REJECT  [new]
Dima T
Member

Откуда:
Сообщений: 13915
x1ca4064
ОС - Windows.

Если речь про запрет конкретных IP-адресов, то можно поставить какой-нибудь файрвол, умеющий блокировать входящие соединения. Например WIPFW. Там конфиг в текстовом файле, можно его автоматом генерить.
26 авг 19, 13:57    [21957636]     Ответить | Цитировать Сообщить модератору
 Re: SYN-spoofing и CF_REJECT  [new]
x1ca4064
Member

Откуда:
Сообщений: 1003
Dimitry Sibiryakov
Раз это http сервер, то "разные адреса" это, случайно так, не гугль с яндексом?


Нет
26 авг 19, 15:09    [21957703]     Ответить | Цитировать Сообщить модератору
 Re: SYN-spoofing и CF_REJECT  [new]
x1ca4064
Member

Откуда:
Сообщений: 1003
Dimitry Sibiryakov
x1ca4064
есть ли способ отклонить подлючение, ничего не посылая в ответ

То есть прикинуться мёртвым? Верни CF_DEFER.


Да, хочется прикинуться трупом. Если верну CF_DEFER, при следующих вызовах WSAAccept я опять получу это соедининение. Есть мысль использовать в этот момент SetTcpEntry, но, пока, не проверил.
26 авг 19, 15:13    [21957707]     Ответить | Цитировать Сообщить модератору
 Re: SYN-spoofing и CF_REJECT  [new]
x1ca4064
Member

Откуда:
Сообщений: 1003
Dima T
x1ca4064
ОС - Windows.

Если речь про запрет конкретных IP-адресов, то можно поставить какой-нибудь файрвол, умеющий блокировать входящие соединения. Например WIPFW. Там конфиг в текстовом файле, можно его автоматом генерить.

Спасибо за рекомендацию, посмотрю. Но хотелось бы свое решение, причем без использования kernel-mode. Странно, что такое простое дело, как просто молча грохнуть сокет, оказывается так трудно сделать.
26 авг 19, 15:20    [21957714]     Ответить | Цитировать Сообщить модератору
 Re: SYN-spoofing и CF_REJECT  [new]
x1ca4064
Member

Откуда:
Сообщений: 1003
Dimitry Sibiryakov
То есть прикинуться мёртвым? Верни CF_DEFER.


SetTcpEntry работает, но RST+ACK пакет все равно отправляется :(
26 авг 19, 23:34    [21957980]     Ответить | Цитировать Сообщить модератору
Все форумы / Программирование Ответить