みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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アドレスを外部ファイルから呼び出したり、変数に定義してすっきりさせたりしたいのですが、どのようにすればよいのでしょうか。
(他にもよい方法があったら、教えてください。)

よろしくお願い致します。

投稿日時 - 2011-07-14 19:19:07

QNo.6875856

困ってます

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

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行を越えています。楽勝です。

投稿日時 - 2011-07-14 23:31:21

お礼

ご回答ありがとうございます。
とても励みになります。

Fedora10は2~3年くらい使っていると思います。
10回以上入れ直してやっているのですが、
新しくソフトウェアを更新したりすると、急に具合が悪くなったりしたので、
「古い」まま今までやってきました。

もう一台新しく繋げたのですが、それにはFedora14が乗っています。
そのわけは、そのマシンがFedora10に合わなかったようで?、
自らのエラーファイルを延々と記録し続けるバグに遭遇しました。
確か、1日に50GB前後ログを取るんですよ…。
それで仕方なく、そのマシンには14を入れました。
でも、よく働いてくれています。

「iptables」を使いますか。はい、やってみます。
もしかしたら、こちらの方が「httpd.conf」ファイルを編集するよりもやりやすいかもしれません。

nolixさんも1000行越えですか…
私も不正アクセスにめげずにがんばります。

投稿日時 - 2011-07-15 05:57:31

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(10)

ANo.10

nolixさん

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

投稿日時 - 2011-07-15 18:35:18

ANo.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まで説明しないと駄目な教えて君ですか?

投稿日時 - 2011-07-15 17:50:41

ANo.8

最後といいながら、他の回答者様の補足です。

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

投稿日時 - 2011-07-15 12:30:18

ANo.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ってな感じです。

まあ、みんなでスキル上げていきましょうよ!

投稿日時 - 2011-07-15 12:21:17

お礼

知識のあるなしに関係なく、無礼な輩を相手にすることはありません。

ただ、そのやり取りの中のコメントは、本職の方々が、どのようなポリシーを持って仕事をされているのかが垣間見られたようで、大変参考になりました。ありがとうございました。

そうですね。スキルを上げていきましょう。

投稿日時 - 2011-07-16 04:27:14

ANo.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のソースを触れるなら、拡張されると良いと思います。


ヒントは、皆さんの書かれているもの全ての中にあります。
あとは、ご自身でご判断の上、対処してみて下さい。

投稿日時 - 2011-07-15 09:38:56

お礼

> 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」を使ってやってみようと思います。
色々とお世話になりありがとうございました。

投稿日時 - 2011-07-16 04:11:38

ANo.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を選定している時点で質問者にそんな力量あると思える?

>世間で言われる「上から目線」とはまさにこのことだと思いました。
そう思えるのは君がどれほど迷惑な事をしているか理解してないからだね。

それにしても技術も知識もないのに無理なことをしてそれを注意されると逆ギレする屑が多すぎますね。

投稿日時 - 2011-07-15 06:01:52

ANo.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

批判は簡単なんですよね。
批判から進歩することはないです。

投稿日時 - 2011-07-14 23:41:52

お礼

またのご回答ありがとうございます。

> CentOSかscientific linuxに乗り換えればよいのではないでしょうか?
> fedoraでonchip raidドライバ自体が無いケースが多いので・・・

はい…そうしようかと、現在検討中です。

投稿日時 - 2011-07-16 04:26:54

ANo.3

Deny from ……
Deny from ……
Deny from ……
Deny from ……

とか数行で書いたらどうなりますか?

ところでまず、1000以上もあるIPアドレスを拒否している理由は何でしょう?
不正アクセスですか?
error_logのステータスを見てみましょう。
例えば、ありもしないページなどを見ていたり?(404)
権限の無いところを見ているとか?(403)

あるルールが存在しているなら、そもそもそういうログを吐かないようにすることだって出来ます。

ログを吐かないようにする?
アクセスを拒否する?
目的をまずしっかり決めることが先決ではないでしょうか。

あと、Fedora10というのは…
失礼ながら、No.1さんと同じで、正気の沙汰じゃないと思います。
そのサーバが、何で動いているのかくらい、調べればすぐにわかるので、それだけで攻撃をしてくる輩もいるわけです。
一番良いのは、CentOSなどのメジャーで長い期間サポートをしてくれるOSに切り替えることで、そのようなアクセスも防ぐことができます。

思うに、そもそも、そういうアクセスを防ぐことが第1の目的ではないかと思いますが、いかがでしょうか?
これから先も、そうやってコツコツとコストのかかるようなことをしていくのでしょうか?
気楽にサーバ管理したいと思ったりしませんか?

投稿日時 - 2011-07-14 23:31:48

お礼

ご回答ありがとうございます。
いつもお世話になっています。

ご指摘の通り、「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」の行を一行限りにしておきたかったのです。

投稿日時 - 2011-07-15 06:40:12

ANo.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
これでも読んでそれでも無知でサーバ公開を続けるならそうとう無神経なんでしょうね。

投稿日時 - 2011-07-14 20:36:55

補足

質問の内容についてお答えにならないのだったら、回答なさらないで頂けませんか?

世間で言われる「上から目線」とはまさにこのことだと思いました。
しかも、人に対する物の言い方をご存知でない。

ネット上だと言っても、一対一の人間です。
面と向かっては言えない様な事を、文章に起こすものではありません。

投稿日時 - 2011-07-14 20:54:32

あなたにオススメの質問