linux 远程服务访问控制
Firewall: 防火墙
防火墙工作位置 :网络边缘出口处,主机边缘 数据包进出口
工作于网络边缘的一套组建 按照管理员定义的规则 对于进出本网段的报文进行检查 规则匹配
的一套组建
防火墙策略:
rules, policy
规则-->策略
常见防火墙:
3、4层防火墙 7层 应用层网关
3层 检查源地址 目标地址
7层 仅仅检查数据的可靠性 检查7层数据的完整性
市场上的防火墙 是综合两种防火墙的特点 组建的
-----------------------------------------------------------------------------------------------------------
ipfw/iptables : linux 防火墙软件
工作在UNIX 中的 Ipfirewall 工作有效 规则必须放置在kernel(rules)中
ipchains 可以定义多条 rules
ipfw/ipchains/iptables 都是工作在用户空间中 用于管理员写规则 本身并不是防火墙
iptables/netfilter:
iptables 是REDHAT 模拟的一个服务 用来挂载或卸载规则 工作在用户空间
netfilter网络过滤器 关卡 可以实现防火 也有可能大门敞开 工作在内核空间 工作在内核空间 是一个框架
5种路由决策 在路由决策之前进行转换
每个关卡放置多个规则 这些规则叫做规则连
不同的功能在不同的位置实现 不同的位置实现不同的规则链
五个hook functions: 钩子函数
chains 规则链:
PREROUTING
INPUT 数据包流入接口
FORWARD 转发关卡
OUTPUT 数据包流出接口
POSTROUTING
三个表
filter: 允许/不允许
nat: 地址转换
mangle: 修改报文源数据 修改数据中的TTL值 或 做防火墙标记
防火墙两种策略:
“通” 默认门是关着的 明确定义才能进 开几个小洞就是通了
“堵” 默认门是大敞开着 但是没有通行证 任何人都不能进 (默认情况是采用“堵”策略)
-----------------------------------------------------------------------------------------------------------
三个表与五个链对应的关系:
修改立即生效
IPTABLES 定义的规格 放在链上 立即生效
REDHAT 启动服务是把 定义号的规则放上去
关闭服务则是把规则卸载下来
INPUT,FORWARD, OUTPUT
nat
PREFROUTING,OUTPUT,POSTROUTING
mangle
PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING.
自定义链: 自定义链必须和内直链关联起来 和基准链关联
=============================================================================
iptables [-t table] COMMAND chains CRETIRIA(匹配标准) -j ACTION(如何处理)
e.g. iptables -t filter -A INPUT -s 172.16.0./16 -p udp --dport 53 -j DROP
命令:
COMMAND:
链管理命令
-P (policy) 设定默认策略 [门是开或关]
# iptables -P INPUT {DROP|ACCEPT}
设置之前确定远程连接可用
-F (flush) 清空规格链
# iptable -t nat -F PRERUTING
iptable -t nat -F 清空nat表的所有链
-N new 新建链 自定义规则链
# iptables -N inbound_tcp_web
-X 删除用户自定义空链 删之前要清空规则
-E 重命名:oldname newname
-Z zero 清空链中 默认计数器
# iptables -L -n -v
iptables -Z 默认规则不清除
规则管理命令
-A 最后追加
-Inum 插入
-R 修改规则替换
# iptables -R -s
-D num删除第几条规则
查看命令
-L
-n 数字 显示数字格式地址
-v 版本号 详细信息
-x 精确值 不做单位换算
--line-numbers显示行号
-s 指定源地址匹配 必须指地址
IP, NETWORK/NETMASK, 0.0.0.0/0.0.0.0 !可以取反
-d 匹配目标地址
-p 匹配协议 {tcp|udp|icmp}
-i 数据的流入接口 eth0
-o 流出接口//流入流出按指定规则写
扩展匹配
隐含扩展
对特定协议的扩展
-p tcp
--dport 目的端口 端口要连续
--sport 源端口
--tcp-flags 检查的标志位 必须为1的标志位 tcp 标志位
--tcp-flages syn,ack,fin,rst syn 三次握手的第一次请求包
简写 = --syn
-p udp
--dport
--sport
-p icmp
--icmp-types 8
// ping 出去报文 echo-request 8
回应报文echo-reply 0
显式扩展 明确指定
-p tcp -m tcp multiport --dport 21,23,80 启动多端口扩展
ACTION: -j
DORP 丢弃不通知
REJECT 明确拒绝丢弃
ACCEPT
custom_chain
DNAT
SNAT
MASQUSERADE
REDIRECT 端口重定向
MARK
RETURN返回
===============================================================================
状态检测 :state
1.NEW 第一次握手
2.ESTABLISHED 第二、三次握手 为 已建立连接
3.invalid 非法连接
4.related ftp 两端口连联系
状态扩展为显示扩展 检测
防止反弹式木马的入侵
所有规则重启失效:
保存文件位置开机启动:
service iptables save
/etc/sysconfig/iptables //保存位置
iptables-save > /etc/sysconfig/iptales(.2)
iptables-restore < /etc/syscofig/iptables(.2)
Firewall: 防火墙
防火墙工作位置 :网络边缘出口处,主机边缘 数据包进出口
工作于网络边缘的一套组建 按照管理员定义的规则 对于进出本网段的报文进行检查 规则匹配
的一套组建
防火墙策略:
rules, policy
规则-->策略
常见防火墙:
3、4层防火墙 7层 应用层网关
3层 检查源地址 目标地址
7层 仅仅检查数据的可靠性 检查7层数据的完整性
市场上的防火墙 是综合两种防火墙的特点 组建的
-----------------------------------------------------------------------------------------------------------
ipfw/iptables : linux 防火墙软件
工作在UNIX 中的 Ipfirewall 工作有效 规则必须放置在kernel(rules)中
ipchains 可以定义多条 rules
ipfw/ipchains/iptables 都是工作在用户空间中 用于管理员写规则 本身并不是防火墙
iptables/netfilter:
iptables 是REDHAT 模拟的一个服务 用来挂载或卸载规则 工作在用户空间
netfilter网络过滤器 关卡 可以实现防火 也有可能大门敞开 工作在内核空间 工作在内核空间 是一个框架
5种路由决策 在路由决策之前进行转换
每个关卡放置多个规则 这些规则叫做规则连
不同的功能在不同的位置实现 不同的位置实现不同的规则链
五个hook functions: 钩子函数
chains 规则链:
PREROUTING
INPUT 数据包流入接口
FORWARD 转发关卡
OUTPUT 数据包流出接口
POSTROUTING
三个表
filter: 允许/不允许
nat: 地址转换
mangle: 修改报文源数据 修改数据中的TTL值 或 做防火墙标记
防火墙两种策略:
“通” 默认门是关着的 明确定义才能进 开几个小洞就是通了
“堵” 默认门是大敞开着 但是没有通行证 任何人都不能进 (默认情况是采用“堵”策略)
-----------------------------------------------------------------------------------------------------------
三个表与五个链对应的关系:
修改立即生效
IPTABLES 定义的规格 放在链上 立即生效
REDHAT 启动服务是把 定义号的规则放上去
关闭服务则是把规则卸载下来
规则是严格按顺序进行 写规则时范围应从小到大
INPUT,FORWARD, OUTPUT
nat
PREFROUTING,OUTPUT,POSTROUTING
mangle
PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING.
自定义链: 自定义链必须和内直链关联起来 和基准链关联
=============================================================================
怎么写规则:
iptables [-t table] COMMAND chains CRETIRIA(匹配标准) -j ACTION(如何处理)
e.g. iptables -t filter -A INPUT -s 172.16.0./16 -p udp --dport 53 -j DROP
命令:
COMMAND:
链管理命令
-P (policy) 设定默认策略 [门是开或关]
# iptables -P INPUT {DROP|ACCEPT}
设置之前确定远程连接可用
-F (flush) 清空规格链
# iptable -t nat -F PRERUTING
iptable -t nat -F 清空nat表的所有链
-N new 新建链 自定义规则链
# iptables -N inbound_tcp_web
-X 删除用户自定义空链 删之前要清空规则
-E 重命名:oldname newname
-Z zero 清空链中 默认计数器
# iptables -L -n -v
iptables -Z 默认规则不清除
规则管理命令
-A 最后追加
-Inum 插入
-R 修改规则替换
# iptables -R -s
-D num删除第几条规则
查看命令
-L
-n 数字 显示数字格式地址
-v 版本号 详细信息
-x 精确值 不做单位换算
--line-numbers显示行号
匹配标准:-p
-s 指定源地址匹配 必须指地址
IP, NETWORK/NETMASK, 0.0.0.0/0.0.0.0 !可以取反
-d 匹配目标地址
-p 匹配协议 {tcp|udp|icmp}
-i 数据的流入接口 eth0
-o 流出接口//流入流出按指定规则写
扩展匹配
隐含扩展
对特定协议的扩展
-p tcp
--dport 目的端口 端口要连续
--sport 源端口
--tcp-flags 检查的标志位 必须为1的标志位 tcp 标志位
--tcp-flages syn,ack,fin,rst syn 三次握手的第一次请求包
简写 = --syn
-p udp
--dport
--sport
-p icmp
--icmp-types 8
// ping 出去报文 echo-request 8
回应报文echo-reply 0
显式扩展 明确指定
-p tcp -m tcp multiport --dport 21,23,80 启动多端口扩展
ACTION: -j
DORP 丢弃不通知
REJECT 明确拒绝丢弃
ACCEPT
custom_chain
DNAT
SNAT
MASQUSERADE
REDIRECT 端口重定向
MARK
RETURN返回
===============================================================================
状态检测 :state
1.NEW 第一次握手
2.ESTABLISHED 第二、三次握手 为 已建立连接
3.invalid 非法连接
4.related ftp 两端口连联系
状态扩展为显示扩展 检测
防止反弹式木马的入侵
所有规则重启失效:
保存文件位置开机启动:
service iptables save
/etc/sysconfig/iptables //保存位置
iptables-save > /etc/sysconfig/iptales(.2)
iptables-restore < /etc/syscofig/iptables(.2)