最初のアプリケーションを保護する
包括的なセキュリティ対策を確保するために、各異なるプライベートアプリケーションを少なくとも2つのポリシーで保護することをお勧めします:
-
適切なアイデンティティとデバイスポスチャーの値を持つゲートウェイDNSポリシーを、アプリケーションを定義するドメインリストをターゲットにします。ポリシーの適用は、ユーザーのデバイスがアプリケーション自体への接続要求を行う前のリクエスト解決イベントで行われます。ここで拒否されると、トラフィックはプライベートネットワークに到達しません。
-
同じアイデンティティとデバイスポスチャーの値を持つゲートウェイネットワークポリシーを、アプリケーションを定義するIPリストをターゲットにします。オプションで、SNIヘッダーを一致させることでドメインリストを含めることができます。その後、アプリケーションアクセスに関連するポートやプロトコルの任意の組み合わせを含めることができます。ネットワークポリシーの適用は、ユーザーがDNSポリシーを通過した後、ユーザーのデバイスがターゲットアプリケーションに接続しようとする際に行われます。
新しいポリシーを作成するには、Zero Trust ↗を開き、Gateway > Firewall Policiesに移動します。
| トラフィックセレクター | 演算子 | 値 |
|---|---|---|
| ドメイン | リスト内 | Company Wiki domains |
| アイデンティティセレクター | 演算子 | 値 |
|---|---|---|
| ユーザーのメール | 正規表現に一致 | .*@example.com |
| アクション |
|---|
| 許可 |
curl https://api.cloudflare.com/client/v4/accounts/{account_id}/gateway/rules \--header "X-Auth-Email: <EMAIL>" \--header "X-Auth-Key: <API_KEY>" \--header "Content-Type: application/json" \--data '{ "name": "Company Wiki DNS policy", "conditions": [ { "type": "traffic", "expression": { "any": { "in": { "lhs": { "splat": "dns.domains" }, "rhs": "$<DOMAIN_LIST_ID>" } } } }, { "type": "identity", "expression": { "matches": { "lhs": "identity.email", "rhs": ".*@example.com" } } } ], "action": "allow", "precedence": 13002, "enabled": true, "description": "従業員が会社のウィキドメインにアクセスできるようにします。", "filters": [ "dns" ]}'| トラフィックセレクター | 演算子 | 値 |
|---|---|---|
| 宛先IP | リスト内 | Company Wiki IPs |
| アイデンティティセレクター | 演算子 | 値 |
|---|---|---|
| ユーザーのメール | 正規表現に一致 | .*@example.com |
| アクション |
|---|
| 許可 |
curl https://api.cloudflare.com/client/v4/accounts/{account_id}/gateway/rules \--header "X-Auth-Email: <EMAIL>" \--header "X-Auth-Key: <API_KEY>" \--header "Content-Type: application/json" \--data '{ "name": "Company Wiki network policy", "conditions": [ { "type": "traffic", "expression": { "in": { "lhs": "net.dst.ip", "rhs": "$<IP_LIST_ID>" } } }, { "type": "identity", "expression": { "matches": { "lhs": "identity.email", "rhs": ".*@example.com" } } } ], "action": "allow", "precedence": 13002, "enabled": true, "description": "従業員が会社のウィキIPにアクセスできるようにします。", "filters": [ "l4" ]}'ネットワークポリシーリストの下部にキャッチオールポリシーを追加することをお勧めします。効果的なゼロトラストモデルは、過度に許可されたポリシーの構築を避けるために、デフォルト拒否アクションを優先する必要があります。例えば、
| トラフィックセレクター | 演算子 | 値 | ロジック |
|---|---|---|---|
| 宛先IP | リスト内 | All private network ranges | または |
| SNIドメイン | リスト内 | All private apex domains |
| アクション |
|---|
| ブロック |
curl https://api.cloudflare.com/client/v4/accounts/{account_id}/gateway/rules \--header "X-Auth-Email: <EMAIL>" \--header "X-Auth-Key: <API_KEY>" \--header "Content-Type: application/json" \--data '{ "name": "Catch-all block policy", "conditions": [ { "type": "traffic", "expression": { "or": [ { "in": { "lhs": "net.dst.ip", "rhs": "$<IP_LIST_ID>" } }, { "any": { "in": { "lhs": { "splat": "net.sni.domains" }, "rhs": "$<DOMAIN_LIST_ID>" } } } ] } } ], "action": "block", "precedence": 14002, "enabled": true, "description": "プライベートネットワークへのアクセスをブロックします。", "filters": [ "l4" ]}'ネットワークポリシーは上から下への順序で評価されるため、ユーザーがアプリケーションの明示的に定義されたポリシーに一致しない場合、ブロックされます。 複数のポリシーがどのように相互作用するかを学ぶには、適用の順序を参照してください。