SELinux 相关应用

1.SElinux 是对于强制访问控制的实现,是 Linux上最杰出的新安全子系统,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。SELinux 默认安装在 Fedora 和 Red Hat Enterprise Linux 上,也可以作为其他发行版上容易安装的包得到

 

2.SELinux是一种基于 域-类型 模型(domain-type)的强制访问控制(MAC)安全系统

 

3.Selinux的三种模式及启用关闭:

Enforcing强制模式:默认模式,按照Selinux的策略来进行验证和管理系统安全。如果发现和Selinux的规定不相符合则强制阻止程序的运行或者访问,同时给出提示。

Permissive允许模式:系统记录所有违反策略的行为并给与一定的提示,同时不中阻止程序的运行。

Disabled禁用模式:关闭Selinux

以上模式由 /etc/sysconfig/selinux 文件中 SELINUX="" 选项指定,重启生效。

命令:

getenforce:查询当前的Selinux模式

setenforce 0 |1 0:允许模式 1:强制模式(不必重启生效,若想永久使用该模式,需要改 /etc/sysconfig/selinux 配置文件)

 

4.SElinux 管理工具

安装适合你系统的相应SElinux管理工具(如果你的系统没装,但又不知怎么安装可以Google一下。呵呵)

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

# SElinux信息与开启

 

ls -Z   ps -Z   id -Z        # 分别可以看到文件,进程和用户的SELinux属性

sestatus seinfo selinuxenabled getenforce        # 查看SElinux信息

setenforce [ Enforcing|Permissive 1|0 ]          #上面用过了

/etc/selinux/config                # 需要重启系统来启动SELinux新的工作模式

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

#chcon 改变SELinux安全上下文

 

chcon -u [user]  对象

      -r [role]

      -t [type]

      -R 递归

      --reference 源文件 目标文件           # 复制安全上下文

 

示例:

chcon -R -t samba_share_t /tmp/abc

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

# restorecon    # 恢复默认安全上下文

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

# SElinux查看与设置策略

 

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

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

setsebool -P allow_ftpd_anon_write=1        # 设置策略 -P 是永久性设置,否则重启之后又恢复预设值。

示例:

[root@redhat files]# setsebool -P allow_ftpd_anon_write=1

[root@redhat files]# getsebool allow_ftpd_anon_write

allow_ftpd_anon_write --> on

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

注意:如果仅仅是安全上下文中设置了vsftpd进程对某一个目录的访问,配置文件中也允许可写,

但是selinux中策略中不允许可写,仍然不可写。所以基于selinux保护的服务中,安全高很多。

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

 

5.SElinux对服务的应用

selinux的设置分为两个部分,修改安全上下文以及策略,下面收集了一些应用的安全上下文,
供配置时使用,对于策略的设置,应根据服务应用的特点来修改相应的策略值。
5.1 SElinux与samba
5.1.1 samba共享的文件必须用正确的selinux安全上下文标记。
chcon -R -t samba_share_t /tmp/abc
如果共享/home/abc,需要设置整个主目录的安全上下文。
chcon -R -r samba_share_t /home
5.1.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 /*允许匿名访问并且可写*/

5.2 SElinux与nfs
selinux对nfs的限制好像不是很严格,默认状态下,不对nfs的安全上下文进行标记,而且在默认状态的策略下,nfs的目标策略允许nfs_export_all_ro
nfs_export_all_ro
nfs_export_all_rw值为0
所以说默认是允许访问的。
但是如果共享的是/home/abc的话,需要打开相关策略对home的访问。
setsebool -P use_nfs_home_dirs boolean 1
getsebool use_nfs_home_dirs

5.3 SElinux与ftp
5.3.1 如果ftp为匿名用户共享目录的话,应修改安全上下文。
chcon -R -t public_content_t /var/ftp
chcon -R -t public_content_rw_t /var/ftp/incoming
5.3.2策略的设置
setsebool -P allow_ftpd_anon_write =1
getsebool allow_ftpd_anon_write
allow_ftpd_anon_write--> on

5.4 SElinux与http
apache的主目录如果修改为其它位置,selinux就会限制客户的访问。
5.4.1 修改安全上下文:
chcon -R -t httpd_sys_content_t /home/html
由于网页都需要进行匿名访问,所以要允许匿名访问。

5.4.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

5.5 SElinux与公共目录共享
如果ftp,samba,web都访问共享目录的话,该文件的安全上下文应为:
public_content_t
public_content_rw_t
其它各服务的策略的bool值,应根据具体情况做相应的修改。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值