4. Blocage des URLs (poste de travail)
En complément puisque cela est parfois évoqué dans des tutoriels ou des recommandation, c’est une possibilité supplémentaire qui permettra d’être en conformité pour un travailleur isolé, nomade, sans dispositif de sécurité local (ex: firewall d’isolement) ou qui n’a pas accès à la politique de sécurité du site.
Dans un premier temps, il faut disposer des adresses IP correspondant aux serveurs. Imaginons que l’on cherche à bloquer [ https://repo.anaconda.com ], il faudra utiliser dig, dog, host (Linux), nslookup (Linux, Windows), Resolve-DnsName (Windows PowerShell) pour obtenir les adresses à partir du domaine (ex: nslookup repo.anaconda.org).
Linux (ufw, iptables, nftables)
Dans le cas de ufw, dans le shell on ajoute chaque adresse IP, par exemple pour IPv4 :
sudo -iufw deny out to 104.xxx.xxx.xxxufw deny out to 104.yyy.yyy.yyyufw status |
Il faut faire partie des sudoers pour exécuter ces commandes (sudo -i). Tout ce qui sort (out) vers les adresses en 104.xxx ou yyy sera bloqué. On filtre sans tenir compte du protocole (ex: pour HTTP on aurait pu ajouter port 80, 80 ou http à la fin de chaque règle).
En mode iptables, cela donnera quelque chose du type:
sudo iptables -A OUTPUT -p tcp -d repo.anaconda.com -j REJECT |
En mode nftables nous aurons quelque chose d’un peu plus compliqué pour dropper (bloquer) les transactions IPv4 :
# au cas ou ...nft flush table inet this_table# on cree une table et une chaînenft add table inetthis_tablenft add chain inet this_table anaconda_chain { type filter hook output priority 0 \; }# On ajoute les règles à la chaînenft add rule inet this_table anaconda_chain ip daddr 104.xxx.xxx.xxx dropnft add rule inet this_table anaconda_chain ip daddr 104.yyy.yyy.yyy drop# On verifie le fonctionnementnft list table inet this_table |
Les hooks sont des points d’ancrage en fonction de certains protocoles, par exemple prerouting, forward, postrouting, input, output pour la famille inet (filtrage IPv4 et IPv6). On filtre également sur l’IP sans tenir compte du port/service.
Windows Defender
On peut lancer l’interface du parefeu via la commande (Win+R) firewall.cpl puis paramètres avancés. Se positionner sur trafic sortant, nouvelle règle, règle de programme, tous les programmes (on pourrait aussi sélectionner un seul programme python.exe ou conda.exe avec les répertoires qui correspondent, mais il faut être surs de la transaction et quel programme l’opère). On peut ensuite bloquer tous les protocoles ou seulement 80/443, puis les adresses IP ou la plage des adresses IP (104.xxx ou yyy) dans Etendue. Enfin l’action Bloquer la connexion pour tous les profils (Domaine, Privé, Public) et nommer la règle pour qu’elle apparaisse dans le tableau de bord. Si on veut naviguer chez Anaconda, il faudra débloquer la règle.
Liens et lectures
- UFW Essentials : règles et commandes de pare-feu [ UFW Essentials : règles et commandes de pare-feu | DigitalOcean ].
- Bloquer une adresse IP avec le pare-feu de Windows Defender [ https://www.malekal.com/bloquer-adresse-ip-pare-feu-windows-defender/ ].