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
...

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 Linux 入門