Go to TOP Page
Google:


□何するものよ?


○inetd をバンバンしちゃいまつ。

sync シグナルを含む tcp パケット・・・・いわゆる、「接続要求パケット」 の選別をしまつ。inetd 単体だと、/etc/inetd.conf で使わないプロトコル プログラムのエントリを削ったり、追加したりで、「接続する・しない」の 設定しかなく、ある特定の接続先は OK って設定ができませんでした。

Solaris10 で標準実装された tcp_wrappers で接続元のチェックをすることに より、許可された特定の接続先なら接続できるよーになりまつ。

tcp_wrappers の使いどころは、 inet からキックされるプロトコル・プログラム なのでつが、 Standalone で常駐している sshd とかのプロトコル・プログラムも 接続制御可でつ。

Solaris9 では、ソースをダウンして Build しるしかありませんでしたが、 Solaris10 では、SMF で TRUE してあげればすぐに使えるやぅになりますよ。


□アクセス制御のファイル


○必要なファイル

2 つ必要です。/etc/hosts.allow と /etc/hosts.deny でつ。
OS をインストールしただけでは、作られないので、

とかしてファイルを作っておいてくらさい。
/etc/hosts.allow は接続許可するプロトコルプログラムと接続元を記述しまつ。
/etc/hosts.deny は接続禁止するプロトコルプログラムを接続元を記述しまつ。

基本的な設定ポリシーとしては、

っつーポリシーにしておくと、宜しいかと・・・。


□hosts.deny、hosts.allow の書き方


○/etc/hosts.deny

全部禁止なので、書くのは 1 行ダケ。


/etc/hosts.deny
ALL : ALL

で、オシマイ。


○/etc/hosts.allow

このファイルは必要に応じて。


/etc/hosts.allow
# LAN は全て許可
ALL : 192.168.126. : allow
# DNS で逆引きできないホストを全て拒否
ALL : UNKNOWN : deny
# DNS で正引きと逆引きが一致しないホストを全て拒否
ALL : PARANOID : deny
# 特定のIPアドレスからの 接続を許可
sshd : .nifty.com : allow
# vftpを何処からでも許可する場合
vsftpd : ALL : allow
# pop を何処からでも許可する場合
pop3d : ALL : allow
# imapを何処からでも許可する場合
imapd : ALL : allow

で、オシマイ。プロトコルプログラムの名前は、インストールされた daemon のファイル名そのまんまっす。


□/etc/inetd.conf の設定


○書き方はこれまでとおんなぢ。

一例として vsftpd をば。


/etc/inetd.conf
ftp stream tcp nowait root /usr/local/sbin/vsftpd vsftpd

/etc/inetd.conf の書き方はいままでとイッショ。
必要に応じて pop や imap なんかも加えて下さい。

/etc/inetd.conf を書き換えたら、マニフェストを update しないと イケマセン。

とかしてくらさい。マニフェスト update したら、

# pkill -HUP inetd とかしておいて。

あ、あと、 /etc/services も良きに計らっておいてくらさい。


□tcp_wrappers=TRUEにしる。

○SMF 管理で TRUE しまつ。

すぐ終わりまつ。

で、おしまい。
-M option だと、全てのマニフェストに適用するってことになりまつので、 このコマンド一つで ftp とか、 rlogin とか telnet も tcp_wrapper の 影響を受けまつ。
ある、特定のマニフェストだけ TRUE したい場合わ、

とかしてくらさい。option は小文字で、 -m ね。
tcp_wrappers の制御を受けたくなくなくなったときは、 FALSE を指定しませぅ。

こんなかんぢだ。
設定を確認したい場合は、

すると、こんなメッセージがでるぞよ。

inetadm -l ftp の一例
SCOPE    NAME=VALUE
         name="ftp"
         endpoint_type="stream"
         proto="tcp6"
         isrpc=FALSE
         wait=FALSE
         exec="/usr/sbin/in.ftpd -a"
         user="root"
default  bind_addr=""
default  bind_fail_max=-1
default  bind_fail_interval=-1
default  max_con_rate=-1
default  max_copies=-1
default  con_rate_offline=-1
default  failrate_cnt=40
default  failrate_interval=60
default  inherit_env=TRUE
default  tcp_trace=FALSE
         tcp_wrappers=FALSE
default  connection_backlog=10
たぶん、しなくても問題ないとおもうけど、一応、
もう1回、 # pkill -HUP inetd とかしておいて。

これで tcp_wrappers の制御が OK になっているハヅでつ。
動作確認してみてくらさい。




go back    next
Copyright(c) ORATORIO-TANGRAM.com 2001-2007 All Rights Reserved.
Total:counter