メール管理者の「ヒヤリハット」レポート
−不用意なセキュリティ対策がトラブルの種に−佐藤潔、内田雅生、飯村直弘、加藤雅彦
2008/3/3
送信ドメイン認証の運用は慎重に
社内外とのメールを中継するメールリレーサーバでハードウェア故障が発生し、社外とのメール送受信ができなくなる障害が発生。ハードウェアの修理を依頼するとともに、別途ハードウェアを用意し、同等の機能を持つメールリレーサーバを構築。これを機に、メールリレーサーバをアクティブ/アクティブの冗長構成にすることにした。
社内のメールサーバの設定変更、追加したメールリレーサーバのMXレコードの登録、ファイアウォールの設定変更を行い、無事に社外とのメール送受信機能が復旧した。しかも冗長構成にしたので、「今後は障害発生時でもサービスへの影響を最小限にすることができるぞ」と、ほっとしたのも束の間、一部の顧客あてにメールを送信できないとのクレームが入った。
冗長化した2台のサーバからは、テストメールの送信に成功していたので、「そんなはずはない」と思いながらもログを確認すると……。もともとあったサーバのログではすべて正常に送信できているのを確認できたが、新規に追加したサーバのログには、一部のドメインあてのメールが受信拒否されたとのメッセージが!
■原因
このシステムでは、以前から送信ドメイン認証の1つであるSPFレコードを定義していた。
【関連記事】 http://www.atmarkit.co.jp/fsecurity/special/82senderid/sender101.html 送信ドメイン認証技術解説 Sender ID:送信者側の設定作業 http://www.atmarkit.co.jp/fsecurity/special/89dkim/dkim01.html 送信ドメイン認証技術解説 電子署名方式の最新技術「DKIM」とは |
しかし今回追加したメールサーバについてはSPFレコードを定義するのを忘れていたのが、送信失敗の原因だった。そのため、送信ドメイン認証を導入しているドメインあてのメールが受信拒否されてしまっていたのだ。分かってみればなんということはないのだが……
■教訓 メールサーバを追加したりIPアドレスを変更したりする際は、SPFレコードについても定義するのを忘れないようにしよう。 |
コラム●ドメイン認証の普及率に対する測定結果 | ||
WIDEプロジェクトでは、ドメイン認証の普及率に対する測定結果を毎月測定して公開している。2008年2月現在のJPドメインにおけるSPFレコードの普及率は18.19%だ(図4)。 2007年後半から急激に普及率が高まったのは、11月よりNTTドコモが「なりすましメール対策」の提供を始めたからではないかとちまたではささやかれている。
|
携帯に大量のメールを出したら……
ある企業では、Web上で懸賞付きアンケートを実施し、その当落をメールで返送するというキャンペーンを初めて実施することになった。
それなりに多数のメールアドレスに対しメールを送ることになるため、あらかじめ配信用メーリングリストサーバを利用し、多数のメール送信を行えるように準備した。しかし実際に送信してみると、携帯メールから「User Unknown」のエラーメールが多数返ってきてしまった。
■解決
携帯メールあてに一度に多数のメールを送ると、携帯キャリア側のスパムフィルタが反応してエラーとなってしまうようだ。そこで、携帯メールアドレスのみを抽出し、1通ずつ、何秒か間を置いて送信するというやり方を取ることで、何とかメール送信を完了することができた。
しかし、「User Unknown」でエラーになっていたメールが実際には相手に届いており、それに気が付かずに再送してしまったため、今度は「同じメールが複数届いた」というクレームが出てしまった。
■教訓 携帯メールアドレスあてのメールは、一般のメールサーバあてとはまた違った特殊仕様が多い。何かとトラブルが発生することが多いと意識しておくべき。 |
放置していた古いCGIの穴を突かれて
スパムメール対策用のDNSBL(DNS-based Blackhole List)を運用している団体から、こちらのメールサーバ発でスパムが送信されている、という連絡を受けた。
DNSBLとは、スパムメールの送信元や中継を行っているホストのIPアドレスをまとめたデータベースだ。これを参照してスパムメールをフィルタリングできるが、半面、データベースのメンテナンスが十分でないなどの理由から、スパムではないメールまで拒絶してしまい、「メールが届かない」といったクレームに悩まされることもある。
【関連記事】 http://www.atmarkit.co.jp/fsecurity/rensai/mailsec02/mailsec01.html 電子メールセキュリティの基礎知識 第2回 スパムメール対策――必要なメールを必要な人に |
このケースでは、ログを調べてみると、確かに海外と思われるメールアドレスあてに大量のメールが出されている記録があった。どうやら実際にスパムが配信されてしまっているようだ。
おそらく、ボットに感染したPCから送信されているのだろうと思い、ユーザーを特定しようと試みた。ところがよく調べてみると、メールサーバから直接、スパムメールが送信されていることが分かった。かといって、オープンリレーの設定になっているわけではないため、メールサーバがクラックされたのか? と思ったのだが……。
■解決
このサーバでは、1台のサーバの上でメールサーバとWebサーバの両方が動いており、会社案内などのWebページが提供されていた。その中に、以前問い合わせの受け付け用に利用していた、古いメールフォームのCGIが稼働していた。
このページは現在使われておらず、リンクもされていなかったが、CGIも含め古いコンテンツがそのまま残してあった。実はこのCGIに穴があり、細工されたフォームを受け付けると、そのCGI経由で任意のアドレスにメールを送信できてしまうようになっていたのだ。早速このCGIを削除し、利用不可能にすることで問題を解決した。
■教訓 使っていない古いCGIをそのまま残していると、そのCGIにセキュリティホールが見つかった場合、たとえリンクを外していて直接たどることができなくても、検索エンジン経由で見つけられ、悪用される場合がある。不要なコンテンツは削除するなどして、完全に利用できなくしておこう。 |
複雑化するにつれ難易度高まるメール管理
インターネットで使われているアプリケーションとしてはレガシーな部類に入る電子メールだが、利用者の増加に伴ってシステムは以前と様変わりし、どんどんと複雑化する一方である。一見関係ない部分でのトラブルがメール消失や配送遅延といった問題の原因になることも十分あり得る。システムの全体像を理解し、平常時の動作を把握することがトラブル防止のためには重要といえよう(これはメールに限った話でもないのだが)。
また、電子メールを取り巻く環境は年々変化しており、続々と新たな脅威が発生している。電子メールシステムを管理する立場にある皆さんはぜひ、常に最新の情報を入手し、脅威に備えるよう心がけていただきたい。
それともう1つ、利用者の立場にある皆さんは、メール管理者もいろいろと苦労していることがお分かりいただけただろうか? 普段何げなく送受信を行っているメーラーの画面の先には、彼らが、そして黙々とメールを転送し続けているサーバがいることをお分かりいただければ幸いである。
3/3 |
|
|
||||||
|
Linux Square全記事インデックス |
Linux Squareフォーラム Linux導入事例関連記事 |
オープンソースで情報システムを刷新した嘉悦大学 嘉悦大学は情報システムのインフラを、CentOSやOpenLDAP、Sambaといったオープンソースソフトウェアで刷新した |
|
日米大手銀行がLinuxを採用したそれぞれのワケ バンク・オブ・アメリカと三菱東京UFJという日米を代表する大手銀行は、なぜLinuxとその上で動作するオープンソースソフトウェアを導入したのか |
|
特集:謎のOracleトラブルに挑む(前編) わずかな手掛かりから障害を解決した事例をとおして、トラブルシューティングのあり方や技法、困難さが見えてくる |
|
特集:謎のOracleトラブルに挑む(後編) 編で障害再現に成功したが、原因が特定されたわけではない。彼らはどのようにして問題を切り分けていったのだろうか? |
|
3年間無停止でNTTグループを支えるLinux 国内で最初期にLinuxで業務システムを構築したNTTコムウェア。このシステムはNTTグループ全体にも導入され、3年間無停止で稼働し続けている |
|
Linux Squareフォーラム全記事インデックス |
|
- 【 pidof 】コマンド――コマンド名からプロセスIDを探す (2017/7/27)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、コマンド名からプロセスIDを探す「pidof」コマンドです。 - Linuxの「ジョブコントロール」をマスターしよう (2017/7/21)
今回は、コマンドライン環境でのジョブコントロールを試してみましょう。X環境を持たないサーバ管理やリモート接続時に役立つ操作です - 【 pidstat 】コマンド――プロセスのリソース使用量を表示する (2017/7/21)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、プロセスごとのCPUの使用率やI/Oデバイスの使用状況を表示する「pidstat」コマンドです。 - 【 iostat 】コマンド――I/Oデバイスの使用状況を表示する (2017/7/20)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、I/Oデバイスの使用状況を表示する「iostat」コマンドです。
|
|