TCP Wrapper

TCP Wrapper は、LinuxやBSD系の（Unix系）オペレーティングシステム上のTCP/IPサーバへのネットワークアクセスをフィルタリングするホストベースのACLシステムである。ホストまたはサブネットのIPアドレス、ホスト名、Identプロトコルのクエリ応答などをアクセス制御のためのフィルタのトークンとして使う。

元のコードを書いたのは Wietse Venema で、1990年から1995年にかけてオランダのアイントホーヘン工科大学に在籍中に開発した。2001年6月1日、このプログラムはBSDライセンスでリリースされた。

TCP Wrapper のtarボールには libwrap というライブラリが含まれ、これに実際の機能が実装されている。当初はinetdのようなスーパーサーバから起動されるサービスだけに対応していて、そのための tcpd というプログラムがあった。しかし、現在ではネットワークサービスを提供するデーモンの多くは、直接 libwrap をリンクできる。これによりスーパーサーバから起動させる形式でないデーモンにも対応でき、単一プロセスで複数のコネクションを制御する場合にも対応できる。さもなくば、最初のコネクションだけがACLに対してチェックされる。

デーモンの構成ファイルにもアクセス制御ディレクティブを書ける場合があるが、TCP Wrapper の場合、実行中にACLの再構成が可能という利点がある（サービスを停止して再起動する必要がない）。

これにより、BlockHosts、DenyHosts、Fail2ban といったワーム対策スクリプトが使いやすくなる。つまり、コネクション数が異常に増えたり、ログイン失敗が発生したときに、クライアントのブロックを追加したり、やめたりといった制御が簡単である。

元々は、TCPおよびUDPのサービスを対象としていたが、例えば特定のICMPパケット（例えば、pingd を使う ping 要求）をフィルタリングすることもできる。

トロイの木馬（1999年） 
1999年1月、アイントホーヘン工科大学の配布パッケージがすりかえられるという事件が発生した。すりかえ後のパッケージはトロイの木馬になっていて、インストールしたサーバ上に容易に侵入できる仕掛けをするようになっていた。すりかえの数時間後には発見され、元のパッケージに置き換えられた。これほど素早く発見されたのは、オープンソースだったからだとの指摘が多数なされている。

関連項目 
DNSBL
ファイアウォール

脚注

参考文献 
 Wietse Venema: <cite>TCP WRAPPER Network monitoring, access control, and booby traps. 1992年6月15日
 Lee Brotzman: Wrap a Security Blanket Around Your Computer Linuxjournal の記事 1997年8月1日

外部リンク 
ITSO: TCP Wrappers overview
HP: TCP Wrappers Information
Example of 'pingd' with libwrap support

UNIXのソフトウェア
オープンソースソフトウェア
セキュリティソフト
ネットワークソフト
Transmission Control Protocol