Linux内核级加强型火墙管理
selinux的功能
观察现象,当selinux未开启时
在/mnt下创建文件再移动到/var/ftp中,用ls -Z 查看
用ps -auxZ | grep vsftp查看
尝试在客户端连接
修改配置文件匿名用户可以写入目录
当selinux开启时
vim /etc/selinux/config(开启后reboot重启)
在/mnt创建文件并移动到/var/ftp/
用vsftp服务无法访问
使用ls -Z 查看
ps -auxZ | grep vsftp查看
匿名用户在通过修改配置文件后无法上传文件
总结:
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:不符合条件一定不能被允许,并会受到警告信息
permissive:不符合条件会被允许,并会收到警告信息
selinux状态查看:getenforce
selinux状态切换(临时)
setenforce 0:切换至警告模式
setenforce 1:切换至强制模式
selinux日志位置
/var/log/audit/audit.log
selinux的安全上下文
查看
ls -Z:查看文件的安全上下文
ls -Zd:查看目录的安全上下文
ps auxZ :查看进程的安全上下文
临时修改
chcon -t 标签 文件| 目录
修改后selinux强制状态也可以用vsftp访问这个文件
chcon -RT 标签 目录:修改目录中的所有
永久修改安全上下文
如果需要特殊指定安全上下文需要修改内核安全上下文列表
内核安全上下文列表查看
semanage fcontext -l
写入列表
把目录写入列表
更新列表并显示更新信息
touch /.autorelabel:重启系统时selinux初始化文件标签开关文件
sebool
当selinux开启时修改配置文件不能使vsftp服务的匿名用户上传文件,这是因为sebool影响
sebool查看 getsebool -a
sebool修改
SEPORT
当selinux开启时,如果服务的端口设置错误,服务无法重启
查看
semanage port -l
可以发现阿帕齐的允许开启端口
设置成这些端口,服务都是可以启动的
如果设置其中没有的端口启动时会报错,无法启动
这时需要在SEPORT中修改端口
setrouble
/var/log/audit/audit.log:selinux警告信息
/var/log/messages:selinux问题解决方案
setroubleshoot-server:此软件功能是采集警告信息并分析得到解决方案存放到/var/log/messages中
例如修改http端口,httpd服务无法重启
警告信息
解决方案
卸载setroubleshoot-server
重启服务查看警告信息和解决方案
警告信息
解决方案
可以发现在卸载了setroubleshoot-server后/var/log/messages中只有报错信息没有了解决方案