• ベストアンサー
  • すぐに回答を!

/etc/xinetd.d/と/etc/hosts.allow

環境はTBL7.0Serverです /etc/xinetd.d/と/etc/hosts.allowについてなんですが、基本的には/etc/xinetd.d/の直下のファイルでアクセス制御すればいいと思うのですが、/etc/hosts.allowでもサービスを許可してやらないとつかえません。 この2段階でアクセス制御するのは、標準的なやり方なんですか?管理上煩雑なので、できれば/etc/xinetd.d/以下の各サービスのファイルのみでアクセス制御したいのですがみなさんどうしています。

共感・応援の気持ちを伝えよう!

  • 回答数3
  • 閲覧数621
  • ありがとう数7

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.3
noname#4320
noname#4320

全然違うかもしれませんが。 私のところ(Laser5、Kondara)は、/etc/hosts.allowと/etc/hosts.denyファイルは空のままで、きちんと動作しています。この両ファイルは空っぽの場合だと、デフォルトで全て許可という情報もあったので、TCPWrapperは開けっ放しで使っているのかなと思っています。 http://stwww.eng.kagawa-u.ac.jp/Jikken/kawaguti/Installation/securty2.htm それとか、xinetdのrpm版は「--with-libwrap 」付きでコンパイルされているため、いやでもTCPWrapperを使用してしまうとか。 http://synack.net/xinetd/faq.html

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ドンピシャ!!です。 /etc/hosts.allowと/etc/hosts.denyすべて無効になるようにコメントアウトすると、 xinet.dのみの設定で制限かけれました。 ちなみにTBL7.0SVの場合はデフォルトでは全て許可ではなく、 ローカル(127.0.0.1)のみすべて可能、sshはすべて許可になっていました。 ほんと、すっきりしました。恐らく多くの方がこの疑問を持っていたと思います。 ありがとうございました。

その他の回答 (2)

  • 回答No.2
  • Jack3K
  • ベストアンサー率40% (12/30)

TBL7.0Serverを使ったことがないので参考に見てもらえればと思います。 私の場合ですが、RHL7.2での設定でも同様にftpが出来ない事態に陥ったことがありました。 hosts.allowのみでアクセス制限を行っていたのをxinetd.dでのみの制限に切り替えた時にアクセス出来ない事がありました。 とりあえず元の設定に戻したのですが、TCP Wrapperである/etc/hosts.allowと/etc/hosts.deny のみの制限で動作させています。 only_from = 192.168.0.0/24 の記述を外して /etc/hosts.allow に ALL:127.0.0.1 in.telnetd:192.168.0. でのみのサービス提供だと二重の手間は省けると思います。 #ちなみに /etc/hosts.allow に ALL : 192.168.0.0/255.255.255.0 だと全てのサービスに対してアクセスできてしまいますのであまりよろしくないかと思われます。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

おそらく私と同じですね。ちなみに私は ALL : 192.168.0.0/255.255.255.0 で全て許可して only_from = 192.168.0.0/24 で制限をかけるとしています。 でもなんかしっくりしないんですが、 やっぱり二重で設定するものなんでしょうか? かなりWEBで調べたけど明確な答えはありませんでした。

  • 回答No.1
noname#4320
noname#4320

補足要求です。 /etc/xinetd.d/以下の各サービスのファイルで、 server= のところで、/sbin/tcpd経由でサービスを動かしているとか無いですよね。 それとか、xinetdが、/sbin/tcpd経由で実行されているとか。 詳しくないので、見当はずれな事を言っているかもしれませんが。

共感・感謝の気持ちを伝えよう!

質問者からの補足

例えば、TELNET の設定は以下のようにしています。 # default: off # description: Telnet server # securlevel: 30 service telnet { disable = no socket_type = stream protocol = tcp wait = no user = root server = /usr/sbin/in.telnetd server_args = -h only_from = 192.168.0.0/24 } これでだけでは、TELNET 接続できないので /etc/hosts.allow に ALL : 192.168.0.0/255.255.255.0 を加えると、192.168.0.0/24のセグメントのクライアントはTELNET出来るようになります。 そう考えると、/etc/xinetd.d/以下の各サービスで only_from = 192.168.0.0/24 とアクセス許可をして、さらに/etc/hosts.allowでもアクセス許可をしていることになりますよね。 どう考えても二度手間ですよね。

