• 締切済み

tcp wrapper の設定について

1つのサーバーで、数十のドメイン、それら合計で1千万件程度のページがあります。 検索エンジンのロボットアクセスが秒あたり複数回あり、MySQLで出来たブログページのためアクセスのたびに動的ファイルを作り続けておりCPUが休まりません。 そこで、 tcp wrapper で当方に必要ないロボットを弾きたいと考えています。 下記のような設定とし、特に頻繁に来るロボットを弾いたつもりなのですが、相変わらず該当IPからの訪問があります。CPUファンもフル回転状態です。 (ファイル /var/log/httpd/access_log に相変わらず記録されます) 下記の設定 → サーバーの再起動 では弾くことが出来ません。 記載方法に誤りがあるのかも知れません。 ご指導いただければ幸いです。よろしくお願いいたします。 サーバーはCentOS6.4です。 /etc/hosts.allow : ALL EXCEPT .ahrefs.com : ALL EXCEPT .easou.com : ALL EXCEPT .baidu.com : ALL EXCEPT 5.10.83.2 : ALL EXCEPT 5.10.83.3 : ALL EXCEPT 5.10.83.4 : ALL EXCEPT 5.10.83.5 : ALL EXCEPT 5.10.83.6 : ALL EXCEPT 5.10.83.7 : ALL EXCEPT 5.10.83.8 : ALL EXCEPT 5.10.83.9 : ALL EXCEPT 5.10.83.10 : ALL EXCEPT 5.10.83.11 : ALL EXCEPT 5.10.83.12 : ALL EXCEPT 5.10.83.13 : ALL EXCEPT 5.10.83.14 : ALL EXCEPT 5.10.83.15 : ALL EXCEPT 5.10.83.16 : ALL EXCEPT 5.10.83.17 : ALL EXCEPT 5.10.83.18 : ALL EXCEPT 5.10.83.19      : 延々数百のIPアドレス      :      :      :

みんなの回答

  • wormhole
  • ベストアンサー率28% (1621/5657)
回答No.2

>下記の記載方法に誤りがございますでしょうか? 自信はありませんが間違ってはいないと思います(質問に書かれているのとは異なりahrefs.com,easou.com,baidu.comは含まれていないみたいですが) エラーログの方にアクセス制限されてる旨のログが記録されていませんか?

tajix14
質問者

お礼

ありがとうございます。 確認しましたがエラーログに記録されていません。 よろしくお願いいたします。

  • wormhole
  • ベストアンサー率28% (1621/5657)
回答No.1

まず、apacheを使われているのだと思うのですがapacheはtcp wrapperでのアクセス制御の対象ではないと思いますのでapacheの設定の方で行う必要があるのではないでしょうか。 /etc/hosts.allow についても man 5 hosts_access を確認して欲しいのですが、daemon_listのところは省略できるんですか? 仮に省略できて、それがALLの意味だったとしても一番最初に >: ALL EXCEPT .ahrefs.com ドメイン .ahrefs.com 以外はアクセス可にしてあるので >· (daemon,client) の組合せが /etc/hosts.allow ファイルの中のエントリと一致する場合、アクセスは承諾される。 >· もしくは、(daemon,client) の組合せが /etc/hosts.deny ファイル の中のエントリと一致する場合、アクセスは拒否される。 >· それ以外の場合、アクセスは承諾される。 ドメイン .ahrefs.com 以外はアクセス可になりますし /etc/hosts.deny に ALL: ALL などが書かれていなければドメイン .ahrefs.com からのアクセスも最終的には何もアクセス制限してない事になると思いますけど。

tajix14
質問者

お礼

有難うございます。 APACHEは下記のようにバーチャルホスト設定の段階で全てのドメインに設定しています。 下記の記載方法に誤りがございますでしょうか? <VirtualHost _default_:80> DocumentRoot /home/www.●●.com/public_html ServerName www.●●.com Options ExecCGI FollowSymLinks Includes IncludesNOEXEC Alias /cgi-bin/ "/home/www.●●.com/public_html/" <Directory "/home/www.●●.com/public_html"> Order allow,deny allow from all Deny from 5.10.83. Deny from 69.30.238.26 </Directory> </VirtualHost>

