บังคับโจมตี

 

XFiles     

เมื่อเดือนที่แล้ว、このサイトのプラットフォームであるWordPressにクロスサイトスクリプティング(XSS)の脆弱性が発見されました
ดังนั้น、4月22日から28日までの間セキュリティ保全の為にリリースされたWordPress4.1.2/4.2/4.2.1へとアップデートを順次実施しました

それに伴いWordPressの不具合も発生しWordPressのフォーラムへの報告など色々と面倒な作業も発生してしまいました
丁度彼らがその機会を得たかのようにその間に当サイトへハッカー軍団からの猛烈なアタックを受けました
หลังจากที่ทุก、その対策が必要となったため先月はブログを執筆するような余裕はありませんでした

最初の添付写真はperlの監視プログラムの画面ですが、18時に1628件のアクセスを検知しています
NewStatPressのログを調べたところアクセス元の「ns396380.ovh.net」はwp-login.phpを狙ったフランスからのブルート・フォース攻撃である事が判明しました
แต่、最も多い攻撃はコメントフィールドへの不正な書き込み(SPAM)と旧バージョンでの脆弱性が知られているプラグイン「RevSlider」への攻撃です。อื่น ๆ、xmlrpc.phpを経由しパスワードのハッキングやpingback攻撃(DDoS攻撃)もアクセス・ログから確認しています
アタック元はウィルスやマルウエアを介してハッカーにより乗っ取られたPC(Windows XPが多い)やWebサイトからの発信が大多数を占めています
組織的なハッキング行為はロシアやウクライナからが非常に多いように思えます
それらのソフトウエアは何処かの悪い奴らから遠隔操作されているものと思われます

ถ้า、ブルート・フォース攻撃を放置しているとパスワードが解読されサーバーを乗っ取られたりリソースを食い尽くされサーバーがダウンする場合もあるので、ตอนนี้、それらのIPアドレスは全てアクセス禁止にしています

WordPressは誰でも手軽にブログ・サイトが無料で構築でき豊富なプラグインも揃っているため世界で最も利用者が多いCMSなのですが反面常にハッカーからの攻撃を受けています

以下のリンクには、2013年に発生したレンタルサーバー「ロリポップ」の大規模ハッキング事件の経緯が書かれています

ไซต์รบกวนรายงานความเสียหายของบุคคลที่สาม

8000件以上のWordPressサイトがハッキングされHPが改竄されたという事実は本当にショッキングな出来事でした

ハッカーから身を守る為には

  • パスワードを強固なものに設定する
  • 重要なシステムファイル(wp-config.php/wp-login.php/admin-post.php/xmlrpc.php等)のパーミッションを第三者からアクセス出来ないようにするまたは参照できないようにするそして書き換えられないようにする
  • WordPressの本体とプラグインを最新の状態に保つ
  • セキュリティ関連のプラグインをインストールしておく
  • 不審なアクセスがないかどうかの監視を怠らない
  • ハッカーからのアクセスをブロックする。 👉 จำกัด การเข้าถึงจาก ธ ปทที่เป็นอันตราย

คุณชอบ...ไหม

โดยบังเอิญ、URL/wp-login.phpが実際のURL(URL/wordpress/wp-login.php)へリダイレクトされる事を防ぐためfuctions.phpに以下の定義を追加しています

และ、wp-config.phpのパーミッションは、404に設定しています本当は、400に設定したいのですがドメインキングのサーバー環境ではApacheに所有権が無いため無理です
でも外部からのアクセスがかなり制限されているので安全性は高いです
(私が所有するもう一つのサーバーはtelnet/SSHが使えます)

ดี、兎に角色々と大変ですね。 (M_M)

มันควรจะตั้งข้อสังเกต、あなたのサイトがマルウエアに侵され他サイトへの攻撃に加担しているかどうかについて以下のサイトでチェックできます

งานวิจัย Sucuri

Webサイトがウィルスに侵されるとブラックリストに登録されインターネットから遮断されるペナルティを受ける事になりますですので十分注意しましょう!

* เพิ่ม 5/8
私が指摘したWordPressのバグが4.2.2のリリースでやっとFIXしました

👉 4.1.2/4.2へアップデート後記事の更新でブラウザが固まる

จำกัด การเข้าถึงจาก ธ ปทที่เป็นอันตราย

 

ภารกิจที่เป็นไปไม่ได้     

* このページは常時更新中です

本サイトに設置したPerlのアクセス解析プログラムのログとWordPressのプラグイン「NewStatPress」の分析結果を調査しました
その結果相変わらず自身をBOTと名乗らない迷惑BOTから大量のアクセスがある事が確認できました

そのBOTについてですが当サイトでは以下のような種類を確認しています

(1) โฆษณาผลิตภัณฑ์ เขียนกระดานข่าวสารหรือข้อคิดเห็นเขตสุ่ม "สแปมบอ"
⇒ “Google No CAPTCHA reCAPTCHA”により全てガードされています

