みなさまはじめまして、社内ネットワークを管理している Corporate Engineering Team の和田と申します。

マルウェアやランサムウェア、フィッシングサイトなど、インターネット環境を取り巻く脅威が年々増大している中、皆様の会社でも、色々な対策を考えておられると思います。

スマートニュースでは、そういった脅威に対しての対策の一環として、Akamaiさんが提供する Enterprise Threat Protector (ETP)を導入しました。今回は実際に使ってみた感想をご紹介したいと思いますので、同じような対策を検討していらっしゃる方の一助になれば幸いです。

Akamai ETPとは?

早速ですが、このAkamaiさんが提供するETPとはどういったものでしょうか?

簡単に言うと、PCから悪意あるドメインへの通信を阻止して、PCへのマルウェア等の混入や外部へのデータ流出を阻止する仕組みです。

もう少し詳しくご説明すると、PCにマルウェアを仕込もうとしたり、PC内部のデータを流出させようとするとき、そのほとんどがDNSにおける名前解決システムを使って外部のサーバと通信を試みます。この時PCは、ドメインをDNSサーバに問い合わせして、最終的にIPアドレスをもらって、サーバとの通信を行います。

DNSにおける名前解決システムは、単純にドメインとIPアドレスの紐付けを行い、その結果IPアドレスを返答するので、悪意を持ったドメインのIPアドレスであっても、通常通り答えてくれるわけです。

一般的なDNSの場合

しかしこのETPは、世界中の悪意あるドメインを日々収集しており、もしPCからこのETPに悪意あるドメインを問い合わせても、IPアドレスを返答をしません。そうなるとPCは、名前解決によって得られるIPアドレスが不明なため、どこのサーバと通信すればわからないので、目的を達することができなくなるというわけです。

ETPの場合

ここで一つ注意点ですが、PCにインストールするタイプのエンドポイントセキュリティとは異なり、古くからあるUSBメモリ、CD/DVDのメディア経由の感染や、メールの添付ファイルによる感染を防ぐことは残念ながらできません。あくまでもDNSシステムを利用したインターネット経由での感染、漏洩をブロックするものです。

それじゃ意味ないのでは?と思われる方もいらっしゃるかもしれませんが、一説にはマルウェアは亜種含めて一日に数十万以上誕生しており、そのほとんどがインターネット上での感染を利用していると言われています。この爆発的に増えているものを、従来のパターンファイルや振る舞い検知で防ぐことは、なかなか難しいと思います。

もちろん入れるに越したことはありませんが、たとえPCが感染したとしても、最終的に外部との通信を断つことができる点に着目して、今回ETPを導入しました。

きっかけ

そもそもETPを導入するに至ったきっかけですが、最初はどこからでもアクセスできるDNSサーバを探していました。

現在スマートニュースのインターネット回線は、安定した通信を実現するため、異なる業者の回線を2本引いて冗長化を実施しております。メイン回線で障害が起きた場合は、サブ回線に切り替わりますが、回線に影響しないどちらからも利用できるDNSサーバが必要となりました。
社内でDNSサーバを構築する手もありますが、管理する手間もかかりますし、何かいいサービスがないか探していたところ、以前からAkamaiさんに紹介されていた、ETPに白羽の矢が立ったというわけです。

このETPというサービスは、高可用性のDNSサーバ機能はもちろんですが、マルウェア等による情報漏洩も防げるとあって、まさに一石二鳥でした。

さっそく導入してみました

こういった製品は、環境にもよりますが、導入するのにネットワークの設定を大きく変更したり、PCの設定を1台ずつ変更して回ったりと、とても手間やリスクがかかってしまうことが多いのですが、このETPは手間なくスムーズに導入することができました。

通常、社内のPCには、直接DNSサーバアドレスは設定せず、DHCPでDNSサーバのアドレスを配布するか、ルータをDNS Fowarderとして動作させ、ルータから実際のDNSサーバを経由しているケースが多数を占めていると思います。

