hosts.allow / hosts.deny の設定確認

各種デーモンのアクセス制限にinetdでtcpwrapperを使っている場合は

/etc/hosts.allow
/etc/hosts.deny

にその制限内容を書くわけですが
その内容に間違いや問題がないかどうかをチェックするためのコマンドがあります。

  1. 書式の間違いなどをチェックする(tcpdchk)

    これにはtcp_wrappersパッケージに入っているtcpdchkコマンドを利用します。

    % /usr/sbin/tcpdchk

    この結果何も表示されなければOKです。
    問題がある場合はここでエラーメッセージが表示されます。

  2. 制限内容に問題がないか確認する(tcpdmatch)

    tcpdchkと同じくtcp_wrappersパッケージに入っているtcpdmatchコマンドを利用します。

    例) sshdへのアクセス制限を確認(192.168.1.1のみ許可しそれ以外は禁止)

       /etc/hosts.allowの内容
       ----------------------
       sshd: 192.168.1.1
       ----------------------

       /etc/hosts.denyの内容
       ----------------------
       ALL: ALL
       ----------------------

      192.168.1.1が許可されていることを確認する

      % /usr/sbin/tcpdmatch sshd 192.168.1.1

      client:   address  192.168.1.1
      server:   process  sshd
      matched:  hosts.allow line 1
      access:   granted

      accessがgrantedとなっていればアクセスが許可されていることになります。

      192.168.1.2が許可されていないことを確認する

      % /usr/sbin/tcpdmatch sshd 192.168.1.2

      client:   address  192.168.1.2
      server:   process  sshd
      matched:  hosts.deny line 1
      access:   denied

      accessがdenidとなっていればアクセスが拒否されていることになります。

inetd+tcpwrapperを使っている場合は設定したら必ず確認しましょうね。

今主流(?)のxinetdではどうやるのだろうか。。。
多分別の何かがあるのでしょうが分かっていません^^;

この記事のトラックバックURL:

http://drupal.395963.com/trackback/52
Shoulder.jp から 2006年06月01日(木) 12時04分 受信

サーバでアクセス制限するために、「TCP Wrapper」を利用する方法がある。