- ベストアンサー
Linux hosts.allowでのアクセス制御
- RedHat hosts.allowでのアクセス制御について設定方法を質問させて頂きます。
- /etc/hosts.allowに以下のサービスについて制御したいと思っております。
- 上記にて設定すると、SSHのみ適用されますが他の設定が反映されません。初心者からの質問で申し訳ありません。アドバイスの程よろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>/etc/inetd.confというところに追記するということでしょうか。 さすがに、今はinetdは使われていないでしょう。 xinetdも影が薄くなっているみたいですし。 「TCP Wrapperに対応していないものを記述しても適用されない」ってことなんですが……。 >ファイアウォールは現在無効にしておりました。すいません。 >本当は有効にしたいのですが、hosts.*が適用されないと使えないという状態です。 iptablesとTCP Wrapperは…また別次元のハナシなのですが……。 iptablesでOSが受付を許可して、その上でTCP Wrapperで制御します。 ただしTCP Wrapperが効くのは対応している場合だけですが。 http://www.server-world.info/query?os=CentOS_6&p=tcp_wrapper sambaも一応反応できる…のかな? http://ubuntudeiroiro.blog.fc2.com/blog-category-12.html ubuntuですが、対応できるように書かれていますな…。 CentOS5.8でldd /usr/sbin/smbdでは出てこなかったけど。 ちなみに、ウチのサーバはhosts.allow/hosts.denyともに未設定です。 sshdは制限なし(ただし接続可能なユーザは制限して公開鍵認証&非標準ポート)。 xinetd経由で起動するサービスは…Subversionとtelnetがありますが、 外(WAN)からはアクセスできませんし。 iptablesで閉じてる。LAN内部からのみ有効。ルータでも閉じてるし。 ACCEPT tcp -- 192.168.0.0/16 anywhere state NEW tcp dpt:telnet ACCEPT tcp -- 127.0.0.0/8 anywhere state NEW tcp dpt:telnet ACCEPT tcp -- 192.168.0.0/16 anywhere state NEW tcp dpt:swat ACCEPT udp -- 192.168.0.0/16 anywhere state NEW udp dpt:svn ACCEPT tcp -- 192.168.0.0/16 anywhere state NEW tcp dpt:svn ………swat起動できるようにしてねぇじゃん(笑) あんまり無いけど外からSubversion使うときはssh+svnだし。 内部LANは192.168.1.0/24ですけどね…。そのうち変更する予定ですが。
その他の回答 (2)
- Toshi0230
- ベストアンサー率51% (836/1635)
No.1さんも回答していましたが…要は、hosts.allowでアクセス制御しない(できない)ソフトについて、hosts.allowで制御しようとしているんじゃないか、ということです。 http = Apache ? dns = BIND ? netbios-ssn = Samba? ntp = ntpd ? アプリケーションソフトの名前が分からないので想像ですが、上記の通りであれば 各アプリケーションの設定ファイルにアクセス制御の記述ができます。 postgresqlは触ったことないんで想像ですが、たぶん同様でしょう。pgadminってそもそもサーバアプリでしたっけ? smtpとicmpは何を意図しているのかよく分かりません… "man hosts.allow"を実行してもらえれば(たぶん英語で)ヘルプが出ますが、hosts.allowの書式は daemon_list : client_list [ : shell_command ] です。 プロトコルの送受信について制御を行いたいのであれば、別途ファイアウォールの設定をする必要があります(iptableとか)
- Wr5
- ベストアンサー率53% (2173/4061)
>上記にて設定すると、SSHのみ適用されますが他の設定が反映されません。 TCP Wrapperでのアクセス制御に対応していない場合は…記述しても無視されるでしょう。 ldd /usr/sbin/sshd とすると、libwrapがリンクされているのが判るかと。 その為、xinetdとか経由していなくてもTCP Wrapperに対応している。 ということになります。 ということで、実行ファイル(というかデーモン)がTCP Wrapperに対応していなければ無意味です。 # 追加のモジュールで対応している…という場合もあるかも知れませんが…… smtpとかプロトコル名でフィルタ出来ましたっけ?? >また、ファイアーウォールを有効にすると、SSHも含め接続できなくなります。 >※ファイアーウォールのルールは定義していません。 設定していない(許可するように設定していない)から、弾かれるのではないですか?
補足
ご回答ありがとうございます。 ファイアウォールは現在無効にしておりました。すいません。 本当は有効にしたいのですが、hosts.*が適用されないと使えないという状態です。 >TCP Wrapperでのアクセス制御に対応していない場合は… >記述しても無視されるでしょう。 /etc/inetd.confというところに追記するということでしょうか。 現在は何も記載されていません。 素人で申し訳ありません。
お礼
ご返事遅くなりまして申し訳ございません。 教えて頂いた内容でいろいろと検証しなおしました。 想定していた方法では実現できないこともなんとなくですがわかりました。 参考にさせて頂き、たすかりました。ありがとうございました!