IPアドレスでアクセスを制限する方法とは?

このQ&Aのポイント
  • IPアドレスでアクセスを制限する方法についてまとめました。Linux Fedora10の環境でApacheを使用している場合の手順をご紹介します。
  • 不正なアクセスが多く記録される場合、特定のIPアドレスからのアクセスを制限することが効果的です。しかし、IPアドレスが多い場合はHTTPDの再起動がエラーとなります。そのため、IPアドレスを外部ファイルから呼び出したり、変数に定義する方法があります。
  • IPアドレスでアクセスを制限する際には、「Deny from」を使用しますが、記述するIPアドレスが多い場合は効率的ではありません。IPアドレスを管理しやすくするために、外部ファイルや変数を利用する方法を検討しましょう。
回答を見る
  • ベストアンサー

IPアドレスでアクセスを制限するには?

環境は、OSはLinux Fedora10で、Apacheは2.2.10です。 「/var/log/httpd/error_log」に大量の(数秒毎)の不正と思えるアクセスが記録され、 そのIPアドレスからのアクセスを制限したいと考えています。 「/etc/httpd/conf/httpd.conf」には以下のように書いています。 <Directory "/var/www/hogehoge"> Order allow,deny Allow from all Deny from 123.45.67.89 123.45.67.90 234.45.67.89 111.222.33.44 ... </Directory> 「Deny from」の行のIPアドレスが多いせいか、HTTPDを再起動しようとすると、エラーが発生し失敗してしまいます。 (IPアドレスは1000件以上あります。IPアドレスを少なくすると、何も問題なくHTTPDは起動できます。) できれば、「Deny from」の行のIPアドレスを外部ファイルから呼び出したり、変数に定義してすっきりさせたりしたいのですが、どのようにすればよいのでしょうか。 (他にもよい方法があったら、教えてください。) よろしくお願い致します。

  • wataj
  • お礼率83% (133/160)

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

  • ベストアンサー
  • nolix
  • ベストアンサー率19% (110/572)
回答No.2

iptables使えば良いですよ。 うんこみたいなプロバイダーが世界中にありますし、うんこみたいなクラッカーも一杯いますからね。 # illegal Access iptables -I INPUT -s 213.216.68.54 -i eth1 -j DROP iptables -I INPUT -s 210.97.110.155 -i eth1 -j DROP iptables -I INPUT -s 162.105.203.25 -i eth1 -j DROP iptables -I INPUT -s 210.204.247.3 -i eth1 -j DROP iptables -I INPUT -s 211.117.29.100 -i eth1 -j DROP iptables -I INPUT -s 195.218.88.26 -i eth1 -j DROP iptables -I INPUT -s 213.68.67.196 -i eth1 -j DROP iptables -I INPUT -s 128.134.11.207 -i eth1 -j DROP iptables -I INPUT -s 211.208.200.79 -i eth1 -j DROP iptables -I INPUT -s 212.63.35.230 -i eth1 -j DROP iptables -I INPUT -s 202.104.174.106 -i eth1 -j DROP iptables -I INPUT -s 80.129.19.41 -i eth1 -j DROP iptables -I INPUT -s 65.209.240.11 -i eth1 -j DROP iptables -I INPUT -s 62.211.238.47 -i eth1 -j DROP iptables -I INPUT -s 211.100.5.138 -i eth1 -j DROP iptables -I INPUT -s 80.133.186.166 -i eth1 -j DROP iptables -I INPUT -s 211.114.192.180 -i eth1 -j DROP iptables -I INPUT -s 213.69.54.242 -i eth1 -j DROP iptables -I INPUT -s 211.33.134.221 -i eth1 -j DROP iptables -I INPUT -s 80.116.246.157 -i eth1 -j DROP iptables -I INPUT -s 211.6.191.98 -i eth1 -j DROP iptables -I INPUT -s 212.171.58.154 -i eth1 -j DROP iptables -I INPUT -s 202.185.165.138 -i eth1 -j DROP iptables -I INPUT -s 210.204.150.107 -i eth1 -j DROP ### 2004/04/06 ### iptables -I INPUT -s 68.171.112.195 -i eth1 -j DROP iptables -I INPUT -s 61.39.204.167 -i eth1 -j DROP iptables -I INPUT -s 211.23.141.110 -i eth1 -j DROP ### 2004/04/08 ### iptables -I INPUT -s 61.155.107.9 -i eth1 -j DROP iptables -I INPUT -s 210.91.147.109 -i eth1 -j DROP iptables -I INPUT -s 213.215.189.165 -i eth1 -j DROP iptables -I INPUT -s 202.71.158.4 -i eth1 -j DROP iptables -I INPUT -s 211.90.198.21 -i eth1 -j DROP ### 2004/04/09 ### iptables -I INPUT -s 202.118.190.87 -i eth1 -j DROP iptables -I INPUT -s 218.75.231.224 -i eth1 -j DROP 上記の様な感じで完全にブロックします。 kernelが2.4系だから脆弱だとか、fedora10だから公開するなということはありません。 opensslやbindなどセキュリティホールの情報が多いパッケージをしっかりつかんで、patchあてれば最新のOSよりも安全という説もあります。 何故なら、クラッカーは新しいOSをクラックするのに醍醐味があるからです。 エロサイトがapache1.3系を使い続けるコダワリはこんなところにあるんですよね。 私も、ついこの間までredhat7.2を使ってました。別に問題ありませんよ。 redhat9は、bindとkernelのbugが痛い、redhat4.Xは、networkまわりが弱いなどの欠点を知っていれば良いです。 上記drop行は軽く1000行を越えています。楽勝です。