関連するQ&A

  • VPS TCP Wrapper

    サーバ初心者で勉強中です はじめてのCentOS5という本を読みながら お名前.comのVPSサーバでSSHサーバの設定中です TCPWrapperの設定なのですが /etc/hosts.allow sshd: 192.168.0. /etc/hosts.deny ALL: ALL と設定するように書いてました でもこれをしてしまうとローカルからでしかアクセスできなくなってしまうと思うんです VPSではTCPWrapperの理想的な設定とか定番の設定みたいなものはあるのでしょうか? ご指導 アドバイスをおねがいします。

  • inetdとTCP Wrapperについて

    inetd及びTCP Wrapperは「inet.conf」「hosts.allow」「hosts.deny」の設定ファイルを参照してアクセス制御を行うとの事ですが、ここでいくつかの疑問があります。 (1)上記の3つのファイルを編集後、設定を反映させるにはデーモン等の再起動が必要かどうか。 (2)hosts.allow及びhosts.denyに記述した内容は、inetを経由しないサービスについても有効かどうか。 (3)inetd経由のデーモンはどのタイミングで停止するのか。 (1)についてですが、実験の結果、ファイルを編集後にすぐに反映される事はありませんでしたので、再起動などの作業が必要だと思いました。inetdを再起動しても反映されないようでしたので、killall -HUP inetd というコマンド(ネットで調べました)を行った所、反映されたようでした。この作業が正しいかどうか分かりませんので、ご意見頂きたいと思います。 また、killall のオプションである「-HUP」が何を示すのか分かりませんので、ご教授ください。 (2)についてですが、inetd.confに記述してあるサービスについてはhosts.allow及びhosts.denyの設定に従ってアクセス制御されている事は間違いないようです・・・が、inetdを経由しないサービスについてはアクセス制御されていないような気がします。inetd.confに記述していないサービスもアクセス制御の対象になるとも聞いた事がありますので、この点もご教授いただきたいと思います。 (3)についてですが、inetd経由でサービスを受ける場合には、そのサービスのセッションを確立後にデーモンが起動すると思います(間違いでしょうか??)。例えば、ftpサービスをinetd経由で提供しているとして、他のマシンからFTP接続するとデーモンが起動する・・・その後、クライアントがFTPを切断してからどのくらいでftpデーモンは停止するのでしょう? 間違い等は指摘お願いいたします。

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

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

  • ウェブページへの定期的アクセス

    カテゴリー違いかも知れませんが、どこか判らなくて。 私のウェブページを見るような暇人がいるかと思って、サーバーにログインしてログを眺めたところ、ある IP address から特定のページに頻繁にアクセスがあることがわかりました。 $ grep "その IP address" access_log としたところ、そのページだけにほぼ定期的 (1日にほぼ2回) get があり、他には一切アクセスしていません。時刻はバラバラです。 nslookup で調べると、しっかりしたソフトウェア関係の企業のようです。特定のページしか見ないし間隔も短いので robot ではないと思います。 別に損害はないと思うのですが、どうしてこうなるのか、先方の状況が推測できるでしょうか。

  • hostsファイルの編集

    自宅サーバ(linux)にドメイン名でxpからアクセスしています。 windowsの再インストールを行ったので、以前やったようにwindowsのhostsファイルを編集しました。(C:\WINDOWS\system32\drivers\etc\hosts) ところが、なぜかこのhostsファイルの編集をしてPCを再起動しても、ドメイン名で自宅サーバへのアクセス(IE,Firefox)ができません。 *プライベートIPならアクセス可 そこで、hostsファイルの内容が反映されているかを調べる方法があったら教えてください。 今のところ、hostsファイルの設定がうまく反映されていないように思うので・・・ よろしくお願いします。

  • /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もぺけでした。。。 よろしくご指摘お願いいたします。

  • turbolinuxでのFTPの設定について

    こんばんは わたしはターボリナックスを管理しているですが、 昨日までFTPソフトを使ってローカルエリア内の パソコンからアクセスしていたのですが、なぜか 今日になってFTPソフトを使ってアクセスできなく なってしまいました。 サーバーの方でもう一度立ち上げ直したのですが なんだかエラーのような文が出ています。 *下記参照 いろいろと設定を確認しましたが何の問題もないように おもえます。 基本的にローカルであればアクセスできるようにしてあるにで/etc/hosts.allowでのアクセス許可は #Local host #Allow all requests from localhost ALL: 192.168.0. にしてあります。 どうか教えて頂けないでしょうか? お願します。 ////////参照///////////////////// starting proftpd:Was not suspended proftpd

  • 複数ホスト名でアクセスする設定は?

    ローカルLANでWebサーバーを立ち上げ、マシン名(例:test)やローカルIP(192.168.xxx.xxx)でアクセスできることは確認しました。 しかし、上記のマシン名やローカルIPではなく好きな名前(http://apple/やhttp:/xxx_guide/)といった名前でアクセスできるように設定したいと思うのですがよくわかりません。 クライアントのhostsファイルを変更するのではなく、サーバー側の設定でやりたいのですがどうすればよいのでしょうか? VirtualHostやbindの設定が必要らしいということは分かったのですが・・・

  • 自宅鯖にLAN内外から同じようにモバイルノートでアクセスする方法

    自宅サーバを運営しているのですが、自宅のLAN内から外出するときに持ち運ぶノートPC(XP Home)で自宅サーバのサイトを見ようと「example.com」、「hoge.info」のようにインターネットブラウザからURIを指定してもルータの設定画面に接続してしまい表示することができません。 LAN内では直接IPアドレスでアクセスすることも考えましたが、サーバはバーチャルホストが設定されていて「example.com」と「hoge.info」は別のページを表示するように設定しているため、それでは見られないページが発生してしまい問題解決になりません。 だからといって、hostsでそれぞれのドメインをプライベートIPで記述すると、外出時(大学の学内LAN等)にhostsのプライベートIPとドメインの関連付けを一々解かないとならないので、それ以外の方法で自宅LANの内外どちらでも簡単に自宅サーバへアクセスできる方法はないのでしょうか。

  • LMHOSTSとHOSTSファイルについて

    ネットワーク管理者(初心者)です。 一つのネットワークセグメントでサーバへアクセスするのに、 ¥¥サーバ名でアクセスできず、¥¥IPアドレスで行ってます。 上記現象が起こるのは、数台のPCだけですので、手動でLMHOSTSファイルもしくはHOSTSファイルに定義を記述しようと思います。 そこで、ご質問ですが、IPアドレスとマシン名だけを関連させるだけならば、HOSTSファイルに記述するだけでいいのでしょうか。 もしくは、LMHOSTSファイルにも記述が必要でしょうか。 いまいち両者の使い分けが分りません。 使い分けについてご存知ならば、教えていだだけ無いでしょうか