tcpwrapperとiptables

疑問

どうしてかは思い出せないが、tcpwrapperはxinetd経由の場合にのみ意味があると認識していて、下記の様な考えになっていた。

  • 今時xinetd経由のプログラムなんてほとんど皆無。設定する意味ないでしょう。
  • iptablesでパケットレベルでがっちり遮断すれば十分。なんで同じ様な機能があるんだ。

新しい認識

  • xinetdを経由しないプログラムでも libwrap.so をリンクしているやつはtcpwrapper対応できる。
    • tcpwrapper対応しているかどうかの見分け方。
      1. strings -f プログラムバイナリ | grep hosts_accessRedHatが書いている方法
      2. ldd プログラムバイナリ | grep libwrap ※ストレートな方法(だよな)
  • xinetdを経由せず、libwrap.so もリンクしていないやつはtcpwrapperでは対応できない。iptablesを使うしかない。
  • iptables → プログラム内での tcpwrapper によるフィルタリング、は可能。2重で実施してセキュリティ強化をはかっても良い(sshdとか特に大事なところ)。
  • tcpwrapper は都度設定を読み直すのでプログラムの再起動なしで設定変更できる(効率は高くなさそう)。