wataj
質問者

お礼

ご回答ありがとうございます。 とても励みになります。 Fedora10は2~3年くらい使っていると思います。 10回以上入れ直してやっているのですが、 新しくソフトウェアを更新したりすると、急に具合が悪くなったりしたので、 「古い」まま今までやってきました。 もう一台新しく繋げたのですが、それにはFedora14が乗っています。 そのわけは、そのマシンがFedora10に合わなかったようで?、 自らのエラーファイルを延々と記録し続けるバグに遭遇しました。 確か、1日に50GB前後ログを取るんですよ…。 それで仕方なく、そのマシンには14を入れました。 でも、よく働いてくれています。 「iptables」を使いますか。はい、やってみます。 もしかしたら、こちらの方が「httpd.conf」ファイルを編集するよりもやりやすいかもしれません。 nolixさんも1000行越えですか… 私も不正アクセスにめげずにがんばります。

その他の回答 (9)

  • wingstar
  • ベストアンサー率37% (102/275)
回答No.10

nolixさん あっ…… そうでしたorz 訂正ありがとうございます。 あれ、何で勘違いしたんだろ…

回答No.9

>まじめですよ。 >実際調べて見てください。 >グレーからブラックのエロサイトはまだ1.3系使ってますよ。 そのことに対して「マジで言っているのか?」って言ったのではなくて 古くてもサポートされているもの(Apache1.3系)とサポートが完全に終了しているもの(Fedora10)を比べることをマジで言っている?といったわけ。 Apacheがつい最近までサポートされていてそれでサポート終了しても重大なセキュリティーに対しては対処する可能性を示唆していると書いたから理解できるだろうと思ったけど >実際、securityホール、bugへの対応はfedoraが一番速いですよ。 でもサポート終了も一番早いですよ。各バージョンのサポート期間がほぼ1年ほどしかないですから >実際のサーバー運営でyum-updateなんてしませんよ。 いやいやRHELのクローンである優位性で自ビルドしたrpmパッケージは使うメリットがないので yum updateはしますよ。ただしいきなり本番環境ではなくてテスト環境で試して検証して 問題がないことを確認してからですけどね。 >私も他の方と同じで主要なpkgはrpmbuildしてます。 >現在、7000objects以上公開してます。リポジトリにはしてません。特殊ですので・・・ >opensslの選択から、mysql,postgresql,hpptd,bind,php,proftpd,sshのrpmbuildは当たり前です。 正直言ってCentOSやSLを利用するのにはRHELのクローンであるということが大きいんですよ。 だからこそRHELに含まれているrpm群を利用せずに自分でパッチ当てしてrpmを作るのは 純粋なクローンではなくなってしまってクローンを使うメリットが無くなるんですよね。 自分でパッケージを管理してやるならRHELのクローンではなくてSlackware使った方が効率いいんですよね。 それと自分でビルドしているならvsfrpd使っているならは注意しろよ。 http://slashdot.jp/security/article.pl?sid=11/07/06/0512206 >私もプロの端くれですからクラックされたかどうかすぐにわかりますよ。 巧妙なものは調査しないとわからないのですぐにはわからないけどそれすらすぐわかるなんでいいですね。 すぐにわかるものは気がつくけど巧妙なものはすぐには気がついてないだけの気もするけどね。 >プログラミングの「格言」に、「うまく行っているものはそのままに」というような趣旨のものがあったと思います。 >私は何度もOSを入れ直して、時間を浪費してしまったと感じています。(その度に、「勉強」にはなったと思いますけど。) >ですから、今回もこのマシンのOSにはなるべく手をつけないようにしようという方針でいます。 だったら最初からサポート期間が短いFedoraなんて選ぶなよ。 >質問の内容についてお答えにならないのだったら えっ?回答しているよ。 >なんの冗談?設定ファイルを外部に分割する方法すら知らないほどの素人さん? ほらこれ。これで理解できないほど素人さんだった? http://www.google.co.jp/search?source=ig&hl=ja&rlz=&=&q=apache+%E8%A8%AD%E5%AE%9A%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%80%80%E5%88%86%E5%89%B2&aq=f&aqi=&aql=&oq= こうでも検索すればIncludeって機能があることが理解できるはずなんだけどね。 質問者ってヒントもらっただけでは駄目で1から10まで説明しないと駄目な教えて君ですか?

  • nolix
  • ベストアンサー率19% (110/572)
