
- 外文名
- Security-Enhanced Linux
- 简 称
- SELinux
- 地 位
- Linux历史上最杰出的新安全系统
- 性 质
- 强制访问控制(MAC)安全系统
- 制造单位
- 美国国家安全局
-
selinux
2019-08-02 08:43:20selinuxselinux
文件位置:/etc/sysconfig/selinux
selinux是什么
内核加强型防火墙
内核中提供的强制访问控制(MAC)系统
SELINUX有3种模式:
disabled(关闭)
permissive(开启,警告级别:每个受限的进程违规操作不会被禁止,但会被记录于审计日志)
enforcing(开启,强制级别:每个受限的进程都必然受限)
1.针对文件,会对系统中每个文件添加安全上下文
2.针对进程,会对系统中的每个进程添加安全上下文
3.会在系统上设定sebool开关
4.当进程安全上下文和文件的不匹配时,那么进程无法访问此文件
5.sebool会限制服务的不安全功能,如果需要用此功能,必须调整sebool值管理selinux
vim /etc/sysconfig/selinux getenforce ##查看selinux模式 setenforce 0 | 1 ##临时更改selinux当前级别0警告1强制 注意:当selinux从开到关或从关到开,需要重启系统
安全上下文的修改
临时修改
chcon ##临时修改文件的安全上下文 chcont -t 安全上下文 文件 eg:chcont -tpublic_content_t file
永久修改
semange fcontext ##永久修改文件/目录的安全上下文 semange fcontext -l ##查看所有系统文件安全上下文 semange fcontext -a -t public_content_t '/westos(/.*)' ##此目录下所有文件安全上下文都改变,(/.*)表示所有 ls -Z ps z ##查看文件/进程的安全上下文 restorecon -RvvF ##使更改生效 注意:修改后必须得刷新
日志服务
setroubleshoot-server ##将信息记录到日志的服务
bool值及其设定
selinux的bool值设定 SELinux bool值是更改 SELinux 策略行为的开关。 SELinux bool值是可以启用或禁用的规则。 getsebool -a ##显示所有SElinux的bool值 setsebool ##用于修改bool值 setsebool -P ##修改SELinux 策略 , 以永久保留修改。 semanage boolean -l ##查看更为详细的布尔值 semanage boolean -l -C ##查看修改过的布尔值
-
Selinux
2020-11-30 20:44:31文章目录1.selinux功能1.1 seliux关闭状态1.2 seliux开启状态2.selinux状态2.1 查看selinux状态2.2 selinux的状态2.3 selinux的临时设定2.4 selinux开关3.安全上下文3.1 安全上下文的临时更改3.2 永久更改目录或文件...文章目录
1.selinux功能
selinux 内核级加强型火墙
selinux开启会给系统中的每一个文件及每一个程序加载安全上下文,特定安全上下文的程序只能访问特定安全上下文的文件。当selinux开启会对服务本身相对不安全的功能加载开关sebool并且设定开关为关闭状态以保证服务安全性。当需要此功能时需要超级用户手动调节。selinux是保护系统安全性的插件。
1.1 seliux关闭状态
- 在/mnt/中建立文件
- 文件安全上下文为空
- 文件被移动到ftp默认发布目录中可以被访问
- ftp程序安全上下文为空
- 用户可以上传文件
disabled:
dnf install -y lftp dnf install -y vsftpd vim /etc/vsftpd/vsftpd.conf 开启匿名登陆和上传 systemctl enable --now vsftpd touch /mnt/testfile ls -Z /mnt/testfile pa auxZ | grep vsftpd mv /mnt/testfile /var/ftp chgrp ftp /var/ftp/pub/ chmod 775 /var/ftp/pub/ lftp 172.25.254.128 可以登陆,查看到testfile并且在pub/目录可以上传
1.2 seliux开启状态
selinux开启后,对于特定程序的安全上下文只能访问匹配的安全上下文文件,否则在访问文件时会被拒绝。
enforcing:
getenforce touch /mnt/testfile2 ls -Z /mnt/testfile #mnt_t pa auxZ | grep vsftpd mv /mnt/testfile2 /var/ftp lftp 172.25.254.128 查看不到testfile2
2.selinux状态
2.1 查看selinux状态
getenforce
2.2 selinux的状态
类型 解释 Disabled 关闭 enforcing 强制(有警告,不允许执行) permissive 警告(有警告,允许执行) enforcing不允许执行:
getenforce #Enforcing > /var/log/audit/audit.log cat /var/log/audit/audit.log lftp 172.25.254.128 #看不到testfile2 cat /var/log/audit/audit.log #path="/testfile2" permissive=0
permissive有警告但是允许执行:
setenforce 0 getenforce #Permissive > /var/log/audit/audit.log cat /var/log/audit/audit.log lftp 172.25.254.128 #可以看到testfile2 cat /var/log/audit/audit.log #path="/testfile2 permissive=1
2.3 selinux的临时设定
setenforce 0|1
0表示警告模式 1表示强制模式
2.4 selinux开关
vim /etc/sysconfig/selinux SELINUX=disabled /enforcing/permissive reboot #重新设定都要重启系统
3.安全上下文
3.1 安全上下文的临时更改
chcon -t (-R) public_content_t /var/ftp/testfile2
chcon -t 安全上下文 文件 chcon -R -t 安全上下文 目录
lftp 再次访问服务器会发现此文件可被访问成功,此设定为临时设定,selinux重启后会恢复默认。
3.2 永久更改目录或文件的安全上下文
mkdir /ftpuserdir/pikadir #设定westos用户登陆ftp服务时默认家目录为/ftpuserdir #当用westos用户登陆ftp时/ftpuserdir中的内容无法访问,因为selinux安全上下文不匹配。 semanage fcontext -l | grep /ftpuserdir ##内核安全上下文列表中无信息 semanage fcontext -a -t public_content_t /ftpuserdir'(/.*)?' ##此命令只添加列表信息,当前不生效 另外: (/.*)? #表示目录中将要出现的内容 restorecon -RvvF /ftpuserdir/ ##刷新文件安全上下文
4.sebool
SEBOOL: selinux 对服务功能能添加的开关。
getsebool -a | grep ftp ##查看ftp的功能开关 setsebool ftpd_anon_write=1|on ##表示开启此匿名用户写的功能 setsebool -P ftpd_anon_write=1|on ##表示永久开启此匿名用户写的功能
5.setrouble排错
安装setrouble:
dnf install setroubleshoot-server-3.3.19-1.el8.x86_64 -y
分析日志并提供解决方案:
sealert -a /var/log/audit/audit.log
-
SELinux
2020-02-25 12:07:36查看状态 getenforce /usr/sbin/sestatus ...临时关闭SELinux,重启后失效 setenforce 0 永久关闭,需要修改selinux的配置文件,重启后生效 vi /etc/selinux/config # SELINUX=enforcing SELINUX=disabled ...查看状态
getenforce /usr/sbin/sestatus
临时关闭SELinux,重启后失效
setenforce 0
永久关闭,需要修改selinux的配置文件,重启后生效
vi /etc/selinux/config # SELINUX=enforcing SELINUX=disabled
-
SELINUX
2019-11-13 19:46:171. 了解selinux (1)什么是selinux Selinux,内核级加强型防火墙。SElinux是强制访问控制(MAC)安全系统,是linux历史上最杰出的新安全系统。对于linux安全模块来说,SElinux的功能是最全面的,测试也是最充分的,...1. 了解selinux
(1)什么是selinux
Selinux,内核级加强型防火墙。SElinux是强制访问控制(MAC)安全系统,是linux历史上最杰出的新安全系统。对于linux安全模块来说,SElinux的功能是最全面的,测试也是最充分的,这是一种基于内核的安全系统。
(2)selinux的三个模式
Enforcing 强制(强制模式)— SELinux 策略强制执行,基于 SELinux 策略规则授予或拒绝主体对目标的访问
Permissive 宽容(警告模式)— SELinux 策略不强制执行,不实际拒绝访问,但会有拒绝信息写入日志
Disabled 禁用(关闭模式)— 完全禁用SELinux2. selinux的开启及模式调整
编辑selinux的配置文件:
vim /etc/sysconfig/selinux
注意:设置后必须要重启才能生效。
调整模式
##警告模式 setenforce 0 ##强制模式 setenforce 1 ##状态查看 getenforce
注意:不能通过模式调整将从开启状态(警告模式或者强制模式)调整到关闭状态,要调整必须通过配置文件来修改。
3.修改文件安全上下文
(1)查看文件和目录的安全上下文
注意:以下实验是在selinux开启的情况下(enforcing)操作的。
#查看安全上下文 ls -Z # 文件 ls -Zd # 目录
注意:selinux要开启。
(2)修改安全上下文
#临时修改文件的安全上下文 chcon -t 安全上下文 文件
#列出内核安全上下文列表内容 semanage fcontext -l #将目录本身及里面文件的加载到安全上下文里面 semanage fcontext -a -t public_content_t '/westos(/.*)?' 注意:真实的目录的安全上下文并没有变。(ls -Zd /westos) 要想改变目录及里面文件的安全上下文: (1)reboot (2)restorecon -FvvR /westos
4. selinux的bool值的设定
##查看文件的bool值 getsebool -a | grep 服务名称 ##开启或者关闭 setsebool -P 功能bool值 on|off
(1)系统用户上传文件
上传的功能是关闭的,所以不能上传。
开启功能:
(2)匿名用户上传文件
###登录lftp lftp 172.25.254.120 #上传文件 put /etc/group (会报错) #查看bool值 getsebool -a | grep ftp ftpd_anon_write=off (功能是关闭的) ##开启功能 stsebool -P ftpd_anon_write on 注意:但是还是不能上传,原因是目录没有可写的权限 ##设置安全上下文,使目录的可写权限 semanage fcontext -a -t public_content_rw_t "/var/ftp/pub(/.*)?" ##刷新 restorecon -FvvR /var/ftp/pub
5.selinux 系统排错
#查看selinux的报错日志 /var/log/audit/audit.log #提供selinux的解决方法的日志 /var/log/messages
提供系统selinux排错的软件为:setroubleshoot-server,如果删除该软件,在messages中将不会提供解决方法。
在/var/log/messages 中寻求解决方法:
执行找到的帮助:
-
SElinux
2020-02-23 16:46:35SElinux基本安全概念2. selinux功能3. selinux状态4. 安全上下文4.1 安全上下文的临时更改4.2 永久更改安全上下文5. sebool6. setrouble 1. SElinux基本安全概念 SELINUX ( 安全增强型 Linux ) 是可保护你系统安全...
-
Presto.zip
-
NFS 实现高可用(DRBD + heartbeat)
-
物联网基础篇:快速玩转MQTT
-
node-util:Bscotch实用工具:常见Node.js需求的方法-源码
-
Mysql数据库面试直通车
-
使用 Linux 平台充当 Router 路由器
-
FastDFS 分布式文件系统部署
-
MySQL 高可用工具 DRBD 实战部署详解
-
搭建ROS小车——硬件购买篇(基于arduino mega2560,L298N)
-
项目:学术和个人项目-源码
-
MySQL你该了解的那些事【服务端篇】
-
一天学完MySQL数据库
-
CAS单点登录的实现
-
程序员的工作,四种情景的处理
-
朱老师c++课程第3部分-3.5STL的其他容器讲解
-
2020年烟台房地产市场总结.pdf
-
VSCode动态加载scss
-
微博商业数据挖掘方法
-
龙芯实训平台应用实战(希云)
-
区块链应用开发实战(Go语言方向)