ChannelK

今日を――生き残れ。

Flower

Posts Tagged ‘ServersMan@VPS’

変わる不正アクセスのパターン。

スクフェスのイベント期間中は毎回アクセス数が伸びるのですが、今回はとあるblogさんにボーダー一覧表のエントリがリンクされて通常のアクセス数が倍くらいになっていたりします。とはいえ、某ニュースサイトさんにリンクされた時に比べれば1/20以下なので鯖にも全然余裕があるのですが……。

今回の件はそれについてではなく。
いつものごとくlogwatchが整形してメールで送ってくれるレポートとNewStatPress、Wordfenceで日々のアクセス状況は確認しているのですが、今回気になったのはwordpressの管理ページへの不正アクセスのパターンが変わった点。

管理ページへの不正アクセスといえば、「admin」「administarator」「adminadmin」など定番フレーズやしばらく前から出始めた「ドメイン名」をユーザー名としてアクセスしてくるものが定番だったのですが、今日確認したのは「投稿ユーザー名」をログインに使ってくるパターン。当然のことですが投稿ユーザーは有効なのでパスワードが合致すればログインに成功してしまいます。

もちろんWordfenceで制限を掛けているのでパスワード総当たりをされても合わなければロックアウトするだけなのですが、不正アクセスしてきたIPだけでなく管理者の自分まで弾かれては仕方ありません。時間を掛けて総当たりされればパスワードは割られてしまうわけで、これはきちんと対策しておかなければなりません。

というわけで、一番手っ取り早く行える方法としてwp-admin以下に.htacceessを別途置いてホストによるアクセス制限をサクッと追加。WordfenceのBlocked IPsを見て、こんなに引っかかってるよとニヤニヤすることはできなくなりますがこればかりは仕方ないでしょう。

ちなみにここ2ヶ月でログイン失敗でロックアウトされたIPは1430ほど。ロックアウトされた後に500回以上再び不正アクセスを試みたIPも中にはありました。httpdの膨大なアクセスログをいちいち確認するのは面倒ですから、logwatchやwordfenceのようなツールは非常に便利です。

セキュリティは大事だよー。

twitterの方で流れていた情報から気になることを見つけたので。

【緊急警報!!】ロリポップとGMOのinterQのWordPressが軒並み乗っ取られてます | More Access! More Fun! 

WordPressというよりはMy SQL、php周りのハッキングが横行しているようですね。
うちもVPS上にWordpressを使ってblogを構築しているので、他人事ではありません。

ここしばらくWordfenceのログを確認していて、管理画面へ日本国内のxserverから管理画面への不正アクセスがちらほらあるなーとは思っていたのですが、以前にWordfenceについてエントリを書いた時と比較すると2ヶ月で1134件、これまでから300IP以上の不正アクセスが増えていました。

Wordfenceのログとlogwatchのデイリーメールを確認していれば、どういう形で侵入のとっかかりを探しているのかだいたい分かるようになってきます。

  1. WordPress上で”admin”、”administrator”など分かりやすい管理者IDを見つけたらPass総当たり
  2. My PHP Adminなどがインストールされていないか、インストールされていれば管理者権限が取れるかどうか
  3. ディレクトリトラバーサルなどによってwebで公開されている範囲外のサーバパスワードなどが取得できるか
  4. その他Telnet、sshdなどを用いてサーバにログオンできるか

この辺が一般的な所でしょうか。
キチンとサーバを管理できているユーザーならそれなりの対策もしてあるでしょうし問題ないとは思いますが、「~分でblogが開設できます」的な謳い文句のサービスを利用していると自分でサーバを管理するという気持ちは起こらないのでしょうね。

iptablesやipsetで外部からのアクセス規制、Clam AntiVirusなどを利用したサーバのウイルス対策、Wordpressのバージョンに限らずOSの更新パッケージの確認、使用しているID・パスワードの脆弱性チェックなどは日常的に行なっておきたいものです。

iptables設定で悩む。

VPSを契約した初日から最低限必要なセキュリティ設定は行っているのですが、先日のWordfenceのエントリでも書いたように相変わらずロシアなどからのアクセスが絶えません。
さてさてどうしたものか、と時間を見ながら色々設定をいじっています。(早朝にサイトにつながらなかったのはこのせいです)

最低限の設定として、参考にしていたのはここ。

誰得UNIX-Blog: ServersMan@VPSでのiptables設定(state版) 

ただ、あまりに設定が簡単なだけにもう少し手を加えたいと思ったわけです。
そのようなわけで次に参考に参考にしたのがここ。

ファイアウォール構築(iptables) – CentOSで自宅サーバー構築

iptablesの設定-CENTOSでアリソンサーバー

各種攻撃への対策の他、国別でアクセス制限をかけたりと高機能なのは良いのですが、手直ししてもどうやらServersMan@VPSの提供しているiptablesチェインの数が足らないらしくエラーを吐きまくって国別アクセス制限がかけられませんでした(/proc/user_beancountersを見る限り、上限は256個のようです)。

※追記:後日調べた結果、ロードされているモジュールが足らないようです。VPSによっては使用できないモジュールもあるようなのでこの辺は注意が必要です。

上の設定項目をVPS向けにシンプルにしたのがここ。

VPS における iptables の設定 | POPOLOG

内容を見れば分かるのですが、2つ上のリンク先の設定例から国別設定のスクリプトを取り除いてシンプルにした感じです。これはほんの少しの手直しで問題なく動きました。

……とはいうものの、必要としているのは国別のアクセス制限なんですよね。
ここのサイトが参考になりそうかなと思ったところ、参考サイトがつながらなくてスクリプト全体が見えずにいます。

大陸からのアクセスを規制する – 自宅PCの設定記録

今後も現実逃避のためにちょくちょく手を入れていくと思うので、サイトにつながらなかったらそういうことだと思ってください。^^;;

※さらに追記:CentOS 6.xならばiptabelsの他にipsetも使用できるので、より柔軟な設定ができそうです。
とはいうものの、このblogはCentOS 5.9上で動いているわけで……。

6.x以前でも動くipsetのブランチがあるようですが、どうせならOSもアップグレードしたいところ。
でも、5.xから6.xへのアップグレードはyumでは上げられず、上書きインストールではなく新規インストールが推奨されているのですよね。VPSの場合、インストールを済ませた鯖が割り当てられるとはいっても初期設定にはそれなりの時間がかかるわけで、時間に余裕がないとできません。

Optimization WordPress Plugins & Solutions by W3 EDGE