回答No.8

最後といいながら、他の回答者様の補足です。 http://www.astec-x.com/FAQ/hosts_deny.html はtcp wrapperですので、httpdは無関係じゃなかったです? inet経由のものしかダメだったと思いますよ。

  • nolix
  • ベストアンサー率19% (110/572)
回答No.7

これで最後にしますね。 >>エロサイトがapache1.3系を使い続けるコダワリはこんなところにあるんですよね。 >マジで言っているの? >http://www.apache.jp/news/apache-http-server-1.3.42 >Apacheの1.3系はつい最近(去年の1月)までサポートされていたんですよ。 >さらに言うとサポートが終了しても >>ただし重要なセキュリティ問題が発生した場合は >> http://www.apache.org/dist/httpd/patches/ >>でパッチが提供されるかもしれません。 >と書かれています。 まじめですよ。 実際調べて見てください。 グレーからブラックのエロサイトはまだ1.3系使ってますよ。 理由は、開発陣が機能拡張しないからバグはでないわけです。 だから、criticalなbug以外は対応する必要が無いわけです。 つまり枯れて安定してるんですよ。 >>ついこの間までredhat7.2を使ってました。別に問題ありませんよ。 >それ気がついてないだけですでに踏み台に利用されていたかもしれないね。 甘いね・・・私もプロの端くれですからクラックされたかどうかすぐにわかりますよ。 bounceが多かったことは事実ですが、responceに影響するほどのbounceではなかったですね。 気にはなりましたが・・・ relayチェックは当たり前ですよ。 マッチポンプ系ブラックリストにすら載ったことがない鯖でした。 実際、securityホール、bugへの対応はfedoraが一番速いですよ。 CentOSの中身みればわかりますがfedoraも一部使われています。 CentOSからscientific linuxへの移行を考えているのはDag氏が抜けたのは大きいですね。 実際のサーバー運営でyum-updateなんてしませんよ。 riskyなのは周知の事実です。 wgetやyum-update, telnet, ftp , tftp, 開発環境は一切入れませんよ。 raid driverが動かなくなるのが一番面倒ですから、kernelのextra version改竄すれば動くことぐらい分かってますけど・・・ 私も他の方と同じで主要なpkgはrpmbuildしてます。 現在、7000objects以上公開してます。リポジトリにはしてません。特殊ですので・・・ opensslの選択から、mysql,postgresql,hpptd,bind,php,proftpd,sshのrpmbuildは当たり前です。 クラックされたことがある方は、どうやってクラックされるのか知っていますからね。 ある特定のコマンドもコマンド自体を変えちゃいますよ。 もともとLinuxにサポートなんかないのと同じですよ。 Dag氏やremi氏のところに行って、自分で選んでspec直して、rpmbuildすることが普通ですから・・・ fedora全体の導入は進めませんが、一部のcriticalなセキュリティホールへの対応は、自分の力量でfedoraのsrcからrpmbuildするくらいのことはしますね。だって対応が一番速いですから・・・ あとは、該当プロジェクトのサイトへ行ってpatchを入手して、spec修正してrpmbuildする。 テスト環境導入後、本番へ採用という経路ですね。 Linuxのサポートを利用するのも手ですが、最終的には自己責任なんですよ。 経験13年くらいです。Laser5 redhat4.0--->RedHat6.2--->Vine2.1CR--->Vine2.3--->RedHat9.0--->CentOS3.5--->CentOS4.4--->CentOS5.3--->CentOS5.4ってな感じです。 まあ、みんなでスキル上げていきましょうよ!

wataj
質問者

お礼

知識のあるなしに関係なく、無礼な輩を相手にすることはありません。 ただ、そのやり取りの中のコメントは、本職の方々が、どのようなポリシーを持って仕事をされているのかが垣間見られたようで、大変参考になりました。ありがとうございました。 そうですね。スキルを上げていきましょう。

  • wingstar
  • ベストアンサー率37% (102/275)
回答No.6

