SELinux管理与配置

stric:提供RBAC的policy,具备完整的保护功能,保护网络服务,一般指令及应用程序。

策略改变后,需要重新启动计算机。

也可以通过命令来修改相关的具体的策略值,也就是修改安全上下文,来提高策略的灵活性。

3.策略的位置

/etc/selinux/<策略名>/policy/

1.2 SElinux命令介绍

1.2.1 查询SElinux状态命令

1.查询selinux状态

[root@redhat~]# sestatus

SELinux status:                 enabled

SELinuxfsmount:                /selinux

Currentmode:                   enforcing

Mode fromconfig file:          enforcing

Policyversion:                 21

Policy fromconfig file:        targeted

2.查询selinux激活状态

[root@redhat~]# selinuxenabled

[root@redhat~]# echo $?

0

如果为-256为非激活状态。

1.2.2 切换SElinux类型

1.切换成警告模式

[root@redhat~]# setenforce 0或setenforce permissive

[root@redhat~]# sestatus

SELinuxstatus:                 enabled

SELinuxfsmount:                /selinux

Currentmode:                   permissive

Mode fromconfig file:          enforcing

Policyversion:                 21

Policy fromconfig file:        targeted

[root@redhat~]# getenforce

Permissive

2.切换成强制模式

[root@redhat~]# setenforce 1

[root@redhat~]# getenforce

Enforcing

注:使用setenforce切换enforcing与permissive模式不需要重启计算机。

1.2.3 检查安全上下文

1.检查帐号的安全上下文

[root@redhat~]# id -Z

root:system_r:unconfined_t:SystemLow-SystemHigh

2.检查进程的安全上下文

[root@redhathome]# ps -Z

LABEL                             PIDTTY          TIME CMD

root:system_r:unconfined_t:SystemLow-SystemHigh2383 pts/0 00:00:00 bash

root:system_r:unconfined_t:SystemLow-SystemHigh2536 pts/0 00:00:00 ps

3.检查文件与目录的安全上下文

[root@redhathome]# ls -Z

drwx------  tom  tom  system_u:object_r:user_home_dir_ttom

1.2.4 修改文件/目录安全上下文与策略

1.chcon命令

chcon -u[user]  对象

-r[role]

-t[type]

-R递归

示例:

chcon -R -tsamba_share_t /tmp/abc

注:安全上下文的简单理解说明,受到selinux保护的进程只能访问标识为自己只够访问的安全上下文的文件与目录。

例如:上面解释为使用smb进程能够访问/tmp/abc目录而设定的安全上下文。

2.getsebool命令

获取本机selinux策略值,也称为bool值。

getsebool-a  命令同sestatus -b

[root@redhatfiles]# getsebool -a

NetworkManager_disable_trans–> off

allow_cvs_read_shadow–> off

allow_daemons_dump_core–> on

allow_daemons_use_tty–> off

allow_execheap–> off

allow_execmem–> on

allow_execmod–> off

allow_execstack–> on

allow_ftpd_anon_write–> off

allow_ftpd_full_access–> off

httpd_disable_trans–> off

说明:selinux的设置一般通过两个部分完成的,一个是安全上下文,另一个是策略,策略值是对安全上下文的补充。

3.setsebool命令

setsebool -Pallow_ftpd_anon_write=1

-P 是永久性设置,否则重启之后又恢复预设值。

示例:

[root@redhatfiles]# setsebool -P allow_ftpd_anon_write=1

[root@redhatfiles]# getsebool allow_ftpd_anon_write

allow_ftpd_anon_write–> on

说明:如果仅仅是安全上下文中设置了vsftpd进程对某一个目录的访问,配置文件中也允许可写,但是selinux中策略中不允许可写,仍然不可写。所以基于selinux保护的服务中,安全性要高于很多。

1.3 SElinux应用

selinux的设置分为两个部分,修改安全上下文以及策略,下面收集了一些应用的安全上下文,供配置时使用,对于策略的设置,应根据服务应用的特点来修改相应的策略值。

1.3.1 SElinux与samba

1.samba共享的文件必须用正确的selinux安全上下文标记。

