mod_securityでnginxがクラッシュ?

今日の深夜帯、wgetを用いてmod_securityを使用しているnginxに接続するとnginxそのものがクラッシュして一時閲覧できない状態でした。その時の状況を確認したところ、wgetで自鯖をアクセスする際に起こりました。

wget --no-check-certificate -O - https://127.0.0.1

エラーログを確認しましたが全く出力されず、原因については不明。lynxといったブラウザを使ったソフトでは起こりませんでした。一応この問題はmod_securityを停止させることで解決はしましたが本来通常あり得ない異常なアクセスは403を返すはずですがnginxそのものがクラッシュするからmod_securityの脆弱性という可能性もありますね…

ただし、この環境はやや特殊であること(LibreSSLやHTTP/2に対応)など、相性の問題もあるかもしれません。

ともあれnginxそのものがクラッシュするのは問題であるため、mod_securityは外しました。

さくらが提供しているWAFもインストールできないため、どうすればいいのか…

nginxに移行してみました

どれくらいの効果があるかは分かりませんが。やっぱり、一番大変だったのがApacheの設定をnginxに移植することでしたな。.htaccessを変換してくれる所もあったけど、Apache 2.4に準拠した設定だったためか、思ったように機能してくれなくて大変でした。

Apacheより速いとされるnginxなんですが、ぼくの環境では言うほど変わりません。PHPの設定に問題があるのかもしれませんけど。

勿論、今まで通りHTTP/2にも対応しておりますし、SSLライブラリもBoringSSLに切替えてみました。気分次第では元に戻すかもしれませんので、その辺はあしからず