![[アップデート]GuardDutyの抑制ルールでドメインのサフィックスを指定できるようになりました](https://devio2023-media.developers.io/wp-content/uploads/2023/08/amazon-guardduty.png)
[アップデート]GuardDutyの抑制ルールでドメインのサフィックスを指定できるようになりました
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
GuardDuty では、抑制ルールを設定することで特定条件に一致した検出結果をフィルタリングして自動でアーカイブすることができます。
今回、抑制ルールの条件としてドメインのサフィックスを指定できるようになりました。
GuardDuty has added a new criteria to filter the generated findings. DNS request domain suffix provides the second- and top-level domain involved in the activity that prompted GuardDuty to generate the finding.
Document history for Amazon GuardDuty
上記アップデート内容を見ると、トップレベルドメインとセカンドレベルドメインの組み合わせで条件を記載できることができるようです。
Filter attributes にも DNS request domain suffix が新規属性として登録されていました。
service.action.dnsRequestAction.domainWithSuffix 属性を元にフィルタリング可能と記載されています。
抑制ルール無しで検知させてみた
CryptoCurrency:EC2/BitcoinTool.B!DNS を検出させて動作を確認してみます。
検出させるためのドメインとして pool.minergate.com, xmr.pool.minergate.com, pool.supportxmr.com を用い、 EC2 内から dig で各ドメインに DNS クエリを実行してみました。
また、各検出結果に対して Resource.Service.Action 配下も抜粋して記載しました。
まずは抑制ルール無しで試してみます。
pool.minergate.com の場合
dig pool.minergate.com
CryptoCurrency:EC2/BitcoinTool.B!DNS が検知され、DnsRequestAction.Domain として pool.minergate.com が、DnsRequestAction.DomainWithSuffix として minergate.com が記録されました。
"ActionType": "DNS_REQUEST",
"DnsRequestAction": {
"Domain": "pool.minergate.com",
"Protocol": "UDP",
"Blocked": false,
"DomainWithSuffix": "minergate.com"
}
xmr.pool.minergate.com の場合
dig xmr.pool.minergate.com
DnsRequestAction.Domain として xmr.pool.minergate.com が、 DnsRequestAction.DomainWithSuffix として minergate.com が記録されました。
Document history に記載の通り、トップレベルドメインとセカンドレベルドメインの組み合わせが属性として追加されたようです。
"ActionType": "DNS_REQUEST",
"DnsRequestAction": {
"Domain": "xmr.pool.minergate.com",
"Protocol": "UDP",
"Blocked": false,
"DomainWithSuffix": "minergate.com"
}
pool.supportxmr.com の場合
dig pool.supportxmr.com
DNS request domain suffix として pool.supportxmr.com が、 DnsRequestAction.DomainWithSuffix として supportxmr.com が記録されました。
"ActionType": "DNS_REQUEST",
"DnsRequestAction": {
"Domain": "pool.supportxmr.com",
"Protocol": "UDP",
"Blocked": false,
"DomainWithSuffix": "supportxmr.com"
}
抑制ルールを追加して検知させてみた
今度は抑制ルールを追加して試してみます。
まず、検出結果の抑制をクリックして、抑制ルールを作成します。

DNS request domain suffix として minergate.com を指定してみました。

改めて pool.minergate.com, xmr.pool.minergate.com, pool.supportxmr.com に対して DNS クエリを実行すると、 pool.supportxmr.com だけ検知されました。

DnsRequestAction.DomainWithSuffix で正しくフィルタリングできていることがわかります。
pool.minergate.com と xmr.pool.minergate.com の検出結果はアーカイブ済みに入っていました。

ちなみに、DNS request domain に minergate.com を登録しても、pool.minergate.com と xmr.pool.minergate.com への DNS クエリによる検出結果はアーカイブされませんでした。
こちらの属性を指定した場合は、ドメインを完全一致させる必要があります。
最後に
抑制ルールを作成する際、ドメインが完全一致しないと条件として指定できないのは少し面倒だったので、大分使いやすくなりました。
GuardDuty で抑制ルールを作成する際は是非試してみて下さい。






