2.6.2.2.4. 拡張機能

拡張機能は、spawn および twist 指示文と一緒に使用される場合に、関連するクライアント、サーバーおよびプロセスの情報を提供します。
以下は、サポートされている拡張機能のリストです。
  • %a — クライアントの IP アドレスを返します。
  • %A — サーバーの IP アドレスを返します。
  • %c — ユーザー名とホスト名、またはユーザー名と IP アドレスなどのさまざまなクライアント情報を返します。
  • %d — デーモンのプロセス名を返します。
  • %h — クライアントのホスト名 (または、ホスト名が利用できない場合は IP アドレス) を返します。
  • %H — サーバーのホスト名 (または、ホスト名が利用できない場合は IP アドレス) を返します。
  • %n — クライアントのホスト名を返します。利用できない場合は、unknown が出力されます。クライアントのホスト名とホストのアドレスが一致しなければ、paranoid が出力されます。
  • %N — サーバーのホスト名を返します。利用できない場合は、unknown が出力されます。サーバーのホスト名とホストのアドレスが一致しなければ、 paranoid が出力されます。
  • %p — デーモンのプロセス ID を返します。
  • %s —デーモンプロセスおよびサーバーのホストまたは IP アドレスなどの、さまざまな種類のサーバー情報を返します。
  • %u — クライアントのユーザー名を返します。これがない場合は、unknown がプリントされます。
以下のサンプルルールは、カスタマイズされたログファイルでクライアントホストを識別するために、spawn コマンドと共に拡張を使用します。
SSH デーモン (sshd) への接続が example.com ドメインにあるホストから試行される際に、クライアントのホスト名 (%h 拡張を使用) を含む試行を特殊ファイルのログに記録するために echo コマンドを実行します。
sshd : .example.com  \
	: spawn /bin/echo `/bin/date` access denied to %h>>/var/log/sshd.log \
	: deny
同様に、拡張機能はクライアントに返すメッセージをカスタマイズするために使用できます。以下の例では、example.com ドメインから FTP サービスにアクセスを試行しているクライアントは、それらがサーバーに接続するのが禁止されていることを通知されます。
vsftpd : .example.com \
: twist /bin/echo "421 %h has been banned from this server!"
利用可能な拡張機能および追加のアクセス制御オプションについての総合的な説明は、hosts_access man ページのセクション 5 (man 5 hosts_access) およびhosts_options man ページを参照してください。
TCP Wrapper についての詳細は、「その他のリソース」を参照してください。