1.SElinux
SELinux是个经过安全强化的Linux操作系统,实际上,基本上原来的运用软件没有必要修改就能在它上面运行。真正做了特别修改的RPM包只要50 多个。像文件系统EXT3都是经过了扩展。
文件操作
1)ls命令
在命令后加个-Z 或者加 –context
[root@localhost azureus]# ls -Z
-rwxr-xr-x fu fu user_u:object_r:user_home_t azureus
-rw-r–r– fu fu user_u:object_r:user_home_t Azureus2.jar
-rw-r–r– fu fu user_u:object_r:user_home_t Azureus.png
2)chcon
更改文件的标签
[root@localhost tmp]# ls –context test.txt
-rw-r–r– root root root:object_r:staff_tmp_t test.txt
[root@python tmp]# chcon -t etc_t test.txt
[root@python tmp]# ls -lZ test.txt
-rw-r–r– root root root:object_r:etc_t test.txt
在进行这个实验的时候。要删除之前配置的文件,重新安装ftp服务
1.selinux 安全上下文访问规则
• WEB 服务器的 HTTPD 进程设置了 SELINUX 上下文
system_u:system_r:httpd_t 标签。该上下文的重要部分
是第三个用冒号分隔的字段 SELINUX 类型 : httpd_t
• 系统上的文件和资源也设置了 SELINUX 上下文标签 , 并
且重要的部分是 SELINUX 类型。例如 , /var/www/html 中
的文件具有类型 httpd_sys_content_t 。 /tmp 和
/var/tmp 中的文件通常具有类型 tmp_t
• Seliux 策略具有允许以 httpd_t 身份运行的进程访问标记
为 httpd_sys_content_t 的文件的规则。没有规则允许这
些进程访问标记有 tmp_t 的文件 , 因此将拒绝这些访问 , 即
使常规文件权限指出应该允许这些访问
2.显示及更改 SELINUX 模式
• getenforce
• setenforce 0|1
– 0 表示 permissive # 警告
– 1 表示 enforcing # 强制
3.更改 selinux 的开机状态
• vim /etc/sysconfig/selinux ##配置文件
4.修改 selinux 安全上下文
• chcon -t
– 一次性定制安全上下文,执行 restorecon -RvvF file 刷新后还原
• semanage fcontext
– 永久更改文件的上下文
5.semanage 命令
• restorecon 是 policycoreutil 软件包的一部分
• semanage 是 policycoreutil-Python 软件包的一部分
• semanage fcontext 可用与显示或修改 restorrecon 用来
设置默认文件上下文的规则
• semanage fcontext 使用扩展正则表达式来指定路径和文
件名。fcontext 规则中最常用的扩展正则表达式是
(/.*)?, 表示随意地匹配 / 后跟任何数量的字符
• semanage fcontext 将递归地与在表达式前面列出的目录
以及该目录中的所有内容相匹配
测试结果:
6.管理 SELinux 布尔值
• SELinux 布尔值是更改 SELinux 策略行为的开关。
SELinux 布尔值是可以启用或禁用的规则。安全管理员可
以使用 SELinux 布尔值来调整策略 , 以有选择地进行调整
• 许多软件包都具有 man page *_selinux(8), 其中详细说明
了所使用的一些布尔值 ; man -k ‘_selinux’ 可以轻松地找
到这些手册
• getsebool 用于显示布尔值 , setsebool 用于修改布尔值
• setsebool -P 修改 SELinux 策略 , 以永久保留修改。
7.监控 SELinux 冲突
必须安装 setroubleshoot-server 软件包 , 才能将
SELinux 消息发送至 /var/log/message
提示:安装setroubleshoot-server 软件包 ,如果出现错误,可以去查看/var/log/message,里面有错误提示和解决方案。
• etroubleshoot-server 侦听
/var/log/audit/audit.log 中的审核信息并将简短摘
要发送至 /var/log/messages
• 摘要包括 SELinux 冲突的唯一标识符 ( UUIDs ),
可用于收集更多信息。 Sealert -l UUID 用于生成
特定事件的报告。 Sealert -a
/var/log/audit/audit.log 用于在该文件中生成所有
事件的报告