(2) พยายามล็อกอินของเวิร์ดเพรส ' แฮ็คโบสถ์ "(เดรัจฉานโจมตี)
⇒ “Google No CAPTCHA reCAPTCHA”により全てガードされていますし更に強固なパスワードに変更していますのでまず大丈夫でしょう

* ผนวก 4/20
แล้วก็、更にログ解析を進めた結果ログイン名とパスワードをWordPressのxmlrpc.phpへ送信する方法で裏口からの侵入を試みる多数のハッキングサイトを確認しました因ってそのIPアドレスを本日ブロックしました

(3) プラグインの脆弱性を利用し記事の書き換えを試みる「ハッキングBOT」
⇒ 当該プラグインは当サイトでは使用していません。มันควรจะตั้งข้อสังเกต、当サイトではプラグイン「Revslider」等へのアタックを確認しています⇒ wp-config.phpを閲覧することで彼らはDBやWebサイトへの侵入を企んでいます

これらのアタックサイトに関してはWindows XPやWindows 2000等のセキュリティが脆弱なPCやWebサイトがウィルスに感染しそれを踏み台にして邪悪なBOTへと変貌している可能性が考えられます

上記の調査結果を踏まえこれ以上悪質なBOTの行為を許す事が出来なくなりましたのでこの度特に悪質なBOTへの大規模なアクセス制限を実施しました

ต่อไปนี้คือ、Apacheの「.htaccess」に追記した当サーバーへのアクセス拒否設定の一部です
* 10月1日時点において合計で302個のIPアドレスを昇順に定義しています

 

ที่นี่、BOTで賑わっていた当サイトがかなり静かになりました。 (หัวเราะ)

เกี่ยวกับ [เข้าถึงจำกัด]
アクセス解析の結果ApacheによるIPアドレスからホスト名への逆引きが不可能なケースを散見しましたのでホスト名ではなく全てIPアドレスの記述によりアクセス制限を実施しました
例として以下のように複数のIPアドレスを使って攻撃してくるBOTについてはIPのサブネットマスクを指定する事で対象IPを纏めて拒否するよう設定しました

 

[วิธีการระบุข้อมูลมาสก์เครือข่ายย่อย]
これ以降情報処理技術者の方は読み飛ばして下さって結構です
迷惑BOTの疑いのあるホスト名またはIPアドレスを以下のwhoisデータベースのサイトでサーバー情報を取得します

https://www.cman.jp/network/support/ip.html

実例として「195.154.188.41」を検索します
その結果以下のように当該ネットワークが使用するIPアドレスの範囲が確認出来ます

inetnum: 195.154.128.0 – 195.154.255.255

これを二進数に展開します

11000011 10011010 10000000 10000000
11000011 10011010 10000000 10000001
11000011 10011010 10000000 10000010
11000011 10011010 10000000 10000011



11000011 10011010 11111111 11111110
11000011 10011010 11111111 11111111

ที่นี่、上位17bitが固定で下位15bitが可変である事が解ります
ดังนั้น、上位17bitを固定するためのサブネットマスクは以下のように表記出来ます

11111111 11111111 10000000 00000000

対象IPアドレスに対しこのサブネットマスクと二進数の論理積の演算結果の値が一致すれば制限IPアドレスという事になります
このサブネットマスクは「.htaccess」の中で以下のように記述します

195.154.0.0/17
หรือ
195.154.0.0/255.255.128.0

未だ全てのBOTを排除していないので小さなBOTは居ますが以前よりはかなり静かになった感じがします
ต่อไปนี้คือ、BOTへのアクセス制限を行った後におけるPerlのアクセス解析プログラムのモニター画面です

*ผนวก 4/9
念のためログイン画面への総当たり攻撃を防御するためのプラグイン「Jetpack-Protect」も本日有効にしておきました

*ผนวก 4/17
不正ログインをチェックするために開発された日本製のプラグイン「Crazy Bone」をインストールしました

*9月18日 追記
เมื่อวันก่อน、韓国からのDOSアタックやウクライナからのSPAMアタックを受けサーバがダウンしたため「.htaccess」を更新しました以下の記述はその一部です

มันควรจะตั้งข้อสังเกต、robots.txtにおいても以下のように迷惑BOTからのアクセスを拒否しています
โดยบังเอิญ、SteelerとShim-Crawlerは東京大学の研究室から来るクローラです

 

*9月26日 追記
アクセスログの解析からWordPressのピングバック機能を利用したDDOS攻撃の形跡も確認しましたので本サイトのピングバック機能を無効に設定しました
参考記事はこちら ⇒ 注意喚起WordPressの機能を悪用したDDoS攻撃対策のお願い

プラグイン「Disable XML-RPC Pingback」をインストールする事でピングバック機能を無効にし更に「.htaccess」に以下の定義を追加しリモート投稿プログラム「xmlrpc.php」へのアクセスも禁止に設定しました

การทดลองที่จะเรียก Perl ของโปรแกรมการวิเคราะห์การเข้าถึงจาก WordPress

これまでの実験でWordPressにおけるテーマのheader.phpより単純にperlのアクセス解析プログラム「perlstats.cgi(仮称)」を呼び出すとサーバーの環境変数が引き継がれない事が判明しています

