現場ですぐに役立つ知識を欲するあなたに贈る珠玉のTips集。今回は、Solaris 9上で、TCPを用いて接続記録やアクセス制御を行う方法について解説します。
Solaris 9から、TCPを用いて接続してきた相手の記録やアクセス制御を行う機能があると聞いたのですが、どのように使用するのでしょうか?
Solaris 9以降、/etc/default/inetdファイルに設定を行うことで、inetd経由で利用するサービスかつTCPを使用した通信に対する記録や、アクセス制御を行えるようになりました。
TCP通信のログを記録する場合、ENABLE_CONNECTION_LOGGINGのオプションをYESに設定します。設定の手順は以下のとおりです。
ENABLE_CONNECTION_LOGGING=YES
再起動後、inetd経由で接続されるサービスの対象となるIPアドレスが以下の/var/adm/messagesに記録されるようになります。
Sep 14 21:13:35 sun-10 inetd[125]: [ID 317013 daemon.notice] telnet[431] from 172.30.30.116 3767
Sep 14 21:16:03 sun-10 inetd[125]: [ID 317013 daemon.notice] telnet[459] from 172.30.30.116 3775
Sep 14 21:17:52 sun-10 inetd[125]: [ID 317013 daemon.notice] ftp[478] from 172.30.30.116 3787
Sep 14 21:17:56 sun-10 inetd[125]: [ID 317013 daemon.notice] ftp[479] from 172.30.30.116 3790
アクセス制御は、TCP Wrappersの機能を用います。このため、アクセス制御のオプションを有効にする以外の設定は、TCP Wrappersの設定に準拠した内容となります。設定の手順は、以下のとおりです。
ENABLE_TCPWRAPPERS=YES
hosts.allowに接続許可条件を、hosts.denyに接続拒否条件を記述します(リスト1)。
・/etc/hosts.allow
ALL : 172.17.0.0/16,127.0.0.1
・/etc/hosts.deny
ALL : ALL
詳細に関しては、オンラインマニュアルのhosts_accessを参照するといいでしょう。ただし、このドキュメントは/usr/sfw/man内にあるため、マニュアル用検索パスを指定する「-M」オプションとともに、次のようにmanコマンドを実行します。
$ man -M /usr/share/man hosts_access
または、環境変数MANPATHの設定に/usr/sfw/manを加えた上で参照する点に注意してください。
Copyright © ITmedia, Inc. All Rights Reserved.