TCP Wrapperとは?
TCP Wrapperの実態は"tcpd"というプログラムです。
tcpdを介してプログラムを起動することにより起動の許可および拒否の
設定を行うことができます。
■VineLinuxでTCP Wrapperを使うには?
・viエディタでinetd.confを開きます
|
[root#] vi /etc/inetd.conf [return]
|
inetd.confファイルの内容を確認
|
<inetd.confファイルより抜粋>
# These are standard services.
#
#ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a
#ftp stream tcp nowait root /usr/sbin/tcpd in.proftpd
#telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
#gopher stream tcp nowait root /usr/sbin/tcpd gn
|
|
ここで、赤い部分に注目です。きちんとTCP Wrapperを介して実行する設定になっています。
つまり、
inetd(スーパーサーバー方式)で起動することにより
TCP Wrapperを介してサービスが起動するようになっています。
▲TCP Wrapper設定手順へ
アクセス制限の設定
今回は、”proftpd”をTCP Wrapper介して起動することにします。
理由は2つあります。
1つ目は、アクセス制限をかけた方がセキュリティ上望ましい。
2つ目は、レスポンスを重視しないため、必要なときのみ起動させる方が効率が良い。
※逆にhttpdはレスポンスを重視して、スタンドアローン方式での起動としました。
以下の手順に従い設定を行います。
■proftpd.confの編集
viエディタでproftpd.confファイルを開きます
|
[root#] vi /etc/proftpd.conf [return]
|
proftpd.confファイルの編集(スーパーサーバー方式に変更)
|
<proftpd.confファイルより抜粋>
#ServerType standalone
ServerType inetd <-スーパーサーバー方式に有効にする
|
|
■inetd.confの編集
viエディタでproftpd.confファイルを開きます。
|
[root#] vi /etc/proftpd.conf [return]
|
inetd.confファイルの編集
(先頭の"#"を削除)
|
<inetd.confファイルより抜粋>
ftp stream tcp nowait root /usr/sbin/tcpd in.proftpd
|
|
■hosts.allowおよびhosts.denyの編集(アクセス制限を設定)
・hosts.denyの編集
viエディタでhosts.denyファイルを開きます。
|
[root#] vi /etc/hosts.deny [return]
|
hosts.denyファイルの編集
(接続全てを拒否:hosts.allowで許可した接続は除く)
|
<hosts.denyファイルより抜粋>
#↓以下の設定を追加(hosts.allowで許可してない接続全てを拒否)
ALL: ALL
|
|
・hosts.allowの編集
viエディタでhosts.allowファイルを開きます。
|
[root#] vi /etc/hosts.allow [return]
|
host.allowファイルの編集
(接続を許可するホストを登録)
|
<inetd.confファイルより抜粋>
#↓以下の設定を追加(hosts.allowで許可する接続を設定)
in.proftpd: localhost (許可するIPアドレスを追加:スペース区切りで登録)
|
|
■inetdの再起動
ターミナル上で以下のコマンドを実行(inetdの再起動)
|
[root#] killall -HUP inetd [return]
|
以上の設定で、TCP Wrapperの設定が有効となります。
▲TCP Wrapper設定手順へ
TCP Wrapperの設定確認
・tpcdmatchコマンドでTCP Wrapperの設定を確認
|
[root@]# tcpdmatch in.proftpd 192.168.0.1 [return]
client: address 192.168.0.1
server: process in.qpopper
matched: /etc/hosts.allow line 10
access: granted ←接続を許可(許可したIPからアクセス)
[root@]# tcpdmatch in.proftpd 192.168.1.1 [return]
client: address 192.168.1.1
server: process in.qpopper
matched: /etc/hosts.deny line 10
access: denied ←接続を拒否(許可していないIPからアクセス)
|
きちんと設定したホストのみアクセスできれば、TCP Wrapperの設定は有効になっています。
▲TCP Wrapper設定手順へ
Copyright(c) 2005, All Rights Reserved.