Блокировать исходящие соединения для определенных пользователей (root, apache, nobody)


8

С iptables в CentOS 5 и 6 Linux - как вы можете предотвратить запуск процессов как root , apache или никто не инициирует исходящие соединения?

В CentOS 5 Linux я пытался поместить эти строки в / 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

но к сожалению получаю ошибку:

# 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]

Вы не можете сделать это с помощью iptables. iptables проверяет только ip-пакеты, и там нет информации о uid / gid. iptables может блокировать пакеты только по полям источника / назначения, портам, ...
Goez

Я знаю, что pf OpenBSD может это сделать. Также, кажется, в Linux есть владелец -m iptables. Так может ты ошибаешься?
Александр Фарбер

если я проверяю свою man-страницу, -m обозначает совпадение (модуль), а не владельца, может быть, есть модуль для владельца процесса, не уверен.
Гоес

В моем понимании «-m владелец» говорит iptables: «Пожалуйста, загрузите модуль« владелец », чтобы мы могли что-то делать»
Александр Фарбер

только что проверил, действительно есть модуль владельца. Никогда не слышал об этом раньше. Но он работает с числовыми идентификаторами, поэтому ему придется изменить свое правило
Гоэс

Ответы:


8

Попробуйте использовать числовой UID вместо имени. Например:

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

вместо

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

Вы можете найти UID, набрав

id user
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.