成都网站建设设计

将想法与焦点和您一起共享

selinux初级管理-创新互联

1.什么时Selinux
Selinux,内核级加强型防火墙
SElinux是强制访问控制(MAC)安全系统,是linux历史上最杰出的新安全系统。对于linux安全模块来说,SElinux的功能是最全面的,测试也是最充分的,这是一种基于内核的安全系统。

创新互联网站建设提供从项目策划、软件开发,软件安全维护、网站优化(SEO)、网站分析、效果评估等整套的建站服务,主营业务为做网站、成都网站设计App定制开发以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。创新互联深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

Selinux三个模式
Enforcing 强制(强制模式)— SELinux 策略强制执行,基于 SELinux 策略规则授予或拒绝主体对目标的访问
Permissive 宽容(警告模式)— SELinux 策略不强制执行,不实际拒绝访问,但会有拒绝信息写入日志
Disabled 禁用(关闭模式)— 完全禁用SELinux

2.如何管理selinux级别
selinux开启或者关闭
在配置文件"/etc/sysconfig/selinux"下将"SELINUX=enforcing"改为"SELINUX=disabled",因为SElinux是基于内核的安全系统,所以在设置完成之后需要重启内核,即需要重启电脑才可以生效。
vim /etc/sysconfig/selinux
selinux=disabled ##关闭状态
selinux=Enforcing ##强制状态
selinux=Permissive ##警告状态

selinux开启或者关闭
getenforce ##查看状态
当selinux开启时, "setenforce"可以设置SElinux的状态,但是只能设置0和1两种,即警告模式或者强制模式。
setenforce 0|1 ##更改selinux运行级别,

selinux初级管理

3.如何更改文件安全上下文

查看安全上下文): SElinux会在目录和文件上留下上下文标识
ls -Z
临时更改)
chcon -t 安全上下文 文件
chcon -t public_content_t /publicftp -R

永久更改)
semanage fcontext -l ##列出内核安全上下文列表内容
semanage fcontext -a -t public_content_t '/publicftp(/.*)?'
restorecon -FvvR /publicftp/

4.如何控制selinux对服务功能的开关
getsebool -a | grep 服务名称
getsebool -a | grep ftp
setsebool -P 功能bool值 on|off
setsebool -P ftpd_anon_write on

selinux初级管理

SElinux对服务的影响

    SElinux是最全面的安全系统,所以会对文件和服务有一定的限制,以下服务以ftp为例。

    SElinux会在文件上做出上下文标识,例如下图所示,在"/mnt"和"/var/ftp/pub"下分别建立文件"file",输入"ls -Z"可以查看文件标识。可以看出,"/mnt/file"为"mnt_t",而"/var/ftp/pub/file"标识为"public_content_t",这样会导致将"/mnt/file"移入"/var/ftp/pub"目录下,连接lftp无法看到这个文件。

SElinux为了系统的安全,会禁止服务一些危险功能的使用,可以输入"getsebool -a | grep ftp"来查看禁止了ftp服务的哪些功能,如下图所示,输入"setsebool -P 功能 on|off"可以控制这些功能的开关。

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

项目案例一: httpd服务共享文件安全上下文的管理
** selinux开启的情况下做实验
yum install httpd -y
systemctl start httpd
systemctl enable httpd
systemctl stop firewalld
systemctl disable firewalld
hostname > /var/www/html/hello.html
date +%F > /mnt/westos.html
mv /mnt/westos.html /var/www/html/

selinux初级管理
现象一: 用户通过浏览器可以访问hello.html文件, 但不能访问westos.html文件。如何解决呢?因为文件的安全上下文不同导致的.
ls -Z /var/www/html/

chcon -t httpd_sys_content_t /var/www/html/westos.html # 临时修改安全上下文, 重启后失效
semanage fcontext -l # 查看系统默认的安全上下文信息
semanage fcontext -a -t httpd_sys_content_t /var/www/html/westos.html # 永久修改文件的安全上下文到系统中
restorecon -FvvR /var/www/html/ # 刷新目录, 重新读取安全上下文

selinux初级管理selinux初级管理
项目案例二: vsftpd服务共享文件安全上下文的管理

项目案例三: vsftpd服务上传文件的管理(selinux开启的情况)

  1. vim /etc/vsftpd/vsftpd.conf
    anon_upload_enable=YES

    1. 开启selinux对服务功能的开关
      setsebool -P ftpd_anon_write on
      setsebool -P ftpd_full_access on

    2. 重启服务
      systemctl restart vsftpd

项目案例四: Selinux如何管理/错误信息处理
1). Selinux的警告日志信息文件: /var/log/audit/audit.log
Selinux的警告日志信分析之后给出的解决方案存储的位置: /var/log/messages

2). 实现selinux警告分析并给出解决方案的软件名: rpm -qa | grep setroubleshoot-server

3). 测试步骤
1 > /var/log/messages
2 > /var/log/audit/audit.log
3 ifconfig | less
4 setsebool -a | grep ftp
5 getsebool -a | grep ftp
6 less /var/log/audit/audit.log 查看日志文件
7 rpm -qa | grep setroubleshoot-server
8 less /var/log/messages
9 yum install httpd -y
10 systemctl start httpd
11 systemctl enable httpd
12 rpm -qc httpd
13 vim /etc/httpd/conf/httpd.conf@@
br/>@@
@@

14 systemctl restart httpd
15 less /var/log/messages
16 semanage port -a -t http_port_t -p tcp 6666
17 semanage port -l | grep http
18 systemctl restart httpd

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前标题:selinux初级管理-创新互联
URL地址:http://chengdu.cdxwcx.cn/article/gsgos.html