実務で役立つシェルスクリプト自動化ツール集
1. 不審なアクセス元IPの自動ブロック
Nginxのアクセスログを監視し、短時間で頻繁にリクエストを送るIPを特定してiptablesで遮断します。
#!/bin/bash
TARGET_LOG="/var/log/nginx/access.log"
THRESHOLD=20
CURRENT_TIME=$(date +%d/%b/%Y:%H:%M)
# 直近でアクセス数が多いIPを抽出
ABUSIVE_IPS=$(tail -n 1000 "$TARGET_LOG" | grep "$CURRENT_TIME" | awk '{a[$1]++} ...
5月20日 06:24 投稿