SRE Group Managerをしている前田(@glidenote)です。最近SRE業務以外にOffice IT Security関連の業務を一部兼任しており、先日Akamai社の提供するOffice IT Security製品のAkamai Enterprise Threat Protector(以下 ETP)を導入したので、紹介したいと思います。
TL;DR
- オフィス、リモートワークのセキュリティ強化のためにAkamai ETPを導入した
- DNSクエリを識別し、マルウェア、ランサムウェア、フィッシングなど悪意のあるドメインとの通信を遮断することでセキュリティのリスクを緩和
- どのネットワークにいてもAkamai ETPを利用すること悪意のあるドメインとの通信が遮断出来るので、リモートワークに最適なソリューションである
背景
- 当社はリモートワークを採用しており、オフィスもありますが、多くの社員は自宅などからリモートで働いている
- 社員に支給している全PCにはセキュリティソフトは導入済み
- 社内でセキュリティ規定を設けており、これまでセキュリティに関して問題が発生したことはない
今回のAkamai ETPの話とは別の話ですが、自社で開発しているWEBサービスについても定期的に第三者のセキュリティ専門会社に依頼し外部脆弱性診断を実施しております。
導入のきっかけ
上にも書きましたが当社ではセキュリティに関してこれまで問題は発生していないのですが、リモートワークを採用しておりオフィスネットワーク外での活動が多く、どのような通信がされているのか管理出来ない関係上、万が一問題が発生しても被害を小さくとどめる方法を以前から漠然と模索しておりました。
そんなときに、Kaizen Platformの元同僚で現在SmartNews社のCorporate Engineering Teamで働いているyosudoさんからAkamai ETPの情報を入手し、調べてみたところ製品の特徴が求めているものと合致し、トライアルで期待通りの結果が出たため導入に至りました。 SmartNews社もAkamai ETPを導入済みで、導入の経緯をブログで公表されています。
- Corporate Engineering Teamが発足しました - SmartNews Engineering Blog
- Akamai Enterprise Threat Protector (ETP) を導入しました - SmartNews Engineering Blog
Akamai ETPとは
公式サイト Enterprise Threat Protector | Akamai から引用すると
ドメイン・ネーム・システム(DNS)を悪用するマルウェア、ランサムウェア、フィッシング、データ窃盗など、標的型脅威を事前に特定してブロックし、緩和することができます。
とのことで、悪意ドメインとの通信をDNSを利用し遮断し、セキュリティのリスクを緩和するものになります。
公式の概要図から説明をすると
- Akamai ETPを利用することで、参照先のDNSサーバがAkamaiのものになる
- Akamai側ではエンドユーザーから送信されてきたDNSクエリをデータベースと照合し、問題があるドメインの場合には、IPアドレスを返さず、エンドユーザーと問題のあるドメインとの通信を遮断する
Akamai ETPの特徴
- 導入の形式は2パターン
- オフィスネットワークのGWの参照先DNSをAkamai ETPに向ける
- 各PC端末にクライアントソフトの導入
- CDNの会社のDNSサーバなので堅牢且つ高速
- 他のセキュリティソフトと異なり、PCが重くなることがない
nslookup(1)でAkamai ETPの動作を見てみる
Akamai ETPのパケット解析やDNSサーバのベンチマークなどはSmartNewsさんのブログに記載してあるので、nslookup(1)を利用して、挙動を確認してみます。
挙動確認には、Akamai ETPの遮断対象であるcoinhiveのサイトを利用してみます。結果については一部マスクをしてます。
Google Public DNSを利用した挙動
⇒ nslookup > set debug > server 8.8.8.8 Default server: 8.8.8.8 Address: 8.8.8.8#53 > coinhive.com Server: 8.8.8.8 Address: 8.8.8.8#53 ------------ QUESTIONS: coinhive.com, type = A, class = IN ANSWERS: -> coinhive.com internet address = 104.20.xxx.xxx ttl = 299 -> coinhive.com internet address = 104.20.xxx.xxx ttl = 299 AUTHORITY RECORDS: ADDITIONAL RECORDS: ------------ Non-authoritative answer: Name: coinhive.com Address: 104.20.xxx.xxx Name: coinhive.com Address: 104.20.xxx.xxx
Akamai ETPを利用した挙動
- PCにクライアントソフトを導入している状態だと、参照先DNSが
127.0.0.1
になる - 返ってくるIPアドレス
2.21.xxx.xxx
はAkamaiの管理するものになる - ADDITIONAL RECORDS に
text = "ETPB"
が入ってくる
⇒ nslookup > set debug > coinhive.com Server: 127.0.0.1 Address: 127.0.0.1#53 ------------ QUESTIONS: coinhive.com, type = A, class = IN ANSWERS: -> coinhive.com internet address = 2.21.xxx.xxx ttl = 10 AUTHORITY RECORDS: ADDITIONAL RECORDS: -> coinhive.com text = "ETPB" ttl = 1 ------------ Non-authoritative answer: Name: coinhive.com Address: 2.21.xxx.xxx
curl(1)だとAkamaiのerrorページに飛ばされるようになっているのが確認出来ます。
⇒ curl -I --verbose coinhive.com * Rebuilt URL to: coinhive.com/ * Trying 204.237.xxx.xxx... * TCP_NODELAY set * Connected to coinhive.com (204.237.xxx.xxx) port 80 (#0) > HEAD / HTTP/1.1 > Host: coinhive.com > User-Agent: curl/7.60.0 > Accept: */* > < HTTP/1.1 302 Found HTTP/1.1 302 Found < Cache-Control: no-store Cache-Control: no-store < Location: http://error.etp.akamai.com/error.html?lang=en&host=coinhive.com&uri=%2F&source=219.98.xxx.xxx:63350 Location: http://error.etp.akamai.com/error.html?lang=en&host=coinhive.com&uri=%2F&source=219.98.xxx.xxx:63350 < Date: Wed, 11 Jul 2018 08:00:42 GMT Date: Wed, 11 Jul 2018 08:00:42 GMT < Content-Type: text/plain; charset=utf-8 Content-Type: text/plain; charset=utf-8 < * Connection #0 to host coinhive.com left intact
DNSクエリ、脅威の可視化
下記は当社の実際のAkamai ETP管理画面のキャプチャですが、従来から利用しているセキュリティソフトだと分からなかった脅威が、Akamai ETPだと可視化出来、普段どれくらい脅威にさらされているのか分かるようになりました。 こういうデータがあるとセキュリティの啓蒙活動がしやすいで助かります。
導入前後で変わったこと
PCにインストールするセキュリティソフトだと、どうしてもPC自体の動作が重くなりがちです。Akamai ETPはクライアントソフトを導入してもやっていることは参照DNSサーバを変更しているだけなので、PC側の負荷も無く良い意味で導入前後で変化がありませんでした。