Безопасность 1.Блокировка определенных User-Agents. Создаем файл с запрещенными User-Agent-ами
1 |
# nano /etc/nginx/blockuseragents.rules |
1 2 3 4 5 6 7 8 |
map $http_user_agent $blockedagent { default 0; ~*malicious 1; ~*bot 1; ~*backdoor 1; ~*crawler 1; ~*bandit 1; } |
Подключаем файл с запрещенными User-Agent-ами(вставляем перед секцией server)
1 |
include /etc/nginx/blockuseragents.rules; |
Добавляем в секцию server запрет для указанных в файле User-Agents
1 2 3 4 5 6 |
server { if ($blockedagent) { return 444; } …… } |
Либо второй вариант. Например , защита от сканеров
1 2 3 4 5 |
server { if ( $http_user_agent ~* (nmap|nikto|wikto|sf|sqlmap|bsqlbf|w3af|acunetix|havij|appscan) ) { return 444; } } |
Тестируем
1 |
# wget --user-agent "I am a bandit" http://example.com/index.html |
2.Защита от HotLink. Для конкретного location
1 2 3 4 5 6 7 8 |
location /images/ { # Или для определенных типов файлов #location ~ .(gif|png|jpe?g)$ { valid_referers none blocked example.com *.example.com; if ($invalid_referer) { return 444; } } |
3.Защита от реферального спама. […]