PHP7.3のアップデート完了!

古いPHPを削除して新規に入れ直しました。ここまでも結構大変でしたが、それでもなんとか目的は達成。しかし、本当に大変だったのはこの後でした・・・orz... [続きを読む]

+1

abonti.com?

このBLOGは大体一日当たり300~350エージェントから、500~600ページビューくらいのアクセスがあります。 ところが今日のカウンタを見てみると、22:50現在で280エージェントくらいしかいないのに、ページビューが600オーバー! これは何かおかしい。 今日いきなりアクセスが伸びる理由がありません。 となると、考えられるのは・・・スパムアクセス(ボット含む)ですよねー。 でさっそくapacheのログを確認してみると、どうも 77.68.227.217 というIPアドレスからめったやたらとアクセスが繰り返されていました。 ユーザエージェントを見ると、どうやらabonti.comというところからAbontiというクローラーでアクセスしてきている模様。ということは、多分abonti.comというのは検索サイトかなにかなのでしょう。 そんな当りをつけてみたところで、まずは77.68.227.217のドメインを調べてみました。

$ whois 77.68.227.217 [Querying whois.arin.net] [Redirected to whois.ripe.net:43] [Querying whois.ripe.net] [whois.ripe.net] % This is the RIPE Database query service. % The objects are in RPSL format. % % The RIPE Database is subject to Terms and Conditions. % See http://www.ripe.net/db/support/db-terms-conditions.pdf... [続きを読む]

0

あまりに反応が悪いので・・・

なんか、サーバの反応が著しく悪いです。 もともと性能の低いマシンですから仕方がないのですが、SSHのアクセスすらタイムアウトしてしまうようではちょっと困り者。 なんか常にHDDのアクセスランプもつきっぱなしだし・・・。 内部的に何か処理している事は考え辛いので、多分ネットワーク経由でのアクセスに足を引っ張られていて全体が遅くなっているに違いない・・・と決めつけて、とりあえず外に公開しているhttpdの設定を、こちらを参考にいじることに。 モジュールはいじったところapacheが起動しなくなってしまったので(!)、とりあえずできそうなところで/etc/httpd/conf/httpd.confの中からMaxKeepAliveRequestsとKeepAliveTimeoutの値を小さくすることにしました。 ちなみにうちの環境をみて見たところ、前者の値は500が、後者は120が設定されていました。 これを前者100、後者15にしてひとまず様子見です。 いっぺんに色々変えちゃうと、訳がわからなくなってしまいますものね・・・(^-^;;... [続きを読む]

0

403errの案内ページを作成する

スパムアクセス(スパムコメントを含む)があまりに多いので、UserAgentでIE 6.0と同7.0からのアクセスを締め出しているのですが、弾いたこれらのアクセスログを見ていると、これらのブラウザを使ってアクセスしてきた中にも、実は検索サイト(Yahoo!やGoogle)からやってきた人が一定数含まれていることに気づきました。 もちろん、だからといってIE 6.0-7.0でのアクセスを許可するわけにも行かないし、ならトップレベルドメインがJPのものだけ通すようにしようかなー、とも思ったのですが、JPドメインからスパムアクセスがないというわけでもないこともあって、二の足を踏んでいました。 でも、IE 6.0-7.0で正当にアクセスしてきてくれる人をいつまでも排除するのもどうなの?ということで、とりあえずIE 6.0-7.0でアクセスしてきた人に、IE 6.0-7.0ではアクセスできませんよ、という案内を表示するようにしました。 おそらくIE 6.0-7.0でアクセスしてきた人には、403Forbiddenが表示されているはずなのですが、このページをオリジナルなものに作り変え、そこにIE 6.0-7.0ではアクセスできませんよ、というメッセージを入れることにしたわけです。 403Forbiddenを書き換えるには、apacheの設定ファイル、/etc/httpd/conf/httpd.confの該当箇所に修正を加えればいいという情報を得ているので、まずはそこを修正し、変更後の403Forbiddenページをアップロードします。 httpd.confの中に、

# # Customizable error responses come in three flavors: # 1) plain text 2) local redirects 3) external redirects # # Some examples: #ErrorDocument 500 “The server made a boo boo.” #ErrorDocument 404 /missing.html #ErrorDocument 404 “/cgi-bin/missing_handler.pl” #ErrorDocument 402 http://www.example.com/subscription_info.html #... [続きを読む]

0

MSIE 7.0も拒否っ!

MSIE 6.0からのアクセスを拒否することで、(検索エンジンで訪れてくださる正規の方々もいらっしゃったのですが)ずいぶんとスパムを弾くことが出きるようになりました。 ところがここに来てこんどはMSIE 7.0からのスパムアクセスが大量に・・・。 しかたがないのでMSIE 6.0と7.0からのアクセスを拒否するようにしましたが、これを続けていくとそのうちMSIEそのものからのアクセスを拒否しなくてはならなくなってしまうかも? ところで、MSIE 6.0と7.0のアクセスを止めてしまうと、様々な事情でこれらのブラウザを使わなければならない正規の方々からのアクセスも止めてしまうことに。 止めてしまうのは仕方がないとしても、なんでアクセス拒否なのかを分かるようにしておかなくちゃいけないんじゃないかなーと思い始めています。 ACCESS DENYを返すページに、MSIE 6.0と7.0からのアクセスは受け付けてませんよー。ブラウザを変えてくださーい、みたいなメッセージを入れておく必要があるのかなーと思ったり。 ま、この辺の作業もすべて復興支援の旅から帰ってきてからということになりますかね。 今はこのツーリングのことで、頭が一杯ですから・・・(笑)... [続きを読む]

0

MSIE 6.0からのアクセスを拒否する

iptablesでCN、KR、TW、CAからのアクセスを拒否するようにしましたが、これらの国々から以外にもスパムアクセスは頻発していまして、国コードによる対応はまるで焼け石に水、といった様相を呈しています。 もちろん、iptablesで防がれているスパムも大量にあるのでしょうから、まったく無意味とは言いませんが、このところ以前にもましてakismetにスパムと判定される投稿がガンガンやってきてるんですよねー。 で、その傾向をみると、その(ほとんど)すべてがInternet Explorer 6.0をユーザエージェントとするアクセスです。 ログを見る限り、検索エンジンなどから私のBLOGを訪れてくださる方々がこの古いInternet Explorer 6.0を使っている事はないようですので、ここはInternet Explorer 6.0からのアクセスを禁止してしまうことにしました。 Internet Explorer 6.0からのスパムアクセスのログを見ると,だいたいこんな感じ。 205.164.24.90 – – [13/Aug/2013:03:05:28 +0900] “GET /blog/?p=1181 HTTP/1.1” 200 30544 “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) )” このMSIE 6.0をユーザエージェントにもつアクセスを拒否するにはどうしたらよいかを確認してみると、こちらにたどり着きました。 なるほど、User-AgentでMSIE 6.0を指定して、SetEnvIfで条件付けしてdeny fromするわけですね。

