TOP › Forums › 使い方全般(Fixing KUSANAGI) › kusanagi waf onを実行してもnaxsiモジュールが有効化されない
- This topic has 2 replies, 2 voices, and was last updated 3 months ago by
kenfm0411.
-
AuthorPosts
-
-
2026年7月30日 at 10:09 #1679
kenfm0411
Participantお世話になっております。WAF(naxsi)の有効化について、うまくいかない点があり、ご教示いただけますでしょうか。
■環境
KUSANAGI 9.10.1-1.el9
ConoHa VPS / CentOS Stream 9
nginx131 単独構成■症状
kusanagi waf on を実行すると「waf completed.」と表示され、kusanagi waf statusも「waf is on.」を返します。しかし、実際にはnaxsiが機能していないようです。具体的には、nginx.confのnaxsiモジュールのload_module行が、コメントアウトされたままです。
#load_module /opt/kusanagi/nginx131/lib64/modules/ngx_http_naxsi_module.so;
kusanagi waf off → kusanagi waf on と繰り返しても、この行の # が外れません。また、waf on 実行時に、ドキュメントにある「初回の関連パッケージのインストール」は発生しませんでした(nginx の設定テストと再起動のみ)。
そのため、攻撃を想定したテストリクエスト(SQLインジェクション風のクエリ)を送っても、ssl_error.logにnaxsiの検知記録(NAXSI_FMT)が出ず、naxsiが適用されていない状態です。
なお、ユーザー名.wp.incには include naxsi.d/wordpress/*.conf; が既に存在しており、naxsiルールを読む仕込み自体はあるようです。
■お伺いしたいこと
kusanagi waf onでnaxsiモジュール(load_module)を正しく有効化するには、何を確認・実行すればよいでしょうか。関連パッケージのインストールが必要な場合、その手順もご教示いただけますと幸いです。
-
2026年7月30日 at 11:20 #1680
hideishi
Participantkenfm0411さん
kusanagiのnginxはnaxsiを静的モジュールとしてコンパイル済です。
nginx.confのload_moduleはコメントアウトする必要はありません。
また /opt/kusanagi/nginx131/lib64/modules/ngx_http_naxsi_module.so も存在しません。
歴史的経緯から、まぎらわしい設定コメントが残っていてすみません。
なお、ドキュメントにある「初回の関連パッケージのインストール」はhttpdの場合に発生します。
nginxは上記の通り同梱なので発生しません。/etc/opt/kusanagi/nginx/conf.d/kusanagi_naxsi_core.confにコメントがなく
/etc/opt/kusanagi/nginx/conf.d/プロファイル.wp.incのinclude naxsi.d/...にコメントがなければ
有効化されています。naxsiはWordPressやPHPを通る処理にのみ設定しているので、URLやリクエストの内容によっては通らないことが考えられます。
URLがPHPファイルのパスであるか確認いただけますか。
WordPressの場合 / などのURLへのアクセスを別のURLにリダイレクトし、その際にクエリストリングが欠落することがあります。curl -i -L 不正なクエリのURLのようにHTTPヘッダを表示しつつ、リダイレクトを追うようにすると確認しやすいです。または DocumentRoot 直下に
<?phpのみの hoge.php を作って hoge.php にテストクエリを付加してみてください。-
This reply was modified 3 months ago by
hideishi.
-
This reply was modified 3 months ago by
-
2026年7月30日 at 12:45 #1682
kenfm0411
Participanthideishiさん
ご丁寧な回答、ありがとうございます。おかげさまで解決いたしました。
naxsiが静的モジュールとしてコンパイル済みであることを理解しておらず、load_module がコメントアウトされているのを見て「無効」と誤解しておりました。紛らわしいコメントの件、とんでもないです。了解いたしました。
有効化の条件(kusanagi_naxsi_core.confおよびプロファイル.wp.incのinclude naxsi.d/… にコメントが無いこと)も確認でき、両方とも満たしておりました。
検知されなかった原因も、ご指摘の通りでした。
トップページへのテストクエリが、リダイレクトの際に欠落していたためでした。教えていただいた通り、DocumentRoot直下に <?phpのみのテスト用ファイルを作成し、そこにテストクエリを付けてアクセスしたところ、ssl_error.logにnaxsiの検知記録が出ることを確認できました。
当方のテスト方法とコメントの読み違いが原因でした。お手を煩わせてしまい申し訳ありませんでした。
丁寧にご教示いただき、大変助かりました。ありがとうございました。
-
-
AuthorPosts
- You must be logged in to reply to this topic.