関連するQ&A

  • xinetd を使う場合の hosts.allow/hosts.deny

    サーバ:CentOS 4.4 xinetd を使ってアクセスコントロールをしようとしています。 /etc/xinetd.d/サービス名 でサービス毎の設定が出来ますが、その中で(only_fromを使って)制御しようとしていますが、その際に /etc/hosts.allow と /etc/hosts.deny はどうなるのでしょうか。これらのファイルを削除して、xinetd の設定ファイルのみでアクセス制御するにしても、xinetd を通さないデーモンが直接 hosts.allow と hosts.deny を参照しようとする場合もありそうで怖そうです。 かといって xinetd と hosts.allow,hosts.deny の両方でアクセス制御するのもわかりにくくなりそうですし。 何かスマートなやり方というものはあるのでしょうか。

  • ファイアウォールは必要?hosts.allow と hosts.deny だけではダメ?

    ネットで調べたところ、次のことが分かりました。 ●TCP Wrappers (/etc/hosts.{allow,deny} で設定)は inetd または xinetdで制御されていないプロセスへのアクセスをブロックできない。 ●とはいえ、sshd, sendmail は inetd/xinetdで制御されていないものの、/etc/hosts.{allow,deny}を自ら読みに行って、ここで許可されてないアクセスは拒否することができる。 sshd や sendmail も hosts.allow と hosts.deny で守ることができるとすると、Firewall(iptables)は、なぜ必要なのでしょうか?hosts.allow と hosts.deny で守ることができないデーモンがあるのでしょうか?

  • /etc/hosts.allow 及び /etc/hosts.deny について

    /etc/hosts.allow 及び /etc/hosts.deny は Tcp Wrapper のみが参照するファイルなんでしょうか? それとも inetd が参照するファイルなんでしょうか? 素人な質問ですみません。

  • /etc/hosts.allow にて alex@192.168.1.10 指定

    CENTOS5を使っております。 FIREWALL 有効 SELINUX 有効 server1 リモートホスト server2 SSHサービス稼動中。 ============================================ ここで、制御ファイルにて下記のようにしていますが、 server2側でアクセス拒否されてしまいます。 1. /etc/hosts.allow # hosts.allow This file describes the names of the hosts which are # allowed to use the local INET services, as decided # by the '/usr/sbin/tcpd' server. # ALL:127.0.0.1 sshd: alex@192.168.10.62 2 /etc/hosts.deny # hosts.deny This file describes the names of the hosts which are # *not* allowed to use the local INET services, as decided # by the '/usr/sbin/tcpd' server. # # The portmap line is redundant, but it is left to remind you that # the new secure portmap uses hosts.deny and hosts.allow. In particular # you should know that NFS uses portmap! sshd: ALL [root@server1 ssh]# ssh alex@server2 ssh_exchange_identification: Connection closed by remote host 私の認識では、allow→denyの読み取りで判断されるので許可されると 考えています。 それともUSER@を指定した記述が違うのでしょうか。 deny にて、sshd : ALL EXCEPT alex@192とも指定したがぺけでした。 どなたかご指摘お願いします。 P.S グーグルでもUSER@指定の場合を検索してみました。 http://www.cromwell-intl.com/unix/ssh.html sshd_config にてAllowUsers alexもぺけでした。。。 よろしくご指摘お願いいたします。

  • Linux hosts.allowでのアクセス制御

    いつもありがとうございます。 RedHat hosts.allowでのアクセス制御について設定方法を質問させて頂きます。 /etc/hosts.allowに以下のサービスについて制御したいと思っております。 ************************************************************* http ssh icmp smtp ntp pgadmin samba postgresql dns ************************************************************* 以下「hosts.allow」の内容 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ # ssh sshd: 192.168.1. # http httpd: ALL # dns domain: ALL # icmp icmp: ALL # ntp ntpd: ALL # netbios-ssn netbios-ssn: ALL # smtp smtp: ALL # postgresql postgresql: 192.168.1. # pgadmin pgadmin: 192.168.1. -------------------------------------------------------------------- 上記にて設定すると、SSHのみ適用されますが他の設定が反映されません。 ※hosts.denyは「ALL: ALL」としております。 また、ファイアーウォールを有効にすると、SSHも含め接続できなくなります。 ※ファイアーウォールのルールは定義していません。 初心者からの質問で申し訳ありません。 アドバイスの程よろしくお願い致します。

  • hosts.allowとhosts.denyについて

    centos5を利用しています。 /var/log/btmpファイルが200M、/var/log/secureファイルも20Mにもなっていました。 恥ずかしながら初めて中身をチェックしたのですが、SSHログインの失敗履歴のようでした。 このような場合の対処法をお聞きしたいのですが、 1. hosts.allowとhosts.denyを設定すればこの手のアタックは防げるのでしょうか? 2. hosts.allowとhosts.denyを設定後、/etc/rc.d/init.d/sshd restart でSSHを再起動したのですが、これで反映されたのでしょうか? 3. btmpファイルは削除しても問題ないでしょうか?削除する際に注意点などありましたらあわせて教えて頂けると幸いです。

  • sshってxinetdを通して起動されるんでしょうか?

    hosts.allowに、 vsftpd:***.***. :allow とすることで、外部からのftpサーバへの接続を アクセス制限することは出来たのですが、 今度は、sshdが外部からアクセスできなく なってしまいました。 hosts.denyは、勿論、ALL:ALLです。 しかし、sshは、xinetdを通さないで起動していると ばかり思っていましたので、host.denyとは関係なく 接続できるとおもっておりましたが、違うのでしょうか? RedHat8をインストールした後は、何も特に変更していない のですが・・・デフォルトでsshもTCPWrapperとかいう ものの影響を受けるのでしょうか? chkconfig --list で調べた時は、 xinetdをベースとしたプログラムにはsshは無かったのですが・・・? 何卒、ご存知の方、ご指導の程願います。

  • VNCサーバはスタンドアロンモードでも/etc/hosts.allowで許可しないとエラー「server closed connection unexpecte

    RedHat9 eth0(192.168.0.1) | (192.168.0.2) Win2k としています。 # rpm -qa | grep vnc tightvnc-debuginfo-1.2.9-1 tightvnc-server-1.2.9-1 tightvnc-1.2.9-1 # cat /etc/sysconfig/vncservers | grep -v ^# VNCSERVERS="1:root 2:user01" VNCSERVERARGS[1]="-geometry 800x600" VNCSERVERARGS[2]="-geometry 800x600 -depth 24" # ls -al /root/.vnc 合計 12 drwxr-xr-x 2 root root 4096 2月 10 02:36 ./ drwxr-x--- 20 root root 4096 2月 10 02:40 ../ -rwxr-xr-x 1 user01 user01 316 2月 10 02:32 xstartup* # cat /root/.vnc/xstartup #!/bin/sh # Red Hat Linux VNC session startup script unset SESSION_MANAGER exec /etc/X11/xinit/xinitrc [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & twm & そして、 # vncpasswd としてパスワードを入力して #/etc/rc.d/init.d/vncserver start VNCサーバを起動中: 1:root 2:user01 [ OK ] この後、 Win2k側からアクセスしてみましたら、 「server closed connection unexpectedly」 となってしまいます。 /etc/hosts.allow Xvnc: xxx.xxx.xxx.xxx という具合にで許可したらアクセス出来ました。 xinetdサーバで稼動してるわけではないのにどうして/etc/hosts.allowに反応してしまうのでしょうか?

  • hostsファイルを別なディレクトリに移すと。。

    お世話になっております。 C:\Windows\System32\DRIVERS\ETC\hosts ファイルを C:Windows直下に移動すると、機能しないでしょうか? おしえてください。

  • Ubuntu12.04で外部からアクセスできない

    Ubuntu server 12.04を新規インストールしましたが LAN内からアクセスできるものの 外部からのアクセスができません。 SSHやpingやhttpなど(おそらく)すべてのサービスがつながりません。 ただ Ubuntuを再起動しようとして サービスがいくつか終了している最中の数秒だけは 外部からアクセスできます。 sshでもかろうじてログインできましたので(数秒後に切断されましたが) ですのでおそらく 何かしらのサービスが外部からのアクセスをブロックしているように思うのですが 何が原因かがわからないので教えてください。 とりあえず ufwとhosts.allowあたりではないようです。 ufwは非アクティブですし hosts.allowには ALL:ALLと入れましたがかわりません。 $ sudo ufw status 状態: 非アクティブ hosts.allow ALL:ALL なお標準インストールしてSSHとLAMPを入れたぐらいで 特に設定はいじっていないつもりです。 普段はCentOSを使っており今回発のUbuntuでわからないことだらけなので 教えてもらえるとありがたいです。