アーカイブ

Posts Tagged ‘fedora18’

Fedora18のApache2.4の罠

Fedora17までApache2.2がデフォルトだったのですが、Fedora18からApache2.4がデフォルトとなりました。
その影響でACL周りが大幅に変更され、以前の設定が機能しなくなります
場合によってはアップグレードの結果全てのACL設定が無効になって公開されてしまう可能性があるので注意。
(具体的には/var/www/htmlの下や~/public_htmlあたりはデフォルトがAllowなので.htaccessに書いてあったACLが無効になってしまう可能性有。)

さて、今まで当然のように使っていた

Order allow,deny
allow from 192.0.2.0/24
deny from all

ですが、一応mod_access_compatで提供されるもののApache2.4では使用が推奨されません。
Fedora18のApacheではデフォルトでは使用できないようです。デフォルトがDenyのところをDirectoryでAllowしても

[authz_core:error] [pid 25916] [client 192.0.2.100:50340] AH01630: client denied by server configuration:

となりました。
新しいmod_authz系だけではこの記述を無視するようです。

ホワイトリストの新しい書き方は

Require ip 192.0.2.0/24

のようです。
逆に、ブラックリストは

<RequireAll>
Require not ip 192.0.2.100
Require all granted
</RequireAll>

とします。ちょっと掴みづらい。
ipではなくhostとするとドメイン名を指定できます。「host」なのにドメイン。ipは単純なIPv4/v6アドレスの他、prefix表記のサブネット、mask表記のサブネットも受け付ける模様。
RequireAllとRequireAny、RequireNoneを組み合わせて複雑な指定が可能になった上、
意味のない指定(RequireAnyの中でall grantedとnot ipを同時に記述するなど)をすると500を吐いてアクセスできなくなります。安全側に倒しているということでしょう。

公式の移行ガイドはこちら
mod_authz_coreのマニュアルmod_authz_hostのマニュアルも参照。

カテゴリー:GNU/Linux タグ: ,