> ワームの一種のようで、WindowsのWEBサーバーのIISを狙ったものである、という8年程前の記述を見つけました。 それって10年前に流行った、CodeRedやNIMDAじゃないですかね? それについては、以下の記事が10年前に公開されています。 http://www.itmedia.co.jp/help/tips/linux/l0324.html Apacheなども全てそうですが、ログを出力するというのは、案外負荷が高いのです。 それを止めるだけでも、かなり効果はあると見ていいです。 (もう記憶の彼方に飛んで行ってるような昔の話ですね…) > それもいいとは思いますが、それだけでは目隠しをするような感じで、あまりよくないと思います。 アクセスを拒否するのも、同じような気が致しますが… でも、Apacheで拒否するより、もっとレイヤーの低いところで止めれば、負荷も下がると思います。 例えば、以下のものとか。 http://www.astec-x.com/FAQ/hosts_deny.html あとは、No.2さんと同様にiptablesに設定するのも良いです。 ただし、既にiptablesを設定していて、ログを吐き出す設定にされているなら、パケット単位で出力されるので、ログ出力を停止するとか。 > できれば、アクセスを拒否して、その発信元に情報を送り返す労力を使いたくないのです。 サーバの手前に、ファイヤーウォールとか設置してないんですかね? これだと、サーバに影響を与えないようにすることもできますが。 > ただ、もう既に稼動しているサーバを、もう一度一からやり直すのには、それ以上に大変な労力を要します。 でしたら、今のサーバはどうしようもありませんが、今後はFedoraを使わないことですね。 Fedoraを使っているだけで、こういったアクセスは増殖していきます。 なぜかというと、まさにNo.1さんがお答え下さった内容そのままです。 Fedoraは、基本的に「物好き」が使うディストリビューションです。 普通、本番環境では使わないです。 それを新しいディストリビューションが次々と出てくる、すごいディストリビューションと勘違いしている、にわかエンジニアが本番で使ったりするのです。 Fedoraは、CentOSやScientific Linuxの元になっているRed Hat Enterprise Linuxに対して、さまざまな情報をコミュニティーを通じて、Feedbackを行っています。 いわば、FedoraはRHELの実験場的なものなのです。 だから、サポートサイクルも早いし、方針転換されやすくなっているので、たまに混乱が起きるのです。 ちなみに、私はCentOSを8年ほど前から利用して、外部公開しておりますが、そのような攻撃はほとんど受けたことがありません。 もちろん、日頃からいろいろなアクセスがありますが、負荷はほとんど0%です。 netcraftというサイトご存知ですか? そのサイトでは、ドメインを入力すると、簡単にどんなOSを使っているのかわかります。 ここは、悪意のあるサイトではなく、ちゃんとしたサイトなので、お間違いのないように。 ちなみに、Apacheなどでmethodを制限することで、OS情報を取れなくしたりできます。 SSHやTelnet、FTP、SMTP、POP3などに至る全てから情報は採取できますので、敢えて止めておくことで、詳細なOS情報を出さないようにはできます。 何が何でもFedoraを使いたいということであれば、否定はしません。 そこまで拘りがあるのを止めるわけにはいきません。 しかし、インターネットに繋がっている皆様にも迷惑になる可能性もあります。 Fedoraは短期間のサポートしかされませんので、全てのサービスを自前でPatchを当てながら運用するだけの腕と自信があれば、頑張ってやってもらうしかありません。 ちなみに、私はrpmパッケージを毎回作成して、インストール・アンインストールを容易にできるようにして、いつでもバージョンアップやパッチを当てられる体制にしていますので、CentOSのサポートが切れても、大丈夫だと思っています。 (既にScientific Linux 6への検討はしていますが…) > 「/var/log/httpd/error_log」における「File does not exist」が出るようなアクセスを拒否するにはどうすればいいか、というのが私の質問でした。 ログを止めるだけなら、CodeRed、NIMDAの記事を参考にできますが、それを拒否するのは地道な作業になります。 しかし、それに関してはそれほど負荷はかかってないように思いますが、負荷が上がっているのは別の要因の可能性もあります。 いずれにしても、こういった問題は詳細な分析があってこそだと思いますので、負荷のかかり具合や、IPアドレスの傾向なども行って、できるだけ簡単に済ませるのが良いと思います。 > なるべく「Deny from」の行を一行限りにしておきたかったのです。 恐らく、httpd.confの一行あたりの文字数の上限にひっかかっているのでしょう。 Apacheのソースを触れるなら、拡張されると良いと思います。 ヒントは、皆さんの書かれているもの全ての中にあります。 あとは、ご自身でご判断の上、対処してみて下さい。

wataj
質問者

お礼

