2 votes

Comment utiliser pf/IceFloor pour bloquer une connexion sortante vers une adresse IP ?

J'utilise une application qui téléphone régulièrement à la maison et rapporte un peu plus d'informations que je ne le souhaite. Normalement, j'ajouterais le nom d'hôte du serveur de rapports dans /etc/hosts, mais l'application n'effectue pas de recherche DNS et se connecte directement par IP. J'envisage d'utiliser le pare-feu PF intégré de Lion pour y parvenir.

Je comprends qu'un service commercial comme LittleSnitch rendrait cet effort trivial. Cependant, ce n'est pas une solution viable pour moi. Je trouve leur prix trop élevé, et le pare-feu intégré devrait pouvoir faire l'affaire.

J'ai utilisé IceFloor de modifier la configuration de PF pour bloquer les connexions entrantes avec grand succès. Cependant, je rencontre quelques problèmes pour bloquer les connexions sortantes. D'après ce que j'ai lu, la règle suivante devrait être correcte :

block return-rst out quick on en0 inet proto tcp from any to xxx.xxx.230.191

Il devrait bloquer uniquement les paquets TCP vers cette IP et répondre par un paquet RST. Il semble bloquer les paquets correctement, mais au lieu de renvoyer un paquet RST, il abandonne silencieusement les paquets sortants. Cela provoque un blocage de l'application pendant qu'elle attend que la tentative de connexion soit terminée.

Cette règle est-elle correctement rédigée pour réaliser ce que je voudrais réaliser ? Quelqu'un d'autre a-t-il tenté quelque chose de semblable en utilisant PF ?

1voto

Mon ami, si ma mémoire est bonne, vous devez ajouter

net.inet.tcp.icmp_may_rst=0

dans le fichier /etc/sysctl.conf, puis modifiez le fichier noyau en cours d'exécution.

sudo sysctl -w net.inet.tcp.icmp_may_rst=0

Cela devrait faire l'affaire. Si aucun /etc/sysctl.conf n'existe, voici un raccourci :

sudo echo “net.inet.tcp.icmp_may_rst=0” >> /etc/sysctl.conf
sudo chmod 644 /etc/sysctl.conf

J'espère que cela résout l'incohérence avec PF.

F.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X