blog

DeNAのエンジニアが考えていることや、担当しているサービスについて情報発信しています

2022.02.24 技術記事

パブリッククラウド向けネットワーク診断の内製化と自動化への取り組み

by saechan

#pentest #security

はじめに

こんにちは、セキュリティ技術グループです。
普段は社内サービス・プロダクトの脆弱性診断(Webアプリ/スマホアプリ/ネットワークなど)や、ペネトレーションテストを行なっています。

ここ数年、DeNAでは大規模な移行プロジェクトがあり、大半のシステムがオンプレ環境からクラウド環境へと移行しました。
環境の運用方法も見直され、従来インフラ部門が構築・管理していましたが、各事業部がそれぞれで環境構築・管理を行うケースも増えてきました。
一元管理ではなくなったことから、従来と比べて環境の管理が複雑化してきています。

ネットワーク診断(プラットフォーム診断)の対象もクラウドサーバーがメインとなり、上記のような運用方法の変更やクラウド環境の特徴によって、いくつか問題点が発生しました。
特に、クラウド環境ではグローバルIPが固定されていない場合もあることから、

  • オートスケーリング・新規環境の構築や破棄により日々IPアドレスが増減する
  • 解放されたIPアドレスが社外に使い回される

といった現象が発生し、診断の抜け漏れや外部への診断実施などのリスクが考えられます。
本記事では、パブリッククラウド向けのネットワーク診断を行う上で上記のような課題と、その解決のために行なっている取り組みを紹介します。

ネットワーク診断について

DeNAでは、外部からの攻撃を想定したネットワーク診断を実施しています。
設定の不備・利用しているミドルウェアの脆弱性などの発見を目的に、外部に公開されているサーバーを対象に擬似的攻撃を行っています。

ネットワーク診断における環境の変化

冒頭でも述べた通り、クラウド環境への移行はネットワーク診断においても大きな変化となりました。
以下は、オンプレ環境とクラウド環境それぞれでのネットワーク診断のイメージ図です。

オンプレ環境

  • インフラ部門が環境を構築し、IPアドレスを資産として管理していた
  • 診断の際は、インフラ部門にIPアドレスの聞き取りをしていた
  • セキュリティ専門会社にネットワーク診断を依頼していた

クラウド環境

  • 各事業部が環境を構築・設定を行うケースが出てきた
  • 診断の際は、各事業部・インフラ部門にIPアドレスの聞き取りを行う必要がある

クラウド環境下での問題点

ネットワーク診断は擬似的な攻撃を伴うため、事前に環境についてのヒアリングを行い、診断対象や日程・内容のすり合わせを行っています。
クラウド環境下では各事業部が環境を管理しているケースもあるため、インフラ部門の一元管理と比べ、広範囲に渡っての確認が必要となってきます。
また、クラウドサービスにおけるIPアドレスの特徴もあり、診断対象を事前に固定することも難しくなりました。
技術的な面だけでなく、ネットワーク診断の運用面も含めて、主に以下のような問題点が挙げられます。

  • 診断対象となるIPアドレスの聞き取り・収集に時間がかかる
  • IPアドレスの聞き取り後、実際の診断を開始する頃には構成やIPアドレスが変わっている
  • オートスケーリング・新規環境の構築や破棄により日々IPアドレスが増減し、診断が不十分になる可能性がある
  • 解放されたIPアドレスが社外に使い回され、外部に対して診断を実施してしまうリスクがある

解決に向けて

上記の問題を解決するためには、日々診断対象の変化に対応しながら診断を行う必要があります。
しかし、セキュリティ専門会社に依頼する場合、事前に診断対象を提出した上で診断を実施していただくことが一般的でした。
構成や診断対象が都度変わるとなると、逐次コミュニケーションや対象のレビューを行わなければならず、従来と比べて工数が跳ね上がり、あまり現実的ではありませんでした。
そこで、自動で情報を収集する仕組みを含め、ネットワーク診断業務自体を内製化・自社で診断を実施することにしました。

以下の図は、現在DeNAで行っているネットワーク診断のイメージ図です。

動作を簡単に説明すると、

  • 実際に診断を行う診断サーバーと、各リソースにアクセスできる収集サーバーを用意
  • 収集サーバーが各リソースのIPアドレスを収集し、毎日対象を更新している
  • 収集したIPアドレスやヒアリングの結果をもとに、診断サーバーが自動で対象を選定・診断を実行している
  • 結果は内製のwebアプリケーションにアップロードされ、診断プロジェクトごとに分けて管理している

といったことを行っています。
この仕組みにより、クラウド環境下のIPアドレスの変更に対応しつつ、従来と同様の診断が可能になりました。

ただし、従来の環境ではファイアウォールで管理されていたのに対し、クラウド環境では各事業部が環境を構築・設定を行うという都合上、脆弱な設定がされやすいという問題点があります。
脆弱な設定がされていた場合、年単位で行われるネットワーク診断では脆弱性の発見が遅れてしまうため、この仕組みの他に、全対象に向けて毎日簡易的なスキャンも実行しています。
こちらも収集サーバーを活用し、毎日対象を更新しながら、環境に不適切な設定がされていないかをチェックしています。

おわりに

本記事では、パブリッククラウド向けのネットワーク診断の課題と、その解決のためにDeNAが行っている取り組みについて紹介しました。
まだまだ課題は多く残されているため、今後も改善に取り組んでいこうと思います。

最後まで読んでいただき、ありがとうございます!
この記事をシェアしていただける方はこちらからお願いします。

recruit

DeNAでは、失敗を恐れず常に挑戦し続けるエンジニアを募集しています。