第12章+SElinux与防火墙
- 格式:pdf
- 大小:570.48 KB
- 文档页数:31
默认的5种规则链
INPUT:处理入站数据包 OUTPUT:处理出站数据包 FORWARD:处理转发数据包 POSTROUTING链:在进行路由选择后处理数据包 PREROUTING链:在进行路由选择前处理数据包
12.3.3 iptables的规则表、链结构(2/3)
规则表
具有某一类相似用途的防火墙规则,按照不同 处理时机区分到不同的规则链以后,被归置到 不同的“表”中 规则表是规则链的集合
用户(user) SELinux文件 标签标志
类型(type)
角色(role)
12.1.4 SeLinux—命令与配置文件
命令 setenforce 0 setenforce 1
配置文件 /etc/selinux/config ---------------------------------------
12.2.3 防火墙—主要分类
1 网络级
防止网络出现外来非法的入侵 (分组过滤、授权服务器)
2 应用级
从应用程序来进行接入控制 (应用网关、代理服务器)
12.2.3 防火墙—包过滤型
客户程序 应用层 传输层 网络层 链路层
上层程序 应用代理 传输层 网络层 链路层
服务程序 应用层 传输层 网络层 链路层
12.3 Linux防火墙
12.3.1 12.3.2 12.3.3 12.3.4 演进过程 ipchains iptables 操作与示例
12.1.2 SELinux—运行机制
12.1.3 SELinux—用户、角色与类型
举 例
[root@localhost ~]#ll -Z drwxr-xr-x root root root:object_r:user_home_t Desktop -rw-r--r-- root root system_u:object_r:file_t install.log -rw-r--r-- root root system_u:object_r:file_t install.log.syslog drwxr-xr-x root root root:object_r:user_home_t openwebmail
12.1.5 SeLinux—Boolean变量
服务组件 dhcpd httpd (apache) vsftpd 配置文件 (/etc/selinux/config) setsebool [-P] dhcpd_disable_trans 1 setsebool [-P] dhcpc_disable_trans 1 setsebool [-P] httpd_disable_trans 1 setsebool [-P] ftpd_disable_trans 1 setsebool [-P] ftp_home_dir 1 setsebool [-P] smbd_disable_trans 1 功能
第12章 SELinux与防火墙
本章提要
12.1 SELinux
12.1.1 12.1.2 12.1.3 12.1.4 12.1.5 简介 运行机制 用户、角色与类型 命令与配置文件 Boolean变量
12.2 防火墙
12.2.1 简介 12.2.2 在互连网络中的位置 12.2.3 功能和分类
iptables [-t 表名] 管理选项 [链名] [条件匹配] [-j 目标动作或跳转]
几个注意事项
不指定表名时,默认表示filter表 不指定链名时,默认表示该表内所有链 除非设置规则链的缺省策略,否则需要指定匹 配条件
12.3.3 iptables的管理选项
设置规则内容
• INPUT • OUTPUT • FORWARD
可实现的功能:包过滤,伪装,路由,TOS 扩展性不好
ipchains -A input –p TCP –s 10.64.132.188 –j ACCEPT
使用ipchains防火墙,在input链上增加一条规则, 接受所有源地址为10.64.132.188主机的TCP包。
raw 表 …… PREROUTING链 …… OUTPUT链 mangle 表 …… PREROUTING链 …… POSTROUTING链 …… INPUT 链 …… OUTPUT 链 …… FORWARD 链 …… PREROUTING 链 …… POSTROUTING 链 …… OUTPUT 链 nat 表 filter 表 第1条规则 第2条规则 第3条规则 …… INPUT 链 …… FORWARD 链 …… OUTPUT 链
默认的4个规则表
raw表:确定是否对该数据包进行状态跟踪 mangle表:为数据包设置标记 nat表:修改数据包中的源、目标IP地址或端口 filter表:确定是否放行该数据包(过滤)
12.3.3 iptables的规则表、链结构(3/3)
iptables 防火墙默认的规则表、链结构
getsebool -a 用于获取本机的selinux策略值
12.2.1 防火墙—简介
防火墙(Firewall)是由软件、硬件构成的系统, 用来在两个网络之间实施接入控制策略。接入控 制策略是由使用防火墙的单位自行制订的,为的 是可以最适合本单位的需要。 防火墙内的网络称为“可信赖的网络”(trusted network),而将外部的因特网称为“不可信赖的网 络”(untrusted network)。 防火墙可用来解决内联网和外联网的安全问题。
功能 临时性关闭 临时性打开 完全关闭 强制拒绝违反策略行为
-------------------- SELinux=disabled -------------------- SELinux=enforcing
-------------------- SELinux=permissive 警告,不强制拒绝违反策略行为
[root@localhost ~]# iptables -t filter -A INPUT -p tcp -j ACCEPT -A:在链尾追加一条新的规则
-I:在指定位置(或链首)插入一条新的规则 [root@localhost ~]# iptables -I INPUT 2 -p icmp -j ACCEPT -R:修改、替换指定位置或内容的规则 [root@localhost ~]# iptables -P INPUT DROP [root@localhost ~]# iptables -L INPUT --line-numbers -P:设置指定链的默认策略
12.3.3 数据包过滤匹配流程(1/2)
规则表间的优先顺序
依次为:raw、mangle、t、filter
规则链间的匹配顺序
入站数据:PREROUTING、INPUT 出站数据:OUTPUT、POSTROUTING 转发数据:PREROUTING、FORWARD、POSTROUTING
[root@localhost ~]# iptables -I INPUT -p udp -j ACCEPT
列表查看规则 num target prot opt source
1 2 3
Chain INPUT (policy DROP)
ACCEPT -L:列表查看各条规则信息 udp -- anywhere anywhere icmp -- anywhere anywhere ACCEPT --line-numbers:查看规则信息时显示规则的 ACCEPT tcp -- anywhere anywhere 行号 -n:以数字形式显示IP地址、端口等信息 -v:显示数据包个数、字节数等详细信息
外部网络
网络层防火墙
受保护网络
12.2.3 防火墙—代理服务型
12.3.1 Linux防火墙的演进过程
3 内核防火墙的发展
netfilter/iptables
2
2.4.X 内核
ipchains
1
2.2.X 内核
ipfwadm 2.0.X 内核
12.3.2 ipchains—特点
ipchains访问控制规则被称为“链” ipchains共有三条链
12.3.3 netfilter/iptables—特点
全新的netfilter框架 优秀的包过滤子系统 支持IPv4、IPv6、IPX等协议 支持MAC过滤 功能模块化
12.3.3 iptables的规则表、链结构(1/3)
规则链
规则的作用在于对数据包进行过滤或处理,根 据处理时机的不同,各种规则被组织在不同的 “链”中 规则链是防火墙规则/策略的集合
destination
12.3.3 iptables的管理选项
清除规则
[root@localhost ~]# iptables -D INPUT 2 -D:删除指定位置或内容的规则 [root@localhost ~]# iptables -F [root@localhost ~]# iptables -t nat -F
-F:清空规则链内的所有规则
自定义规则链 [root@localhost ~]# iptables -t raw -N TCP_PACKETS
[root@localhost ~]# iptables -t raw -L -N:创建一条新的规则链 Chain PREROUTING (policy ACCEPT) …… …… Chain OUTPUT (policy ACCEPT) 其他 Chain TCP_PACKETS (0 references) target prot opt source
12.2.2 防火墙—在互连网络中的位置
防火墙 不可信赖的网络
分组过滤 应用网关 路由器 R
分组过滤 路由器 R
可信赖的网络
因特网