|
|
 |
| >IT技術情報>システム/サーバ構築>0からのApache第11回:Apache拡張設定(WebDAV編 その2)
|
 |
 |
【連載 】0からのApache
第11回:Apache拡張設定(WebDAV編 その2)
|
|
前回はWebDAVの機能を使用して、WWWサーバに対してファイルサーバの機能を持たせました。 実はこのままでは、Web上で公開するには問題があります。その問題というのはWWWサーバに対してのアクセスに関する事と日本語のファイルが使えない事です。適切なセキュリティを実装していないと、悪意を持ったユーザに荒されてしまう事になってしまいます。今回はそのWebDAVで公開されているディレクトリに対してのセキュリティの実装と、日本語環境でも使えるようにするための設定について述べていきます。
|
水本 敦士
株式会社アイティーブースト
2004/6/14 |
|
 |
|
 |
 |
【 目次 】
1.はじめに
2.サーバに対するアクセス制限
2_1.ホストベースセキュリティ
2_2.ユーザベースセキュリティ
3.転送中のデータ保護
3_1.SSL通信の開始
3_2.クライアント(Windows)の設定
4.日本語環境への移行
4_1.mod_encodingのダウンロード
4_2.mod_encodingのインストール
4_3.mod_encodingを有効にする
|
 |
【実行環境】
RedHatLinux9.0
httpd-2.0.49
openssl-0.9.7d
WindowsXP |
|
1.はじめに
前回までで、WWWサーバにWebDAVの機能を追加して、ファイルを格納する所まで行いました。しかし、このWebDAV機能付加WWWサーバはまだWeb上に公開して運用できるようなものではありません。なぜなら、このWWWサーバはアクセス制限を行なっておらず、また文字コードの問題があるのです。
そのアクセス制限には以下の2点があります。
- 現状誰でも、このサーバにアクセスする事ができてしまう。
- 転送中のデータが平文で、悪意をもったWeb上のユーザに見られてしまう。
また文字コードの問題というのは、現状では日本語表記のファイルが使用できないと言う事があります。
今回は、上記で上げたアクセス制限を行い、日本語環境で使用できるようにして、Web上で公開するためにはどうすれば良いかを説明していきます。
2.サーバに対するアクセス制限
まず、サーバに対するアクセスに関して、適切なセキュリティを実装して行きます。サーバに対するアクセス制限のかけかたとしては、以下の二通りの方法があります。(詳しくは「第4回:Apache基本設定パート2」を参照してください。)
| (1) |
WWWサーバにアクセスしてくるホストを制限する。
これはApacheのホストベースセキュリティの機能を使用します。Apacheのホストベースセキュリティは、ディレクトリやファイル単位で行なうことができます。そのため、今回はWebDAVで公開されているディレクトリに対してアクセスを許可したIPアドレスからしかアクセスできないように、設定を行なっていきます。 |
 |
|
| (2) |
WWWサーバにアクセスしてくるユーザを制限する。
これはApacheのユーザ認証の機能を使用します。このユーザベースセキュリティもディレクトリやファイル単位でセキュリティをかける事ができます。今回はWebDAVで公開しているディレクトリに対するユーザの認証を行なっていくようにします。
|
 |
|
2_1.ホストベースセキュリティ
ここでは、WebDAVで公開されているディレクトリに対してセキュリティをかけることにします。ここでの例では、アクセスを許可するクライアントは192.168.0.0/255.255.255.0のネットワークに所属するクライアントのみとし、その他のクライアントはアクセスできないようにします。
設定する箇所は前回、httpd.confでWebDAVの設定を行なったディレクィブに追加していきます。
<httpd.conf>
DavLockDB /var/lock/dav/DavLock
<Location /davdav>
Allow from 192.168.0.0/255.255.255.0 ・・・(1)
Deny from ALL ・・・(2)
Order Deny,Allow ・・・(3)
Dav on
</Location> |
| (1) |
許可するホスト(ネットワークアドレス)を指定します。 |
| (2) |
全てのホストを拒否します。 |
| (3) |
評価順番を指定します。 |
以上のように設定する事により、192.168.0.0/24のネットワークに所属するマシンのみがアクセスを許可されるようになります。
2_2.ユーザベースセキュリティ
上記の設定で、アクセスしてくるマシンを決めましたが、これだけでは未だ安全とはいえません。アクセスを許可しているマシンを常に同じユーザが使用し、他のユーザはまったく使えないのであれば良いのですが、実際はそのような事はありません。そのため、次はWebDAVにアクセスしてくるユーザに対しての制限をかける必要があります。
今回はApacheの機能を使用して、アクセスしてくるユーザの制限をかける事にします。使用する認証としては色々なブラウザで使用する事ができるBasic認証を使用します。Basic認証についてはユーザ名とパスワードを平文でサーバに送信するため、セキュリティ上良くないように思えますが、後述するSSL通信を行えるApacheの環境であれば、全て通信は暗号化されるため、特に問題はありません。
以下のようにhttpd.conf内のWebDAVの記述にBasic認証の内容を追加していきます。
<httpd.conf>
DavLockDB /var/lock/dav/DavLock
<Location /davdav>
Allow from 192.168.0.0/255.255.255.0
Deny from ALL
Order Deny,Allow
AuthType Basic ・・・(1)
AuthName "The directory exhibited by WebDAV" ・・・(2)
AuthUserFile "/usr/local/apache2/conf/.davpasswd" ・・・(3)
Require valid-user ・・・(4)
Dav on
</Location> |
| (1) |
ユーザ認証のタイプを指定します。今回はBasicと指定します。 |
| (2) |
ユーザ名とパスワードを入力するダイアログに表示される題名を指定します。 |
| (3) |
ユーザ認証で使用するユーザ名とパスワードの入ったファイルの場所を絶対パスで指定します。
今回はApacheの設定ディレクトリの中にファイルを作成します。ファイル名は任意ですが、ファイルのセキュリティを確保するために、ファイル名の先頭に"."をつけて隠しファイルにします。 |
| (4) |
このディレクトリにアクセスできるユーザを指定します。今回は、/usr/local/apache2/conf/.davpasswdに登録されている全てのユーザが使用できるように、"valid-user"にします。 |
次にWebDAVで公開されたディレクトリに対しての、アクセスを許可するユーザを登録します。ユーザ登録にはApacheが提供しているツール、htpasswdを使用します。
例えば、WebDAVで公開されたディレクトリにアクセスできるユーザを"davuser"とした場合は以下のようなコマンドになります。また、現在、ユーザ名とパスワードの入ったファイルは作成されていないので、新規に作成する必要があります。そのため、コマンドオプションの"-c"を付加して実行します。
# /usr/local/apache2/bin/htpasswd -c /usr/local/apache2/conf/.devpasswd davuser
New password: ← ユーザのパスワードを入力します。表示はされません。
Re-type new password: ← 上と同じパスワードを入力します。表示はされません。
Adding password for user davuser |
>>次のページへ
|
 |
【 ページ 】 | 1 | 2
| 3
|
|
 |
【 関連記事 】
|
|
 |
 |
|
サイト内全文検索 |
| スタックアスタリスクのサイトを検索します。検索には、Googleを利用しています。そのため、最新の情報で検索されない可能性があります。 |
|