サーバー侵入被害…迷惑メール送信されまくって激重に!
会社で管理しているサイトがこの半年の間に何件か被害を受けたのでその件についてまとめて書いてみよう。
ケース1.リニューアル後、スパムメールを大量に送信
これはとある会社のリニューアル案件をした時に起こった件なのだがサイトの本番化が終わり、安心していると翌日サーバー会社からメールが有り、お宅のサーバーから大量のメールが送信されているのが判明したのでこっちでサーバー自体止めといたからと言われて見るとサイトが表示できなくなっていた。
調べると身に覚えのないPHPファイルが設置されていてそれがメールを送りまくるプログラムだったようなので消して、サーバーのセキュリティーを上げてIP制限をかけることにした。
恐らく原因はWordPressのパスワードがあまりにも桁数が少なすぎたのがまずかったと思われる。ユーザーIDもadminと一瞬で解読されそうなものだったし…。
ここもしっかりと新しいものに変更してセキュリティを上げておいたのでその後サーバーが止まるようなことは起こっていない。
ケース2.リアルタイムでサーバー内のファイルが変更される恐怖
サイトを修正してクライアントに確認をしてもらっていたらサイトが見れなくなっていると連絡が来た。
そんな馬鹿な、さっきまで普通に見れてたのに?と思って確認すると見れない。
サーバーにFTPで接続してどうなってるのか確認してみるとhtaccessの更新時間が1分前とかになっている。
一切触っていない部分がなぜ?と色々見たら全てのディレクトリのhtaccessが変更されている。
そして身に覚えのないPHPファイルが設置されている。
この身に覚えのないPHPをダウンロードして確認してみるとどうもファイルアップローダーのようで恐らくここからサーバー内に何かアップロードしようとしているようだった。
すぐに消してサーバーのセキュリティ設定からIP制限をかけて他のところから接続できないようにして中身を元に戻したら通常表示することが出来るようになった。
サーバーにアクセスするたびに何か書き換わっているというまさにリアルタイムで攻撃されているという恐怖を味わうことになった…。
ケース3.MW WPフォームからスパムメール大量送信
これはサーバーに入られて何かを書き換えることで攻撃されたわけではないがスパムメールを大量送信されることになり、サーバーが止まった。
どういうことかと言うとMW WPフォームというWordPressの非常によく使われるプラグインを使ってこのサイトのフォームを作っているのだが、このお問い合わせフォームでメールを送りまくるという手法だ。
まず、メーリングリストのメールをお問い合わせした方のメール記入欄に入れて、他の欄を意味のない文字列で埋めて空欄によるバリデーションを回避、お問い合わせ内容のところにスパムメールの内容を記入する。そしてひたすらお問い合わせを繰り返す。
これにより自動返信機能でスパムメールを送るという手法である。
これはなかなか巧妙だったので何が起こっているのか訳が分からなかった。
データベース接続が出来ないというエラーが出て、サーバー会社に問い合わせるとデータベースが一晩に30万レコード埋まってて制限がかかってますと言われ、もっと高性能なのにすれば大丈夫です!っていうのでじゃあそれで!と別の高性能なデータベースに乗り換えたのだが2日後、また激重。
これって普通になんか攻撃受けてるだろってことでデータベースの中身をダンプしてチェックしたら何万件もスパムメールが…。
恐らくはお問い合わせで送られてきたメールに関してはメーラーのスパム防止などでブロックされてこちらに届かなかったもののMWWPフォームの問い合わせメールをデータベースに保存する機能によりスパムメールがひたすら貯められていった結果、データベースが激重という状態になったものと思われる。
これに関しては別のフォームを設置することにしてMW WPフォームを削除し、溜まったスパムメールも削除するという対応にした。
普通に考えてフォーム作る時に無意味な文字列が入ってたらバリデーションで止めるなんて出来るわけだしフォームを作った人間のレベルが低すぎたとしか言いようがない。
電話番号のところに英語の文字列が入ってるとか普通メール飛ばないんだけど…。
まとめ
今回は最近起こった攻撃をまとめて書いたが本当に最近は海外からの攻撃が無茶苦茶増えていると感じる。
サイト運営を行う上でセキュリティは非常に重要で、FTPやSFTP接続の場合、出来るなら固定IPでの接続で関係者以外のアクセスを出来ないようにしておきたい。
WordPressを使う場合も色々とセキュリティのプラグインがあるのでサイトガードなど基本的なセキュリティはしっかりと設置しておきたい。
お問合せフォームからもスパムメールを大量送信できてしまう事があるのでこちらもしっかりとバリデーションで簡単にはメールが飛ばないようにしておく必要があるだろう。
海外からの攻撃が多いのでお問い合わせの内容欄に英語しか入ってない時はエラーになるようにしておくとかなりの攻撃を防ぐ事ができると思うので試してみて欲しい。
コメントを残す