RHCE——selinux和防火墙
selinux简介:
SELinux
是
Security-Enhanced Linux
的缩写,意思是安全强化的linux。SELinux
主要由美国国家安全局(
NSA)开发,
SELinux
是对程序、文件等权限设置依据的一个内核模块。由于启动网络服务的也是程序,因此刚好也
是能够控制网络服务能否访问系统资源的一道关卡。
主要功能:
1.强制访问控制:不同于传统的自愿访问控制,SELinux通过政策强制实施安全规则,限制程序和用户的行为。
2.安全策略:SELinux使用复杂的策略定义哪些操作是被允许的,支持细致到每个进程和文件的访问控制。
3.标签和类型强制:每个进程和对象(如文件)都有一个安全标签,SELinux根据这些标签来决定访问权限。
4.审计与监控:SELinux能够记录所有的访问尝试,帮助系统管理员检测和分析潜在的安全问题
selinux的工作原理:
SELinux
是通过
MAC
的方式来控制管理进程,它控制的主体是进程,而目标则是该进程能否读取的文件资源。
主体(
subject
):就是进程
目标(
object
):被主体访问的资源,可以是文件、目录、端口等。
策略(
policy
):由于进程与文件数量庞大,因此
SELinux会依据某些服务来制定基本的访问安全策略。
这些策略内还会有详细的规则(
rule
)来指定不同的服务开放某些资源的访问与否。目前主要的策略
有:
1.
targeted
:针对网络服务限制较多,针对本机限制较少,是默认的策略;
2.strict:完整的
SELinux
限制,限制方面较为严格。
3.安全上下文(security context):主体能不能访问目标除了策略指定外,主体与目标的安全上下文必须 一致才能够顺利访问。
安全上下文用冒号分为四个字段:
1.身份标识
2.角色
3.类型
SELinux三种模式:
1.enforcing
:强制模式,代表
SELinux
正在运行中,开始限制
domain/type
。
2.permissive
:宽容模式,代表
SELinux
正在运行中,不过仅会有警告信息并不会实际限制
domain/type
的访问。
3.disabled
:关闭,
SELinux
并没有实际运行。
SELinux的用法:
#查看selinux的状态
sestatus
#切换的许可模式
setenforce 0
#切换到强制模式
setenforce 1
#查看当前selinux的策略
getenforce
#查看安全上下文
ls -Z /path/to/file
#更改安全上下文
chcon -t httpd_sys_content_t /var/www/html/example.html
#查看审计日志:该命令将显示所有被拒绝的访问尝试的记录
cat /var/log/audit/audit.log | grep denied
#生成SELinux策略建议: 使用audit2allow工具可以将审计日志中的拒绝信息转换为策略建议
cat /var/log/audit/audit.log | audit2allow -M mypol
semodule -i mypol.pp
第一个命令将生成策略模块,第二个命令将其安装。
防火墙:
防火墙是位于内部网和外部网之间的屏障,它按照系统管理员预先定义好的规则来控制数据包
的进出。 防火墙又可以分为硬件防火墙与软件防火墙。硬件防火墙是由厂商设计好的主机硬件,
软件防火墙就是保护 系统网络安全的一套软件(或称为机制)。
主要功能:
1.流量过滤:防火墙根据预设的规则过滤网络流量,允许合法流量通过,同时阻止潜在的恶意流量。
2.访问控制:防火墙可以限制某些用户或设备对网络资源的访问,确保只有授权用户可以访问敏感数据或服务。
3.网络地址转换(NAT):一些防火墙可以隐藏内部网络的IP地址,防止外部用户直接访问内部设备。
4.日志记录与监控:防火墙记录所有通过的流量,并提供日志以供分析,帮助管理员检测潜在的安全事件。
防火墙类型:
1.包过滤防火墙:根据数据包的源地址、目标地址和端口号等信息进行简单的过滤。
2.状态检测防火墙:跟踪连接的状态,能够理解数据包之间的上下文关系,提供更强的安全性。
3.代理防火墙:通过代理服务器进行流量转发,能够深入检查数据包内容,增加安全性。
4.下一代防火墙(NGFW):集成了多种功能,包括应用层过滤、入侵防御系统(IPS)和深度包检查(DPI)。
防火墙实验:允许任何人通过80端口:
拒绝ssh远程登入: