iptables深度总结--基础篇_iptables input output forward(2)

rpm -ql which iptables

iptables规则

组成部分:根据规则匹配条件来尝试匹配报文,一旦匹配成功,就由规则定义的处理动作作出处理

  • 匹配条件:默认为与条件,同时满足 基本匹配:IP,端口,TCP的Flags(SYN,ACK等) 扩展匹配:通过复杂高级功能匹配
  • 处理动作:称为target,跳转目标 内建处理动作: ACCEPT,DROP,REJECT,SNAT,DNATMASQUERADE,MARK,LOG… 自定义处理动作:自定义chain,利用分类管理复杂情形
  • 规则要添加在链上,才生效;添加在自定义上不会自动生效
  • 链chain: 内置链:每个内置链对应于一个钩子函数 自定义链:用于对内置链进行扩展或补充,可实现更灵活的规则组织管理机制;只有 Hook钩子调用自定义链时,才生效
iptables命令

cent6和centos7查看帮助的方式不同,centos7把拓展分出去了

centos6: man iptables

centos7:man iptables && man iptables-extendisions

man 8 iptables
iptables [-t table] {-A|-C|-D} chain rule-specification
iptables [-t table] -I chain [rulenum] rule-specification
iptables [-t table] -R chain rulenum rule-specification
iptables [-t table] -D chain rulenum
iptables [-t table] -S [chain [rulenum]]
iptables [-t table] {-F|-L|-Z} [chain [rulenum]] [options…]
iptables [-t table] -N chain
iptables [-t table] -X [chain]
iptables [-t table] -P chain target
iptables [-t table] -E old-chain-name new-chain-name
rule-specification = [matches…] [target]
match = -m matchname [per-match-options]
target = -j targetname [per-target-options]

在这里插入图片描述

-t=table -A=appentd -s=source ip -j=jump

input=INPUT

暴力ping
ping -f 192.168.63.3

iptables -t filter -A INPUT -s 192.168.63.3 -j DROP
iptables -t filter -A INPUT -s 192.168.63.3 -j REJECT
iptables -t filter -A INPUT -s 192.168.63.0/24 -j REJECT
drop是丢弃 REJECT是不回应
对于ping而言 reject收到unreachable ,drop无显示

liunx小型抓包工具

tcpdump -i eth0 -nn
tcpdump -i eth0 -nn src 192.168.63.3
tcpdump -i eth0 -nn host 192.168.63.3

iptables -L (英文)
iptables -nL(包的字节数)
iptables -nvL (更为详细的包的字节数)
iptables -nxvL(精确)
iptables -nvL --line-number编号,先后顺序
iptables -D INPUT 1 删除
iptables -t filter -I --line-number INPUT -s 192.168.63.0/24 -j ACCEPT

规则管理

-A:append,追加
-I:insert, 插入,要指明插入至的规则编号,默认为第一条
-D:delete,删除 (1) 指明规则序号 (2) 指明规则本身
-R:replace,替换指定链上的指定规则编号
-F:flush,清空指定的规则链
-Z:zero,置零
iptables的每条规则都有两个计数器
(1) 匹配到的报文的个数
(2) 匹配到的所有报文的大小之和
chain:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING

全禁用 && 本地回环网络

iptables -t filter -A INPUT -s 0.0.0.0 -j DROP
iptables -p INPUT DROP
iptables -I INPUT 6 -s 127.00.1,192.168.663.250 -j ACCEPT
iptables -r INPUT 5 -i lo -j ACCEPT
iptables -P INPUT DROP

备份

n分钟之后执行任务

echo wall warning | at now+1 minutes

iptables命令拓展

管理端口号
ss -tnl
ss -tn

  1. 查看帮助 CentOS 6: man iptables CentOS 7: man iptables-extensions
  2. muiltport拓展

multiport扩展 以离散方式定义多端口匹配,最多指定15个端口
–source-ports,–sports port[,port|,port:port]… 指定多个源端口
–destination-ports,–dports port[,port|,port:port]… 指定多个目标端口
–ports port[,port|,port:port]…多个源或目标端口
示例: iptables -A INPUT -s 172.16.0.0/16 -d 172.16.100.10 -p tcp -m multiport --dports 20:22,80 -j ACCEPT
iptables -I INPUT 3 -s 192.168.37.6 -p tcp --dport 80 -j ACCEPT
iptables -I INPUT 3 -s 192.168.37.6 -p tcp --dport 330:335 -j ACCEPT
muiltport
当不连续端口号 可以使用拓展模块 muiltport
iptables -A INPUT -s 192.168.37.6 -p tcp -m multiport --dports 139,445,11001:11032 -j ACCEPT

  1. iprange拓展

iprange扩展 指明连续的(但一般不是整个网络)ip地址范围

–src-range from[-to] 源IP地址范围

–dst-range from[-to] 目标IP地址范围

示例: iptables -A INPUT -d 172.16.1.100 -p tcp --dport 80 -m iprange --srcrange 172.16.1.5-172.16.1.10 -j DROP

icmp协议在网络层 网络层没有端口
iptables -A INPUT -s 192.168.37.6 -p tcp --syn -j REJECT
(curl 就用不了了,因为curl走的时候tcp协议)

tcp协议有端口
icmp协议中 编号中 0是返回报文 8是请求报文
iptables -I INPUT 6 -s 192.168.63.251 -p icmp --icmp-type 0 -j ACCEPT
250可以ping通251 251ping不通250

  1. mac扩展 指明源MAC地址 适用于:PREROUTING, FORWARD,INPUT chains

–mac-source XX:XX:XX:XX:XX:XX

示例: iptables -A INPUT -s 172.16.0.100 -m mac --mac-source 00:50:56:12:34:56 -j ACCEPT iptables -A INPUT -s 172.16.0.100 -j REJECT
5. string拓展

string拓展 前62个应该是不会出现google字样了 、在传输层往后了

数据帧:8个字节前导信息,6个字节目的mac06个字节目的mac、再加上两个字节type类型、然后到了ip头有固定了20个字节,tcp头又有20个

对报文中的应用层数据做字符串模式匹配检测 --algo {bm|kmp}

字符串匹配检测算法 bm:Boyer-Moore kmp:Knuth-Pratt-Morris

–from offset 开始偏移 --to offset 结束偏移

–string pattern 要检测的字符串模式

–hex-string pattern要检测字符串模式,16进制格式 示例: iptables -A OUTPUT -s 172.16.100.10 -d 0/0 -p tcp --sport 80 -m string - -algo bm --string “google" -j REJECT
6. time扩展 根据将报文到达的时间与指定的时间范围进行匹配

–datestart YYYY[-MM[-DD[Thh[:mm[:ss]]]]] 日期

–datestop YYYY[-MM[-DD[Thh[:mm[:ss]]]]]

–timestart hh:mm[:ss] 时间

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
img

给大家的福利

零基础入门

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:

在这里插入图片描述

因篇幅有限,仅展示部分资料

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

在这里插入图片描述

因篇幅有限,仅展示部分资料

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-zyoUJNSu-1712664560927)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值