Ubuntu 上启用 SELinux 并制定网络策略
一 前置说明与模式
二 启用 SELinux 与基础检查
sudo apt update && sudo apt install selinux-basics selinux-policy-default auditd audispd-pluginssudo selinux-activatesudo setenforce 0|1(分别对应 Permissive/Enforcing)SELINUX=permissive|enforcing,重启生效sestatus、getenforcesudo ausearch -m avc -ts recent 或 grep avc /var/log/audit/audit.log三 网络策略常用操作
semanage port -lsudo semanage port -a -t http_port_t -p tcp 8080semanage port -lCgetsebool -a | grep httpd_can_network_connectsudo setsebool -P httpd_can_network_connect_db 1sudo semanage fcontext -a -t httpd_sys_content_t '/var/www/html(/.*)?'sudo restorecon -Rv /var/www/htmlsudo ausearch -m avc -ts recent | audit2allow -M mypolsudo semodule -i mypol.ppausearch -m avc 与 audit2allow 快速定位并生成策略补丁。四 与防火墙的配合
sudo ufw enablesudo ufw allow 22/tcp、sudo ufw allow 80,443/tcpsudo ufw allow from 192.168.1.0/24sudo ufw status verbose五 常见网络场景示例
sudo ufw allow 8080/tcpsudo semanage port -a -t http_port_t -p tcp 8080sudo setsebool -P httpd_can_network_connect_db 1audit2allow 生成模块并加载。