selinux
- 1.selinux功能
- 2.selinux状态
- 3.安全上下文
- 3.1 安全上下文的临时更改
- 3.2 永久更改目录或文件的安全上下文
- 4.sebool
- 5.setrouble
1. selinux功能
-
selinux:内核级加强型火墙
-
selinux功能:
当selinux开启会给系统中的每一个文件及每一个程序加载安全上下文
特定安全上下文的程序只能访问特定安全上下文的文件
-
seliux关闭状态:
1. 在/mnt/中建立文件文件安全上下文为空文件被移动到ftp默认发布目录中可以被访问
2. ftp程序安全上下文为空
3. 用户可以上传文件
-
当selinux开启以上功能操作均失败
-
selinux开启状态下匿名用户写的权限是关闭的
- 当selinux开启会对服务本身相对不安全的功能加载开关sebool并且设定开关为关闭状态以保证服务安全性
当需要此功能时需要超级用户手动调节
2. selinux状态
-
查看selinux状态
getenforce
-
状态类型:
状态 | 意义 |
---|---|
Disabled | 关闭 |
enforcing | 强制 |
permissive | 警告 |
-
setenforce 0|1
0表示警告模式
1表示强制模式 -
selinux开关:
vim /etc/sysconfig/selinux
SELINUX=[selinux的状态]
-
reboot
当Disabled <----> [enforcing|permissive] 都需要重启系统
3. 安全上下文
1.安全上下文的临时更改
命令 | 对象 |
---|---|
chcon -t 安全上下文 | 文件 |
chcon -R -t 安全上下文 | 目录 |
chcon -t public_content_t /var/ftp/westoslinuxfile
lftp 访问服务器会发现此文件可被访问成功
2.永久更改目录或文件的安全上下文
-
mkdir /ftpuserdir/westosdir
-
设定westos用户登陆ftp服务时默认家目录为/ftpuserdir
-
当用westos用户登陆ftp时/ftpuserdir中的内容无法访问,因为selinux安全上下文不匹配
-
内核安全上下文列表中无信息
semanage fcontext -l | grep /ftpuserdir -
目录和目录里面的文件都更改安全上下文
semanage fcontext -a -t public_content_t /ftpuserdir’(/.*)?' -
只更改目录
semanage fcontext -a -t public_content_t /ftpuserdir
命令 | 功能 |
---|---|
R | 表示递归刷新 |
v | 显示信息 |
vv | 显示详细信息 |
F | 刷新 |
- 刷新文件安全上下文
restorecon -RvvF /ftpuserdir/
4. sebool
SEBOOL:
selinux 对服务功能能添加的开关
查看ftp的功能开关
getsebool -a | grep ftp
表示开启此匿名用户写的功能
setsebool -P ftpd_anon_write=1|on
5. setrouble
dnf install setroubleshoot-server-3.3.19-1.el8.x86_64 -y
分析日志并提供解决方案
sealert -a /var/log/audit/audit.log