SiteGuardで拒否したIPをSwatchでもDROPする

Linuxサーバー構築・設定

SiteGuardとSwatchの連携

SiteGuardなどのWAFは不正なアクセスを事前に防いでくれて本当に助かります。

しかし、SiteGuardではアクセス毎の拒否のため、同一IPから同じようなアタックを受けることが少なくありません。

サーバー1台あたり1日数千件のログが残ります。

そのようなIPからのアクセスが、他でまともなアクセスであるわけはないと考えました。

SiteGuardで拒否したログは以下にあります。

/opt/jp-secure/siteguardlite/logs/http/detect.log
/opt/jp-secure/siteguardlite/logs/http/form.log

上記ログファイルをSwatchで読み、iptablesで全てDROPするようにしました。

swatchの設定ファイルは以下の2つ

# logfile /opt/jp-secure/siteguardlite/logs/http/form.log

watchfor /http/
pipe "/usr/local/bin/swatch_action.sh ' ' 3"
threshold track_by=/sshd.*Failed password for invalid user/,type=limit,count=3,seconds=10
# logfile /opt/jp-secure/siteguardlite/logs/http/detect.log

watchfor /http/
pipe "/usr/local/bin/swatch_action.sh ' ' 3"
threshold track_by=/sshd.*Failed password for invalid user/,type=limit,count=3,seconds=10

GoogleのBOTのIPを許可リストへ

上記の設定をしていると、GoogleBOTまで遮断していることが分かりました。

Googleには悪意はない事は明らかですが、何かから辿ってアクセスしてほしくないファイルを読みに着ているようです。

そこで、SiteGuardにGoogleのBOTのIPをホワイトリストとして設定しました。

Linuxサーバー構築・設定