Question Bloquer les connexions sortantes pour certifier les uids (root, apache, personne)


Avec iptables dans CentOS 5 et 6 Linux, comment empêcher les processus de s’exécuter en tant que racine, apache ou personne d'initier des connexions sortantes?

Sur CentOS 5 Linux, j'ai essayé de placer ces lignes dans / etc / sysconfig / iptables:

-A OUTPUT -m owner --uid-owner root -j DROP
-A OUTPUT -m owner --uid-owner apache -j DROP
-A OUTPUT -m owner --uid-owner nobody -j DROP

mais malheureusement, obtenez l'erreur:

# sudo service iptables restart
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Unloading modules:                               [  OK  ]
iptables: Applying firewall rules: iptables-restore v1.4.7: owner: Bad value for "--uid-owner" option: "apache"
Error occurred at line: 27
Try `iptables-restore -h' or 'iptables-restore --help' for more information.
                                                           [FAILED]

8
2018-04-04 08:56


origine


vous ne pouvez pas le faire en utilisant iptables. iptables ne vérifie que les paquets ip, et il n'y a aucune information sur l'uid / gid ici. iptables ne peut bloquer que les paquets contenant les champs, ports, ... - Goez
Je sais que le pf d'OpenBSD peut le faire. Et il semble également y avoir le propriétaire -m dans Linux iptables. Alors peut-être que tu as tort? - Alexander Farber
si je vérifie ma page de manuel, -m signifie match (module) et non le propriétaire, peut-être existe-t-il un module pour le propriétaire du processus, mais je ne suis pas sûr. - Goez
Selon ma compréhension, "-m propriétaire" dit à iptables: "veuillez charger le module 'propriétaire', afin que nous puissions faire des choses" - Alexander Farber
Je viens de vérifier, il existe bien un module propriétaire. Jamais entendu parler de cela avant. Mais cela fonctionne avec les identifiants numériques, il devra donc modifier sa règle - Goez


Réponses:


Essayez d'utiliser l'UID numérique au lieu du nom. Par exemple:

-A OUTPUT -m owner --uid-owner 400 -j DROP

au lieu de

-A OUTPUT -m owner --uid-owner apache -j DROP

Vous pouvez trouver l'UID en tapant

id user

8
2018-04-04 09:16