Все, кто в той или иной мере связан с сетевой индустрией, знают, как тяжело защитить себя от SYN-атак отправки большого количества запросов на подключение по TCP-протоколу в небольшом промежутке времени. Как правило, используют несколько методов с большей или меньшей эффективностью. Почти всегда главным решением будет правильная фильтрация пакетов. Вместе с созданием пакетных фильтров, администратор может произвести модификацию стека TCP/IP-протокола конкретной ОС. В этой статье мы попробуем рассмотреть настройку TCP/IP-стека под различные платформы.
Хотя полностью предотвратить SYN-атаки невозможно, настройка стека TCP/IP помогает серьезно уменьшить влияние данного вида атак, разрешая, в то же время, легальный трафик клиентов через сервер. Здесь надо отметить тот факт, что не все атаки подобного рода пытаются "обрушить" серверы, некоторые SYN-атаки вместо этого пытаются забрать себе всю пропускную способность вашего канала Интернет.
Что можно сделать в случае, если серверы подверглись классической SYN-атаке, когда не используется заполнение пропускной способности канала В первую очередь необходимо включить встроенные в ОС механизмы защиты, такие как SynAttackProtect или SYN cookies. В особых случаях, дополнительно необходима настройка параметров стека TCP/IP. Изменяя заданные по умолчанию значения стековых переменных мы выходим на совсем другой уровень защиты, который способен гораздо лучше защитить наши с вами хосты. Давайте пока сконцентрируем внимание на следующих аспектах:
увеличение очереди полуоткрытых соединений для состояния SYN RECEIVED;
уменьшение тайм-аута незавершенных подключений в состоянии SYN RECEIVED.
Данный метод реализуется при помощи уменьшения времени до начала повторной передачи пакета или уменьшения или даже полного отключения повторных попыток передачи пакета. Повторная передача пакета производится сервером до тех пор, пока от клиента не получен пакет с флагом ACK acknowledges — подтверждения. Пакет с таким флагом завершает процесс по установлению соединения между клиентом и сервером.
Обратите внимание, что при нападении может идти большое количество датаграмм с флагом SYN, отчего операции по увеличению очереди полуоткрытых соединений и уменьшению времени хранения незавершенных подключений будут бессильны разрешить эту проблему. Тем не менее их выполнение увеличивает вероятность возникновения полного подключения с легитимными клиентами.
Необходимо также помнить, что изменение переменных, влечет за собой изменение режима работы стека TCP/IP. Поэтому после модификации обязательно надо удостовериться в способности сервера должным образом поддерживать связь с другими хостами. К примеру, блокировка повторных передач пакетов в некоторых системах с невысокой пропускной способностью, может повлечь в итоге отказ в работе даже при легальных запросах.