・xinetd 2.3.7 のインストールと設定 $ tar xzf xinetd-2.3.7.tar.gz $ cd xinetd-2.3.7 $ ./configure $ make # su # make install # cp -p contrib/xinetd /etc/rc.d/init.d/. # chown root:root /etc/rc.d/init.d/xinetd # mkdir /etc/xinetd.d # chkconfig --add xinetd/etc/xinetd.conf 644
# /etc/xinetd.conf defaults { # 同時に起動できるサービスの数は 60 instances = 60 # ログファイルの指定 log_type = FILE /var/log/xinetd.log # ログインに成功したらクライアント (IP アドレス) と PID をログに記録 log_on_success = HOST PID # ログインに失敗したらクライアント (IP アドレス) をログに記録 log_on_failure = HOST # 1 秒間に 25 コネクション (リトライに 30 秒) : DoS 対策 cps = 25 30 } # 追加設定ディレクトリの指定 includedir /etc/xinetd.d/etc/xinetd.d/telnet 644 telnet の例# /etc/rc.d/init.d/xinetd start※ SO_REUSEADDR をセット 使用するポートが使用中 (制御ブロックが残存) であっても再利用を行う。 デーモンを再起動したときにそのポートが使用中だと、 タイムアウトが起きるまで長時間待つことになるので、これを回避する。
service telnet { # SO_REUSEADDR をセットする ※ flags = REUSE # telnetd はストリームサービスなのでソケットは stream socket_type = stream # シングルサービスではないので wait は no wait = no # root 権限で実行する user = root # デーモンの実体を指定 server = /usr/sbin/in.telnetd # ログインに失敗したらユーザ名 (identd) を追加してログに記録 log_on_failure += USERID # サービスを禁止しないので disable は no disable = no # 特定ホストからの接続だけを許可 only_from = client.example.com }