学无先后,达者为师

网站首页 编程语言 正文

防火墙.iptables-tcp-flags防止nmap端口扫描

作者:会伏地的向日葵 更新时间: 2022-07-22 编程语言

前言

防火墙是基于预定安全规则来监视和控制传入和传出网络流量的网络安全系统。该计算机流入流出的所有网络通信均要经过此防火墙。防火墙对流经它的网络通信进行扫描,这样能够过滤掉一些攻击,以免其在目标计算机上被执行。防火墙还可以关闭不使用的端口。而且它还能禁止特定端口的流出通信,封锁特洛伊木马。最后,它可以禁止来自特殊站点的访问,从而防止来自不明入侵者的所有通信。Linux中真正的防火墙是Netfilter,但由于都是通过应用层程序如iptables或firewalld进行操作,所以我们一般把iptables或firewalld叫做Linux的防火墙,iptables都是针对IPv4的,如果IPv6,则要用ip6tables。

类型

  • 硬件防火墙

       拥有经过特别设计的硬件及芯片,性能高、成本高(当然硬件防火墙也是有软件的,只不过有部分功能由硬件实现,所以硬件防火墙其实是硬件+软件的方式);

  • 软件防火墙

       应用软件处理逻辑运行于通用硬件平台之上的防火墙,性能比硬件防火墙低、成本低。

 思考

  • iptables如何防止nmap扫描?

*处理动作

  • ACCEPT:允许数据包通过;

  • DROP:直接丢弃数据包,不回应任何信息,客户端只有当该链接超时后才会有反应;

  • REJECT:拒绝数据包,会给客户端发送一个数据包被丢弃的响应的信息;

  • SNAT:S指Source,源NAT(源地址转换)。在进入路由层面的route之后,出本地的网络栈之前,改写源地址,目标地址不变,并在本机建立NAT表项,当数据返回时,根据NAT表将目的地址数据改写为数据发送出去时候的源地址,并发送给主机。解决私网用户用同一个公网IP上网的问题;

  • MASQUERADE:是SNAT的一种特殊形式,适用于动态的、临时会变的IP上;

  • DNAT:D指Destination,目的NAT,解决私网服务端,接收公网请求的问题。和SNAT相反,IP包经过route之前,重新修改目标地址,源地址不变,在本机建立NAT表项,当数据返回时,根据NAT表将源地址修改为数据发送过来时的目标地址,并发给远程主机。可以隐藏后端服务器的真实地址;

  • REDIRECT:在本机做端口映射;

  • LOG:/var/log/messages文件中记录日志信息,然后将数据包传递给下一条规则。 除去最后一个LOG,前3条规则匹配数据包后,该数据包不会再往下继续匹配了,所以编写的规则顺序极其关键。

*防止过程

(1)开启一台kali(攻击者)、一台centos(服务端)查看IP:

(2)使用kali中的namp工具对服务端发出SYN等待服务端回应SYN+ACK报文,如果回应则可以看到服务端的端口开放情况,这里可以看到服务端的22端口是open的

(3)接着我们在服务端查询规则INPUT,然后插入一条tcp-flags模块来限制攻击者的访问

(4)然后我们再使用nmap进行扫描,这里可以看到22端口已经扫描不到了,如果要限制所有端口扫描可以再添加ALL,ACK来进行限制

原文链接:https://blog.csdn.net/newlife1441/article/details/125823143

栏目分类
最近更新