Linux内核级加强型火墙管理

selinux的功能
观察现象,当selinux未开启时
在/mnt下创建文件再移动到/var/ftp中,用ls -Z 查看
Linux内核级加强型火墙管理
用ps -auxZ | grep vsftp查看
Linux内核级加强型火墙管理
尝试在客户端连接
Linux内核级加强型火墙管理
修改配置文件匿名用户可以写入目录
Linux内核级加强型火墙管理

当selinux开启时
vim /etc/selinux/config(开启后reboot重启)
Linux内核级加强型火墙管理
在/mnt创建文件并移动到/var/ftp/
Linux内核级加强型火墙管理
用vsftp服务无法访问
Linux内核级加强型火墙管理
使用ls -Z 查看

Linux内核级加强型火墙管理
ps -auxZ | grep vsftp查看
Linux内核级加强型火墙管理
匿名用户在通过修改配置文件后无法上传文件
Linux内核级加强型火墙管理
总结:
selinux对文件的影响: 当selinux开启时内核会对每个文件及每个开启的程序进行标签加载,标签内记录程序和文件的安全上下文(context)
selinux对程序的影响 :当selinux开启时会对程序的功能加载开关,并设定此开关的状态为关闭,当需要此功能时需要手动开启开关,开关叫做sebool
selinux的状态及管理
selinux开启|关闭
vim /etc/selinux/config
SELINUX=disabled :selinux关闭
SELINUX=enforcing:selinux开机设定为强制状态此状态为selinux开启
SELINUX=permissive:selinux开机设定为警告状态,此状态为selinux开启
selinux开启或关闭需要重启系统

enforcing:不符合条件一定不能被允许,并会受到警告信息
Linux内核级加强型火墙管理
Linux内核级加强型火墙管理

permissive:不符合条件会被允许,并会收到警告信息
Linux内核级加强型火墙管理
Linux内核级加强型火墙管理
selinux状态查看:getenforce
selinux状态切换(临时)
setenforce 0:切换至警告模式
setenforce 1:切换至强制模式
selinux日志位置
/var/log/audit/audit.log
selinux的安全上下文
查看
ls -Z:查看文件的安全上下文
ls -Zd:查看目录的安全上下文
ps auxZ :查看进程的安全上下文
临时修改
chcon -t 标签 文件| 目录
Linux内核级加强型火墙管理
修改后selinux强制状态也可以用vsftp访问这个文件
Linux内核级加强型火墙管理

chcon -RT 标签 目录:修改目录中的所有
Linux内核级加强型火墙管理
永久修改安全上下文
如果需要特殊指定安全上下文需要修改内核安全上下文列表
内核安全上下文列表查看
semanage fcontext -l
写入列表
Linux内核级加强型火墙管理
把目录写入列表
Linux内核级加强型火墙管理
更新列表并显示更新信息
Linux内核级加强型火墙管理
touch /.autorelabel:重启系统时selinux初始化文件标签开关文件
sebool
当selinux开启时修改配置文件不能使vsftp服务的匿名用户上传文件,这是因为sebool影响
sebool查看 getsebool -a

Linux内核级加强型火墙管理sebool修改

Linux内核级加强型火墙管理
SEPORT
当selinux开启时,如果服务的端口设置错误,服务无法重启
查看
semanage port -l
可以发现阿帕齐的允许开启端口
Linux内核级加强型火墙管理
设置成这些端口,服务都是可以启动的Linux内核级加强型火墙管理

Linux内核级加强型火墙管理
如果设置其中没有的端口启动时会报错,无法启动
Linux内核级加强型火墙管理
Linux内核级加强型火墙管理
这时需要在SEPORT中修改端口
Linux内核级加强型火墙管理
setrouble
/var/log/audit/audit.log:selinux警告信息
/var/log/messages:selinux问题解决方案
setroubleshoot-server:此软件功能是采集警告信息并分析得到解决方案存放到/var/log/messages中
例如修改http端口,httpd服务无法重启
警告信息
Linux内核级加强型火墙管理
解决方案
Linux内核级加强型火墙管理
卸载setroubleshoot-server
Linux内核级加强型火墙管理
重启服务查看警告信息和解决方案
警告信息
Linux内核级加强型火墙管理
解决方案
Linux内核级加强型火墙管理
可以发现在卸载了setroubleshoot-server后/var/log/messages中只有报错信息没有了解决方案