TCP Wrapper:ネットワークサービスへのアクセス制御を行うためのセキュリティツール

tcpwrapper

TCP Wrapperについての概要と詳細

TCP Wrapperとは

TCP Wrapper(TCPラッパー)は、UNIXおよびLinuxシステムでネットワークサービスへのアクセス制御を行うためのセキュリティツールです。サーバーのinetdxinetdなどのスーパーサーバー経由で起動される各種ネットワークサービス(telnet, ftp, ssh, pop, imap など)に対し、接続元IPアドレスやホスト名を元に許可・拒否のポリシーを適用できます。

主な役割

  • サービスごと・接続元ごとにきめ細やかなアクセス制御
  • セキュリティレベル向上のためのネットワークフィルタリング
  • 不正なアクセスの遮断や監視ログの取得

制御の仕組み

TCP Wrapperは、サービスの起動時に/etc/hosts.allow/etc/hosts.denyの2つの設定ファイルを参照します。これらのファイルのルールに従って、サービスへのアクセスを許可または拒否します。

アクセス制御ファイルの例

# /etc/hosts.allow
sshd: 192.168.1.0/255.255.255.0
ftp: .example.com

# /etc/hosts.deny
ALL: ALL
  • /etc/hosts.allow:許可するサービス・ホストを指定(先に評価される)
  • /etc/hosts.deny:拒否するサービス・ホストを指定(allowに該当しない場合に適用)

利用例

  • 特定のネットワークだけからSSHログインを許可し、他は拒否
  • 組織内ネットワークからのみFTPサーバの利用を許可
  • 不正アクセス試行をすべて拒否し、ログに記録

よく使われるサービス

  • sshd(OpenSSHサーバ)
  • vsftpdやproftpdなどFTPサーバ
  • telnetd、pop3d、imapdなどのinetd/xinetd管理サービス

※最近の多くのサービスはsystemd管理になり、TCP Wrapper非対応のものも増えています。

導入・編集時の注意点

  • 全てを拒否する設定(ALL: ALL)は、管理端末からのアクセスも遮断するため、テストしながら段階的に設定しましょう。
  • システムによってはtcpdパッケージのインストールが必要です。
  • サービスごとにTCP Wrapper対応かどうかを確認してください。

まとめ

TCP Wrapperは、ネットワークサービスへのアクセス制御を簡易的かつ柔軟に実現できる古典的なセキュリティ対策ツールです。昨今はfirewalldやiptablesなどカーネルレベルのファイアウォールと併用されることが多いですが、シンプルなアクセス管理や追加のセキュリティ層として今も活用されています。