2018-05-31
http://techlife.cookpad.com/entry/2018/05/31/080000
ログの収集
セキュリティに関連するログとして、主にインフラ(AWSサービス周り)のログ、オフィスネットワークのログ、スタッフが使う端末のログ、そしてスタッフが使うクラウドサービスのログという4種類を収集しています。
全てのログは原則としてAWSのS3に保存し、その後S3から読み込んで利用するよう流れになっています。
NGFWのログ
通常のファイアウォールの機能に加え、通信の中身の一部も検査して脅威を検知・遮断してくれるNext Generation Firewall (NGFW) でオフィスネットワークの出入り口を監視しています。
NGFWからは通信フローのログ、および脅威の検知やブロックのログの両方を収集しています。
現在利用しているNFGWはsyslogでログを飛ばせるので、fluentdを経由してS3 output pluginを利用し、S3に保存しています。
DNSキャッシュサーバのログ
名前解決のためのDNSのログをとっておくことで、分析のための材料を増やしています。
オフィスではDNSのキャッシュサーバとして unbound を利用していますが、出力されるログの形式が利用しづらいことから、unboundのログは直接利用していません。代わりにキャッシュサーバ上で packetbeat を動かしてパケットキャプチャし、DNSのログを収集したものを fluentd + fluent-plugin-beats を経由してS3に保存しています。
DHCPサーバのログ
DHCPのログも別途保存しておくことで、後から分析する場合でもそのIPアドレスを使っていたのがどの端末だったのかを追跡できます。
クックパッドでは kea DHCP server を運用しています。標準で出力されるログに必要な情報が載っているので、fluentdのtail input pluginでAWS S3にログを保存しています。
G Suite
G SuiteではReports APIが用意されており、これを使ってAdmin activity, Google Drive activity, Login activity, Mobile activity, Authorization Token activityを取得することができます。これらAPIにLambdaで定期的にアクセスし、ログデータとしてS3に保存しています。
Azure AD
Azure ADも監査APIが用意されており、ログインなどに関連するログを抽出することができます。これをG Suiteと同様に定期的に実行し、新しく取得できたものについてログデータとしてS3に保存しています。
アラート検出
検出されたアラートはPagerDutyによって担当のメンバーに通知される
ログの検索・分析
ログ検索のために Graylog を導入して検索コンソールを構築しています。
実装の構成
S3にログが保存されると AWS Simple Notification Service (SNS) にイベント通知が飛び、そこからログの転送やアラート検知に関する処理が実行されます。
それぞれの機能はAWS CloudFormation (CFn) によって構成されています。
一般向けサイト
ITエンジニア向けサイト
英語サイト
Portfolio
Copyright (c) 2024 社内インフラの技術 All Rights Reserved.