Cette page explique comment créer et gérer des profils de sécurité de type url-filtering
à l'aide de la console Google Cloud et de la Google Cloud CLI.
Avant de commencer
- Vous devez activer l'API Network Security dans votre projet.
- Installez gcloud CLI si vous souhaitez exécuter les exemples de ligne de commande
gcloud
de ce guide.
Rôles
Pour obtenir les autorisations nécessaires pour créer, afficher, mettre à jour ou supprimer des profils de sécurité, demandez à votre administrateur de vous accorder les rôles IAM nécessaires sur votre organisation. Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.
Créer un profil de sécurité de filtrage des URL
Lorsque vous créez un profil de sécurité de filtrage des URL (profil de sécurité de type url-filtering
), vous pouvez spécifier le nom du profil de sécurité sous forme de chaîne ou d'identifiant d'URL unique. L'URL unique d'un profil de sécurité à l'échelle de l'organisation peut présenter le format suivant :
organization/ORGANIZATION_ID/locations/LOCATION/securityProfiles/SECURITY_PROFILE_NAME
Si vous utilisez un identifiant d'URL unique pour le nom du profil de sécurité, l'organisation et l'emplacement du profil de sécurité sont déjà inclus dans l'identifiant d'URL. Toutefois, si vous n'utilisez que le nom du profil de sécurité, vous devez spécifier l'organisation et l'emplacement séparément. Pour en savoir plus sur les identifiants d'URL uniques, consultez la section spécifications du profil de sécurité.
Console
Dans la console Google Cloud , accédez à la page Profils de sécurité.
Dans le menu de sélection du projet, sélectionnez votre organisation.
Sélectionnez l'onglet Profils de sécurité.
Cliquez sur Créer un profil.
Saisissez un nom dans le champ Nom.
Facultatif : saisissez une description dans le champ Description.
Pour créer un profil de sécurité Cloud Next Generation Firewall Enterprise, sélectionnez Cloud NGFW Enterprise dans la section Usage.
Pour créer un profil de sécurité de filtrage des URL, sélectionnez Filtrage des URL dans la section Type.
Dans la section Filtres d'URL, cliquez sur le bouton Créer un filtre d'URL.
Dans le volet Créer un filtre d'URL, spécifiez les détails suivants :
- Priorité : spécifiez la priorité du filtre d'URL.
- Action : spécifiez l'action que Cloud NGFW effectue sur le trafic.
- Autoriser : autorise les connexions correspondant à une URL.
- Refuser : refuse les connexions correspondant à une URL.
- Liste d'URL : spécifiez une liste d'URL ou de chaînes de correspondance. Chaque entrée d'URL ou de chaîne de correspondance doit apparaître sur une ligne distincte, sans espaces ni délimiteurs. Chaque entrée ne peut être constituée que d'un domaine. Pour en savoir plus sur les chaînes de correspondance, consultez Chaînes de correspondance pour les URL.
Cliquez sur Créer.
gcloud
Créez un fichier YAML avec le contenu suivant :
name: NAME type: PROFILE_TYPE urlFilteringProfile: urlFilters: - filteringAction: ACTION priority: PRIORITY urls: URL[,URL,...]
Remplacez les éléments suivants :
NAME
: nom du profil de sécurité de filtrage des URL. Vous pouvez spécifier le nom en tant que chaîne ou en tant qu'identifiant d'URL unique.PROFILE_TYPE
: type de profil de sécurité, à savoirurl-filtering
outhreat-prevention
.ACTION
: spécifiez l'une des actions suivantes :allow
: autorise les connexions correspondant à une URL.deny
: refuse les connexions correspondant à une URL.
PRIORITY
: priorité d'un filtre d'URL, comprise entre 0 et 2147483647.URLs
: liste de chaînes de correspondance séparées par des virgules. Par exemple,www.example.com
etwww.altostrat.com
.
Pour créer le profil de sécurité de filtrage d'URL, exécutez la commande
gcloud network-security security-profiles import
:gcloud network-security security-profiles import NAME \ --location LOCATION \ --source FILE_NAME \ --organization = ORGANIZATION_ID
Vous pouvez également créer un profil de sécurité de filtrage d'URL sans fichier YAML à l'aide de la commande
gcloud network-security security-profiles url-filtering create
:gcloud network-security security-profiles url-filtering create NAME \ --location LOCATION \ --organization ORGANIZATION_ID \ --description DESCRIPTION
Remplacez les éléments suivants :
NAME
: nom du profil de sécurité de filtrage des URL. Vous pouvez spécifier le nom en tant que chaîne ou en tant qu'identifiant d'URL unique.Si vous utilisez un identifiant d'URL unique pour l'option
NAME
, vous pouvez omettre les optionsLOCATION
etORGANIZATION
.LOCATION
: emplacement du profil de sécurité de filtrage des URL.L'emplacement est toujours défini sur
global
. Si vous utilisez un identifiant d'URL unique pour l'optionNAME
, vous pouvez omettre l'optionLOCATION
.FILE_NAME
: nom du fichier YAML. Exemple :url-filtering-sp.yaml
.ORGANIZATION_ID
: organisation dans laquelle le profil de sécurité de filtrage d'URL est créé. Si vous utilisez un identifiant d'URL unique pour l'optionname
, vous pouvez omettre l'optionORGANIZATION_ID
.DESCRIPTION
: description facultative pour le profil de sécurité du filtrage d'URL.
Par exemple, l'extrait de code suivant montre un exemple de profil de sécurité de filtrage d'URL qui autorise les requêtes vers
www.example.com
etwww.altostrat.com
, mais refuse les requêtes vers tous les autres domaines :url_filtering_profile: url_filters: - filtering_action: ALLOW priority: 1000 urls: ['www.example.com', 'www.altostrat.com'] # the following URL filter is implicit and will be processed last - filtering_action: DENY priority: 2147483647 urls: ['*']
Filtre d'URL avec refus implicite
Le profil de sécurité de filtrage des URL inclut toujours un filtre d'URL par défaut avec la priorité la plus basse (2147483647), qui refuse toutes les connexions ne correspondant pas aux filtres d'URL de priorité plus élevée. L'extrait de code suivant présente un exemple de filtre d'URL de refus implicite :
url_filtering_profile: url_filters: # user-specified URL filters - filtering_action: DENY priority: 1000 urls: ['www.example.com','www.altostrat.com'] - filtering_action: ALLOW priority: 2000 urls: ['www.example.org','www.example.net'] # implicit deny URL filter that will be processed last - filtering_action: DENY priority: 2147483647 urls: ['*']
Vous pouvez voir le filtre d'URL d'interdiction implicite lorsque vous consultez ou exportez un profil de sécurité de filtre d'URL. Vous ne pouvez pas modifier ni supprimer le filtre implicite. Par exemple, si vous souhaitez modifier l'action par défaut d'un profil de DENY
(appliquée par un filtre implicite) à ALLOW
, vous devez ajouter un filtre explicite que Cloud NGFW traite avant le filtre implicite.
url_filtering_profile: url_filters: # user-specified filters - filtering_action: DENY priority: 1000 urls: ['www.example.com','www.altostrat.com'] # explicit allow URL filter that you can add - filtering_action: ALLOW priority: 2000 urls: ['*'] # implicit deny URL filter that will be processed last - filtering_action: DENY priority: 2147483647 urls: ['*']
Chaînes de correspondance pour les URL
Les chaînes de correspondance sont les valeurs que vous spécifiez dans le champ urls
d'un filtre d'URL. Vous pouvez spécifier une ou plusieurs chaînes de correspondance dans un filtre d'URL.
Caractères génériques
Chaque chaîne de correspondance dans une liste d'URL accepte les caractères génériques (*) de manière limitée.
- Chaque chaîne de correspondance ne peut accepter qu'un seul astérisque (*), qui doit être le premier ou le seul caractère.
L'astérisque (*) peut avoir les interprétations suivantes :
Un astérisque (*) avant un point (.) indique tous les sous-domaines du domaine.
Par exemple, la chaîne de correspondance
*.example.com
correspond àa.example.com
eta.b.c.example.com
, mais pas àexample.com
.url_filtering_profile: url_filters: # user-specified filters - filtering_action: ALLOW priority: 1000 urls: ['*.example.com'] # implicit deny URL filter that will be processed last - filtering_action: DENY priority: 2147483647 urls: ['*']
Dans l'exemple précédent, Cloud NGFW autorise le trafic vers les sous-domaines de
example.com
, mais refuse le reste du trafic sortant.Un astérisque (*) avant une étiquette indique le domaine et tous les sous-domaines.
Par exemple, la chaîne de correspondance
*example.com
correspond àa.example.com
,a.b.c.example.com
etexample.com
.url_filtering_profile: url_filters: # user-specified filters - filtering_action: ALLOW priority: 1000 urls: ['*example.com'] # implicit deny URL filter that will be processed last - filtering_action: DENY priority: 2147483647 urls: ['*']
Dans l'exemple précédent, Cloud NGFW autorise le trafic vers
example.com
ainsi que les sous-domaines deexample.com
, mais refuse le reste du trafic sortant.Cloud NGFW n'interprète pas l'astérisque (*) comme un caractère générique d'expression régulière.
Par exemple,
*example.test
ne correspond pas ànewexample.test
ni àa.newexample.test
. Il ne correspond qu'àexample.test
et aux sous-domaines deexample.test
.Un astérisque unique (*) sans aucun autre caractère indique une correspondance pour toutes les requêtes.
Par exemple, la chaîne de correspondance du filtre d'URL d'autorisation explicite de priorité la plus faible ne contient qu'un astérisque (*) et a une action
ALLOW
qui remplace l'action par défautDENY
. Cela se produit, car le filtre d'URL de refus implicite applique la valeur par défautDENY
à toutes les requêtes qui ne correspondent pas aux filtres d'URL de priorité supérieure.Le filtre d'URL de priorité la plus élevée (
ALLOW
explicite ouDENY
implicite) détermine si Cloud NGFW autorise ou refuse les connexions lorsqu'il manque des informations sur le SNI ou le domaine. Cela peut se produire avec le trafic HTTP non chiffré ou lorsque l'inspection TLS est désactivée pour les en-têtes de messages chiffrés.url_filtering_profile: url_filters: # user-specified filters - filtering_action: DENY priority: 1000 urls: ['www.example.com','www.altostrat.com'] # explicit allow URL filter that you can add - filtering_action: ALLOW priority: 2000 urls: ['*'] # implicit deny URL filter that will be processed last - filtering_action: DENY priority: 2147483647 urls: ['*']
Limites
- Les chaînes de correspondance représentent des domaines ou des sous-domaines.
- Les chaînes de correspondance n'acceptent pas la barre oblique (/). Par exemple :
www.example.com/images
. - Les chaînes de correspondance ne sont pas compatibles avec les schémas ni les noms de protocoles. Exemple :
http://www.example.com
. - Les chaînes de correspondance ne sont pas compatibles avec les numéros de port. Exemple :
www.example.com:80
. - Les chaînes de correspondance n'acceptent que les lettres ASCII, les chiffres et les caractères spéciaux : trait d'union (-), point (.) et astérisque (*).
Vous devez utiliser Punycode pour convertir les noms de domaine qui contiennent des caractères autres que des lettres ASCII, des chiffres, des traits d'union (-), des points (.) ou des astérisques (*). Punycode est une norme d'encodage qui transforme les noms de domaine Unicode en un format compatible avec ASCII.
Si vous avez plusieurs libellés, séparez-les par des points (.). Une étiquette peut contenir un ou plusieurs traits d'union (-), mais ne doit pas commencer ni se terminer par un trait d'union. Chaque étiquette peut inclure un maximum de 63 caractères.
Un filtre d'URL n'accepte pas les points au début d'un nom de domaine ni les points consécutifs dans une chaîne de correspondance. Un filtre d'URL autorise les points finaux, mais Cloud NGFW les supprime avant d'enregistrer un filtre d'URL.
Cloud NGFW convertit les chaînes de correspondance en minuscules avant d'enregistrer le filtre d'URL. Cloud NGFW n'effectue aucune autre normalisation.
Chaque nom de domaine peut comporter 255 caractères au maximum.
Afficher un profil de sécurité de filtrage des URL
Vous pouvez afficher les détails d'un profil de sécurité de filtrage d'URL spécifique dans une organisation.
Console
Dans la console Google Cloud , accédez à la page Profils de sécurité.
Sélectionnez l'onglet Profils de sécurité. L'onglet affiche une liste des profils de sécurité configurés.
Cliquez sur un profil de sécurité de type Filtrage d'URL pour afficher les détails du profil.
gcloud
Pour afficher les détails d'un profil de sécurité de filtrage des URL, utilisez la commande gcloud network-security security-profiles url-filtering describe
:
gcloud network-security security-profiles url-filtering describe NAME \ --organization ORGANIZATION_ID \ --location LOCATION \
Remplacez les éléments suivants :
NAME
: nom du profil de sécurité de typeurl-filtering
que vous souhaitez décrire. Vous pouvez spécifier le nom en tant que chaîne ou en tant qu'identifiant d'URL unique.ORGANIZATION_ID
: organisation dans laquelle le profil de sécurité de filtrage d'URL est créé. Si vous utilisez un identifiant d'URL unique pour l'optionNAME
, vous pouvez omettre l'optionORGANIZATION_ID
.LOCATION
: emplacement du profil de sécurité du filtrage d'URL. L'emplacement est toujours défini surglobal
. Si vous utilisez un identifiant d'URL unique pour l'optionNAME
, vous pouvez omettre l'optionLOCATION
.
Lister les profils de sécurité de filtrage des URL
Vous pouvez lister tous les profils de sécurité de filtrage d'URL dans une organisation.
Console
Dans la console Google Cloud , accédez à la page Profils de sécurité.
Sélectionnez l'onglet Profils de sécurité. L'onglet affiche une liste des profils de sécurité configurés.
gcloud
Pour répertorier tous les profils de sécurité de filtrage des URL, exécutez la commande gcloud network-security security-profiles url-filtering list
:
gcloud network-security security-profiles url-filtering list \ --organization ORGANIZATION_ID \ --location LOCATION
Remplacez les éléments suivants :
ORGANIZATION_ID
: organisation dans laquelle les profils de sécurité de filtrage d'URL sont créés.LOCATION
: emplacement des profils de sécurité de filtrage d'URL. L'emplacement est toujours défini surglobal
.
Supprimer un profil de sécurité de filtrage des URL
Vous pouvez supprimer un profil de sécurité de filtrage d'URL en spécifiant son nom, son emplacement et son organisation. Toutefois, si un profil de sécurité est référencé par un groupe de profils de sécurité, il ne peut pas être supprimé.
Console
Dans la console Google Cloud , accédez à la page Profils de sécurité.
Sélectionnez l'onglet Profils de sécurité. L'onglet affiche une liste des profils de sécurité configurés.
Sélectionnez le profil de sécurité que vous souhaitez supprimer, puis cliquez sur Supprimer.
Cliquez à nouveau sur Supprimer pour confirmer votre choix.
gcloud
Pour supprimer un profil de sécurité de filtrage d'URL, exécutez la commande gcloud network-security security-profiles url-filtering delete
:
gcloud network-security security-profiles url-filtering delete NAME \ --organization ORGANIZATION_ID \ --location LOCATION
Remplacez les éléments suivants :
NAME
: nom du profil de sécurité de filtrage des URL que vous souhaitez supprimer. Vous pouvez spécifier le nom sous forme de chaîne ou d'identifiant d'URL unique.ORGANIZATION_ID
: organisation dans laquelle le profil de sécurité de filtrage d'URL est créé. Si vous utilisez un identifiant d'URL unique pour l'optionNAME
, vous pouvez omettre l'optionORGANIZATION_ID
.LOCATION
: emplacement du profil de sécurité de filtrage des URL.L'emplacement est toujours défini sur
global
. Si vous utilisez un identifiant d'URL unique pour l'optionNAME
, vous pouvez omettre l'optionLOCATION
.
Importer un profil de sécurité de filtrage des URL
Vous pouvez importer un profil de sécurité de filtrage d'URL (créé sur mesure ou exporté précédemment) à partir d'un fichier YAML. Lorsque vous importez un profil de sécurité de filtrage des URL, si un profil portant le même nom existe déjà, Cloud NGFW met à jour le profil existant.
gcloud
Pour importer un profil de sécurité de filtrage des URL à partir d'un fichier YAML, utilisez la commande gcloud network-security security-profiles import
:
gcloud network-security security-profiles import NAME \ --organization ORGANIZATION_ID \ --location LOCATION \ --source FILE_NAME
Remplacez les éléments suivants :
NAME
: nom du profil de sécurité de typeurl-filtering
que vous souhaitez importer. Vous pouvez spécifier le nom en tant que chaîne ou en tant qu'identifiant d'URL unique.Si vous utilisez un identifiant d'URL unique pour l'option
NAME
, vous pouvez omettre les optionsORGANIZATION_ID
etLOCATION
.ORGANIZATION_ID
: organisation dans laquelle le profil de sécurité de filtrage d'URL est créé. Si vous utilisez un identifiant d'URL unique pour l'optionNAME
, vous pouvez omettre l'optionORGANIZATION_ID
.LOCATION
: emplacement du profil de sécurité du filtrage d'URL. L'emplacement est toujours défini surglobal
. Si vous utilisez un identifiant d'URL unique pour l'optionNAME
, vous pouvez omettre l'optionLOCATION
.FILE_NAME
: chemin d'accès au fichier YAML contenant les données d'exportation de la configuration du profil de sécurité du filtrage d'URL. Par exemple,url-filtering-sp.yaml
.Le fichier YAML ne doit contenir aucun champ exclusivement de sortie. Vous pouvez également omettre l'option
source
pour lire à partir de l'entrée standard.
Exporter un profil de sécurité de filtrage des URL
Vous pouvez exporter un profil de sécurité de filtrage d'URL vers un fichier YAML. Par exemple, au lieu d'utiliser l'interface utilisateur pour modifier un profil de sécurité volumineux, vous pouvez utiliser cette fonctionnalité pour exporter le profil de sécurité, le modifier rapidement et l'importer à nouveau.
gcloud
Pour exporter un profil de sécurité de filtrage des URL vers un fichier YAML, utilisez la commande gcloud network-security security-profiles export
:
gcloud network-security security-profiles export NAME \ --organization ORGANIZATION_ID \ --location LOCATION \ --destination FILE_NAME
Remplacez les éléments suivants :
NAME
: nom du profil de sécurité de typeurl-filtering
que vous souhaitez exporter. Vous pouvez spécifier le nom en tant que chaîne ou en tant qu'identifiant d'URL unique.Si vous utilisez un identifiant d'URL unique pour l'option
NAME
, vous pouvez omettre les optionsORGANIZATION_ID
etLOCATION
.ORGANIZATION_ID
: organisation dans laquelle le profil de sécurité de filtrage d'URL est créé. Si vous utilisez un identifiant d'URL unique pour l'optionNAME
, vous pouvez omettre l'optionORGANIZATION_ID
.LOCATION
: emplacement du profil de sécurité du filtrage d'URL. L'emplacement est toujours défini surglobal
. Si vous utilisez un identifiant d'URL unique pour l'optionNAME
, vous pouvez omettre l'optionLOCATION
.FILE_NAME
: chemin d'accès au fichier YAML dans lequel Cloud NGFW exportera la configuration du profil de sécurité du filtrage d'URL. Exemple :url-filtering-sp.yaml
.Les données de configuration exportées ne contiennent aucun champ en sortie seule. Vous pouvez également omettre l'indicateur
destination
pour écrire dans la sortie standard.
Étapes suivantes
- Créer et gérer des groupes de profils de sécurité
- Créer et gérer des points de terminaison de pare-feu