文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>SELINUX

SELINUX

时间:2011-04-19  来源:sgy618

SELINUX (Security-Enhanced Linux)


SELinux

SELinux并非防火墙,他是一个访问权限控制的模块。其实 SELinux是在运行程序、档案等权限依据的一个核心模块!由于网络服务的也是程序,因此刚好也能够控制网络服务能否存取系统资源的一道关卡!

传统档案权限和账号关系:自主式访问控制DAC

以政策规则制定特定程序读取特定档案:委任式访问控制MAC

在委任式访问控制的规定下,我们的程序能够活动的控件就变小了!举例:WWW服务软件的达成程序为httpd这支程序,而默认情况下,httpd仅能在/var/www/这个目录下存取档案,如果httpd想要到其他目录存取数据,除规则设定要开放外,目标目录也得设定成httpd可读取的模式才行,所以即使httpd被黑客取得了控制权,也无权浏览/etc/shadow等重要的配置文件的。

SELiunx包括:主体(subject),目标(object),政策(policy)

主体基本就是process程序,目标相当于文件系统,

启用SELinux

如果发现状态为

Disabled则需要改脚本,/etc/sysconfig/selinux,然后将SELINUX字段改为Permissive

# vi /etc/sysconfig/selinux

SELINUX=enforcing

重新启动操作系统,因为selinux需要整合到核心里面去

# shutdown –r now

检查策略执行情况

# getenforce

Enforcing

或:

# sestatus

SELinux status: enabled

SELinuxfs mount: /selinux

Current mode: enforcing

Mode from config file: enforcing

Policy version: 21

Policy from config file: targeted

在enforcing和permissive模式间切换

# setenforce 0

# getenforce

Permissive

ls –Z(如果启动selinux才行,看程序用ps –Z形式)

三个字段:身份识别:角色:类型

身份识别:root表示root账号身份,system_u表示系统程序,user_u表示使用者账号相关身份

角色:object_r代表档案或目录等资源,system_r代表程序,一般使用者也会指定为

system_r

类型:(最重要!)

启动selinux的话,将SELINUX=enforcing设定好,并指定SELINUXTYPE=targeted,并到/boot/grub/menu.lst这个文件中,看看核心有无关闭selinux,若selinux=0,说明核心会忽略selinux的配置文件,直接略过selinux的加载,所以selinux的模式变成disabled了,为了启动,保证该语句不存在。

利用chcon命令重设selinux安全性

chcon –R:表示递归设置 –t:接类型字段httpd_sys_content_t –u:接身份system_u –r:接角色system_r –reference=接一个范例文件

chcon 是通过直接指定的方式

restorecon –R:递归 –v:过程显示到屏幕,使用预设的安全性本文来还原

setroubleshoot 为了调试selinux的错误,使其产生日志/var/log/messages,

是否自动启动该程序,用chkconfig

[root@localhost ~]# getsebool -a | grep ftp 查看布尔值

allow_ftpd_anon_write --> off

allow_ftpd_full_access --> off

allow_ftpd_use_cifs --> off

allow_ftpd_use_nfs --> off

allow_tftp_anon_write --> off

ftp_home_dir --> off

ftpd_connect_db --> off

ftpd_disable_trans --> off

ftpd_is_daemon --> on

httpd_enable_ftp_server --> off

tftpd_disable_trans --> off

[root@localhost ~]# setsebool ftp_home_dir=on 设置标签布尔值,临时生效

[root@localhost ~]# getsebool -a | grep ftp

allow_ftpd_anon_write --> off

allow_ftpd_full_access --> off

allow_ftpd_use_cifs --> off

allow_ftpd_use_nfs --> off

allow_tftp_anon_write --> off

ftp_home_dir --> on

ftpd_connect_db --> off

ftpd_disable_trans --> off

ftpd_is_daemon --> on

httpd_enable_ftp_server --> off

tftpd_disable_trans --> off

[root@localhost ~]#

[root@localhost ~]# setsebool -P ftp_home_dir=on 永久生效

[root@localhost ~]#

ftpd_disable_trans 建议关闭,如果打开,等同于将只是针对这个服务(ftpd)selinux关闭掉了

httpd_disable_trans 每一个服务都有类似的标签

[root@localhost ~]# ls -dZ /home/ /home/sungy/

drwxr-xr-x root root system_u:object_r:httpd_sys_content_t /home/

drwx------ sungy sungy user_u:object_r:httpd_sys_content_t /home/sungy/

httpd_sys_content_t 标签,只有httpd这个服务访问

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载