首页 > 系统相关 >iptables——黑白名单机制

iptables——黑白名单机制

时间:2023-07-25 21:13:23浏览次数:38  
标签:iptables 报文 黑白 ACCEPT 名单 默认 规则 INPUT

黑名单机制

当链的默认策略设置为ACCEPT时,按照道理来说,在链中配置规则时,对应的动作应该设置为DROP或者REJECT。
因为,默认策略已经为ACCEPT了,如果在设置规则时,对应动作仍然为ACCEPT,那么所有报文都会被放行,因为不管报文是否被规则匹配到都会被ACCEPT,所以就失去了访问控制的意义。
所以,当链的默认策略为ACCEPT时,链中的规则对应的动作应该为DROP或者REJECT,表示只有匹配到规则的报文才会被拒绝,没有被规则匹配到的报文都会被默认接受,这就是“黑名单”机制。

白名单机制

当链的默认策略为DROP时,链中的规则对应的动作应该为ACCEPT,表示只有匹配到规则的报文才会被放行,没有被规则匹配到的报文都会被默认拒绝,这就是“白名单”机制。

# 白名单设置流程
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -P INPUT DROP

在当前ssh远程工具中执行“iptables -F”命令后,由于INPUT链中已经不存在任何规则,所以,所有报文都被拒绝了,包括当前的ssh远程连接。这就是默认策略设置为DROP的缺点,在对应的链中没有设置任何规则时,这样使用默认策略为DROP是非常不明智的,因为管理员也会把自己拒之门外,即使对应的链中存在放行规则,当我们不小心使用“iptables -F”清空规则时,放行规则被删除,则所有数据包都无法进入,这个时候就相当于给管理员挖了个坑。所以,如果想要使用“白名单”的机制,最好将链的默认策略保持为“ACCEPT”,然后将“拒绝所有请求”这条规则放在链的尾部,将“放行规则”放在前面,这样做,既能实现”白名单”机制,又能保证在规则被清空时,管理员还有机会连接到主机。

# 示例如下
iptables -P INPUT ACCEPT
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -j REJECT

即将INPUT链的默认策略设置为了ACCEPT,同时又使用了白名单机制,因为如果报文符合放行条件,则会被前面的放行规则匹配到,如果报文不符合放行条件,则会被最后一条拒绝规则匹配到。即使误操作,执行了“iptables -F”操作,也能保证管理员能够远程到主机上进行维护,因为默认策略仍然是ACCEPT。

标签:iptables,报文,黑白,ACCEPT,名单,默认,规则,INPUT
From: https://www.cnblogs.com/even160941/p/17581029.html

相关文章

  • iptables——自定义链创建及引用
    当默认链中的规则非常多时,不方便我们管理,此时可以考虑用自定义链。比如将所有针对80端口的web入站规则都写入到IN_WEB自定义链中,将所有针对sshd的出站规则都写入到OUT_SSH自定义链中。创建自定义链#在filter表中创建IN_WEB自定义链iptables-tfilter-NIN_WEB引用自定......
  • iptables——相关概念
    本系列文章参考朱双印博客,原文链接:https://www.zsythink.net/archives/1199写在前面设置iptables防火墙,需要明确的2点:1.本机开通了哪些服务端口2.有哪些机器需要访问本机一般为了安全性考虑,先只开通需要本机对需要访问本机的22端口和本机的服务端口。#阻止所有流量iptable......
  • 通过iptables转发后的端口telnet通但是curl不通的问题
    今天遇到一个问题,一个隔离安全域的服务器需要访问承载网上的gitlab,但是无法直接做互通,所以需要通过iptables转发一次。完成iptables规则后,发现telnet端口是通的但是curlhttp:地址加端口就会返回不通。于是不停的改iptables规则,甚至放行forword规则,最后检查发现是存在外网的代理(代......
  • Ubuntu中iptables的相关操作命令
    iptables简介:Iptables和UFW (UncomplicatedFirewall)都是Linux操作系统中常用的防火墙管理工具,它们的主要区别如下:相同点:两者都是Linux操作系统中的防火墙管理工具,可以配置网络规则以限制网络流量。工作原理:iptables和UFW都基于netfilter框架来实现防火墙功能。......
  • 网站通过nginx设置黑/白名单IP限制、国家城市IP访问限制
    网站通过nginx设置黑/白名单IP限制、国家城市IP访问限制 一、黑/白名单IP限制访问配置nginx配置黑白名单有好几种方式,这里只介绍常用的两种方法。1、第一种方法:allow、denydeny和allow指令属于ngx_http_access_module,nginx默认加载此模块,所以可直接使用。这种方式,最简单,最直......
  • iptables简要介绍及使用iptables实践NAT技术
    简介iptables的文章多如牛毛,但是,我读了一些,发现虽然成体系,但是不便理解,今天就结合自己的理解,好好讲解下,另外,我们也会使用iptables来实验一个nat地址转换的demo,nat转换,通俗地讲,一般是为了解决ipv4公网地址不够用的问题,因此在学校、公司等机构的有公网ip的服务器上,部署nat软件进行......
  • iptables防火墙调试,想打印个日志就这么难
    背景怎么会讲这个话题,这个说来真的长了。但是,长话短说,也是可以的。我前面的文章提到,线上的服务用了c3p0数据库连接池,会偶发连接泄露问题,而分析到最后,又怀疑是db侧主动关闭连接,或者是服务所在机器和db之间有防火墙,防火墙主动关闭了连接。导致我们这边socket看着还健康,实际在对端......
  • 第六节:Nginx常用案例(反盗链、限速、黑名单、跨域等等)
     三.常用场景1. 防盗链直接输入地址,没有referer字段,所以匹配了后面的none或blocked,不跳转。通过搜索引擎打开的含有referer字段,走后面的匹配规则。 none代表没有refererblocked代表有referer,但是被防火墙或代理给去除了。配置如下:worker_processes1;even......
  • 通过iptables做本地端口分流实现高性能服务
    根据以往经验,在高配置服务器上部署Java服务,建议部署多个JVM实例,以提升JVM示例内存回收效率;此时面临负载分发问题,常规想法是通过Nginx或者Apache做负载分流。然而在高并发情况下无论外置负载还是本机负载,都需要处理TCP端口占用问题,处理起来并不简单。近期在做一个高性能测试时候,......
  • Sentinel 熔断降级和黑白名单控制
     一、熔断降级1、概述除了流量控制以外,对调用链路中不稳定的资源进行熔断降级也是保障高可用的重要措施之一。一个服务常常会调用别的模块,可能是另外的一个远程服务、数据库,或者第三方API等。例如,支付的时候,可能需要远程调用银联提供的API;查询某个商品的价格,可能需要进行数据库......