order allow,deny allow from all... [続きを読む]

0

正規表現を調べていたら・・・

こんな記事が。 以前、私のblogでもapacheで画像ファイルへのアクセスログをとらないようにするために、

SetEnvIf Request_URI “\.(jpg)|(png)|(gif)$” nolog CustomLog /var/log/httpd/access_log combined env=!nolog... [続きを読む]

0

ちょっとウザいこと(スパムアクセスがらみ)

おかげさまでblogへのスパム投稿はAkismetがそのほとんどを防いでくれているので、大いに助かっているのですが、その一方でスパム投稿を目論んでいるであろう不正アクセス(とまでは言えないか?)は相変わらず大量に押し寄せています。 そんな中、iptablesによって目に余るアクセス元は遮断してはいますが、それだけで対応するのは現実的ではありません(実際にどんだけiptablesで制限しても不正アクセスは大量に押し寄せてくる)。 というのも、例えばcounterize IIでアクセスログを表示させれば、この通り。 logcounterize IIではその直近50件のアクセスログを表示できますが、その大半がこういう状態になっていることもしばしば。 わかりますかね、これ。 リファラーがすべてhttp://boota.mydns.jp/blog?p=849#comment-63になってるんです。 そしてアクセスしているのはすべてhttp://boota.mydns.jp/blog?p=849。 ちなみにapacheのログを見ると、GETだけでなくほぼ例外なくPOSTも入っています(失敗していますが)。 困ったことに、ここんとこログを確認した限りではそのアクセス元は198.2.197.212。しかしこれ、whoisしても該当するネットワークが分からないんですよねー。しかも同じようなスパム投稿目的のアクセスで他にも198.2.202.156だの198.2.197.221だのと、もしIPアドレスが正しいのであればおそらく同じネットワークに属するのであろうIPアドレスからのアクセスが頻発。 第一、第二オクテットが揃っていると、163dataの時みたいにIPアドレスをひっくり返してヒットする情報が適切なのかどうか、ちょっと判断が付き兼ねます。 というわけで、今回はリファラーに注目してapacheでアクセス制限をかけてみることにしました。 参考になりそうな情報はネット上に多々あるのですが、今回は特にコチラを参考にさせていただきました。 手順としては、apacheの設定ファイル(httpd.conf)にて、環境変数の設定とアクセス制限の設定を行うだけです。 環境変数の設定はログの振り分けで行ったSetEnvIf。アクセス制限の設定に関しては、特に細かく分けることもないかな?ということで、</var/www/html/blog>ディレクティブを新たに作成してそれに対して行うことに。 さて、まずはSetEnvIfですが、自分でSetEnvIfを記述したところに付け加えることにします。基本構造は、こんな感じ。