> Apacheなども全てそうですが、ログを出力するというのは、案外負荷が高いのです。 そうですよね…テキストメッセージでも日に数え切れないほど出力しなければなりませんからね。 > あとは、No.2さんと同様にiptablesに設定するのも良いです。 > ただし、既にiptablesを設定していて、ログを吐き出す設定にされているなら、パケット単位で出力されるので、ログ出力を停止するとか。 そうですか、やってみます。 > サーバの手前に、ファイヤーウォールとか設置してないんですかね? 一応、ルータでもサーバでも使わないポートはすべて閉じています。 アクセスは地域ごとに拒否したりはしていません。 発信元が中国であれ韓国であれ、それが利用者である可能性がありますから。 > SSHやTelnet、FTP、SMTP、POP3などに至る全てから情報は採取できますので、敢えて止めておくことで、詳細なOS情報を出さないようにはできます。 SSHとSMTP以外はすべて止めてあります。 SSHは遠隔操作に、SMTPはメール転送に使っています。 色々な発信元から同じようなリクエストを受ける意味が分かりません… 以下のサイトで、自分のサーバが第三者中継になる可能性があるかどうかをチェックしてみましたが、幸い大丈夫でした。 http://www.rbl.jp/svcheck.php また、送られていないメールや溜まっているメールも正常な数しかなく、これも大丈夫だと思います。 > 負荷が上がっているのは別の要因の可能性もあります。 それはこわいですね… 彼らは、メール以外のことで、私のサーバを使って何かしたい(もしくは、既に何かしている)ということでしょうか? > Fedoraは、CentOSやScientific Linuxの元になっているRed Hat Enterprise Linuxに対して、さまざまな情報をコミュニティーを通じて、Feedbackを行っています。 > いわば、FedoraはRHELの実験場的なものなのです。 それならば、FedoraからCentOSやScientificに変更した方がいいですね…。 > だから、サポートサイクルも早いし、方針転換されやすくなっているので、たまに混乱が起きるのです。 「サポート」というのは、あまりよく分からないのですが、私はいつもGoogleなどで検索してやっています。ですから、「サポート」に関しては気にしたことがありません。 > ちなみに、私はCentOSを8年ほど前から利用して、外部公開しておりますが、そのような攻撃はほとんど受けたことがありません。 > もちろん、日頃からいろいろなアクセスがありますが、負荷はほとんど0%です。 それはいいですね、足を引っ張る輩を相手にしなくていいというのは。(まぁそれに対処されているからでしょうけど。) wingstarさんのように、攻撃というか不要なアクセスに労力を使わなくていいようにしたいものです。 > IPアドレスの傾向なども行って、できるだけ簡単に済ませるのが良いと思います。 シェルスクリプトを使って、それらのIPアドレスを定期的に抽出しているのですが、新たなIPアドレスが日に日に増えるので、前に書きました通り、それを「httpd.conf」の「Deny from」の行に、そのまま挿入しようと考えていたわけです。 おそらく、当面は「iptables」を使ってやってみようと思います。 色々とお世話になりありがとうございました。

回答No.5

>エロサイトがapache1.3系を使い続けるコダワリはこんなところにあるんですよね。 マジで言っているの? http://www.apache.jp/news/apache-http-server-1.3.42 Apacheの1.3系はつい最近(去年の1月)までサポートされていたんですよ。 さらに言うとサポートが終了しても >ただし重要なセキュリティ問題が発生した場合は > http://www.apache.org/dist/httpd/patches/ >でパッチが提供されるかもしれません。 と書かれています。 >ついこの間までredhat7.2を使ってました。別に問題ありませんよ。 それ気がついてないだけですでに踏み台に利用されていたかもしれないね。 >opensslやbindなどセキュリティホールの情報が多いパッケージをしっかりつかんで、patchあてれば最新のOSよりも安全という説もあります。 永久ベータ版と言われているFedoraを選定している時点で質問者にそんな力量あると思える? >世間で言われる「上から目線」とはまさにこのことだと思いました。 そう思えるのは君がどれほど迷惑な事をしているか理解してないからだね。 それにしても技術も知識もないのに無理なことをしてそれを注意されると逆ギレする屑が多すぎますね。

  • nolix
  • ベストアンサー率19% (110/572)
回答No.4

追伸です。 私もさすがにサーバーにfedoraは使いませんが、とりあえずiptablesかipchainsでブロックして、CentOSかscientific linuxに乗り換えればよいのではないでしょうか? fedoraでonchip raidドライバ自体が無いケースが多いので・・・ ipchainsなら以下の様な感じです。 # illegal Access /sbin/ipchains -I input -s 213.216.68.54 -i eth1 -j DENY /sbin/ipchains -I input -s 210.97.110.155 -i eth1 -j DENY /sbin/ipchains -I input -s 162.105.203.25 -i eth1 -j DENY /sbin/ipchains -I input -s 210.204.247.3 -i eth1 -j DENY 批判は簡単なんですよね。 批判から進歩することはないです。

