ToS d’Anaconda: mise en conformité

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 -i
ufw deny out to 104.xxx.xxx.xxx
ufw deny out to 104.yyy.yyy.yyy
ufw 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îne
nft add table inetthis_table
nft add chain inet this_table anaconda_chain { type filter hook output priority 0 \; }
# On ajoute les règles à la chaîne
nft add rule inet this_table anaconda_chain ip daddr 104.xxx.xxx.xxx drop
nft add rule inet this_table anaconda_chain ip daddr 104.yyy.yyy.yyy drop
# On verifie le fonctionnement
nft 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
Retour en haut