Linux系OSでは、リモートホストからのアクセスを制限することができます。
本記事では、hosts.allowとhosts.denyファイルで設定するだけで外部からのアクセスを制限する方法を紹介します。
アクセス制限は以下のように行われています。
1、/etc/hosts.allowに指定されたホスト(ホスト名またはIPアドレス)からのアクセスが許可されます。
2、/etc/hosts.allowで許可したホストを除外し、/etc/hosts.denyに指定されたホストまたはIPアドレスからのアクセスは拒否されます。
3、上記いずれにも該当しないホストからのアクセスは許可されます。
hosts.allowとhosts.denyでの記述方法を紹介します。
デーモン名:ホスト名またはIPアドレス
hosts.allowの記入例:
ALL : 127.0.0.1
sshd: 203.161.22.39 \
212.15.139.40
vsftpd: 203.161.22.39/255.255.255.224 \
212.15.139.40
hosts.denyの記入例:
ALL : ALL
以上の設定について、hosts.allowで
ALL : 127.0.0.1
の設定によって、サーバ自分自身のアクセスをフルー許可します。
sshd: 203.161.22.39 \
212.15.139.40
の設定によって、IP203.161.22.39やIP212.15.139.40からのsshを許可します。
vsftpd: 203.161.22.39/255.255.255.224 \
212.15.139.40
の設定によって、IP203.161.22.39やIP212.15.139.40からのFTPアクセスを許可します。
hosts.denyファイルで記入した
ALL : ALL
は、全てのアクセスを拒否します。つまり、hosts.allowの中で記入しているIPのみアクセスできますが、それ以外のアクセスは拒否します。
以上、メモーを。
追加
/etc/hosts.allow と /etc/hosts.deny の書式:
daemon_list : host_list [ : command : command ...]
daemon_list
アクセスを制御するサービス名を指定します。スペースまたはカンマで区切ることで複数指定することができます。ここに指定する名前は、サービスのプログラム名であることに注意してください。
例えば、TELNET のサービスを提供する場合は、in.telnetd と指定する必要があります。また、すべてのサービスを指定する場合は、ALL を指定します
host_list
アクセスを制御するホスト名、または IP アドレスを指定します。スペースまたはカンマで区切ることで複数指定することができます。ドメイン名やネットワークアドレスも指定でき、またワイルドカードも使用できるので、同一ドメインや同一ネットワークを一括して指定することもできます。指定可能なワイルドカードを以下に示します。
ALL すべてのホストにマッチする。
LOCAL localhost のようにドット(.)を含まないホストにマッチする。
UNKNOWN アクセス元のユーザー名かホスト名のいずれかが不明な場合にマッチする。
KNOWN アクセス元のユーザー名とホスト名が両方ともわかっている場合にマッチする。
PARANOID ホスト名と IP アドレスが異なる場合にマッチする。
EXCEPT 例外
command オプションの設定項目です。
daemon_list で呼び出されるサーバープログラムとは別に実行するコマンドをフルパスで指定することができます。
♪ 当記事がお役に立ちましたらシェアして頂ければ嬉しいです。
★ 当記事を閲覧の方は下記の【関連記事】も閲覧していました。
コメントする