例に漏れず、弊社もこういった環境でしたので、ルータのフォワード先のアドレスを、ISPのDNSサーバのからETPのアドレスに変更するだけで終了です。ルータの設定が終わったら、ETPの管理画面から、簡単なポリシー(検知時の振る舞いやURLフィルタリング等)を決めて設定すれば、基本的な設定は完了です。

使ってみて

実際導入して約2カ月経ちますが、色々と見えてきましたので、弊社の事例を紹介をします。

DNSクエリ状況がわかる

仮にマルウェアが検出されなくとも、社内で一体どれくらいのDNSクエリが発生しているかグラフなどで見ることができます。

日頃、日常的に使うインターネットにて、こんなにもDNSサーバへの通信が発生しているのか、と改めて認識することができました。ちなみにスマートニュースでは、ピーク時は1時間当たり8万から10万クエリが発生していることが、グラフから読み取れます。

ある日のDNSクエリ数の推移

この日は、8時ぐらいから多くなってきて、18時を境に減っています。早く出社して早く帰る人が結構いるようです。

SNSやゲームなど、ドメインのカテゴリ毎にクエリ数を見ることもできます。例えば今年はオリンピックが開催されましたが、開催前よりも開催中のほうがスポーツカテゴリのDNSの問い合わせが多くなっており、世間の動向とリンクしているのが見えて面白いです。

このカテゴリごとに応答拒否というのも設定可能なので、アクセス制御としてもETPは有効な手段の一つかもしれません。

マルウェアを感知してブロック

しばらくすると、悪意あるドメインが検知されてアラートが上がってきました。

管理画面上では、このような感じで表示されます。

検知したドメインを表示

※アラートをメールで通知することも可能

スマートニュースでは、1カ月で約320ものドメインのアラートが出ました。最近の流行は、やはり仮想通貨発掘系のマルウェアのようで、どれもしっかりと通信を拒否しているのが管理画面から見て取れます。

残念ながらETPをただ導入しただけでは、どのPCでアラートを検知したかまではわかりません。 発信元を特定したい場合は、Akamaiさんが提供するハニーポッドサーバを内部ネットワークに設置すれば、情報を収集することが可能ですが、弊社は現時点では導入しておりません。

もう少し深く見てみよう

ETPは何か目に見えて動くものではなく、挙動が把握しづらいので、もう少し突っ込んで調べてみました。

本当にドメインを拒絶してる?

悪意あるドメインへの通信を試みても、特にPC上でアラートが出るわけではありません。
(ブラウザで意識的にアクセスすれば、拒否画面が出ます)
実際にちゃんと悪意あるドメインをブロックしているのか?ちょっと不安です。ということで、直接ETPにドメインを問い合わせてみました。

実際にアラートが上がったドメインを、MacからdigコマンドでETPとGoogleが提供しているPublic DNSサーバ(8.8.8.8)両方に問い合わせてみると、GoogleのPublic DNSサーバは普通にIPアドレスが返ってきますが、ETPはIPアドレスを返さないことがわかりました。
厳密に言うと、ETPはResponse自体は返しますが、Reply Code が5でRefusedとなっています。

Google Public DNSはIPアドレスを返していますが、

Google Public DNSの結果

ETPはIPアドレスを返していません。

ETPの結果

Wiresharkを使ってパケットも見てみました。

Google Public DNSは、No error (Reply Code = 0)のResponseが返ってきて、IPアドレスが通知されますが、

Google Public DNSからの応答

ETPは、Refused (Reply Code = 5) のResponseが返ってきて、IPアドレスは通知されません。

ETPからの応答

こうやって通信をブロックしていることがわかりました。

応答速度はどのくらいなものか?

いいことずくめのETPですが、応答速度はどのくらいなのでしょうか?
セキュリティ的には守られても、そもそもクエリの応答速度が遅ければ、利用者のインターネット体験は悪くなります。ということで、ツールを使って応答速度を調べてみました。

今回使ったツールは、Google謹製のDNSサーバーのベンチマークツール「namebench」です。これは計測したいDNSサーバのIPアドレスを入れてボタンを押すだけで、応答速度の計測と一緒に、他のDNSサーバとの速度比較も行ってくれるツールです。

