Я не удовлетворен ответом на этот вопрос :
$> sudo semanage port -d -p tcp -t foo...
ValueError: Port foo is defined in policy, cannot be deleted
Принятый ответ -
] Политика SELinux включает определения для портов ... Их не нужно удалять.
Нет необходимости для их удаления. Хорошо, но я все равно хочу удалить их - я хочу, чтобы доступность порта в SELinux соответствовала фактической доступности порта, просто для согласованности.
Как мне semanage port -d
для портов, определенных в политике? (В моем случае ssh.)
Вашим вариантом будет создание собственного модуля политики для SSH, удалив часть с маркировкой порта.
Так как теперь вы можете загружать модули политики с указанием приоритета, ваш пользовательский модуль будет иметь больший приоритет. Проверьте флаг -X,-приоритет=Приоритет
на странице руководства semodule
для подробностей.
Для записи я согласен с Майклом Хэмптоном в том, что нет необходимости удалять порт из политики. Это вовсе не увеличивает безопасность системы, так как есть несколько способов либо увеличить или ослабить безопасность (как в случае с SELinux) управления SSH сервером, а именно: удалить OpenSSH сервер для начала, пометить трафик, или, в другом направлении, поместить SSH сервер в разрешительный домен.