6.4.3.5. Критерий Owner

We use cookies. Read the Privacy and Cookie Policy

6.4.3.5. Критерий Owner

Расширение owner предназначено для проверки «владельца» пакета. Изначально данное расширение было написано как пример демонстрации возможностей iptables. Допускается использовать этот критерий только в цепочке OUTPUT. Такое ограничение наложено потому, что на сегодняшний день нет реального механизма передачи информации о «владельце» по сети. Справедливости ради следует отметить, что для некоторых пакетов невозможно определить «владельца» в этой цепочке. К такого рода пакетам относятся различные ICMP responses. Поэтому не следует применять этот критерий к ICMP responses пакетам.

Таблица 6-12. Ключи критерия Owner

(Ключ – Пример – Описание)

Ключ: -uid-owner

Пример: iptables -A OUTPUT -m owner –uid-owner 500

Описание: Производится проверка «владельца» по User ID (UID). Подобного рода проверка может использоваться, к примеру, для блокировки выхода в Интернет отдельных пользователей.

Ключ: –gid-owner

Пример: iptables -A OUTPUT -m owner –gid-owner 0

Описание: Производится проверка «владельца» пакета по Group ID (GID).

Ключ: –pid-owner

Пример: iptables -A OUTPUT -m owner –pid-owner 78

Описание: Производится проверка «владельца» пакета по Process ID (PID). Этот критерий достаточно сложен в использовании, например, если мы хотим позволить передачу пакетов на HTTP порт только от заданного демона, то нам потребуется написать небольшой сценарий, который получает PID процесса (хотя бы через ps) и затем подставляет найденный PID в правила. Пример использования критерия можно найти в Pid-owner.txt.

Ключ: –sid-owner

Пример: iptables -A OUTPUT -m owner –sid-owner 100

Описание: Производится проверка Session ID пакета. Значение SID наследуются дочерними процессами от «родителя», так, например, все процессы HTTPD имеют один и тот же SID (примером таких процессов могут служить HTTPD Apache и Roxen). Пример использования этого критерия можно найти в Sid-owner.txt. Этот сценарий можно запускать по времени для проверки наличия процесса HTTPD, и в случае отсутствия – перезапустить «упавший» процесс, после чего сбросить содержимое цепочки OUTPUT и ввести ее снова.