SELinux安全机制
安全分为网络安全(防火墙、SELinux)和物理安全(如IDC机房)
系统安全保护
SELinux概述(Security-Enhanced Linux)
Ø 美国NSA国家安全局主导开发的一套增强Linux系统安全的强制访问控制体系
Ø 集成到内核(2.6及以上)中运行
Ø RHEL7基于SELinux针对用户、进程,目录和文档标记提供预设的保护策略及管理工具
SELinux运行模式:
disabled:彻底禁用,内核在启动时不加载SELinux安全体系 //很少使用此模式
enforcing:强制启用,内核加载SELinux安全体系,并强制执行保护策略
permissive:宽松模式,内核加载SELinux安全体系,只记录不执行
SELinux运行模式切换:1)临时切换:setenfore 1|0 //1为开启强制,0为宽松
2)永久切换: /etc/selinux/config文件,需要重启生效
永久修改SELinux运行模式,当前不生效,需要重启(注意模式不能写错,否则无法重启)
[root@server0 ~]# vim /etc/selinux/config #永久修改状态
[root@server0 ~]# grep '^SELINUX=' /etc/selinux/config
SELINUX=permissive //在vim 命令模式下 按 “大写的C” 删除光标之后并且进入插入模式
注:在disabled模式与enforcing、permissive模式之间切换时,需要重新启动Linux系统;而在enforcing模式与permissive模式之间切换时,并不需要重启,可以直接执行setenforce 1|0操作。
查看当前SELinux模式:getenforce
###############################################################################
示例:启用SELinux保护,在每次重新开机后,此设置必须仍然有效
步骤一:调整当前的SELinux运行模式
1)查看当前模式 [root@server0 ~]# getenforce
Permissive //表示当前为宽松模式
若上述操作显示的结果为Disabled,表示SELinux机制已被禁用,只能通过步骤修改固定配置后再重启;若显示的结果为Enforcing,表示已经处于强制启用模式。
2)切换为enforcing强制启用模式
如果在操作1)中显示的结果为Permissive,则执行以下操作切换为强制启用:
[root@server0 ~]# setenforce 1 //强制启用
[root@server0 ~]# getenforce //确认切换结果
Enforcing
如果在操作1)中显示的结果为Disabled,则无法使用setenforcing命令:
[root@desktop0 ~]# getenforce
Disabled
[root@desktop0 ~]# setenforce 1
setenforce: SELinux is disabled
步骤二:为SELinux运行模式建立固定配置
1)修改配置文件/etc/selinux/config,确保 SELinux 处于强制启用模式
[root@server0 ~]# vim /etc/selinux/config
SELINUX=enforcing
2)重启验证结果
[root@server0 ~]# reboot
[root@server0 ~]# getenforce
Enforcing
###############################################################################
总结与答疑
一、关闭相关服务
1.关闭防火墙
[root@svr5 桌面]# iptables –F //清空规则
[root@svr5 桌面]# /etc/init.d/iptables save //保存规则
iptables:将防火墙规则保存到 /etc/sysconfig/iptables: [确定]
[root@svr5 ~]# /etc/init.d/iptables stop //当前停止
[root@svr5 ~]# chkconfig iptables off //禁止开机自启
2.关闭NetworkManager服务
[root@svr5 ~]# /etc/init.d/NetworkManager stop //当前停止
[root@svr5 ~]# chkconfig NetworkManager off //禁止开机自启
3.当前关闭SELinux服务
[root@svr5 ~]# getenforce //当前查看SELinux状态
Enforcing
[root@svr5 ~]# setenforce 0 //当前关闭SELinux
[root@svr5 ~]# getenforce
Permissive
4.永久关闭SELinux服务
[root@svr5 ~]# grep ^SELINUX=p /etc/sysconfig/selinux
SELINUX=permissive //编辑此字段值
二、开启路由功能
1.修改内核参数
[[root@svr5 桌面]# grep 'ip_forward' /etc/sysctl.conf
net.ipv4.ip_forward = 1 //编辑此字段值
2.刷新内核参数
[root@svr5 桌面]# sysctl -p
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
……
三、网关的配置
网关最终是否生效,需要用route命令查看
网关必须要与本机IP地址为相同网段
网关虽然写在配置文件中,但必须要重启network服务才会生效
四、克隆虚拟机
1.问题原因
虚拟机在克隆时,会将文件进行原样复制
网卡命名规则文件“/etc/udev/rules.d/70-persistent-net.rules”
克隆后虚拟机该文件会记住模版虚拟机的命名规则
2.故障解决
清空udev规则
[root@svr5 桌面]# > /etc/udev/rules.d/70-persistent-net.rules
修改网卡配置文件
[root@svr5 桌面]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=00:0C:29:1C:9C:3B //将MAC地址行删除
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.4.205 //修改IP地址避免重复
NETMASK=255.255.255.0
在克隆后虚拟机操作,最终重启验证
###############################################################################