您的位置:首页 > 运维架构 > Linux

Linux的selinux的初级管理

2017-08-05 20:48 459 查看
1.SElinux,内核级加强型防火墙, SELinux[Security Enhanced Linux (安全强化 Linux)],是工作在内核中的MAC (Mandatory
Access
Control,强制访问控制系统)的一个实现,目的在于明确的指明某个进程可以访问哪些资源(文件、网络端口等)。强制访问控制系统的用途在于增强系统
抵御 0-Day 攻击(利用尚未公开的漏洞实现的攻击行为)的能力。所以它不是网络防火墙或 ACL 的替代品,在用途上也不重复。

对于selinux的通俗理解:
selinux,它给一些特定程序(这些程序也在不断增加)做了一个沙箱,它将文件打上了一个安全标签,这些标签属于不同的类,也只能执行特定的操作,也就是规定了某个应用程序设定了你可以访问那些文件或目录。
SElinux对系统的影响:
对每个文件加标签,不同类的标签无法相互访问
会影响的某些服务的功能
一般情况下disabled,设置完后需要重启内核生效

2.SElinux管理级别
selinux开启或者关闭
vim /etc/sysconfig/selinux




selinux=disabled 关闭状态
selinux=Enforcing 强制状态
selinux=Permissive 警告状态

getenforce 查看状态
当selinux开启时 两个运行运行级别
setenforce 0 警告状态
setenforce 1 强制状态

3.更改文件安全上下文

(临时更改)
chcon -t 安全上下文 文件
chcon -t public_content_t /publicftp -R


vsftpd/vsftpd.conf里更改匿名登陆加目录





新建匿名加目录,由于新建的westos目录的上下文为default,所以在selinux开启的情况下,匿名用户lftp登陆无法看见
更改westos的上下文为public_content_t,更改后,匿名用户可以看见里头的文件




(永久更改)
上述方法修改上下文,重启selinux服务后会消失,下面为永久生效的方法

semanage fcontext -l 列出内核安全上下文列表内容
semanage fcontext -a -t public_content_t '/publicftp(/.*)?' 内核永久设置publicftp的上下文为public_content_t
restorecon -FvvR /publicftp/ 重新加载立即生效











4.SElinux服务功能的开关
getsebool -a | grep 服务名称
getsebool -a | grep ftp
setsebool -P 功能bool值 on|off 开启服务
setsebool -P ftp_home_dir on 可以在家目录里执行动作


(1)本地用户在开启SElinux情况下上传文件设置

在开启selinux服务后,服务禁止上传文件,开启家目录可执行动作的选项之后,可以上传文件






(2)匿名用户在开启SElinux情况下上传文件设置
vim /etc/vsftpd/vsftp.conf ,开启匿名可以上传的权限




修改/var/ftp/pub的上下文




修改/var/ftp/pub权限后可以上传




5.监控selinux的错误信息
setroubleshoot-server 服务

创建文件file1,将文件移动到/var/ftp/pub/下,由于selinux文件上下文不一致,所以无法看见pub下的file1文件





清空日志 >/var/long/message
看看登陆日志 cat /var/long/message






日志中有selinux的错误代码和解决建议
按照restorecon -v 的方案解决




修复后,再次匿名登陆,可以看见文件
























内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  selinux