Bloquer les connexions sortantes pour les uids certaing (root, apache, nobody)


8

Avec iptables dans CentOS 5 et 6 Linux - comment pouvez-vous empêcher les processus s'exécutant en tant que root , apache ou personne d'initier des connexions sortantes?

Sur CentOS 5 Linux, j'ai essayé de mettre 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]

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 dedans. iptables ne peut bloquer les paquets que par les champs source / destination, les ports, ...
Goez

Je sais que le pf d'OpenBSD peut le faire. Et il semble également y avoir le propriétaire -m dans iptables Linux. Alors peut-être que vous vous trompez?
Alexander Farber

si je vérifie ma page de manuel, -m signifie match (module) et non pour le propriétaire, il y a peut-être un module pour le propriétaire du processus, pas sûr.
Goez

D'après ce que je comprends, "-m propriétaire" dit à iptables: "veuillez charger le module" propriétaire ", afin que nous puissions faire les choses"
Alexander Farber

juste vérifié, il y a bien un module propriétaire. Je n'en ai jamais entendu parler auparavant. Mais cela fonctionne avec les identifiants numériques, il devra donc modifier sa règle
Goez

Réponses:


8

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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.