クラッカーとの戦い方(メール不正利用編)

はじめまして、運用担当をしている ai です。

ブログを書くのが久しぶりすぎて、テンションの定め方があまりわからないのですが、
徐々に慣れていきたいと思いますのでよろしくお願いしますっ(笑)

 

さて、私はクララの中で運用フェーズに入ったお客さんの技術サポート、運用提案、障害対応を担当しているのですが、その中で最近多いのがクラッキング。
一時期はクラック女子(クラックしてないのに!!!)とまでいじられるくらい毎日対応してました。
なので、今日は私達が普段どのようにしてクラッキングに気づいて、対処しているかを書いてみたいと思います。
範囲が広いので、今日はメール不正利用にフォーカスしてみます。

 

その前にクラッキングの定義についてgoogle先生に聞いてみました。

先生によると…

悪意のある第三者がシステムへ不正侵入したり、システムを破壊・改ざんするなどコンピュータを

不正に利用すること。(by wikipedia)

とのことです。
つまり、意図しないところでサービスを乗っ取られている状態のことです。

 

そうなるとどうなるのか….

  • メールを送ったのに相手には届いていないと言われる
  • googleやyahoo、取引先にメールを送信したのにエラーが返ってくるようになる
  • Webサイトの表示が遅い(Webとメールを同じサーバで運用していた場合) etc……

 

大体のパターンの場合、お客様のサービスに影響が生じ、その調査を行うことにより気づきます。
また、クララでは第三者からの通報もあるので、それを該当のお客様へお知らせしたりサーバ負荷を検知しお知らせしたりします。

 

もし上記の状態になったら…

 戦いましょう。

対応しなければいけないことは、以下の3つです。

  • 侵入経路を特定
  • 対策実施
  • 恒久的対策実施

侵入経路を特定する

  1. メールユーザーのパスワードが破られていないかを確認する(だいたいこのパターンが多い
  2. telnetでメールを送信されていないか確認する
  3. Web経由での送信がないかを確認する

具体的には?

  1. メールキューの確認送信中などの理由でメールがたまる場所でどれくらいたまっているか確認し、滞留しているメールの中身も確認

    ※滞留している場合、パスワードを破られている可能性のあるユーザーが特定できる可能性がある
  2. メールユーザーのパスワードが破られていないか確認

    以下のように確認します。
    ※メールサーバの仕様によって検索文字は異なるので、ご注意ください。
    (例)
    CentOS5.4 , Plesk8.6 , MTA: qmail の場合

    ところどころにlogged in が見受けられます。
    whois で検索してみると、インド、イタリアなどなど各国からグローバルに同じアカウントに対してログインしているようです。(非常にあやしい)
    1番のメールキューの情報とあわせてあらゆるところにメールを送っており、bounceメールも大量に返ってきているため、不正利用の可能性が高いと判断。
  3. telnetでメールを送信されていないか確認

    もし、パスワード破りではない場合には、telnetコマンドで送信されていないか確認します。
    下記のコマンドでメールに関するプロセスなどを見て判断します。
  4. Web経由で送信がないか確認(Webシリーズ系で詳しく書きます)

対策実施

  1. 侵入経路をふさぐ

    メールユーザーの不正利用の場合には、パスワードを変更(8文字以上の英数記号まじりがベスト)
    パスワード破りではない場合には、メールサーバを再起動
    Web経由の場合には、フォームの対策実施(画像認証を入れるなど…最近これが効果的なのかは微妙なラインなのですが…)
  2. メールキューを削除

    ここに大量にたまっている場合には送信遅延が発生します。
    ブロックリスト(迷惑メール配信サーバとしてリストに載せられてしまう)掲載の可能性もあるため、削除しておいたほうが無難です。
    ※googleやyahooにメールが届かない場合には、問い合わせてみたほうがいいかと思います。
  3. ブロックリストに載っている場合には申請

    以下のサイトで主要なサイトに掲載されているかは確認できます。
    – DNSBL
    http://www.dnsbl.info/googleの場合には、ウェブマスターツールから申請ができるようです。

恒久的対策実施

  1. 複雑なパスワードをつける

    不正利用される場合、会社名や名前など推測可能なパスワードが破られやすいです。
    また、同じパスワードを他のメールアドレスで攻撃対象となりやすいのでご注意ください!
  2. fail2banを導入する

    ある一定回数パスワードの入力がされると一定時間ネットワークから切り離して強制的に攻撃をとめてしまうというもので、クララでも導入しているツールです。
    破られるまでには何回か試行するのでその段階で防ぐことにより、そもそも侵入の機会を阻止します。
    もちろん、ホワイトリストもあるので、会社のIPはパスワードを間違えても隔離されないようにすることも可能です。(結構効果的!)
    導入や詳細については國分さんの「fail2banしてやる!」をご参照ください。

 

あくまでもfail2banはリスクを減らすものなので、パスワードを破られないようにする工夫やWebサイト経由でのインジェクションがされないようにする対策は欠かせないとは思います。

 

それでは、また次のブログで!

Share on LinkedIn
LINEで送る
Pocket

ai

ai

パン作りと旅行が趣味のクララ運用担当です。 こうみえても黒い画面はお友達ですが、 インフラエンジニアぽくない路線を目指してます。