DNSサーバのベンチマークツール「namebench」

早速結果発表ですが、とても早いことが判明しました。
回線業者が用意するDNSサーバよりは当然ながら応答速度は劣りますが、FastDNSやGoogleのPublic DNSよりも応答速度が速いという結果が出ました。

計測結果 Avg (ms)
回線業者 28.60
ETP 56.72
UltraDNS 68.92
GoogleDNS 152.48

各DNSサーバとの比較

ETPは、利用者のネットワークから最適なETPへの通信を実現しているので、その結果この速度が出ているのでしょう。

今後の課題

セキュリティも守れるし応答速度も早いETPですが、使っていくなかでいくつかの課題も見えてきました。

エージェントツールが残念

ETPを導入して社内ネットワークにいるPCは守ることができました。でも外に出たPCは守れないのではないか? 確かにその通りですが、それを解決するためのツールが用意されています。

ETPはEnterprise Client Connector というPC用のエージェントツールを用意しています。それをPCにインストールすれば、自宅や外出先・モバイルルータを使ったとしても、ちゃんとETPを利用することができます。

PCにインストールするエージェントツール

詳しい説明は省きますが、エージェントは、今PCが社内・社外にいるのか自動的に判定して、もし社外にいる場合は、エージェント自身がDNSクエリをフックして、ETPにフォワードする。ということをします。
これを使えば、PCがどこにいても安心ですが、エージェント自体にSoftware Update機能が実装されておりません。つまりエージェントのバージョンが上がるたびに、一から全部のPCに対して手動で再インストールをする必要が出てきます。

スマートニュースではリモートワークをするメンバーも多いので、ぜひ導入したいと考えてはいるのですが、Software Update機能が実装されるまでは導入できません。 これは今後に期待しましょう。

どのPCから悪意あるドメインのクエリが出ているのか特定できない

DNSの仕組み上当然なのですが、ETP上で悪意あるドメインのクエリを検出してアラートが出ても、どのPCから発信されたものか特定することはできません。

社内にあるPCは、前述したハニーポッドサーバを社内に構築して情報を収集することで特定が可能になりますが、まだどうするか検討中です。
社外にあるPCであれば、前段でご紹介したエージェントツールの今後のバージョンアップによって、PCが特定できる機能が追加されるそうです。ただし、やはりエージェントのSoftware Update機能がない状態では、社内導入は難しいのが現状です。

正しく脅威はブロックされているので実害は無いのですが。

他社サービスの動向

実はETPに似たサービスが、Ciscoさんにもあります(Cisco Umbrella)。まだ具体的な機能の違いは調べられていませんが、常に他のサービスと比較しながら、スマートニュースにとってよりよいソリューションを導入していきたいと思います。
こういったサービスが多く出てくると、サービス内容ももっと充実してきますし、利用者は選択肢が増えるのでいいですね。

エンドポイントセキュリティは果たしていらないのか?

従来あるようなエンドポイントセキュリティはいらないのか?という課題も残ります。
ETPによって、たとえ感染しても外部への通信がブロックされるようになりましたが、古くからあるようなUSBデバイスやメールを介して入ってくるウィルスに対しては防ぐことができません。
こちらもどうするか、引き続き考えていかないといけません。

まとめ

これまでETPの機能や課題をご紹介してきましたが、今のところ導入してよかったサービスだと思います。導入自体も簡単ですし、DNSの利用状態の可視化や悪意あるドメインへのアクセス状況も監視できるようになりました。
なにより、悪意あるドメインへの通信が、ちゃんとブロックされるという安心感はとても大きいです。

Corporate Engineering Teamは、エンジニアを募集中です!

まだまだ社内には、構築したいシステムや改善したい仕組みがたくさんあります。
興味を持たれた方は、ぜひご応募ください!
https://smartnews.workable.com/j/2AE725C07D

Corporate Engineering 以外にも多数のポジションで、皆様の応募をお待ちしております。
https://smartnews.workable.com/