TCP Wrapperによるアクセス制御2013/06/05 |
TCP Wrapperを用いたアクセス制御の実装です。
古くはinetdのようなスーパーサーバから起動されるサービスのみに対応していましたが、
現在ではネットワークサービスを提供するデーモンにも数多く対応しています。
|
|
[1] | TCP Wrapperインストール |
root@dlp:~# aptitude -y install tcpd
|
[2] | TCP Wrapperに対応するサービスかどうかは、libwrapへのリンクが含まれているかどうかで確認できます。 |
root@dlp:~# ldd /usr/sbin/sshd | grep wrap libwrap.so.0 => /lib/x86_64-linux-gnu/libwrap.so.0 (0x00007f52c7576000) # libwrapが含まれているのでTCP Wrapperでアクセス制御できる
|
[3] | TCP Wrapperによるアクセス制御は /etc/hosts.allow と /etc/hosts.deny で行います。 以下、例として、sshd へのアクセスを10.0.0.0/24 からのみ許可する場合の記述です。 |
root@dlp:~#
vi /etc/hosts.deny sshd: ALL
root@dlp:~#
vi /etc/hosts.allow sshd: 10.0.0.
|
[4] | vsftpdへのアクセスを、ホスト「host.example.domain」 からのみ許可する場合 |
root@dlp:~#
vi /etc/hosts.deny vsftpd: ALL
root@dlp:~#
vi /etc/hosts.allow vsftpd: host.example.domain
|
[5] | TCP Wrapperに対応する全サービスへのアクセスを、ドメイン「example.domain」に属する全ホストと、 10.0.1.0/24 からのみ許可する場合 |
root@dlp:~#
vi /etc/hosts.deny ALL: ALL
root@dlp:~#
vi /etc/hosts.allow ALL: .example.domain 10.0.1.
|