Bloquear conexiones salientes para ceid uids (root, apache, nobody)

8

Con iptables en CentOS 5 y 6 Linux, ¿cómo puede evitar que los procesos que se ejecutan como root , apache o nadie inicien conexiones salientes?

En CentOS 5 Linux he intentado poner estas líneas en / 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

pero desafortunadamente aparece el error:

# 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]
Alexander Farber
fuente
no puedes hacerlo usando iptables. iptables solo verifica los paquetes ip, y no hay información sobre el uid / gid allí. iptables solo puede bloquear paquetes por los campos de origen / destino, puertos, ...
Goez
Sé que el pf de OpenBSD puede hacerlo. Y también parece ser el propietario -m en Linux iptables también. ¿Entonces tal vez te equivocas?
Alexander Farber
si reviso mi página de manual, -m significa coincidencia (módulo) y no para el propietario, tal vez haya un módulo para el propietario del proceso, no estoy seguro.
Goez
Según tengo entendido, "-m propietario" le dice a iptables: "cargue el módulo 'propietario' para que podamos hacer las cosas"
Alexander Farber
recién comprobado, de hecho hay un módulo propietario. Nunca oí de eso antes. Pero funciona con identificaciones numéricas, por lo que tendrá que alterar su regla
Goez

Respuestas:

8

Intente usar el UID numérico en lugar del nombre. Por ejemplo:

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

en vez de

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

Puede encontrar el UID escribiendo

id user
Dios
fuente