tgoop.com/bash_srv/104
Create:
Last Update:
Last Update:
💥 Автоматическая блокировка IP при большом количестве запросов 🛡️👮♂️
Если на сервере замечена подозрительная активность (например, слишком много запросов от одного IP), можно автоматически блокировать таких «шумных» клиентов с помощью iptables
и awk
:
#!/bin/bash
# автор: https://www.tgoop.com/bash_srv
# Лимит запросов за минуту
LIMIT=100
# Лог файл nginx или apache
LOG_FILE="/var/log/nginx/access.log"
# Найдём IP, превысившие лимит
awk '{print $1}' "$LOG_FILE" | sort | uniq -c | sort -nr | awk -v limit="$LIMIT" '$1 > limit {print $2}' | while read ip; do
# Проверим, не заблокирован ли уже
if ! iptables -L INPUT -v -n | grep -q "$ip"; then
iptables -A INPUT -s "$ip" -j DROP
echo "$(date): Заблокирован IP $ip" >> /var/log/ip_block.log
fi
done
📌 Что делает скрипт:
- Анализирует access.log
- Находит IP с количеством запросов > LIMIT
- Блокирует их через
iptables
🧠 Советы:
- Запускай раз в 5 минут через cron
- Убедись, что
iptables
доступен и ты не блокируешь свой IP 👉@bash_srv
BY Bash Советы

Share with your friend now:
tgoop.com/bash_srv/104