GNU/Linux >> Tutoriels Linux >  >> Linux

Utilisation de la communication TCP/IP localhost dans un programme - toujours en sécurité ?

  • Trafic vers 127.0.0.0/8 et à ::1/128 est traité en interne par la pile TCP/IP. Il n'atteint pas la carte réseau physique et ne quitte jamais l'ordinateur, il ne peut donc pas être bloqué par les pare-feu d'entreprise.

  • Étant donné que les sockets de bouclage sont très courants pour IPC, de bons pare-feu ne doivent jamais les bloquer. (Le pare-feu Windows ne le fait pas.) Cependant, il y en a qui sont trop paranoïaques... Dans de tels cas, cependant, je blâmerais le pare-feu, pas votre logiciel.

  • Sous Unix, il est possible de désactiver (accidentellement) l'interface de bouclage (généralement lo ). Encore une fois, c'est très inhabituel.

  • Au lieu d'un port codé en dur, socketpair() doit être utilisé le cas échéant, pour éviter les collisions portuaires.

  • Encore mieux serait d'utiliser des sockets Unix sous Linux et des tubes nommés sous Windows.


Tous ces systèmes d'exploitation prennent en charge l'exécution d'un logiciel de pare-feu. Ceux-ci pourraient bloquer les connexions localhost, bien que ce ne soit pas très courant (d'après mon expérience).

Il existe de nombreuses applications/services qui font cela. Essayez simplement d'exécuter netstat -an sur votre box :il y a de fortes chances que vous voyiez pas mal d'applications avec des prises d'écoute ouvertes sur 127.0.0.1 .

Je ne connais pas de paramètres utilisateur qui pourraient empêcher cela de fonctionner sous Linux. Aucune idée pour Windows. Mais encore une fois, c'est une technique courante.


Linux
  1. L'utilisation de Tar pendant la mise à jour du répertoire source est-elle sûre ?

  2. Redémarrage sécurisé de Linux à l'aide de la clé Magic SysRq

  3. Comment déboguer le programme C en utilisant gdb en 6 étapes simples

  4. Attaques TCP/IP – Les principes fondamentaux de l'empoisonnement du cache ARP expliqués

  5. Sockets - Utilisation de INADDR_ANY côté client

Comment suivre l'exécution d'un programme à l'aide de la commande Linux Strace

Comment compiler C, C++ et Java à l'aide de Terminal sous Linux

Comment connecter NGINX à PHP-FPM à l'aide d'UNIX ou d'un socket TCP/IP

Principes fondamentaux du protocole TCP/IP expliqués avec un diagramme

Faire une requête https en utilisant des sockets sous Linux

Comment tuer une connexion TCP à l'aide de l'utilitaire tcpkill