ในเวลานี้、WordPressのindex.phpのプログラム内にperlのアクセス解析プログラムを呼び出す実験をしました
มันควรจะตั้งข้อสังเกต、普通に呼び出すとやはり環境変数が渡らないようなので、ล่วงหน้า、PHPのプログラム側から環境変数を取得しパラメーターで渡す方式でperlのプログラムも修正しました

index.phpのプログラムコードは、มันจะเป็นดังนี้。
(セキュリティ上実際のコードを少し修正しています)

 

perlstats.plの実行後の結果を表示する管理プログラムの画面を以下に示します

 

上の画面を見ると以下のサーバーの環境変数は引き渡されている事が分かります

REMOTE_HOST
REMOTE_ADDR
HTTP_USER_AGENT

แต่、อับ、リンク元URLの集計が’0’のままなのでHTTP_REFERERは送られていない模様です

ที่นั่น、そもそもHTTP_REFERERがPHPならびにperlで正しく設定されているのかどうかを確かめるため簡単な実験サイトを作って検証して見ました

まず使用可能な環境変数を表示するPHPのプログラム「server_key.php」です(以下)

 

次に使用可能な環境変数を表示するperlのプログラム「server_key.pl」です(以下)

 

และ、それらのプログラムを呼び出す側のHTMLコード「test_referer.html」です(以下)

 

上の二つのリンクのそれぞれの結果は、มันจะเป็นดังนี้。

PHP、perlともサーバー環境変数の取得はちゃんと出来ている事がこれで分かりました
WordPress上でなければ問題なく動くようです

 

問題は三番目のリンク(index.php)です
หลังจากที่ทุก、HTTP_REFERERは取得できていませんでした

ที่นั่น、index.phpへのコードの挿入位置に問題があるのかもしれないという事で以下のように変更して見ました

 

その結果は見事に失敗でした。 (>_<)

PHPの同一スコープ内に置いても同じ結果でした
NewStatPressなどWordPressのプラグインでHTTP_REFERERの情報が非同期にリセットされているような気がするのですが詳しい原因は私には良く分かりません
もしかしたらプラグイン「WP Super Cache」によるキャッシュが原因かもしれません

この件で解る方誰かエロイ先生教えて下さい!!(หัวเราะ)

โดยที่ ...

WordPressからperlプログラムへHTTP_REFERERを渡すのは難しいのでperlのアクセス解析プログラム「perlstats.cgi」において「リンク元URLの集計」の部分はできないという事で諦めます。 บาร์เลย์

ลึกลับคำค้นหาจะปิด

そういえばGoogle Analyticsを眺めていて気が付いた事ですが何故かアクセス解析の結果に検索キーワードが含まれていません

何故だろうかとググってみたらとあるブログ"ค้นหาคำหลักที่จะไม่ไล่ ... ไม่อ้างอิงหรือมาตรการบางส่วนของ?"にその理由が書かれていました

つまりGoogleが2011年10月に検索自体をSSL暗号化してしまったためGoogle経由で訪問してきたユーザーの検索キーワードが取得できなくなってしまったことが原因

だそうですWebマスターからすればこの情報が一番知りたいところなんですがこれじゃアクセス解析なんかやってもあまり意味が無いような気がしました
yahoo!, นอกจากนี้ Bing Toka เครื่องมือค้นหาอื่น ๆ เฮ้จะทำทิศทางนี้ง่าย(–;)

Google Analytics

Googleが提供するWebサイトのアクセス解析システム「Google Analytics」のリポートの一部を紹介します
驚いた事にWebサイトを訪問した人の年齢・性別・嗜好端末の機種まで詳細な報告が上がっています。อาจ、Googleアカウントを押さえたGoogleだからこそ出来る技かと思いますGoogle恐るべしです!

เปิดตัวเป็นส่วนหนึ่งของรายงานของ Google Analytics ที่มีระบบการวิเคราะห์สำหรับเว็บไซต์โดย Google.
ฉันประหลาดใจที่รายงานนี้เพราะเนื้อหาของรายละเอียดเกี่ยวกับอายุ, เพศ, รสชาติและชนิดของขั้ว, และอื่น ๆ ที่ได้รับรายงาน.
ผมคิดว่าอาจจะ, เพียง google สามารถทำได้เนื่องจากมีบัญชีผู้ใช้ Google.
มันน่ากลัวของ Google!

Reports-010 Reports-020 Reports-030

WordPress ของการวิเคราะห์การเข้าถึง (การวิเคราะห์การเข้าถึง)

WordPressの勉強を兼ねアクセス解析のプログラムを3個組み込んでおきました
最初の1個はWordPress内部にあるテーマのテンプレートPHPプログラムから呼び出すようにした①perlのCGIプログラム
もう1個はgoogleが提供する②Google Analyticsというウェブサイトのトラッキングサービス(Java)
最後の一つはデベロッパーが開発したWordPressのプラグインで③NewStatPress(PHP言語)です
(อ่านเพิ่มเติม…)