ちまたをちょっとだけ騒がせた、POSTで送る同値の変数を大量に送りつけて
サービスを重くさせるDDoS対応のバージョンということで、
なんか新しくLemonとかいうのが必要になっているのだけれど、それも含めてサクっとインストール。

話題になった点の対処として、max_input_vars ディレクティブを追加。
デフォルトは1000なのだけれど、このサイトでそんなにパラメータを使うことはないので、
以下の設定にした。

max_input_vars = 50

それはそれとして、そろそろPHPを置いてるディレクトリについても、
制限をかける頃合いになってきたと思うので、更に以下を追加。

phpが触れるファイルの場所を open_basedir 配下のみに限定させる。

open_basedir = “/opt/htdocs:/opt/apache/conf:/var/tmp”

phpがファイルを検索する場所のリスト include_path を設定。
include_pathの設定は適切に行えば、自前のライブラリ置き場として使える。

include_path = “.:/opt/php/lib/php:/opt/htdocs/phplib”

既存のソースもひと通り、ライブラリ側を利用するように変更して、
試しに幾つかの画面を表示させてみると、そこにはなつかしのPHPエラー画面が。

open_basedirの設定は、phpが操作する全ファイルが対象になるので、
phpのセッション情報置場の /var/tmp と、2ch proxyの allowlist.db が設定から漏れていた。
上記2つの場所も追加して、ようやく事象は解決。

次は、phpから実行できるプログラムの制限をしたいのだけれど、どうやればいいのだろう?

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です