出力フィルタールール
送信ファイアウォール設定は、ルールで構成されています。 必要な数のルールを定義できます。 ルールの要件は次のとおりです。
各ルール:
- ハイフン(
-
)で始める必要があります。 同じ行にコメントを追加すると、ドキュメントを作成して、ルールを次のルールと視覚的に区別するのに役立ちます。 domains
、ips
、ports
のオプションのうち、少なくとも 1 つを定義する必要があります。tcp
プロトコルを使用する必要があります。 これは、すべてのルールのデフォルトのプロトコルなので、ルールから省略できます。domains
またはips
を定義できますが、両方を同じルールに含めることはできません。yaml
コメント(#
)と改行を含めて、許可されるドメイン、IP アドレス、ポートを整理できます。
各ルールでは、次のプロパティを使用します。
domains
domains
オプションを使用すると、完全修飾ドメイン名(FQDN)の一覧が許可されます。
ルールで ports
が定義されていない場合 domains
、ファイアウォールでは任意のポートでのドメインリクエストが許可されます。
ips
ips
オプションを使用すると、CIDR 表記で IP アドレスのリストが許可されます。 単一の IP アドレスまたは IP アドレスの範囲を指定できます。
1 つの IP アドレスを指定するには、IP アドレスの末尾に /32
の CIDR プレフィックスを追加します。
172.217.11.174/32 # google.com
IP アドレスの範囲を指定するには、IP 範囲から CIDR 計算ツールを使用します。
規則によって ports
が定義され ips
いない場合、ファイアウォールは任意のポートでの IP 要求を許可します。
ports
ports
オプションを使用すると、1 から 65535 までのポートのリストが許可されます。 この例のほとんどのルールでは、ポート 80
および 443
は HTTP と HTTPS の両方のリクエストを許可します。 ただし、New Relicの場合、ルールでは、 ネットワークトラフィックに関するNew Relicのドキュメントで推奨されているように、ポート 443
のドメインおよび IP アドレスへのアクセスのみが許可されます。
ルールで ports
のみが定義されている場合、ファイアウォールでは、定義されているポートのすべてのドメインと IP アドレスへのアクセスが許可されます。
25
は、例外なく常にブロックされます。protocol
前述のように、TCP はデフォルトであり、ルールに使用できる唯一のプロトコルです。 UDP とそのポートは許可されていません。 このため、すべてのルールから protocol
オプションを省略できます。 それでも含める場合は、例の最初のルールに示すように、値を tcp
に設定する必要があります。
許可するドメイン名の検索
出力フィルタリングルールに含めるドメインを特定しやすくするには、次のコマンドを使用してサーバーの dns.log
ファイルを解析し、サイトがログ記録したすべての DNS リクエストのリストを表示します。
awk '($5 ~/query/)' /var/log/dns.log | awk '{print $6}' | sort | uniq -c | sort -rn
このコマンドは、送信フィルタリングルールによってブロックされた DNS リクエストも表示します。 出力には、ブロックされたドメインは表示されず、リクエストが行われただけです。 IP アドレスを使用して行われたリクエストは出力に表示されません。
Example output:
97 magento.com
93 magentocommerce.com
88 google.com
70 metadata.google.internal.0
70 metadata.google.internal
65 newrelic.com
56 fastly.com
17 mcprod-0vunku5xn24ip.ap-4.magentosite.cloud
6 advancedreporting.rjmetrics.com
IP アドレスとは異なり、ドメインは通常、エグレスフィルタリングに対してより具体的で安全です。 例えば、CDN を使用するサービスの IP アドレスを追加する場合、CDN の IP アドレスを許可します。これは、数百または数千の他のドメインで使用できます。 1 つの IP アドレスで、他の何千ものサーバーへのアウトバウンドアクセスを許可できます。