Apache2にSSLを設定して,WebDAVサーバを動かす
HTTPS(SSL)上でWebDAVを動かす
特にハマりそうなところはなかった.
どちらかというと,SSL, HTTPS自体のセットアップに手間がかかったので,
それを詳しくメモった方が良さそうではありますが.書くのも面倒なので...そのうち
httpd.confより抜粋
# https 用 virtualHost記述
<VirtualHost _default_:443>
ServerName kamoland.com:443
DocumentRoot /var/www/ssl/
Alias /davssl /var/www/davssl
SSLEngine on
SSLCertificateFile /usr/local/apache2/ssl/kamoland_ca.crt
SSLCertificateKeyFile /usr/local/apache2/ssl/kamoland.com_run.pem
CustomLog logs/ssl_log combined
</VirtualHost>
# Webdav on ssl 用
<Directory /var/www/davssl>
DAV On
AllowOverride None
Options None
AuthName "WebDAV Folder"
AuthType Basic
AuthUserFile /usr/local/apache/conf/.dav
<LimitExcept HEAD OPTIONS>
Require user davuser
</LimitExcept>
</Directory>
この設定の意図するところは,
- https://kamoland.com/davssl
配下でWebDAV共有しているフォルダを,
- Basic認証で隠しておきたい.
- さらに,Basic認証のパスワードや通信内容をSSLで暗号化することで,盗聴を防ぎたい
ということなので,もし間違えて
- http://kamoland.com/davssl
で参照しようとしたときは,却下されるのが望ましい動きです.
しかしそれが実現されているかどうかが,いまいち怪しい.
結果的にはアクセス却下されているようなんですが,エラーの出方が腑に落ちない.
WebDAV共有フォルダに対してAliasを切るんじゃなくて,
https用DocumentRootの配下に共有フォルダを作ってしまう方が,単純でいいのかも.
(でもかなり気持ち悪い.覗かれないかどうかの秘匿性の検証を十分にやっておきたい)
ssl.conf - 全て
Listen 443
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
SSLPassPhraseDialog builtin
SSLSessionCache dbm:logs/ssl_scache
SSLSessionCacheTimeout 300
SSLMutex file:logs/ssl_mutex
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
<Files ~ "\.(cgi|shtml|phtml|php3?)$">
SSLOptions +StdEnvVars
</Files>
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
CustomLog logs/ssl_request_log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
※ 注:これらの設定は,
フィクションです.
(動作は確認済みですが,実際に運用しているわけではありません.侵入されたら困るので)