クラウドで 伸びる人沈む人 |
|
|
|
Apache(httpd)でホームページ(Web)関連の設定を行うNo2(セキュリティ)
<概要> さてさて、引き続き、Aapache(httpd)に必要な設定をみていきますね。 前回のApacheの設定で、ホームページの文字化けが修正できましたね。 でも、文字化けが無くなると、次により安全に運営するための設定を固めましょう。 セキュリティを高めるのは、便利と裏腹ですが、そこは個々人判断していってください。 下記は、私の行った設定です。 ではいってみます。 <ファイル一覧を無くそう> まず問題の第一は、あるディレクトリにアクセスしたときに、 そのディレクトリにindex.htmlが存在していないと、ファイル一覧が表示されてしまうことです。 ファイル一覧が表示されて便利な場合もありますが、公開するときは、最大の弱点です。 試しに、このページを表示をつくってみましょう。 以下の手順で試すことができます。 1./var/www/html/ に aaa というディレクトリをつくってみてください。 2.そのaaaディレクトリに、何かファイルを置いてみてください。(私は、02.gifを起きました) 3.では、ブラウザから、http://192.168.0.102/aaa/ にアクセスしてみてください。 以下のような画面が出てきましたか? このような、ファイル一覧画面を表示させないためには、 設定ファイル(/etc/httpd/conf/httpd.conf)の Options Indexes FollowSymLinks をコメントアウトすることで、一覧画面が表示しないようになります。 以下の実行例のように設定を変更してみてください。 画面に、ファイル一覧が表示されなくなります。 <画面:ファイル一覧を無くそう> このように、index.htmlが無いと、ファイル一覧が表示されてしまいます。 <実行例:ファイル一覧を無くそう> <Directory "/var/www/html"> ・・ 中略 ・・ Options Indexes FollowSymLinks </Directory> ↓変更 <Directory "/var/www/html"> ・・ 中略 ・・ # Options Indexes FollowSymLinks ←コメントアウト </Directory> [root@www html]# /etc/rc.d/init.d/httpd restart ←再起動 httpd を停止中: [ OK ] httpd を起動中: [ OK ] <画面:ファイル一覧を無くそう> ファイル一覧が表示されなくなりましたね。 しかし、このエラーページは、不必要な情報がまだ出ている。 <OSの表示を無くす> さて、ファイルの一覧を表示することは無くなりましたが、 上のエラーページを見てください。 OS(Fedora)とか、Apacheのバージョンとか、不必要な情報が出ています。 この情報を出さないようにすると、一層セキュリティは強化されます。 まずは、OSの表示をなくしましょう。 設定ファイル(/etc/httpd/conf/httpd.conf)の ServerTokens OS ↓変更後 ServerTokens Prod とすると、うまくいきます。 <実行例:OSの表示を無くす> ・・ 中略 ・・ ServerTokens OS ↓変更 ServerTokens Prod [root@www html]# /etc/rc.d/init.d/httpd restart ←再起動 httpd を停止中: [ OK ] httpd を起動中: [ OK ] <画面:ファイル一覧を無くそう> OS(Fedora)の表示が無くなりました。 でも、まだApacheのバージョンが表示されています。 <Apacheのバージョンを出さない> さて、OSの情報は表示されなくなりました。 しかし、まだ駄目ですね。上のエラーページを見てください。 Apacheのバージョン情報が出ています。 この情報を出さないようにすると、一層セキュリティは強化されます。 このApacheの情報を出さないためには、 設定ファイル(/etc/httpd/conf/httpd.conf)の ServerSignature On ↓変更後 ServerSignature Off とすると、うまくいきます。 <実行例:Apacheのバージョンを出さない> ・・ 中略 ・・ ServerSignature On ↓変更 ServerSignature Off [root@www html]# /etc/rc.d/init.d/httpd restart ←再起動 httpd を停止中: [ OK ] httpd を起動中: [ OK ] <画面:Apacheのバージョンを出さない> Apacheの情報も消えました。 これで、不必要な情報は出なくなりましたね。 <おまけ 設定ファイルのメールアドレスも変更> エラーの時に、メールアドレスが表示される時もあるのですが、 それも変更しておいたほうが無難かも。 自分(管理者)のメールアドレスにしておきましょう。 設定ファイル(/etc/httpd/conf/httpd.conf)の ServerAdmin root@localhost ↓変更後 ServerAdmin username@searchman.info と、私はしました。 |