超お手軽WAF、nG Firewallを導入してみた。
環境
- FreeBSD 14.1
- nginx 1.26
nG Firewallとは
nGの「n」の部分には数字が入る。
上記サイトによるnG Firewallの紹介は次のとおり。
nGファイアウォールは、ApacheおよびNginx サーバー向けに念入りに作成されたセキュリティのルールセットです。 nGは
https://perishablepress.com/ng-firewall.htaccess
ファイル、またはサーバーの設定ファイルを介して適用できます。 8Gを追加すると、悪意のあるリクエスト、悪質なボット、自動攻撃、スパム、その他多くの種類の脅威に対し、サーバーレベルで強力な保護が提供されます。サイトのセキュリティと安心感を向上させる、軽量でありながら非常に強力なファイアウォールです。
要するに、設定ファイルのみで実現しているファイアウォールなので、追加モジュールなどは一切不要ということ。
使い方
インストール
7G Firewall for Nginxからパッケージをダウンロード。
Downloadの項にリンクがある。zip形式のファイルがダウンロードされる。
# unzip 7G-Firewall-Nginx-v1.6.zip
nginx.conf設定
7G-Firewall-Nginx-v1.6/7G-Firewall-Nginx
の下にある二つにファイルを、nginx.confのあるディレクトリにコピー。
# cd 7G-Firewall-Nginx-v1.6/7G-Firewall-Nginx
# cp 7g.conf 7g-firewall.conf /usr/local/etc/nginx
/usr/local/etc/nginx/nginx.conf
を編集し、7g-firewall.conf
をhttp
ディレクティブ内で、7g.conf
をserver
ディレクティブ内で、それぞれincludeする。
http {
:
:
include 7g-firewall.conf
:
:
server {
include 7g.conf;
:
:
}
}
nginx再起動
nginx
を再起動する。
# sudo service nginx restart
所感
手軽でいい。
でもNaxsiを使えるなら、なくてもいい。Naxsiが使えなくなった場合の保険だと思っておけばいいかもしれない。
似た感じのものに、Ultimate Bad Bot and Referrer Blockerというものも見つけた。こちらはportsに入っているので、portmasterで適用可能。もっと早く見つけたかった。