背景
VPCフローログ(CloudWatchLogsa
出力)をハンズオンする
VPCフローログについておさらい
●VPCフローログの公式ドキュメント
https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/flow-logs-basics.html
VPC、サブネット、またはネットワークインターフェイスのフローログを作成できます。サブネットまたは VPC のフローログを作成する場合、そのサブネットまたは VPC 内の各ネットワークインターフェイスが監視されます。
VPC内の各ネットワークインターフェースなので、EC2やALBなどを通過するトラフィックログを残せる
VPCフローログ設定
前提
VPC・サブネット作成済み
サブネットに作成
ロググループ作成
ログ出力用の「CloudWatchLogs」を作成する
「名前」「保持期間」を入力
KMSキー(暗号化は行わない)は空白で作成
VPCフローログ作成
VPCの画面に移動し、対象のVPC選択⇒タブ内の『フローログ』内『フローログの作成』クリック
「名前」:任意の名前
「フィルタ」:すべて
「最大集約間隔」:1分
「サービスアクセス」:新規作成
「ログレコード」:デフォルト形式
サービスロールとは?
AWSサービスが他のAWSサービスを利用するためのIAMロール
ログを確認
VPCフローログを作成したVPC(サブネット)内にEC2を建てて下さい。
インターネットインターフェース関連のリソースがないとログがそもそも出ないため
「タイムスタンプ」:ログが取得された日時
「メッセージ」:ログに内容
ログの見方
AWSのデフォルトログ出力は以下の構成になっている
[フローログバージョン] 2が最新
[AWSアカウントID]
[インターフェースID(eniで始まる)]
[送信元IPアドレス]
[送信先IPアドレス]
[送信元ポート番号]
[送信先ポート番号]
[プロトコル] TCPが6 UDPが17
[パケット数]
[バイト数]
[通信の開始時間(UNIXエポック)]
[通信の終了時間(UNIXエポック)]
[通信に対するアクション] 許可:ACCEPT,却下:REJECT
[ログのステータス] ログ記録に成功:OK
2 654654279488 eni-01f35fc1a2377de36 10.0.4.135 15.152.63.145 35098 123 17 1 76 1744521785 1744521793 ACCEPT OK
上の場合のログだと
送信先ポート番号:123の通信→NTP関連
送信元IPアドレス:AWS内部におけるEC2のプライベートIP(10.0.4.135)
送信先IPアドレス:AWS所有のIPアドレス(15.152.63.145)
AWSが所有するNTPサーバとの通信だと分かります。
おまけ
15.152.63.145 が本当にAWS所有のIPアドレスなのかを確認します。
https://ipinfo.io/
にアクセスしてIPアドレスを入力します。
AWSの大阪データセンターのIPアドレス帯でした。
グローバルIPアドレスはRIRという管理組織が管理するWHOISデータベースにどの団体が所有しているか、どのドメイン名で紐づいているかなどが記載されています。
また、AWSが所有するIPアドレス帯については下記のcurlコマンドでjsonファイルでも取得できます。
curl -O https://ip-ranges.amazonaws.com/ip-ranges.json
おまけ2
REJECTされた通信のIPアドレスも同様に検索してみてください
危険なIPアドレスからの通信と表示されるはずです