Linux服务之selinux

1、什么是selinux,security enhanced linux--安全加强的linux。是由美国国家安全局开发的以及历史。selinux之前是基于自主存取控制方法DAC,只要符合权限即可,通过suid和sgid特殊权限存在有一定的安全隐患,甚至一些错误的配置就会引发巨大的漏洞,被轻易攻击。
selinux是基于强制存取控制方法MAC,应用程序或用户必须同时符合DCA既要对应selinux的MAC才能正常操作,否则遭到拒绝。
DAC和MAC的比较
DAC:自主访问控制,主体是用户,访问目标文件,由文件本身权限决定的
MAC:强制访问控制,主体是程序,访问目标文件,由文件权限和策略决定。
2、selinux的原理
强制访问控制机制
在权限基础上,定义各种所属类型,类型不匹配将拒绝。
3、selinux的特点
(1.设置了一个安全的上下文标签(context值)
(2.同是拥有普通文件权限和selinux的安全策略
4、安全策略:
 targeted 默认,适用于RHEL的
 mls   及其安全的策略,极其强大,无比坑爹
5、模式
配置文件路径
/etc/sysconfig/selinux==/etc/selinux/config
  1、enforcing 强制模式
  2、permissive 警告模式(用来判断当一个服务报错时,是服务本身配置问题还是selinux的阻挡)
  3、disabled  禁用模式

    

getenforce 查看selinux当前状态
setenforce 更改selinux当前状态(0/1)

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

查看目录的context值:
ll -ldZ /abc/

安全上下文三部分组成:用户u、角色r和类型识别符t
chcon -t tmp_t redhat 更改redhat的context值为tmp_t
restorecon -v redhat 恢复redhat的context值
更改路径context值也会发生变化。

永久修改context值
semanage fcontext -a -t tmp_t '/abc(/.*)?'
restorecon -RFv /abc/

标签换乱时,touch /.autorelabel 重打标签或将selinux配置文件中改为disabled重启再改回来。

7、bool开关

getsebool -a 查看所有bool开关
setsebool -P 修改布尔开关
例子:
临时修改(服务器重启后,失效)
setsebool  ftpd_full_access on

永久修改:
setsebool -P ftpd_full_access on


端口标记
添加
semanage port  -a -t [端口类型] -p  【tcp/udp】  【端口号】

添加端口标签
semanage port -a -t http_port_t -p tcp 8910

查询端口标签
semanage port -a | grep 8910

修改端口标签
semanage port -m -t pegasus_http_port_t -p tcp 8910

删除端口标签
semanage port -d -t pegasus_http_port_t -p tcp 8910


 

你可能感兴趣的:(linux,运维,服务器)