Linux系统中内核级加强型火墙的管理(selinux的功能,状态及管理,selinux安全上下文,sebool,seport,setrouble)

一.selinux的功能
1.观察现象:

当selinux未开启时

在/mnt建立文件被移动到/var/ftp下可以被ftp访问到

匿名用户可以通过设置上传文件

当使用ls -Z查看文件显示?

ps auxZ | grep vsftpd 时显示:

Linux系统中内核级加强型火墙的管理(selinux的功能,状态及管理,selinux安全上下文,sebool,seport,setrouble)

Linux系统中内核级加强型火墙的管理(selinux的功能,状态及管理,selinux安全上下文,sebool,seport,setrouble)

Linux系统中内核级加强型火墙的管理(selinux的功能,状态及管理,selinux安全上下文,sebool,seport,setrouble)
当selinux开启:

在/mnt建立文件被移动到/var/ftp下不可以被ftp访问到

匿名用户可以通过设置后仍然不可以上传文件
 

Linux系统中内核级加强型火墙的管理(selinux的功能,状态及管理,selinux安全上下文,sebool,seport,setrouble)

当使用ls -Z查看文件显示信息

ps auxZ | grep vsftpd 时显示

Linux系统中内核级加强型火墙的管理(selinux的功能,状态及管理,selinux安全上下文,sebool,seport,setrouble)

selinux:

(1)对于文件的影响:

当selinux开启时,内核会对每个文件及每个开启的程序进行标签加载

标签内记录程序和文件的安全上下文(context)

(2)对程序功能的影响:

当selinux开启时会对程序的功能加载开关,并设定此开关的状态为关闭

当需要此功能是需要手动开启功能开关

此开关叫做sebool

二.selinux的状态及管理

selinux开启:

vim /etc/selinux/config

第七行   SELINUX=disabled   selinux关闭

SELINUX=enforcing  selinux设定为强制状态此状态为selinux开启

SELINUX=permissive selinux开机设定为警告状态此状态为selinux开启

开启或关闭需要重启系统

enforcing   

不符合状态一定不被允许,并会收到警告信息

Linux系统中内核级加强型火墙的管理(selinux的功能,状态及管理,selinux安全上下文,sebool,seport,setrouble)

permissive

不符合状态被允许,并会收到警告

Linux系统中内核级加强型火墙的管理(selinux的功能,状态及管理,selinux安全上下文,sebool,seport,setrouble)

selinux状态的查看:

getenforce

selinux开启后强制和警告级别的转换:

setenforce 0   #警告

setenforce 1   #强制

selinux日志位置:

/var/log/audit/audit.log   

三.selinux的安全上下文

1.查看

ls -Z      查看文件     

ls -Zd     查看目录

ls aux     查看进程

2.修改安全上下文

临时修改

此方式更改的上下文在selinux重启后会还原

chcon -t  标签               文件|目录     

chcon -t   public_content_t     /var/ftp/westosfile1   

chcon -Rt   public_content_t    /westosdir   修改目录及目录中所有子文件的安全上下文

Linux系统中内核级加强型火墙的管理(selinux的功能,状态及管理,selinux安全上下文,sebool,seport,setrouble)

selinux重启后:

Linux系统中内核级加强型火墙的管理(selinux的功能,状态及管理,selinux安全上下文,sebool,seport,setrouble)
永久修改安全上下文

如果需要特殊指定安全上下文需要修改安全上下文列表

semanage  fcontext -l    查看内核安全上下文

semanage  fcontext -a -t  public_content_t '/westosdir(/.*)?'

restorecon -RvvF /westosdir1/     刷新

touch /.autorelabel   重启系统时selinux初始化文件标签开关文件

Linux系统中内核级加强型火墙的管理(selinux的功能,状态及管理,selinux安全上下文,sebool,seport,setrouble)

Linux系统中内核级加强型火墙的管理(selinux的功能,状态及管理,selinux安全上下文,sebool,seport,setrouble)

Linux系统中内核级加强型火墙的管理(selinux的功能,状态及管理,selinux安全上下文,sebool,seport,setrouble)

服务重启后:

Linux系统中内核级加强型火墙的管理(selinux的功能,状态及管理,selinux安全上下文,sebool,seport,setrouble)

四.SEBOOL
getsebool -a  | grep ftp    显示服务的bool值

Linux系统中内核级加强型火墙的管理(selinux的功能,状态及管理,selinux安全上下文,sebool,seport,setrouble)
setsebool -P ftpd_anon_write on    更改服务的bool值

Linux系统中内核级加强型火墙的管理(selinux的功能,状态及管理,selinux安全上下文,sebool,seport,setrouble)

五.SEPORT
vim /etc/ssh/sshd_config

Linux系统中内核级加强型火墙的管理(selinux的功能,状态及管理,selinux安全上下文,sebool,seport,setrouble)

semanage port -l | grep ssh

semanage port  -a -t ssh_port_t -p tcp 1111       端口的设定

Linux系统中内核级加强型火墙的管理(selinux的功能,状态及管理,selinux安全上下文,sebool,seport,setrouble)

六.setrouble

/var/log/audit/audit.log    selinux警告信息

/var/log/messages           selinux问题解决方案

setroubleshoot-server       此软件功能是采集警告信息并分析得到解决方案存放到messages中

dnf search setrouble

dnf remove setroubleshoot-server     卸载

dnf install setroubleshoot-server -y   安装

实验:

semanage port  -d -t ssh_port_t -p tcp 1111

> /var/log/audit/audit.log

> /var/log/messages

systemctl start sshd

systemctl stop sshd

Linux系统中内核级加强型火墙的管理(selinux的功能,状态及管理,selinux安全上下文,sebool,seport,setrouble)

Linux系统中内核级加强型火墙的管理(selinux的功能,状态及管理,selinux安全上下文,sebool,seport,setrouble)

Linux系统中内核级加强型火墙的管理(selinux的功能,状态及管理,selinux安全上下文,sebool,seport,setrouble)

Linux系统中内核级加强型火墙的管理(selinux的功能,状态及管理,selinux安全上下文,sebool,seport,setrouble)

Linux系统中内核级加强型火墙的管理(selinux的功能,状态及管理,selinux安全上下文,sebool,seport,setrouble)

Linux系统中内核级加强型火墙的管理(selinux的功能,状态及管理,selinux安全上下文,sebool,seport,setrouble)

Linux系统中内核级加强型火墙的管理(selinux的功能,状态及管理,selinux安全上下文,sebool,seport,setrouble)