SetEnvIf Referer “http://boota.mydns.jp/top/top_upper.htm” ban... [続きを読む]

0

apacheのログ整理

スパムアクセスがログに見つかり次第、適宜iptablesにてアクセス拒否を行うようにしていますが、これを行っている中で、少し気になったことが。 スパムアクセスもこのところそんなに頻繁にありませんし、それがあったところでサーバのレスポンスが・・・みたいなことを気にしなければならないサイト(Blog)でもないので、暇なときに手作業でぼちぼちアクセス制限を課していますが、その際にapacheのログ(とcounterize IIのアクセス記録)を眺めながら一つずつ探っています。 で、このapacheのログですが、不必要なログは取らないようにしていたモノの、このところ結構な頻度で(それだけBlogをまめに更新しているということか!?)ロボット検索エンジン(いわゆるクローラやボットと呼ばれるヤツですね)のアクセスのログが残されているんです。 この量が結構膨大で、すこーし邪魔っ気なんですよねー。 というわけで、色々と情報をあさって、httpd.confに設定を施してみました。 ちなみに今回の変更前では単にログ設定はこうなっています。

# # Original Log Management # SetEnvIf Remote_Addr “192.168.1.” no_log SetEnvIf Request_URI “\.(gif)|(GIF)|(jpg)|(JPG)|(png)|(PNG)|(cgi)$” no_log SetEnvIf user-agent “internal dummy connection” no_log CustomLog /var/log/httpd/access_log combined env=!no_log... [続きを読む]

0

とりあえず163data.com.cnではじくようにしてみる

それではうまくはじけません、という情報は既に入手済みですが、何事も自分で確認してみた方が学習効果は高いと思うので、まずは敢えてドメインネームではじくようにしてみます。 ドメインネームではじくためには、iptablesは使えません(使えないことはないらしいけど、iptables単体ではできないらしい)。iptablesというくらいだから、よくよく考えればIPアドレスで管理しているであろう事はわかりますね・・・(^-^;; 実際そうやって設定してきたんだし。 というわけで、さしあたっての問題はBLOGへの(無用なコメントの投稿という)アクセスを禁止したい、つまりWEBサーバへのアクセスが禁止できればOKなので、httpd.confにて記述を行ってみることにしました。 ウチの環境では/etc/httpd/conf/httpd.confがパスになりますが、こいつを覗いてみると、いくつかセクションに分かれていて様々な設定が記述されています。その中で、ドキュメントルートディレクトリを設定しているあたりから、 <Directory “/var/www/html”> # # Possible values for the Options directive are “None”, “All”, # or any combination of: #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that “MultiViews” must be named *explicitly* — “Options All” # doesn’t give it to you. # # The Options directive is both complicated and important.  Please see # http://httpd.apache.org/docs/2.2/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be “All”, “None”, or any combination of the keywords: #   Options FileInfo AuthConfig Limit # AllowOverride None # # Controls who can get stuff from this server. # Order allow,deny Allow from all </Directory> となっている部分を探します。 <Drectory />〜〜</Directory>という部分、ということですね。 この中の、Controls who…のセクションにアクセスコントロールを記入します。 Order allow,deny は動作順序。allow,denyなら、まずはallow(許可)して、それから除外するものをdeny(拒否)させる、という順序になります。 WEBサーバという特性から、基本的には全てのアクセスを受け付け、その中から今回の163data.com.cnをはじく、という風にしたいのでここはこのままです。 次の Allow from all はそのままですね。全てのアクセスを受け入れる(許可する)となります。 この下に、Deny from…を記入すると、全てのアクセスは受け入れるけれどもDenyに指定されたアドレスからのアクセスは受け入れませんよ、ということになるようです。 試しに Order allow,deny Allow from all Deny from 192.168.1.0/24 として、LAN内からアクセスできなくなるかどうかを確認してみたところ、バッチリアクセスできないことを確認しました。 もちろんココに書いてアクセスが拒否されるのはApacheへのアクセスだけです(SSHなどはそのまま接続状態を保てます)。 では、本番。Deny from…のところに、163data.com.cnを入れてみることにしましょう。これはそのまま Deny from 163data.com.cn と記述すればいいようです。 これでHTTPDを再起動させて、2〜3日様子を見ることにしましょう!... [続きを読む]

0