wataj
質問者

お礼

またのご回答ありがとうございます。 > CentOSかscientific linuxに乗り換えればよいのではないでしょうか? > fedoraでonchip raidドライバ自体が無いケースが多いので・・・ はい…そうしようかと、現在検討中です。

  • wingstar
  • ベストアンサー率37% (102/275)
回答No.3

Deny from …… Deny from …… Deny from …… Deny from …… とか数行で書いたらどうなりますか? ところでまず、1000以上もあるIPアドレスを拒否している理由は何でしょう? 不正アクセスですか? error_logのステータスを見てみましょう。 例えば、ありもしないページなどを見ていたり?(404) 権限の無いところを見ているとか?(403) あるルールが存在しているなら、そもそもそういうログを吐かないようにすることだって出来ます。 ログを吐かないようにする? アクセスを拒否する? 目的をまずしっかり決めることが先決ではないでしょうか。 あと、Fedora10というのは… 失礼ながら、No.1さんと同じで、正気の沙汰じゃないと思います。 そのサーバが、何で動いているのかくらい、調べればすぐにわかるので、それだけで攻撃をしてくる輩もいるわけです。 一番良いのは、CentOSなどのメジャーで長い期間サポートをしてくれるOSに切り替えることで、そのようなアクセスも防ぐことができます。 思うに、そもそも、そういうアクセスを防ぐことが第1の目的ではないかと思いますが、いかがでしょうか? これから先も、そうやってコツコツとコストのかかるようなことをしていくのでしょうか? 気楽にサーバ管理したいと思ったりしませんか?

wataj
質問者

お礼

ご回答ありがとうございます。 いつもお世話になっています。 ご指摘の通り、「Deny from」を多用するとうまくいきます。 (およそ一行あたりIPアドレス500コ程度まで使用可。) > ところでまず、1000以上もあるIPアドレスを拒否している理由は何でしょう? そのような無用のアクセスの為に、マシンの機能が低下すると考えたためです。 昨日に限っては、私のホームページを表示するのに20~30秒も掛かっていました。 (とても単純なページを表示するのでさえです。) > 不正アクセスですか? ワームの一種のようで、WindowsのWEBサーバーのIISを狙ったものである、という8年程前の記述を見つけました。 > error_logのステータスを見てみましょう。 一番多くあるのが、以下のような行です。 「/var/log/httpd/access_log」(ログ) 116.209.185.195 - - [14/Jul/2011:22:22:22 +0900] "GET /never_existed/%82%d9%82%b0%82%d9%82%b0.mp3 HTTP/1.1" 404 123 "-" "Mozilla/4.0 (compatible; MSIE 5.00; Windows 98)" 「/var/log/httpd/error_log」(ログ) [Thu Jul 14 22:22:22 2011] [error] [client 116.209.185.195] File does not exist: /var/www/directory/never_existed > 例えば、ありもしないページなどを見ていたり?(404) その通りです。 > 権限の無いところを見ているとか?(403) それもあったと思います。 > ログを吐かないようにする? それもいいとは思いますが、それだけでは目隠しをするような感じで、あまりよくないと思います。 > アクセスを拒否する? できれば、アクセスを拒否して、その発信元に情報を送り返す労力を使いたくないのです。 (上記の例では、123バイト程レスポンスしているようです。) ご指摘の通り、不正なアクセスを防ぐことが大きな目的の一つではあります。 ただ、もう既に稼動しているサーバを、もう一度一からやり直すのには、それ以上に大変な労力を要します。 プログラミングの「格言」に、「うまく行っているものはそのままに」というような趣旨のものがあったと思います。 私は何度もOSを入れ直して、時間を浪費してしまったと感じています。(その度に、「勉強」にはなったと思いますけど。) ですから、今回もこのマシンのOSにはなるべく手をつけないようにしようという方針でいます。 「/var/log/httpd/error_log」における「File does not exist」が出るようなアクセスを拒否するにはどうすればいいか、というのが私の質問でした。 なお、そのIPの種類は今も増え続けていて、動的なプログラムを使用して、定期的に「httpd.conf」を書き換えようかと考えていたので、なるべく「Deny from」の行を一行限りにしておきたかったのです。

回答No.1

