selinux内核级加强型火墙

selinux

selinux(secure linux):内核级加强型火墙

selinux对文件影响==>安全上下文
selinux对软件影响==>功能开关

1.selinux对文件的影响:selinux会给与系统中的每个文件一个安全上下文(context),

同时给予每个程序一个context,若此程 序的安全上下文与文件的安全上下文不匹配,

则文件不能被系统访问,若匹配,则可以访问,而文件的安全上下文,与此文件所在的目录有关

2.getenforce   查看selinux的状态

selinux内核级加强型火墙_第1张图片

 

3.setenforce 0|1临时设置selinux状态(前提是selinux必须为enforcing

0 permissive 警告状态

1 enforcing 强制状态

 

4.永久设置selinux状态

vim /etc/sysconfig/selinux

SELINUX=enforcing 强制模式

SELINUX=permissive 警告模式

SELINUX=disabled 关闭模式

如图selinux的默认值是disabled

selinux内核级加强型火墙_第2张图片

更改参数之后如下如:

 

注意:完成后需要reboot生效

 

显示 selinux 文件上下文

许多处理文件的命令具有一个用于显示或设置 SELinux 上下文的选项

( 通常是 -Z ) 。例如 , ps 、 ls 、 cp 和 mkdir 都使用 -Z 选项显示或设置 SELinux 上下文

显示上下文

– ps axZ

– ps -ZC

– ls -Z

更改文件的上下文是为了lftp不能访问的文件可以访问
(文件的上下文为public_content_t:s0  lftp是可以访问的,其他上下文类型lftp是不能访问的)

selinux内核级加强型火墙_第3张图片

将/mnt/huige1移动到/var/ftp/pub下,

huige1的安全上下文与原本在/var/ftp/pub下的文件不相同(受到selinux的限制);

可以i看到lftp是无法查看这类文件的,

即使默认普通权限是可以的

如何更改文件安全上下文

什么确定文件的初始 selinux 上下文

通常是父目录。将父目录的上下文指定给新创建的文件。

这对 vimcp 和 touch 等命令其作用 , 但是 ,

如果文件是在其他位置创建的并且保留了权限 ( 与 mv 或 cp -a 一样 ) 则还将保留 selinux 上下文

1>临时更改(但重启后,又恢复到原来的)

chcon -t 安全上下文 文件

2>永久更改

 

selinux内核级加强型火墙_第4张图片

selinux内核级加强型火墙_第5张图片

selinux内核级加强型火墙_第6张图片

这种永久修改的方式,在系统重启之后才会生效,

或者使用restorecon -RvvF /ftphome/命令使其生效,如上图。(R v v F不是R w F)

restorecon -FvvR /ftphome  进行刷新

selinux内核级加强型火墙_第7张图片

semanage fcontext -l | grep /ftphome  '/ftphome(/.*)?'

selinux内核级加强型火墙_第8张图片

ls -Z /ftphome/  -R

selinux内核级加强型火墙_第9张图片

如何控制selinux对服务功能的开关

(在selinux为enforcing时)

对于程序selinux是通过getsebool程序安全开进行控制,

以vsftpd作为示例.

查看软件的服务功能开启状况:

getsebool -a | grep ftp

selinux内核级加强型火墙_第10张图片

 

控制软件的服务功能开关:

setsebool -P 功能bool值 on|off

setsebool -P ftpd_anon_write on

例如:
1>在setenforce 0 警告状态下匿名用户的上传
setenforce 0
getsebool -a | grep ftp  查看ftp的功能状态

selinux内核级加强型火墙_第11张图片
setsebool -P ftp_home_dir on 开启建立目录功能(默认OFF)


vim /etc/vsftpd/vsftpd.conf(允许匿名用户上传)


systemctl restart vsftpd


匿名用户的默认身份为ftp,下面两条命令让ftp用户可以上传
chgrp ftp /var/ftp/pub/
chmod 775 /var/ftp/pub/

selinux内核级加强型火墙_第12张图片


2>在setenforce 1 强制状态下匿名用户的上传
setenforce 1

getsebool -a | grep ftp

selinux内核级加强型火墙_第13张图片
setsebool -P ftpd_anon_write on 开启匿名用户写的功能


chcon -t public_content_rw_t /var/ftp/pub/       更改文件上下文,不改无法上传

ls -Zd /var/ftp/pub/  查看修改是否生效

 

selinux内核级加强型火墙_第14张图片

出现错误后,

selinux 日志被采集到  cat /var/log/audit/audit.log,

但不提供解决方案

 yum install setroubleshoot-server.x86_64 软件会对采集到的日志进行处理,

将解决方案保存到/var/log/messages

 

你可能感兴趣的:(selinux内核级加强型火墙)