出版

Apacheでウェブサイトを運営している場合、サーバーがサブディレクトリをリストしないようにしたい場合があります。Apacheサーバーを安全に保護するための2つの簡単なコツをご紹介します。

Apache をセットアップし、サイトを完璧に運用しています。少なくともそう思っていました。
チームメンバーから、Apacheサーバーのフォルダ階層を移動できると連絡がありました。これは、望ましくないセキュリティ問題を引き起こす可能性があります。
この問題を解決するのは非常に簡単で、個々のサイトに対しても、ドキュメントルート(Apacheサイトが提供されるデフォルトの場所)に対しても実行できます。これを実現する簡単な方法は2つあります。両方ご紹介します。
Apacheが稼働しており、サイトを提供していることを前提としています。また、サイトは標準のロケーションと非標準のロケーションの両方に存在するものとします。この例では、サーバーのドキュメントルートを/var/www/に設定し、非標準のサイトは/srv/wwwから提供します。デモはUbuntu Server 16.04上のApache2で行います。
参照: ネットワーク セキュリティ ポリシー (Tech Pro Research)
Apache設定ファイルの操作
ドキュメントルートは /var/www です。テスト目的で、/var/www/html/test と /var/www/test/test1 というフォルダがあるとします。
これらの変更を行う前に、ブラウザで http://IP_OF_SERVER/test (IP_OF_SERVER はサーバーの IP アドレス) にアクセスすると、test1 フォルダが表示されます (図 A )。
図A

これを防ぎましょう。ターミナルウィンドウを開き、/etc/apache2ディレクトリに移動します。お好みのテキストエディタでapache2.confファイルを開きます(ファイルの編集には管理者権限が必要です)。 <Directory />セクションが表示されるまで下にスクロールします(図 B)。
図B

このセクションを編集します:
â Options Indexes FollowSymLinks
â AllowOverride None
â Require all granted
â
「インデックス」オプションを削除して、インデックスをオフにします。新しいセクションは次のようになります。
â Options FollowSymLinks
â AllowOverride None
â Require all granted
â
ファイルを保存して閉じます。次のコマンドでWebサーバーを再起動します。
sudo service apache2 restart
ブラウザを同じディレクトリに戻すと、404 Not Found エラーが表示されます。
htaccessの使用
この問題に対処する別の方法を見てみましょう。今回はhtaccessを使用します。これにより、サーバー上の任意の仮想ホスト内の任意のフォルダのディレクトリ一覧を簡単にブロックできます。
/srv/ww wから提供されるサイトを設定します。このサイトの .conf ファイルは既に/etc/apache2/sites-availableに設定済みです(また、 /etc/apache2/sites-enabledにリンクされています)。お気に入りのエディタで .conf ファイルを開き、「Directory」セクションの「AllowOverride None」を「AllowOverride All」に変更します。ファイルを保存して閉じます。
次に、対象フォルダ(この場合は/srv/www )に新しい.htaccessファイルを作成します。ターミナルウィンドウからsudo nano /srv/www/.htaccessコマンドを実行します。この新しいファイルに、以下の行を追加します。
Options -Indexes
ファイルを保存して閉じます。次のコマンドでApacheを再起動します。
sudo service apache2 restart
非標準サイトでは、サブディレクトリを表示しようとすると、403 アクセス禁止エラーが表示されます。
完了しました
おめでとうございます!Apacheサイトからディレクトリが表示されなくなりました。これは、Apacheウェブサーバーを保護し、ユーザーが閲覧すべきでないディレクトリやファイルを閲覧できないようにするための非常に簡単な手順です。
こちらもご覧ください
- Apacheの代わりにNGINXを使うべき時
- Apache 2 が PHP ファイルを実行しない問題を修正する方法
- Apache 2 サーバーを 4 つのステップで保護する方法
- Ubuntu 16.04にWordPressをインストールする方法
- UbuntuとCentOSにmemcachedをインストールして有効にする方法
- 電子書籍: ミュンヘンが Windows から Linux に切り替えた理由 - そして方向転換の可能性も (PDF ダウンロード)
- マーク・シャトルワースがいかにしてアフリカ人として初めて宇宙に行き、ソフトウェア革命を起こしたか(PDFダウンロード)

ジャック・ウォーレン
ジャック・ウォーレンは、TechRepublic、The New Stack、Linux New Mediaなどで受賞歴のあるライターです。20年以上にわたり様々なトピックを執筆し、オープンソースの熱心な推進者でもあります。ジャック・ウォーレンに関する詳細は、ウェブサイトjackwallen.comをご覧ください。