Обработка «возможной SYN-лавинной рассылки на порт 443. Отправка файлов cookie».

У моего сайта постоянно есть несколько пользователей онлайн. Сервер использует Apache / PHP, базу данных и Memcached. При нормальном использовании приложение работает хорошо и быстро.

Однако сервер, похоже, иногда подвергается атакам типа SYN flooding. Я действительно считаю / подозреваю, что это сделано намеренно, а не по вине наших законных пользователей. (поскольку они, кажется, случаются, когда некоторые люди регистрируют новые учетные записи и пытаются вызвать проблемы)

27 июня 22:12:21 ядро ​​xxxx: [xxxx.xxxx] возможное SYN-флуд на порту 443. Отправка файлов cookie. 27 июня 22:13:22 ядро ​​xxxx: [xxxx.xxxx] возможное SYN-лавинное сообщение на порт 443. Отправка файлов cookie. 27 июня 22:14:25 xxxx kernel: [xxxx.xxxx] возможное SYN-лавинное сообщение на порт 443. Отправка куки.

К сожалению, когда это происходит, затрагивается весь мой трафик:

[Пн, 27 июня, 22:15: 28.842067, 2016] [mpm_event: error] [pid 12022: tid 132875292207712] AH00485: табло заполнено, не на уровне MaxRequestWorkers

enter image description here

Мой MaxRequestWorkers равен 600. Я увеличивал его несколько раз в прошлом.
Недавно я также увеличил net.ipv4.tcp_max_syn_backlog и ListenBackLog до 5000.
На моем сервере 16 ГБ ОЗУ и пропускная способность 1 Гбит / с.

Я не очень рад, что есть кто-то, кто может легко контролировать, жив мой веб-сайт или нет.
Что можно сделать, чтобы это остановить?

Кроме того, netstat , похоже, прямо сейчас дает мне IP-адреса, подключенные к серверу.
Is it possible to get the top IPs at a given time in the past?

1
задан 29 June 2016 в 08:30
1 ответ
  1. Син-флуд - это вид атаки, которую практически невозможно защитить от одиночный хост.

Проверьте SynCookies

cat /proc/sys/net/ipv4/tcp_syncookies

и включите (установите значение 1), если отключено. Это помогает законным пользователям продолжать работать.

Также вы можете попробовать установить lover /proc/sys/net/ipv4/tcp_synack_retries[12178 sizeshttps://stackoverflow.com/a/26674591/205355[12179 sizesAbout IP

Synflood обычно использует поддельные IP-адреса случайного источника, поэтому его нельзя отфильтровать на основе IP-адреса источника.

  1. Пока ваша служба является общедоступной, любой может легко проверить ее работоспособность

  2. Вы можете купить профессиональную службу защиты от DDOS. Он использует огромный региональный распределенный кластер, DNS с учетом геолокации, корреляцию, сотрудничество с интернет-провайдерами и многое другое. Он перенаправляет чистый пользовательский трафик в Ваш сервис по IP, неизвестному публике (и хакерам). Но это может стоить дорого и может зависеть от мощности, необходимой для выживания и смягчения атаки.

1
ответ дан 3 December 2019 в 23:44

Теги

Похожие вопросы