Назад | Перейти на главную страницу

Открытие портов в SELinux: как разрешить демону прослушивать предопределенный тип порта?

Это довольно общий вопрос SELinux, но с конкретным примером. Я все еще новичок в SELinux, поэтому регулярно борюсь с ним!

Я хотел бы знать, могу ли я настроить демона (в данном случае haproxy) для прослушивания большего количества портов, чем позволяет политика selinux по умолчанию. Например, SMTP и FTP - это пара служб, которые могут иметь смысл для балансировки нагрузки или прокси, но не разрешены политикой SELinux по умолчанию.

Уже есть довольно хороший вопрос и ответ, описывающий порты, которые haproxy разрешено слушать: https://unix.stackexchange.com/questions/363878/which-selinux-policies-apply-to-haproxy

Что я хотел бы сделать прямо сейчас, так это разрешить haproxy прослушивать FTP и только порты FTP. Уже существуют типы портов, определяющие типичные порты, используемые FTP: -

#> semanage port -l | grep ftp
ftp_data_port_t                tcp      20
ftp_port_t                     tcp      21, 989, 990
ftp_port_t                     udp      989, 990
tftp_port_t                    udp      69

Однако как разрешить haproxy прослушивать эти порты?

Несколько предложений, которые я видел в Интернете, и все они мне не особо нравятся по разным причинам:

В идеале я просто хотел бы знать, доступна ли команда (в идеале без необходимости устанавливать что-либо дополнительное), которая дает тип процесса (в данном случае haproxy_t) разрешения на прослушивание определенного типа порта (ftp_port_t). Какие-либо предложения?

Похоже, этот пример может работать semanage port -m -t haproxy_t -p tcp 20 20, 21 и т. Д. Проверка с помощью semanage port -l | grep haproxy показывает включенные настраиваемые порты.