2003-08-06 6440歩

λ apache で特定の拡張子以外のアクセスを禁止

つーか某サイボウズ用の設定。 httpだとBasic認証、httpsだと証明書認証の設定は Location を使っている。

ScriptAlias /cybozu/ "/home/cybozu/cbag/"
<Directory "/home/cybozu/cbag">
  DirectoryIndex      ag.cgi
  Options None
  AllowOverride None
  Deny from all
  <FilesMatch "\.cgi$">
      Allow from all
  </FilesMatch>
</Directory>
<VirtualHost _default_:80>
  <Location "/cybozu">
    AuthUserFile        /home/hoge/hogepassword
    AuthGroupFile       /dev/null
    AuthName            hoge_auth
    AuthType            Basic
    require valid-user
  </Location>
</VirtualHost>
<VirtualHost _default_:443>
  <Location "/cybozu">      
    SSLRequire %{SSL_CLIENT_I_DN_CN} eq "Hoge CA"
  </Location>
</VirtualHost>

λ [FreeBSD] Using Kerberos for WWW Authentication

Heimdalベースのシステム上のapacheに mod_auth_kerb を乗せようとすると Kerberos Module for Apacheのじゃダメで、 上記URLのところにある奴 が必要だった。

さらにこの中で参照している kafs.h はAFS関連のようだけど、FreeBSD-5.1Rでは入ってないので、 afsと名の付くコードは軒並み削除して作ってみた。必要なライブラリがドキュメントと微妙に異なるのをlocateコマンドで探し出しつつコンパイル。

/usr/local/sbin/apxs -c -i -a -DAPXS2 -DKRB5 \
      -lkrb5 -lgssapi -lasn1 -lcom_err -lroken \
      mod_auth_gss_krb5-apache2.c 
      # -I/usr/src/crypto/heimdal/lib/kafs

しかし使ってみたところではkeytabファイルが必要な模様。 面倒になってkeytabファイルを作っていないが一応KDCに向かってパケットが飛んでいるのは確認した。

結局keytabファイルが要るんだったらPAM経由のが楽だよなあ。というわけで mod_auth_kerb はステ認定。 AFSを使って認証の自動化してる環境じゃないと意味がないというか、わざわざ使いたいと思わないちゅーことだな。

[]