linux防火墙黑白名单,iptables详解(9):iptables的黑白名单机制
在本博客中,从理论到实践,系统的介绍了iptables,如果你想要从头开始了解iptables,可以查看iptables文章列表,直达链接如下
注意:在参照本文进行iptables实验时,请务必在个人的测试机上进行,因为如果iptables规则设置不当,有可能使你无法连接到远程主机中。
前文中一直在强调一个概念:报文在经过iptables的链时,会匹配链中的规则,遇到匹配的规则时,就执行对应的动作,如果链中的规则都无法匹配到当前报文,则使用链的默认策略(默认动作),链的默认策略通常设置为ACCEPT或者DROP。
那么,当链的默认策略设置为ACCEPT时,如果对应的链中没有配置任何规则,就表示接受所有的报文,如果对应的链中存在规则,但是这些规则没有匹配到报文,报文还是会被接受。
同理,当链的默认策略设置为DROP时,如果对应的链中没有配置任何规则,就表示拒绝所有报文,如果对应的链中存在规则,但是这些规则没有匹配到报文,报文还是会被拒绝。
所以,当链的默认策略设置为ACCEPT时,按照道理来说,我们在链中配置规则时,对应的动作应该设置为DROP或者REJECT,为什么呢?
因为默认策略已经为ACCEPT了,如果我们在设置规则时,对应动作仍然为ACCEPT,那么所有报文都会被放行了,因为不管报文是否被规则匹配到都会被ACCEPT,所以就失去了访问控制的意义。
所以,当链的默认策略为ACCEPT时,链中的规则对应的动作应该为DROP或者REJECT,表示只有匹配到规则的报文才会被拒绝,没有被规则匹配到的报文都会被默认接受,这就是”黑名单”机制。
同理,当链的默认策略为DROP时,链中的规则对应的动作应该为ACCEPT,表示只有匹配到规则的报文才会被放行,没有被规则匹配到的报文都会被默认拒绝,这就是”白名单”机制。
如果使用白名单机制,我们就要把所有人都当做坏人,只放行好人。
如果使用黑名单机制,我们就要把所有人都当成好人,只拒绝坏人。
白名单机制似乎更加安全一些,黑名单机制似乎更加灵活一些。
那么,我们就来做一个简单的白名单吧,也就是说,只放行被规则匹配到的报文,其他报文一律拒绝,那么,我们先来配置规则。
假设,我想要放行ssh远程连接相关的报文,也想要放行web服务相关的报文,那么,我们在INPUT链中添加如下规则。
如上图所示,我们已经放行了特定的报文,只有上述两条规则匹配到的报文才会被放行,现在,我们只要将INPUT链的默认策略改为DROP,即可实现白名单机制。
示例如下。
上图中,我们已经将INPUT链的默认策略改为DROP,并且已经实现了所谓的白名单机制,即默认拒绝所有报文,只放行特定的报文。
如果此时,我不小心执行了”iptables -F”操作,根据我们之前学到的知识去判断,我们还能够通过ssh工具远程到服务器上吗?
我想你已经判断出了正确答案,没错,按照上图中的情况,如果此时执行”iptables -F”操作,filter表中的所有链中的所有规则都会被清空,而INPUT链的默认策略为DROP,所以所有报文都会被拒绝,不止ssh远程请求会被拒绝,其他报文也会被拒绝,我们来实验一下。
如上图所示,在当前ssh远程工具中执行”iptables -F”命令后,由于INPUT链中已经不存在任何规则,所以,所有报文都被拒绝了,包括当前的ssh远程连接。
这就是默认策略设置为DROP的缺点,在对应的链中没有设置任何规则时,这样使用默认策略为DROP是非常不明智的,因为管理员也会把自己拒之门外,即使对应的链中存在放行规则,当我们不小心使用”iptables -F”清空规则时,放行规则被删除,则所有数据包都无法进入,这个时候就相当于给管理员挖了个坑,所以,我们如果想要使用”白名单”的机制,最好将链的默认策略保持为”ACCEPT”,然后将”拒绝所有请求”这条规则放在链的尾部,将”放行规则”放在前面,这样做,既能实现”白名单”机制,又能保证在规则被清空时,管理员还有机会连接到主机,示例如下。
因为刚才的ssh连接已经被拒绝,所以,此时直接在控制台中设置iptables规则
如上图所示,先将INPUT链的默认策略设置为ACCEPT
然后继续配置需要放行的报文的规则,如下图所示,当所有放行规则设置完成后,在INPUT链的尾部,设置一条拒绝所有请求的规则。
上图中的设置,既将INPUT链的默认策略设置为了ACCEPT,同时又使用了白名单机制,因为如果报文符合放行条件,则会被前面的放行规则匹配到,如果报文不符合放行条件,则会被最后一条拒绝规则匹配到,此刻,即使我们误操作,执行了”iptables -F”操作,也能保证管理员能够远程到主机上进行维护,因为默认策略仍然是ACCEPT。
其实,在之前知识的基础上,理解所谓的黑白名单机制是很容易的,此处只是将最佳实践总结了一下,希望这篇文章能够对你有所帮助。
linux防火墙黑白名单,iptables详解(9):iptables的黑白名单机制相关推荐
- iptables详解(1):iptables概念
防火墙相关概念 此处先描述一些相关概念. 从逻辑上讲.防火墙可以大体分为主机防火墙和网络防火墙. 主机防火墙:针对于单个主机进行防护. 网络防火墙:往往处于网络入口或边缘,针对于网络入口进行防护,服务 ...
- Iptables详解之iptables命令的参数
iptables是采用规则堆栈的方式来进行过滤,当一个封包进入网卡,会先检查 Prerouting,然后检查目的IP判断是否需要转送出去,接着就会跳到INPUT 或 Forward 进行过滤,如果封包 ...
- iptables详解--转
出处:http://yijiu.blog.51cto.com/433846/1356254 iptables详解 基本概念: 1.防火墙工作在主机边缘:对于进出本网络或者本主机的数据报文,根据事先设定 ...
- iptables详解以及企业常用案例
iptables详解以及企业常用案例 iptables采用netfilter网络架构实现包过滤防火墙,可以实现硬件防火墙的常用功能,亦可以在应用方案中作为硬件防火墙的替代品.在本文档里我们将详细介绍i ...
- iptables详解之filter
iptables详解之filter iptables令很多小伙伴脑阔疼,下面我们来说说如何使用iptables. 一.iptables格式 1.1.iptables 帮助 通过iptables --h ...
- iptables详解(转)
iptables详解 前言 防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种.无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘.而我们的任务就是需 ...
- 《iptables详解 》RHEL6
iptables详解 Iptables原理 现在防火墙主要分以下三种类型: 包过滤.应用代理.状态检测 包过滤防火墙:现在静态包过滤防火墙市面上已经看不到了,取而代之的是动态包过滤技术的防火墙哈 ...
- LINUX经常使用的命令详解
LINUX经常使用的命令详解 源地址:http://blog.itpub.net/29065182/viewspace-1189162/ 1.man 对你熟悉或不熟悉的命令提供帮助解释 eg:man ...
- iptables详解【1】: 概念
iptables详解(1):iptables概念 文章目录 一.防火墙相关概念 二.iptables基础 三.链的概念 四.表的概念 五.表链关系 六.数据经过防火墙的流程 七.规则的概念 八.小结 ...
- Iptables 详解与实战案例
目录 一.iptables简介 二.iptables的表tables与链chains 2.1 四种内建表 2.1.1 Filter表 2.1.2 NAT表 2.1.3 Mangle表 2.1.4 Ra ...
最新文章
- swift 之SnapKit 动画
- 不能用了 重装系统git_重装新版gitlab时遇到gitlab-rails database初始化失败
- c++ 获取文件的hashcode_jsp 实现文件上传和下载
- mysql+误操作怎么恢复_Mysql误操作恢复流程
- luogu1168 中位数
- 程序员加班很严重吗?看看国外程序员怎么怼老板!
- 保护你的DLL和Code不被别人使用。
- Nginx架构详解:nginx 的安装和配置
- VBScript 基础知识
- 计算机开机桌面黑,电脑能正常启动但屏幕全黑原因和解决方法
- 【人脸58点关键点】基于面积对比法的脑卒中识别算法
- L1-017 到底有多二 (15 分) C语言
- 云平台是什么、什么是云、云平台的分类、主流公有云平台有哪些、云的三种服务、PaaS、SaaS、IaaS
- 基于Google Earth Engine的Landsat单窗算法地表温度(LST)反演
- 【转】Notes 函数详解
- checkpoint NGFW VM安装
- 普源精电科创板上市:股价重挫35% 公司市值48亿
- 常见的接口测试面试题
- matlab 随机相位的正弦信号,利用MATLAB绘制随机相位正弦波.docx
- python中matplotlib是什么意思_python中Matplotlib面向对象是什么?
热门文章
- ssh_exchange_identification: read: Connection reset by peer
- 干货满满~阿里天池目标检测保姆级教程
- webstorm下载地址分享
- 网页版番茄时钟的制作——Pomodoro Clock
- Ceph 问题记录:MDSs report oversized cache / clients failing to respond to cache pressure
- matlab解方程组解析解
- K-divisible Sum
- dom4j解析xml格式字符串获取标签属性和内容
- 壮大云平台中国力量 安全可控大会即将登场
- 为什么团建这么招人恨