# --- Règles communes renforcées ---
(common_rules) {
#############################################
# 🚫 Protection contre les bots et scanners
#############################################
# Blocage LeakIX User-Agent
@leakix_ua {
header_regexp User-Agent (?i)l9scan
}
respond @leakix_ua 403
# Blocage IP LeakIX (auto-update possible)
@leakix_ip {
# LEAKIX_IP_PLACEHOLDER
}
respond @leakix_ip 403
# Blocage scanners connus
@scanners {
header_regexp User-Agent (?i)(Shodan|Censys|Nmap|masscan|curl|UGAResearchAgent)
}
respond @scanners 403
# Blocage requêtes suspectes (fichiers ou endpoints sensibles)
@sensitive_paths {
path /.env /.git/* /server-status /actuator/* /info.php /wp-admin /wp-login.php /config.php
}
respond @sensitive_paths 403
# Blocage requêtes HTTP sans User-Agent ou vides (souvent des bots)
@no_ua {
not header User-Agent *
}
respond @no_ua 403
#############################################
# 🧱 Durcissement HTTP
#############################################
header {
# Cacher la version serveur
-Server
# Sécurité navigateur
X-Frame-Options "DENY"
X-Content-Type-Options "nosniff"
Referrer-Policy "strict-origin-when-cross-origin"
X-XSS-Protection "1; mode=block"
# Empêcher la mise en cache côté client pour endpoints sensibles
@sensitive_paths Cache-Control "no-store"
# Sécurité CSP (à adapter selon tes apps)
# Content-Security-Policy "default-src 'self'; frame-ancestors 'none'; object-src 'none';"
}
#############################################
# 🧭 Compression & encodage
#############################################
encode gzip zstd
#############################################
# 🪵 Logging (optionnel)
#############################################
log {
output file /etc/caddy/logs/security.log {
roll_size 5mb
roll_keep 5
}
level WARN
}
}
Comments
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|0 👍
/0 👎