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代表第几行规则 如下所示![](https://file.jishuzhan.net/article/1694943600174960641/3cdeec1900bd4ec5a3c64c7ff86cc3fa.png) | 选项名称 | 选项说明 | |----------------------------|--------------------------------------------------------------------------------| | --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://blog.csdn.net/Jerry00713/article/details/127707793 "iptables防火墙_Jerry00713的博客-CSDN博客") [https://www.cnblogs.com/balzac/p/15738052.html](https://www.cnblogs.com/balzac/p/15738052.html "https://www.cnblogs.com/balzac/p/15738052.html")

相关推荐
wdfk_prog4 小时前
[Linux]学习笔记系列 -- hashtable
linux·笔记·学习
每日出拳老爷子4 小时前
【远程协助】内网 IT 运维远程协助系统的最小可用架构
运维·服务器·远程工作·流媒体·视音频
weixin_462446234 小时前
使用 Puppeteer 设置 Cookies 并实现自动化分页操作:前端实战教程
运维·前端·自动化
CheungChunChiu4 小时前
Linux 内核动态打印机制详解
android·linux·服务器·前端·ubuntu
西***63475 小时前
打破部署桎梏!编码器两大核心架构(NVR/PoE)深度解析
服务器·音视频·视频编解码
BlueBirdssh6 小时前
linux 内核通过 dts 设备树 配置pcie 控制器 各种参数和中断等, 那freeRTOS 是通过直接设置PCIe寄存器吗
linux
小目标一个亿6 小时前
Windows平台Nginx配置web账号密码验证
linux·前端·nginx
实战项目6 小时前
软件测试自动化框架的设计与实现
运维·自动化
Aotman_6 小时前
Element-UI Message Box弹窗 使用$confirm方法自定义模版内容,修改默认样式
linux·运维·前端
Elastic 中国社区官方博客7 小时前
使用 Elastic 中的 OpenTelemetry 为 Nginx 实现端到端分布式追踪的实用指南
大数据·运维·分布式·elasticsearch·搜索引擎·信息可视化·全文检索