はじめに
Google Workspace(以下GWS)って簡単にメールの転送ができてしまいますよね。
そして、それを管理者が一覧で把握する術が2024/5月現在提供されていないので、結構なセキュリティリスクだと思っています。
メール全転送されると社内の機密情報や、相手からきた添付ファイルも含めて簡単に持っていけちゃうんですよね。
なのにメール添付ファイルが安全神話はなぜなんでしょうか。
エンドユーザーの自動転送を管理者で禁止させることもできますが、SlackやTeamsへの通知等を管理者側で全部やるのもそれはそれでしんどいです・・・。
管理者側で自動転送を無効化する方法は以下のページを参照してください。
前置きはさておき、GWSで転送設定をどうにか検知できないかなと思って色々やっていました。
GWS Enterprise以上が必要となりますが、BigQueryを利用して転送しているものを見つけるようにしました。
必要ライセンス等
- Google Workspace Enterprise以上
- BigQueryが利用できる環境(GCP課金アカウント)
- メールログが検索できる権限を持ったアカウント
設定手順
- 以下のURLを参考に、Google WorkspaceのログをBigQueryに転送設定を行ってください。
- 設定が完了し、ログがたまり始めたらBigQueryで以下のクエリを実行します。
Slackへの転送等はよくやっていると思いますので、ここではslack.comへの転送は除外としています。
Teamsの場合には、jp.teams.ms
を除外設定としてください。
SELECT
gmail.message_info.rfc2822_message_id,
gmail.message_info.subject,
gmail.message_info.source.from_header_address,
destination.address
FROM
`プロジェクトID.gws.activity`,
UNNEST(gmail.message_info.destination) AS destination
WHERE
_PARTITIONTIME >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 12 HOUR)
AND _PARTITIONTIME < CURRENT_TIMESTAMP()
#AND gmail.event_info.mail_event_type = 11
AND gmail.message_info.source.selector = "autoforward"
AND NOT CONTAINS_SUBSTR(destination.address, "hoge.slack.com")
上記のクエリを実行すると転送されたメールが存在する場合、以下のような結果が出力されます。
この結果の場合、from_header_address から送られてきたメールが addressにあるアドレスに自動転送されていることを表しています。
message_id がこの結果により判明するので、GWSのメールログ検索でメッセージIDを条件にして検索してみます。
すると、以下のような結果が得られます。
モザイクをかけてしまったのでわかりづらいですが、送信元メールアドレスと送信先メールアドレスのようなログが表示されてきます。
ので、自ドメインのアドレスの人が判明するのでメール転送やめてください。と通達できますね!
まとめ
Microsoft 365だともっと簡単に検知することができるのですが、GWSの場合はBigQueryやSIEMとの連携が必要になってきます。
ここでは解説していませんが、定期的にクエリを実行してチャットツール等に通知させるとすぐに気付けていいかもしれません。
ログスキーマ情報は以下のページを参照してください。