SELinux 是 2.6 版本的 Linux 内核中提供的强制访问控制(MAC)系统。对于目前可用的 Linux安全模块来说,SELinux 是功能最全面,而且测试最充分的,它是在 20 年的 MAC 研究基础上建立的。SELinux 在类型强制服务器中合并了多级安全性或一种可选的多类策略,并采用了基于角色的访问控制概念。
SELinux 全称 Security Enhanced Linux (安全强化 Linux),是 MAC (Mandatory Access Control,强制访问控制系统)的一个实现,目的在于明确的指明某个进程可以访问哪些资源(文件、网络端口等)。
强制访问控制系统的用途在于增强系统抵御 0-Day 攻击(利用尚未公开的漏洞实现的攻击行为)的能力。所以它不是网络防火墙或 ACL 的替代品,在用途上也不重复。
举例来说,系统上的 Apache 被发现存在一个漏洞,使得某远程用户可以访问系统上的敏感文件(比如
/etc/passwd来获得系统已存在用户),而修复该安全漏洞的 Apache 更新补丁尚未释出。此时 SELinux 可以起到弥补该漏洞的缓和方案。因为 /etc/passwd 不具有 Apache 的访问标签,所以 Apache 对于 /etc/passwd的访问会被 SELinux 阻止。
查看selinux状态
1、/usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态
SELinux status: enabled
2、getenforce ##也可以用这个命令检查
[root@localhost selinux]# getenforce
Disabled
配置selinux方法
1.修改文件:/etc/selinux/config 永久修改
# This file controls the state of SELinux on the system. 这个文件控制系统的 SElinux 状态
# SELINUX= can take one of these three values: 有以下三个值
# enforcing - SELinux security policy is enforced.
强制模式:违反策略的行动都会被禁止,并作为内核信息记录
# permissive - SELinux prints warnings instead of enforcing.
允许模式:违反策略的行动不会被禁止,但是会提示警告信息
# disabled - No SELinux policy is loaded.
禁用模式:禁用SELinux,与不带SELinux系统是一样的,通常情况下我们在不怎么了解SELinux时,将模式设置成disabled,这样在访问一些网络应用时就不会出问题了
SELINUX=disabled
# SELINUXTYPE= can take one of these two values: selinux类型 运行策略的信息 可以从两个中选一
# targeted - Targeted processes are protected,
targeted代表仅针对预制的几种网络服务和访问请求使用 SELinux 保护
# mls - Multi Level Security protection.
mls策略 多种级别安全保护
SELINUXTYPE=targeted
永久修改,修改后需要重启系统
2.临时修改
可以使用 setenforce [0|1] 命令来修改
setenforce 0表示设置成 permissive,1表示enforcing
通过 setenforce 来设置SELinux只是临时修改,当系统重启后就会失效了,所以如果要永久修改,就通过修改SELinux主配置文件
3.通过setup 设置
使用setup命令
进入 Firewall configuration 设置
iptables 是与最新的 3.5 版本 Linux 内核集成的 IP 信息包过滤规则系统。如果 Linux 系统连接到因特网或 LAN、服务器或连接 LAN 和因特网的代理服务器, 则该系统有利于在 Linux 系统上更好地控制 IP 信息包过滤和防火墙配置。
防火墙在做信息包过滤决定时,有一套遵循和组成的规则,这些规则存储在专用的信 息包过滤表中,而这些表集成在 Linux 内核中。在信息包过滤表中,规则被分组放在我们所谓的链(chain)中。而netfilter/iptables IP 信息包过滤系统是一款功能强大的工具,可用于添加、编辑和移除规则。
查看iptables状态
service iptables status
启动关闭iptables
1.即时生效,重启后失效
1.1启动iptables
service iptables start
1.2.关闭iptables
service iptables start
2.重启后生效
开启: chkconfig iptables on关闭: chkconfig iptables off