当前位置: 首页 > news >正文

17.Linux :selinux

Linux : selinux

DAC vs MAC 对比
模型控制方式决策依据安全强度
DAC自主访问控制文件所有者的权限设置
MAC强制访问控制系统级安全策略极高

SELinux的核心原理是基于 强制访问控制(MAC) 模型,通过为系统资源打上安全标签并制定精细策略,实现远超传统 Linux 权限控制的保护机制

安全策略

策略类型适用场景特点
targeted默认策略(推荐)仅保护关键服务(如 httpd)
mls军事/政府级安全极端严格,配置复杂
minimum最小化保护(容器环境)仅基础进程保护

模式

模式状态推荐场景切换命令
Enforcing强制模式生产环境(默认)setenforce 1
Permissive宽容模式故障排查(仅记录不拦截)setenforce 0
Disabled禁用模式彻底禁用(需重启生效)修改 /etc/selinux/config

getenforce 查看selinux当前状态
setenforce 更改selinux当前状态(暂时更改)

在这里插入图片描述

查看

[root@xieyuhui ~]# getenforce 
Enforcing

更改

[root@xieyuhui ~]# setenforce 0
[root@xieyuhui ~]# getenforce 
Permissive

setenforce 0表示更改为permissive,1表示为更改enforcing,永久更改需要进入配置文件/etc/sysconfig/selinux,修改下次开机的selinux状态

上下文

查看文件的context值:
ll -Z /abc/aa

查看目录的context值:
[root@xieyuhui ~]# ll -ldZ /kili
drwxr-xr-x. root root unconfined_u:object_r:default_t:s0 /kili

安全上下文三部分组成:用户u、角色r和类型识别符t
chcon -t tmp_t redhat 更改redhat的context值为tmp_t

# 1. 临时修改文件上下文
[root@xieyuhui ~]# chcon -t tmp_t /kili
[root@xieyuhui ~]# ll -ldZ /kili
drwxr-xr-x. root root unconfined_u:object_r:tmp_t:s0   /kili# 2. 永久修改目录上下文(含子文件)
semanage fcontext -a -t httpd_sys_content_t "/www(/.*)?"(目录及子目录)
restorecon -Rv /www# 3. 重置错误上下文
touch /.autorelabel  # 重启后重打标签
布尔值策略管理
# 查看所有布尔值开关
getsebool -a[root@xieyuhui ~]# getsebool -a
abrt_anon_write --> off
abrt_handle_event --> off
abrt_upload_watch_anon_write --> on
antivirus_can_scan_system --> off
antivirus_use_jit --> off
auditadm_exec_content --> on
authlogin_nsswitch_use_ldap --> off
authlogin_radius --> off
authlogin_yubikey --> off
awstats_purge_apache_log_files --> off# 查询特定服务开关
getsebool -a | grep ftp[root@xieyuhui ~]# getsebool -a | grep ftp
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> off
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off
httpd_can_connect_ftp --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
tftp_home_dir --> off# 临时启用
[root@xieyuhui ~]# setsebool cron_can_relabel on# 永久启用
[root@xieyuhui ~]# setsebool cron_can_relabel on -P
端口标记管理
# 添加 HTTP 端口标记
semanage port -a -t http_port_t -p tcp 8080[root@xieyuhui ~]# semanage port -l | grep http
http_cache_port_t              tcp      8080, 8118, 8123, 10001-10010
http_cache_port_t              udp      3130
http_port_t                    tcp      80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t            tcp      5988
pegasus_https_port_t           tcp      5989# 查询端口标签
[root@xieyuhui ~]# semanage port -l | grep 8080
http_cache_port_t              tcp      8080, 8118, 8123, 10001-10010# 删除旧端口标记
semanage port -d -t http_port_t -p tcp 80# 查看所有端口标记
semanage port -ltcp      8080, 8118, 8123, 10001-10010# 删除旧端口标记
semanage port -d -t http_port_t -p tcp 80# 查看所有端口标记
semanage port -l
http://www.dtcms.com/a/318704.html

相关文章:

  • LMS/NLMS最小均值算法:双麦克风降噪
  • CentOS8.5安装19c单机告警及处理
  • 碳纳米管的原子精度制造——展望
  • 福彩双色球第2025090期篮球号码分析
  • docker启动出现Error response from daemon: Container的问题【已解决】
  • 容器化运维工具(2)Kubernetes 详细教程(含图解)
  • 开发避坑指南(18): SpringBoot环境变量配置错误:占位符解析失败解决方案
  • 【数据结构与算法-Day 12】深入浅出栈:从“后进先出”原理到数组与链表双实现
  • 奔图P2500NW打印机加碳粉方法
  • 《Transformer黑魔法Mask与Softmax、Attention的关系:一个-∞符号如何让AI学会“选择性失明“》
  • 深入理解 qRegisterMetaType<T>()
  • DAY32打卡
  • 字符输入流—read方法
  • Kotlin Native调用C curl
  • 内部类详解:Java中的嵌套艺术
  • WebView 中控制光标
  • Diamond基础1:认识Lattice器件
  • 数据结构 二叉树(1)二叉树简单了解
  • Linux学习-数据结构(栈和队列)
  • 8.6学习总结
  • Selenium在Pyhton应用
  • Java 大视界 -- Java 大数据机器学习模型在电商用户生命周期价值评估与客户关系精细化管理中的应用(383)
  • 应急响应排查(windows版)
  • Vue计算属性详解2
  • Python Pandas.lreshape函数解析与实战教程
  • 机器学习模型调优实战指南
  • 关于应急响应的那些事
  • 第14届蓝桥杯Scratch选拔赛初级及中级(STEMA)真题2023年3月12日
  • 人工智能-python-机器学习实战:特征降维、PCA与KNN的核心价值解析
  • Linux: NFS 服务部署与autofs自动挂载的配置