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

Ручное устранение DDOS с помощью команды netstat. Как определить настоящих злоумышленников?

Когда мой сервер работает медленно, мне сказали запустить эту команду и проверить, не делает ли кто-нибудь запрос SYN_RECV, чтобы замедлить мой сервер:

netstat -npt  | grep SYN_RECV | awk '{print $5}' | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' | cut -d: -f1 | sort | uniq -c | sort -nr | head | tee -a $REPORT_FILE 

Пример вывода:

Single attack IP - DOS:
  262 187.7.214.146
  1   95.90.250.96
  1   83.215.15.150
  1   203.160.112.239
  1   124.197.39.213

Multiple attack IPs - DDOS:  
  316 187.7.214.146
  94  187.7.214.96
  44  187.7.214.150
  90  203.160.112.239
  22  203.160.112.222

Я где-то читал, что если количество запросов SYN_RECV для IP-адреса больше 4, то считается, что нужно совершить атаку SYN flood (DOS). У меня несколько вопросов:

1) Какое точное число мы можем объявить, что IP (DOS) или IP (DDOS) совершают атаку при использовании этой команды netstat? Если IP-адрес соединяется с состоянием SYN_RECV, означает ли это, что он выполняет атаку SYN-флуда? Может это ложный флаг?

2) IS SYN_RECV - единственное состояние прослушивания, которое использовал атакующий DDOS? А как насчет состояния ESTABLISHED? Я смущен, потому что в других статьях говорится, что если некоторые иностранные IP-адреса связаны с состоянием ESTABLISHED, то мой сервер подвергается атаке. Какая атака

3) Я задаю этот вопрос, потому что хочу создать простой сценарий bash, который может вручную сообщить, является ли IP-адрес злоумышленником, и мне сказали использовать состояние SYN_RECV для оценки атакующего. Это единственное состояние, которое мы можем использовать? Какое минимальное значение SYN_RECV можно считать безопасным (НЕ DOS ATTACKER)?

Надеюсь, что мой вопрос ясен. Пожалуйста, спросите меня, если что-то не понятно.

Спасибо, и я надеюсь, что кто-нибудь сможет ответить на этот кошмар.