>「/var/log/httpd/error_log」に大量の(数秒毎)の不正と思えるアクセスが記録され、 > そのIPアドレスからのアクセスを制限したいと考えています。 って書いているって事は外部公開しているよな? それなのに >環境は、OSはLinux Fedora10で サポートが終了している&さらにいうと永久ベータ版といわれているFedoraを使うなんて 正気の沙汰とは思えません。 >できれば、「Deny from」の行のIPアドレスを外部ファイルから呼び出したり なんの冗談?設定ファイルを外部に分割する方法すら知らないほどの素人さん? 結局質問者のような無知な人間がクラッカーに絶好の環境(踏み台)をプレゼントしているから >(IPアドレスは1000件以上あります。 こうも大量のIPが発生するのでしょうね。 http://web.archive.org/web/20090130021533/http://tmaeda.s45.xrea.com/20041101.html これでも読んでそれでも無知でサーバ公開を続けるならそうとう無神経なんでしょうね。

wataj
質問者

補足

質問の内容についてお答えにならないのだったら、回答なさらないで頂けませんか? 世間で言われる「上から目線」とはまさにこのことだと思いました。 しかも、人に対する物の言い方をご存知でない。 ネット上だと言っても、一対一の人間です。 面と向かっては言えない様な事を、文章に起こすものではありません。

関連するQ&A

  • httpd.confでIPアドレスによる制限を書いたら、長くなってしまいました→短くしたい

    サーバー管理の初心者です。 携帯電話からのみアクセスできるディレクトリをいくつか作りたくて、携帯各社のIPアドレスを取得してきました。 そのうちAU (Ezweb)のIPアドレスは数が多くて、Apacheのhttpd.conf がとても長くなってしまいました。 今の状態は、例えば /var/www/html/abcd/ /var/www/html/efgh/ /var/www/html/ijkl/ という3つのディレクトリは携帯専用にしたいと思った場合、 <Directory "/var/www/html/abcd"> …(略) Allow From 123.456.789.12 Allow From 123.456.789.13 Allow From 123.456.789.14 Allow From 123.456.789.15 ・ ・ ・ ・ というようにIPアドレスをずらーっと並べて書いています。 結果、Apacheの設定ファイルがものすごい長さになってしまいました。 これをどうにか短くしたいのですが、どのような方法がありますでしょうか? 例えばこのIPアドレス一覧を外部ファイルに持たせたり、そういうことは可能でしょうか? IPアドレスを範囲で指定するとか、そういう書き方が良いでしょうか? Allow From 123.456.789.12 ~ Allow From 123.456.789.50 を一行で書くとしたらどのような書き方が良いでしょうか? よろしくお願いいたします。

  • .htaccess によって指定IPのアクセス制限をしたい

    以下の環境・設定で求める制限ができません。設定不備等ご指導いただければと思います。宜しくお願いいたします。 ●環境: ApacheV2.2.0・FeroraCore6・社内運用(否インターネット) documentroot からのシンボリックリンク先で制限したい ●設定: (1)アクセスを制限したいディレクトリと同階層に「.htaccess」を作成(192.168.12.xxからのアクセスを制限・以下内容) order allow,deny deny from all allow from 192.168.12 (2)httpd.conf の以下を編集 #<Directory /> # Options FollowSymLinks # AllowOverride None #</Directory> <Directory /> Options All AllowOverride All </Directory> (3)httpd再起動

  • Apatche http.conf Include

    Fedora11 apatche http.confとIncludeファイルの設定についてお尋ねします。 httpアクセスの許可/禁止をIncludeファイルで指定する場合、次のような指定でよいのでしょうか。。 ----http.confの記述-------- . . Include conf.d/*.conf … Fedora11のデフォルト . . <Directory "/var/www/html"> Options FollowSymLinks AllowOverride None Order allow,deny </Directory> --------------------------- これから作成するファイル(1) ---conf.d/allow.conf--- <Directory "/var/www/html"> allow from 129.60.0.0/16 allow from 129.136.0.0/16 . (日本で使用されているIPアドレスらしい) . allow from 126.0.0.0/8 </Directory> ----------------------------- これから作成するファイル(2) ---conf.d/deny.conf--- <Directory "/var/www/html"> deny from xxx.xxx.xxx.xxx . (随時追加するつもり) . deny from xxx.xxx.xxx.xxx </Directory> ----------------------------- ・質問(1) http.conf、allow.conf、deny.conf という3つのファイルで指定することはよいのか。 ・質問(2) それぞれのファイルの中身の記述様式はよいか。 ・質問(3) http.confの中で、Include の行が、<Directory "/var/www/html">より先にあるがよいのか。 Order allow,deny が allow.conf や deny.conf の後になるが。 初歩的な質問ですが、よろしくお願いします。

  • htaccessによるアクセス制限で表示速度が遅くなってしまう原因について

    初めて質問させていただきます。 失礼がございましたらご容赦ください。 現在、お客様のHP、システムがレンタルサーバ上に設置されています。 システムへのアクセス制限をかけようとしているのですが以下のような 問題が出ています。 原因が分からず困っております。 原因、解決方法をご教示いただけますと幸いです。 ■現象  システムを設置しているURLに対し、お客様のIPアドレスからのみアクセスできるように  httpd.conf、htaccessに記載したつもりなのですが、お客様社内からのアクセスができ、  他からのアクセスは制限できましたが、表示速度が非常に遅くなってしまいました。  同じくhtaccessに自社のIPアドレスを記載して試したところ、自社からのアクセスは特に問題ありませんでした。  どうやらお客様のIPアドレスからのアクセスのみ非常に遅くなってしまうようなのです。  (お客様のネットワーク関係の設定等との弊害でしょうか?)  ※htaccessにはドメインでの記載ではなく、IPアドレスを直接記載しています。 ■httpd.confとhtaccessへの記載内容  1)httpd.conf   <Directory "制限をかけたいディレクトリ">    AllowOverride Options Limit   </Directory>  2)htaccess   order deny,allow   deny from all   allow from お客様のIPアドレス 考えられる原因、解決方法等を教えていただけますと幸いです。 よろしくお願い致します。

  • Oracle Application Server IPアドレス アクセス制限

    Oracle Application ServerのIPアドレスでのアクセス制限の方法を教えてください。 httpd.confというファイルにAllow等の設定をすれば よいというところまではわかったのですが、 アクセス制限が思ったとおりに動きません。 httpd.confを有効にする必要があるのでしょうか? マニュアルを見てもそれらしきことが載っていないのですが、どういう設定をどこですればよいのでしょうか。 よろしくお願い致します。

  • cgi-binにアクセスできない

    apache初心者です。 Turbolinux6.0+apache1.3.12でHTTPサーバを試しているのですが、 cgi-binにあるファイルを見ようとするとHTTP 403エラーが出て表示できません。 属性とグループを色々変えてみたんですが、だめでした。 access.confで関係ありそうな所は <Directory /> Options None AllowOverride None order allow,deny allow from all </Directory> <Directory /home/httpd/html> Options Indexes Includes FollowSymLinks AllowOverride None order allow,deny allow from all </Directory> <Directory /home/httpd/cgi-bin> AllowOverride None Options FollowSymlinks ExecCGI order allow,deny allow from all </Directory> としていますが、なぜcgi-binの中身が見えないのかわかりません。 よろしくおねがいします。

  • ローカル環境でのapacheのアクセス制限

    ローカル環境で開発をしいてます。 セキュリティ面を考慮して、外部からのアクセスを一切禁止する為に httpd.confに <Directory C:/> Order deny,allow Deny from all Allow from 127.0.0.1 </Directory> の記述をしています。 これは「Cドライブ以下は自分自身(127.0.0.1)以外アクセス出来ない」と理解してもいいのでしょうか? 環境は OS : windows XP server : apache ver2.0.64 です。 よろしく御教授お願いいたします。

  • htaccess:制限IPのうち特定のIPのみ許可

    .htaccessで、 order allow,deny allow from all deny from deny from 118.243.0.0/16 のようにネットマスクを利用して複数のIPアドレスからのアクセスを制限した上で、そのうち(制限したIPアドレスに含まれるうち)の一つのIPアドレス (例:118.243.126.243)にのみアクセスを許可したい場合、.htaccessに具体的にどのように記述すればよいのでしょうか? どのように記述するか分からないのですが、118.243.126.243をとばした「118.243.0.0から118.243.126.242」と「118.243.126.244から118.243.255.255」を別々に制限すればよいように思います。ただし、記述の仕方が分からないので教えてください。 よろしくお願いします。

  • Apache Allow from に DDNS

    Apache 2.2を使用しています。 Confファイルを下記のように全てのアクセスを禁止し、特定のIPアドレス、DDNSのみ 閲覧可能に設定しています。 <Directory "/abcdefg"> Order Deny,Allow Deny from all Allow from X.X.X.X Allow from YYY.ddo.jp </Directory> ところが、IPアドレスの方はうまく閲覧できるのですが、DDNSの指定の方は閲覧することが できません。 下記の設定をhttpd.confには行いましたがダメでした。 HostnameLookups Off => HostnameLookups On 他に設定が必要なのでしょうか? それともAllow from にDDNSの設定はできないのでしょうか? どなたかご回答よろしくお願いします。

  • Apacheで特定のファイルのみアクセス許可したい

    httpd.confの末尾に次の記述をしてapacheをリスタートしtop.htmlにアクセスしても 403エラーとなりアクセスできません。原因が分かる方よろしくお願いします。 <Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/aaa"> Order deny,allow Deny from all SetEnvIf REFERER localhost referer_ok Allow from env=referer_ok </Directory> <Files "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/aaa/top.html"> Order allow,deny Allow from all </Files>

    • ベストアンサー
    • HTML