Security Tips
 

hp-uxのinetdに備わるアクセス制御機能を活用する

たかはしもとのぶ
2004/8/18

 伝統的なinetdにはアクセス制御機能はないため、一般的にはTCP Wrapperというフリーソフトウェアと組み合わせて用いる場合が多い。hp-ux 11i以降ではtcpd(1M)のように、TCP Wrapperも同梱されているのでこれを用いてもよいだろう(TCP Wrappersなども参照のこと)。

 しかし、これ以前のバージョンであっても、hp-ux独自のアクセス制御機能を活用することで、フリーソフトウェアを用いずにinetdで実装されているサービスのアクセス制御を行うことが可能である。

 アクセス制御の設定は、/var/adm/inetd.secというファイルで行う。このファイルには、以下のような文法でアクセス制御の設定を記述していく。

サービス名 allow|deny ホスト名/IPアドレス [ホスト名/IPアドレス]

・サービス名

 アクセス制御の対象となるサービス名(/etc/servicesや/etc/rpcで定義されているサービス名、エイリアスでの指定は不可)を記述する。TCP Wrapperと指定対象が異なるので、注意してほしい。

・allow|deny

 allow/denyに引き続き指定するアドレスからのアクセスのみを許可する場合はallowを、拒否する場合はdenyを指定する。通常はallowを指定することになるだろう。

・ホスト名/IPアドレス

 アクセス制御の対象となるホスト名やIPアドレス、もしくはネットワーク名を指定する。指定の際は、ワイルドカードとして「*」と「-」が使用できる。複数の指定を行う場合は、間を空白で区切る。なお、指定を省略した場合、すべてのアドレスが対象となる。

 1つのサービス名に対する設定が複数の行に存在している場合は、最後に記述された1行のみが有効となるので注意してほしい。例えば、以下のように設定した場合は、最後の行が有効となるため、telnetサービスへはアクセスできない。

telnet allow
telnet deny

 また、設定が行われていないサービスへのアクセスは許可される。

 通常は、以下のようにして、特定の範囲以外からのアクセスを拒否するように設定を行うのが一般的であろう。

ftp allow 192.168.1-2.* 10.1.1.*
shell deny
login deny

 上記はrshおよびrloginサービスを禁止し、ftpサービスへのアクセスを192.168.1.0/24、192.168.2.0/24、10.1.1.0/24からに限定する場合の例である。実際に上記の設定を行い、上記範囲外からアクセスを行ったところ、ftpの場合は

> ftp x.x.x.x
Connected to x.x.x.x
421 Service not available, remote server has closed connection
ftp>

となる。また、rloginの場合は

> rlogin x.x.x.x
Protocol error, ::ffff:x.x.x.x closed connection

のように出力され、アクセスができなくなることを確認している。

 これ以外の詳細については、inetd.sec(4)を参照してほしい。

Security Tips Index



Security&Trust フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Security & Trust 記事ランキング

本日 月間