Bloquear conexões de saída para certos uids (raiz, apache, ninguém)

8

Com o iptables no CentOS 5 e 6 Linux - como você pode impedir que processos em execução como root , apache ou ninguém iniciem conexões de saída?

No CentOS 5 Linux, tentei colocar essas linhas em / 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

mas, infelizmente, obtém o erro:

# 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
fonte
você não pode fazer isso usando o iptables. O iptables verifica apenas os pacotes ip e não há informações sobre o uid / gid. iptables só pode bloquear pacotes pelos campos de origem / destino, portos, ...
Goez
Eu sei que o PF do OpenBSD pode fazer isso. E também parece haver o proprietário -m no iptables do Linux também. Então, talvez você esteja errado?
Alexander Farber
se eu verificar minha página de manual, -m significa match (module) e não o proprietário, talvez exista um módulo para o proprietário do processo, não tenho certeza.
Goez
No meu entendimento, "-m owner" diz ao iptables: "carregue o módulo 'owner', para que possamos fazer as coisas"
Alexander Farber
apenas verificado, existe de fato um módulo proprietário. Nunca ouvi falar disso antes. Mas ele funciona com ID numérico do, então ele vai ter que alterar o seu governo
Goez

Respostas:

8

Tente usar o UID numérico em vez do nome. Por exemplo:

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

ao invés de

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

Você pode encontrar o UID digitando

id user
Goez
fonte