iptables的使用规则

环境中为了安全要限制swagger的访问,最简单的方式是通过iptables防火墙设置规则限制。

在测试服务器中设置访问swagger-ui.html显示如下,区分大小写:

iptables设置限制访问9783端口的swagger字段的请求:

复制代码
iptables -A INPUT -p tcp --dport 9783 -m string --algo bm --string "swagger-" -j DROP

访问小写swagger已被禁止,但是访问SWAGGer大写还是正常,需要加忽略大小写设置:

复制代码
iptables -A INPUT -p tcp --dport 9783 -m string --icase  --algo bm --string "swagger-" -j DROP

经过以上设置后,再增加本机访问swagger的设置:

复制代码
iptables -I INPUT -s 192.168.108.27 -p tcp --dport 9783 -m string --icase --string "swagger-" --algo bm -j ACCEPT

iptables常用命令:

插入修改选项:

-t 表名:该规则所操作的哪个表,可以使用filter、nat等,如果没有指定则默认为filter

-A:新增一条规则,到该规则链列表的最后一行

-I:插入一条规则,原本该位置上的规则会往后顺序移动,没有指定编号则为1

-D:从规则链中删除一条规则,要么输入完整的规则,或者指定规则编号加以删除

-R:替换某条规则,规则替换不会改变顺序,而且必须指定编号。

-P:设置某条规则链的默认动作

-nL:-L、-n,查看当前运行的防火墙规则列表

chain名:指定规则表的哪个链,如INPUT、OUPUT、FORWARD、PREROUTING等

规则编号:插入、删除、替换规则时用,--line-numbers显示号码

-i\|o 网卡名称:i是指定数据包从哪块网卡进入,o是指定数据包从哪块网卡输出

-p 协议类型:可以指定规则应用的协议,包含tcp、udp和icmp等

-s 源IP地址:源主机的IP地址或子网地址

--sport 源端口号:数据包的IP的源端口号

-d目标IP地址:目标主机的IP地址或子网地址

--dport目标端口号:数据包的IP的目标端口号

-m:extend matches,这个选项用于提供更多的匹配参数,如:

-m state --state ESTABLISHED,RELATED,INVALID,RELATED

-m tcp --dport 22

-m multiport --dports 80,8080

-m icmp --icmp-type 8

<-j 动作>:处理数据包的动作,包括ACCEPT、DROP、REJECT等

复制代码
查看当前防火墙规则
iptables -L -n
iptables -nL 效果一样

删除对应规则,可命令查看到每个规则chain的序列号。

iptables -L -n --line-number
iptables -D INPUT 3 #删除INPUT的第三条已添加规则,这里3代表第几行规则

如下所示

选项名称 选项说明
--algo {bm|kmp} 设置匹配模式。bm 和 kmp 为两种不同的字符串匹配算法。bm 是 Boyer-Moore 算法,kmp 是 Knuth-Pratt-Morris 算法。
--from offset 设置搜索的开始便宜量,默认为 0。
--to offset 设置搜索的结束偏移量,默认为数据包的大小。
! --string pattern 匹配指定的字符串规则。
! --hex-string pattern 匹配指定的 16 进制格式字符串规则。
--icase 搜索时忽略大小写。

参考文章:

iptables防火墙_Jerry00713的博客-CSDN博客

https://www.cnblogs.com/balzac/p/15738052.html

相关推荐
Lsetea6 小时前
OpenSSL verify报CA certificate key too weak:auth_level与弱密钥链排查
运维·https·ssl证书·openssl·证书链
羔羊++7 小时前
26_实验二十五_busybox构建根文件系统
linux
熊猫钓鱼>_>7 小时前
从闲置平板到家里的“控制大脑“:鸿蒙智慧中控面板完整实战
运维·人工智能·华为·自动化·电脑·ai编程·harmonyos
xUxIAOrUIII7 小时前
日常笔记-1005-1
linux·笔记·python·macos
nazisami7 小时前
程序地址空间
linux·虚拟地址
库拉镜像AI牛牛7 小时前
漫剧工作室量产方案:依托知漫剧 AI 短剧降本增效
大数据·服务器·前端·人工智能·语音识别
不会就选b7 小时前
Linux之TCP<2>
linux·网络·tcp/ip
DP DPharness7 小时前
浏览器自动化插件时,三个可核对的判断维度
运维·自动化
沫璃染墨8 小时前
《从零入门Linux系统篇(五十八):线程篇·十一——线程安全与死锁详解:从可重入到多锁管理》
linux·服务器·开发语言·c++·驱动开发·安全·架构
姜鱼问生8 小时前
数据库备份 + 灾难恢复演练:从 dump 恢复全库
运维·数据库