chcon -R -t samba_share_t /tmp/abc

如果共享/home/abc,需要设置整个主目录的安全上下文。

chcon -R -r samba_share_t /home

2.修改策略(只对主目录的策略的修改)

setsebool -P samba_enable_home_dirs=1

setsebool -P allow_smbd_anon_write=1

getsebool 查看

samba_enable_home_dirs -->on

allow_smbd_anon_write --> on

1.3.2 SElinux与nfs

selinux对nfs的限制好像不是很严格,默认状态下,不对nfs的安全上下文进行标记,而且在默认状态的策略下,nfs的目标策略允许nfs_export_all_ro

nfs_export_all_ro

nfs_export_all_rw值为0

所以说默认是允许访问的。

但是如果共享的是/home/abc的话,需要打开相关策略对home的访问。

setsebool -Puse_nfs_home_dirs boolean 1

getsebooluse_nfs_home_dirs

1.3.3 SElinux与ftp

1.如果ftp为匿名用户共享目录的话,应修改安全上下文。

chcon -R -t public_content_t /var/ftp

chcon -R -t public_content_rw_t /var/ftp/incoming

2.策略的设置

setsebool -P allow_ftpd_anon_write =1

getsebool allow_ftpd_anon_write

allow_ftpd_anon_write–> on

1.3.4 SElinux与http

apache的主目录如果修改为其它位置,selinux就会限制客户的访问。

1.修改安全上下文:

chcon -R -t httpd_sys_content_t /home/html

由于网页都需要进行匿名访问,所以要允许匿名访问。

2.修改策略:

setsebool -P allow_ftpd_anon_write = 1

setsebool -P allow_httpd_anon_write = 1

setsebool -P allow_<协议名>_anon_write =1

关闭selinux对httpd的保护

httpd_disable_trans=0

1.3.5 SElinux与公共目录共享

如果ftp,samba,web都访问共享目录的话,该文件的安全上下文应为:

public_content_t

public_content_rw_t

其它各服务的策略的bool值,应根据具体情况做相应的修改。

1.3.6 SElinux配置总结

以上内容的selinux的配置实验还需要进行相关验证,以便在实际环境中能够直接应用,相关的内容还需要继续补充。

对于多于牛毛的策略,可以用过滤还查看一个服务相当开启哪些策略。

------------------------------------------------------------------------------

SELinux主要配制文件

SELinux主要配制文件位于/etc/selinux/下。在网络中的服务器,建议开启SELinx,以提高系统的安全性。我这里通过命令方式来改变SELinx的安全策略,就不在对SELinux的配制文件做具体说明。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

Android高级架构师

由于篇幅问题,我呢也将自己当前所在技术领域的各项知识点、工具、框架等汇总成一份技术路线图,还有一些架构进阶视频、全套学习PDF文件、面试文档、源码笔记。

  • 330页PDF Android学习核心笔记(内含上面8大板块)

  • Android学习的系统对应视频

  • Android进阶的系统对应学习资料

  • Android BAT部分大厂面试题(有解析)

好了,以上便是今天的分享,希望为各位朋友后续的学习提供方便。觉得内容不错,也欢迎多多分享给身边的朋友哈。

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!

4lCoPEF.jpg" />

Android高级架构师

由于篇幅问题,我呢也将自己当前所在技术领域的各项知识点、工具、框架等汇总成一份技术路线图,还有一些架构进阶视频、全套学习PDF文件、面试文档、源码笔记。

  • 330页PDF Android学习核心笔记(内含上面8大板块)

[外链图片转存中…(img-gRnOpPaB-1711903442347)]

[外链图片转存中…(img-rSLWxGDD-1711903442347)]

  • Android学习的系统对应视频

  • Android进阶的系统对应学习资料

[外链图片转存中…(img-WqPZb3ra-1711903442347)]

  • Android BAT部分大厂面试题(有解析)

[外链图片转存中…(img-0b150HNa-1711903442347)]

好了,以上便是今天的分享,希望为各位朋友后续的学习提供方便。觉得内容不错,也欢迎多多分享给身边的朋友哈。

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!
  • 33
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值