Linux网络安全模型及iptables详解
基本概念
Firewall:工作在主机或网络边缘,对进出的报文按事先定义的规则进行检查,
并且由匹配到的规则进行处理的一组硬件或软件,甚至可能是两者的组合
硬件防火墙:在硬件级别实现部分功能的防火墙:另一个部分功能基于软件实现
软件防火墙:应用软件处理逻辑运行于通用硬件平台之上的防火墙;
主机防火墙:工作于主机边缘,只能对一台主机起到保护作用
网络防火墙:工作于网络边缘,对多台主机起到保护作用(定向规则)
iptables:防火墙规则编写工具,位于用户空间
netfilter:网络过滤器,是一个框架(让规则生效),位于内核空间
报文流向
到本机内部某进程的报文:prerouting --> input
由本机转发的报文:prerouting --> forward --> postrouting
由本机的某进程发出的报文:output --> postrouting
4表filter:过滤,防火墙
nat:网络地址转换
mangle:拆解报文,作出修改,并重新封装
raw:关闭nat表上启用的连接追踪机制
表和链的对应关系FORWARD --> filter、mangle
INPUT --> filter、mangle
OUT --> filter、mangle、nat
PREROUTING --> mangle、nat
POSTROUTING --> mangle、nat
4表5链(图片来源网络)
规则:
通:白名单,默认为堵,只对能识别的进行放行
堵:黑名单,默认为通,只对能识别的进行阻截
检查条件IP:SIP,DIP
TCP:SPORT,DPORT,FLags(syn,ack,fin...)
UDP:SPORT,DPORT
ICMP:ICMP-TYPE(报文类型)
处理机制:DROP(丢弃),
REJECT(拒绝,并返回)
ACCEPT(允许)
SNAT(源地址转换)
DNAT(目标地址转换)
RETURN(返回)
REDIRECT(端口转发)
LOG(只记录日志)