• ベストアンサー

Webサーバーでhosts.denyファイルの設定って意味ありますか?

皆様のお蔭様で、telnetも開通し、SSHも利用できるように なりました。小生のPCは、しかし、基本的には、 Webサーバーとして使用したいと思っておりますが、 ところで、その場合、hosts.denyファイルで、 ALL:ALLとする意味はありますんでしょうか? セキュリティー上は、hosts.dneyで拒否しておいて、 hosts.alllowで許可したいhostだけ追加する・・・ と良く聞きますが、これだと、Webサーバーの意味が ないんじゃないかと・・・ しかし、telnetやsshやftpだけは、アクセス制限したい なと思っております。 こんなわがままな希望をかなえてくれる方法って ありますんでしょうか? RedHat8を使用しています。何卒アドバイスの程願います。

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

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

hosts.denyやhosts.allowが意味を成すのは,xinetd経由で起動されているデーモンのみです。 Webサーバ=httpd=Apacheは、xinetd経由で起動されるデーモンではないので、hosts.denyやhosts.allowはまったく関係ありません。 Webサーバは.htaccessを利用して規制をかけない限り、デフォルトでは誰からでも接続を受け付けるようになっているので、問題はないかと思います。 telnetやsshやftpについては、xinetd経由でアクセスを規制をかけられますので、詳細は参考URLを参照ください。 #つまり、welovekobeさんの希望は適うということです。

参考URL:
http://www.jp.redhat.com/manual/Doc9/rhl-cg-ja-9/s1-services-tcp-wrappers.html
welovekobe
質問者

お礼

どうも有難うございました。 そうなんですか? hostsdenyとかは、xinetd経由のみなんですね。 是非、参考にさせて頂きます。

その他の回答 (2)

  • astronaut
  • ベストアンサー率58% (303/516)
回答No.2

iptables を使うのがいいんじゃないでしょうか. 以下ようなのスクリプトで設定できます. #!/bin/bash # 個別に接続を許可する ip アドレス hosts="xxx.yyy.zzz.www aaa.bbb.ccc.ddd" # 個別ホストに許可するプロトコル proto_controled="ftp-data ftp telnet ssh sftp" # 全てのホストに許可するプロトコル proto_any="http" # 外部からのパケットは原則廃棄. /sbin/iptables -P INPUT DROP # パケットの転送はしない. /sbin/iptables -P FORWARD DROP # 外部へのパケットは原則許可. /sbin/iptables -P OUTPUT ACCEPT # 内部から接続を確立したコネクションのパケットは受け入れる. /sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # 個別に許可したアドレスへの処理 for addr in $hosts; do for port in $proto_controled; do /sbin/iptables -A INPUT -s $addr -i eth0 --protocol tcp --dport $port -j ACCEPT done done # 全てのホストへのアクセス許可 for port in $proto_any; do /sbin/iptables -A INPUT -s $addr -i eth0 --protocol tcp --dport $port -j ACCEPT done /sbin/iptables-save > /etc/sysconfig/iptables /sbin/chkconfig iptables on

welovekobe
質問者

お礼

ルーターを自分でLinuxで作ってみたいなと 常々思っておりますが、まだ、その域には 到底達しておりません。今の私には、ちょっと 理解するのに無理がありそうですが、 将来の為に、参考にさせて頂きます。 どうも有難うございました。

noname#27115
noname#27115
回答No.1

hosts.allow とか hosts.deny を使った設定の解説を最近はあまりみないのですが、 apacheだと httpd.conf、sambaだとsmb.conf ftp,ssh,telnet などを xinetd 経由で起動していたら /etc/xinetd.d/以下にそれぞれの設定ファイルがあり、 only_from = xxx.xxx.xxx.0/24 xxx.xxx.xxx.xxx host allow = xxx.xxx.xxx.0/24 xxx.xxx.xxx.xxx http://www.a-yu.com/redhat/ の情報は少し古い部分がありますが、参考になります。 で設定していくんじゃないかな?

参考URL:
http://www.a-yu.com/redhat/
welovekobe
質問者

お礼

早々にどうも有難うございます。 是非参考にさせて頂きます。

関連するQ&A