接続要求があった場合にサービスを呼び出すことができるスーパーデーモンの1つ「xinetd」。このデーモンには強力なサービス制御機能が備わっている。
ここではその中の1つ「flags」オプションによるトラップ(罠)設置方法について紹介しよう。以下は、例としてftpサービスの設定ファイルを挙げている。このような設定ファイルを用意してグローバルからの要求を受けるようにすると、実際は稼働させていないftpサービスがトラップとして機能し、xinetdを介すほかのサービスへの接続も拒否されるようになる。
# cat /etc/xinetd.d/ftp service ftp { socket_type = stream wait = no user = root server = /usr/sbin/ftpd flags = SENSOR deny_time = 30 log_on_success = HOST PID } |
注目すべきは、「flags=」と「deny_time=」の2行だ。この2つは組み合わせとして考えておきたい。
flagsにより前述するトラップが発動した際には、deny_timeで設定された時間設定の間だけxinetdを介したサービス要求が拒否される。例えば、上記のdany_time = 30は「30分」の拒否を意味し、ほかにもxinetdの再起動時までの「FOREVER」、ログ記録だけを行う「NEVER」などがある。
Copyright © ITmedia, Inc. All Rights Reserved.