Назад | Перейти на главную страницу

Блокировать пакеты по длине

Могу ли я блокировать пакеты (в частности, UDP), длина которых превышает X? На меня нападают исключительно очень большие по размеру UDP-пакеты с большого количества IP-адресов. У меня есть законное использование UDP-пакетов на порте атаки, но все, что превышает определенный размер, является вредоносным для моих целей.

Я на Windows Server 2008, без аппаратного брандмауэра.

Спасибо.

Вы можете сделать это одним из двух способов:

  • В приложении, глядя на размер прочитанного пакета и не выполняя никакой обработки, если он слишком большой. Не сэкономит вам сетевой трафик, но позволит избежать необходимости тратить циклы ЦП на обработку ошибочного пакета.
  • Установите приличный брандмауэр в восходящем направлении (насколько это возможно) и выполните фильтрацию там. Ваш поставщик услуг должен быть в состоянии предоставить подходящую услугу (возможно, за определенную плату). Это будет намного лучше, потому что это не будет перегружать сетевые каналы между фильтрующим устройством и вашим сервером.

Попытка сделать это с брандмауэром на основе хоста Windows возможна, но это не особенно эффективно - вы не сэкономите много ресурсов, блокируя пакеты на хосте, просто отбрасывая их в своем приложении.

Windows изначально не поддерживает эту функцию.

Ваши варианты:

  • получение аппаратного брандмауэра
  • Некоторые программные межсетевые экраны, такие как Zone Alarm, могут отбрасывать пакеты, если длина пакета превышает заявленную длину. Но я не знаю ни одного программного брандмауэра для Windows, который мог бы это сделать.