为了最大效力的发挥iptables的能力这三个项目是;
1)psad:iptables日志分析程序,和积极回应工具
2)fwsnort:将snort规则转换成等价的iptables规则的脚本
3)fwknop:iptables的单数据包授权spa的一个实现
IDS:网络入侵检测系统
IPS:网络入侵防御系统
纵深防御
纵深防御是军事上借用的一个原则,它通常指在计算机安全领域,它规定我们必须在任意系统的各个层次都考虑到收到攻击的可能
iptable的构建块
iptable公有4个表,fileter,nat,mangle,raw,过滤规则用于fileter表,nan规则用于nat表,用于修改的分组数据用于mangle表,独立与netfilter而独立于子系统的表用于raw
链);最重要的内置链式filter表中INPUT,OUTPUT和FORWARD,
input:当一个数据包有路由计算确定只想本地linux系统,他将进过INPUT链检查
OUTPUT链:保留给由linxu系统生成自身的数据包
FORWARD链:管理经过linux系统路由的数据包
匹配
iptable规则都包含一组或者一个目标,只有满足匹配规则,iptable才采取响应的处理动作
–source 匹配源ip地址或网络
–destination 匹配目标IP地址,或者网络
–protocol 匹配ip指
–in-interface 输入接口
–out-interface 输出接口
–state 匹配一组连接状态
–string 匹配应用层数据字节序列
–comment 在内核中为一个规则关联多达256个字节的注释内容
目标即动作
ACCEPT–允许数据包通过
DROP–丢弃数据包
LOG–将数据包记录到syslog
REJECT–丢弃数据包,同时发送适当的响应报文
RETURN–在调用链中继续处理数据包
编译内核的方式有两种
LKM或者是内核直接编译,如果是内核直接编译,如果系统内核有漏洞,则必须重新编译,打补丁,在此期间服务器应当停止工作,如果是LKM编译的化,可以动态加载系统内核模块,没有及时修复也没有宕机的时间,但是容易被黑客rootkit获取最高权限
iptables的启动
在linux命令中如果想快速启动iptables不需要一行一行的写命令行,可以使用iptables-save 和iptables-restore工具进行恢复
网络层攻击的定义
网络层的定义是:通过发送滥用网络层首部字段的一个或者一系列的数据包,以利用端主机的网络栈实现中的漏洞,消耗网络层资源或隐藏针对跟高层协议的攻击;
网络成的攻击分为三种:
1)首部滥用:包含恶意构造,损坏的非法改装的网络层首部数据包,如带有伪造源地址或包含虚假片偏移值得ip数据包
2)利用网络栈漏洞:在一个数据包中包含经过特别设计的组件已利用网络栈实现中的漏洞
3)宽带饱和:经过特别设计。以消耗目标网络可用宽带的数据包
IP欺骗
ip欺骗是一种最常用的攻击手段,因为ip协议对原地址没有特别的限制,所以我们可以通过工具来制造任意原地址的报文
IP分片
将IP数据包分解成一系列较小的数据包,是ip协议的基本功能,在报文传输中,如果报文的大小超过MTU(最大传输单元),ip协议将会把数据包分解成一系列的小数据包