首页 > 技术文章 > 信息安全 学习笔记(2)——防火墙(Netfilter/ IPtables)

qyf2199 2020-07-10 19:32 原文

前面一些是网络安全,这后面是系统安全

  • iptables
  • netfilter

防火墙3类:

  • 包过滤(packet filter)防火墙【无状态、静态~】
  • 应用层网关代理(Application level Gateway)
  • 状态防火墙(stateful firewall)

防火墙把内网和外网隔开(内外连接通过TCP)

防火墙设置的基础是网络知识,

 

iptables:

1.包过滤(packet filter)防火墙【无状态、静态~】

(1)

(2)

 

 

静态防火墙太死板了,要不然太松了,要不然太紧了实现不了功能 

 

 

 

2.应用层网关代理 (Application level Gateway)

外部主机看不到内部的情况,所有的通信都要经过【应用级代理】,客户和服务器没有真正的连接。

iptables实现代理防火墙

 

 

3.状态防火墙(stateful firewall)动态包过滤防火墙

状态检测防火墙也称为动态包过滤防火墙。如何理解状态呢?从会话来看,通信过程中的会话数据包不是一个个完全独立的数据包,而是有前后连接状态的。譬如建立可靠的TCP三次握手连接,是按照SYN、SYN+ACK以及ACK的顺序来的,如果没有发送SYN报文,就收到对方的ACK报文,这个ACK报文就是一个应该丢弃的数据包。

可以理解动态,在同一个会话中,五元组不会变化,但是各种状态标识、分片等都是可以变化的。通过结合状态进行过滤,可以实现比较好的效果。

不同实时的状态,对应动态变化的匹配规则

 

 

iptables/netfilter是Linux内置的防火墙

 

 

 

 

 

 

 

  

 

 

 

 

 

 

 

 

 

 

 

正向代理、反向代理:

 

  

 sudo iptables -L -t nat 

 

 

 

sudo iptables -t nat -A PREROUTING   -p tcp -s 192.168.0.100 --dport 80 -j DNAT --to-destination 192.168.0.105:80

sudo iptables -t nat -A POSTROUTING -p tcp -s 192.168.0.100                 -j SNAT --to-source        192.168.0.104

sudo iptables -t nat -A POSTROUTING -p tcp -s 192.168.0.105 --sport 80 -j SNAT --to-source       192.168.0.104:80

sudo iptables -t nat -A PREROUTING   -p tcp -s 192.168.0.105 --sport 80 -j DNAT --to-destination 192.168.0.100

 (上面的大概是这样,和老师的还有一点不一样)

 

 

 

LKM的 Makefile

将编译规则放在一个文件中,

可以理解为:用于编译的脚本

一个工程中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile就像一个Shell脚本一样,也可以执行操作系统的命令。

 

 

【实验二基于netfilter】:针对一个网站,偷一下用户名密码

根据(黑客网)网上已经有的代码,选取并根据需求微调自己需要的部分

新找一个用HTTP协议登录的网站:

 

 

Netfilter:  

 偷账号密码原理:TCP调用IP前,被钩子勾了,到了netfilter

 

 

 

推荐阅读