localhost のみのアクセスを許可する
Apache ウェブサーバーをインストールしたら、通常外部からのアクセスを受けている状態になります。
思わぬところからのアクセスによって問題がおきないように、ports.conf にて Listen を編集します。
特定のディレクトリのみをローカルからのアクセスのみとする場合は 「.htaccess でローカルからのアクセスのみを許可する」を参考にしてください。
ports.conf の編集
Apache のバインディング情報は、ports.conf に記述されています。これは /etc/apache2/ にあります。
$ sudo vi /etc/apache2/ports.conf
として、編集を開始します。次の行を編集します。
Listen 80
この設定では、割り当てられている全ての IP アドレスの TCP 80 番ポートで待ち受けていることになります。
そこで、localhost すなわち 127.0.0.1 (ループバック IP アドレス) のみからのアクセスを受け付けるために、次のように書き換えます。
Listen 127.0.0.1:80
構成を変更したら、Apache を再起動します。
$sudo /etc/init.d/apache2 restart
確認方法
ちなみに、開けているポートを確認するには次のコマンドを利用します。
$ netstat -l
TCP に限定するなら次のオプションです。
$ netstat -l -t
デフォルトの設定では、このマシンに割り当てられている全ての IP アドレスで待ち受けるので、次のように * となります。
$ netstat -l -t Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 localhost.localdo:mysql *:* LISTEN tcp 0 0 *:www *:* LISTEN tcp 0 0 localhost.localdoma:ipp *:* LISTEN ...
上記の設定を実施すると、次のようになり localhost の IP アドレスにのみバインドされていることが分かります。
$ netstat -l -t Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 localhost.localdo:mysql *:* LISTEN tcp 0 0 localhost.localdoma:www *:* LISTEN tcp 0 0 localhost.localdoma:ipp *:* LISTEN ...