ваше сообщение коммита

This commit is contained in:
2025-08-08 16:30:47 +03:00
parent 0a72902c37
commit badb8b9557
15 changed files with 921 additions and 218 deletions

View File

@@ -3,6 +3,9 @@
# Включаем WAF конфигурацию
# include /etc/nginx/conf.d/waf.conf;
# Ограничение запросов (5 r/s на IP, с небольшим burst)
limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=5r/s;
# Блокировка всех подозрительных поддоменов
server {
listen 80;
@@ -60,11 +63,16 @@ server {
return 404;
}
# Блокировка сканирования резервных копий и архивов
# Блокировка сканирования резервных копий и архивов (путьовые паттерны)
if ($request_uri ~* "(backup|backups|bak|old|restore|www\.tar|website\.tar|\.tar\.gz|\.gz|\.sql\.tar|public_html\.tar|sftp-config\.json)") {
return 404;
}
# Явный запрет на потенциально опасные расширения (чтобы SPA не отдавала index.html со статусом 200)
location ~* \.(zip|rar|7z|tar|gz|bz2|xz|sql|sqlite|db|bak|backup|old|csv)$ {
return 404;
}
# Блокировка опасных файлов (НЕ блокируем .js, .css)
if ($request_uri ~* "\.(php|asp|aspx|jsp|cgi|pl|py|sh|bash|exe|bat|cmd|com|pif|scr|vbs|vbe|jar|war|ear|dll|so|dylib|bin|sys|ini|log|bak|old|tmp|temp|swp|swo|~)$") {
return 404;
@@ -92,6 +100,9 @@ server {
# Основной location
location / {
# Лимитируем агрессивные сканеры по IP
limit_req zone=req_limit_per_ip burst=15 nodelay;
try_files $uri $uri/ /index.html =404;
# Заголовки безопасности
@@ -149,8 +160,13 @@ server {
add_header X-Content-Type-Options "nosniff" always;
}
# Общий запрет SPA-фоллбэка для любых запросов с расширением, кроме /api и /ws
location ~* ^/(?!api/|ws).+\.[^/]+$ {
try_files $uri =404;
}
# Запрет доступа к чувствительным файлам
location ~* /(\.htaccess|\.htpasswd|\.env|\.git|\.svn|\.DS_Store|Thumbs\.db|web\.config|robots\.txt|sitemap\.xml)$ {
location ~* /(\.\htaccess|\.\htpasswd|\.env|\.git|\.svn|\.DS_Store|Thumbs\.db|web\.config|robots\.txt|sitemap\.xml)$ {
deny all;
return 404;
}