• Assurez la sécurité des applications de la bonne manière! Détectez, protégez, surveillez, accélérez et plus encore…
  • FLoC ou Federated Learning of Cohorts est un déploiement récent de Google pour remplacer les cookies tiers par leur propre navigateur intégré de surveillance des utilisateurs.

    Il s'agit essentiellement d'un navigateur Chrome intégré lui-même et les personnes concernées par la confidentialité peuvent passer à un autre navigateur concerné par la confidentialité pour éviter d'être suivi. Mais les propriétaires de sites Web peuvent également désactiver FLoC en apportant quelques modifications simples à l'en-tête de réponse HTTP de leur serveur Web.

    Je suggérerais de vérifier ceci Google GitHub page pour en savoir plus sur FLoC.

    Dans cet article, nous aborderons les moyens que vous pouvez utiliser en tant que propriétaire de site Web pour vous désinscrire de FLoC en modifiant simplement la configuration des serveurs Web.

    En-tête HTTP personnalisé

    Un en-tête de réponse HTTP personnalisé garantit que le propriétaire du site Web désactive FLoC. L'en-tête de réponse pour cela est:

    Permissions-Policy: interest-cohort=()

    Voyons la mise en œuvre.

    Nginx

    Pour NGINX, vous devez ajouter add_header directive dans chaque bloc de serveur (si un seul fichier de configuration est utilisé pour plusieurs sites Web) ou à chaque fichier de configuration de serveur respectif.

    server {
        location / {
          add_header Permissions-Policy interest-cohort=();
        ...
        }
    }

    Et puis redémarrez le service NGINX:

    systemctl restart nginx

    Sinon, vous pouvez suivre une autre approche en ajoutant ce qui suit dans le http bloque.

    add_header Permissions-Policy "interest-cohort=()";

    Cela ressemblerait à ci-dessous dans les en-têtes de réponse HTTP.

    HTTP/1.1 200 OK
    Server: nginx/1.14.1
    Date: Fri, 30 Apr 2021 06:37:02 GMT
    Content-Type: text/html
    Content-Length: 4057
    Last-Modified: Mon, 07 Oct 2019 21:16:24 GMT
    Connection: keep-alive
    ETag: "5d9bab28-fd9"
    Permissions-Policy: interest-cohort=()
    Accept-Ranges: bytes

    Apache

    Pour le serveur Web Apache, ajoutez l'en-tête personnalisé dans votre fichier de configuration comme suit:

    <IfModule mod_headers.c>
      Header always set Permissions-Policy: interest-cohort=()
    </IfModule>

    Ensuite, redémarrez Apache pour le rendre efficace:

    systemctl restart httpd

    Qui aura une sortie comme ci-dessous.

    HTTP/1.1 200 OK
    Date: Fri, 30 Apr 2021 06:49:58 GMT
    Server: Apache/2.4.37 (centos)
    Permissions-Policy: interest-cohort=()
    Last-Modified: Thu, 29 Apr 2021 06:40:41 GMT
    ETag: "3-5c116c620a6f1"
    Accept-Ranges: bytes
    Content-Length: 3
    Keep-Alive: timeout=5, max=100
    Connection: Keep-Alive
    Content-Type: text/html; charset=UTF-8

    WordPress

    Si votre WordPress est l'hébergement mutualisé, vous n'aurez pas la possibilité de modifier le fichier de configuration du serveur Web. Mais la bonne nouvelle est que vous pouvez définir des en-têtes dans sa base de code via des hooks. Dans votre thème actif function.php, ajoutez les lignes suivantes à la fin:

    add_filter(
    	'wp_headers',
    	function ( $headers ) {
    		if ( empty( $headers['Permissions-Policy'] ) ) {
    			$headers['Permissions-Policy'] = 'interest-cohort=()';
    		} elseif (
    			! empty( $headers['Permissions-Policy'] )
    			&& false === strpos( $headers['Permissions-Policy'], 'interest-cohort' )
    		) {
    			$headers['Permissions-Policy'] .= ', interest-cohort=()';
    		}
    
    		return $headers;
    	}
    );

    Enregistrez le fichier dans le backend d'administration de WordPress et l'en-tête doit être poussé dans toutes les nouvelles demandes. Assurez-vous de vider le cache dans son mécanisme / plugin pour rendre le nouvel en-tête efficace.

    Voici à quoi ressemble la sortie de ma mise en œuvre.

    cache-control: no-cache, must-revalidate, max-age=0
    content-encoding: br
    content-type: text/html; charset=UTF-8
    date: Fri, 30 Apr 2021 13:40:14 GMT
    expires: Wed, 11 Jan 1984 05:00:00 GMT
    host-header: 6b7412fb82ca5edfd0917e3957f05d89
    link: <https://geekflaresg.com/wp-json/>; rel="https://api.w.org/"
    permissions-policy: interest-cohort=()
    server: nginx
    set-cookie: wpSGCacheBypass=1; expires=Fri, 30-Apr-2021 15:20:14 GMT; Max-Age=6000; path=/; HttpOnly; SameSite=Lax
    vary: Accept-Encoding
    x-cache-enabled: True
    x-httpd: 1
    x-proxy-cache: BYPASS
    x-proxy-cache-info: 0 NC:100000 UP:SKIP_CACHE_SET_COOKIE

    Une autre une solution simple serait d'utiliser le Plugin d'en-têtes HTTP.

    HAProxy

    HAProxy permet d'ajouter la directive d'en-tête dans sa configuration. Dans frontend, listen or backend section de la configuration (selon le cas), ajoutez la directive suivante:

    http-response set-header Permissions-Policy interest-cohort=()

    Assurez-vous de redémarrer votre serveur HAProxy en tant que:

    systemctl restart haproxy

    Cela rendra l'en-tête efficace pour toutes les nouvelles demandes.

    Traefik

    Traefik, principalement utilisé comme contrôleur d'entrée pour le conteneurisé environnement, peut être configuré pour désactiver FLoC de la même manière que les serveurs ci-dessus. Dans votre traefik.toml fichier, ajoutez les lignes suivantes:

    [http.middlewares]
      [http.middlewares.floc.headers]
        [http.middlewares.floc.headers.customResponseHeaders]
            Permissions-Policy = "interest-cohort=()"

    Ou pour la configuration basée sur YAML (traefik.yml) utiliser:

    http:
      middlewares:
        floc:
          headers:
            customResponseHeaders:
              Permissions-Policy: "interest-cohort=()"

    Ou si vous utilisez Traefik avec Docker, modifiez l'étiquette traefik dans docker-compose.yml comme:

    labels:
      - "traefik.http.middlewares.floc.headers.customresponseheaders.Permissions-Policy=interest-cohort=()"

    Résumé

    FLoC est un nouveau mécanisme de surveillance et si vous ne souhaitez pas afficher une publicité basée sur les intérêts sur votre site Web, vous pouvez vous désinscrire en mettant en œuvre les en-têtes de politique d'autorisations comme expliqué ci-dessus. En tant qu'utilisateur, vous pouvez consulter cette page dédiée (Suis-je FloCed?) pour voir si vous êtes suivi avec FLoC.