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

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] 时间

–timestop hh:mm[:ss] [!] --monthdays day[,day…] 每个月的几号

–weekdays day[,day…] 星期几,1 – 7 分别表示星期一到星期日

–kerneltz:内核时区,不建议使用,

CentOS7系统默认为UTC 注意: centos6 不支持kerneltz ,–localtz指定本地时区(默认) 示例:本地时-8个小时 例如本地要写早9点就写1:00

iptables -A INPUT -s 172.16.0.0/16 -d 172.16.100.10 -p tcp --dport 80 -m time - -timestart 14:30 --timestop 18:30 --weekdays Sat,Sun --kerneltz -j DROP
7. connlimit扩展

根据每客户端IP做并发连接数数量匹配

可防止CC(Challenge Collapsar挑战黑洞)攻击

–connlimit-upto #:连接的数量小于等于#时匹配

–connlimit-above #:连接的数量大于#时匹配

通常分别与默认的拒绝或允许策略配合使用

示例: iptables -A INPUT -d 172.16.100.10 -p tcp --dport 22 -m connlimit – connlimit-above 2 -j REJECT

yum install -y gcc
gcc xxx.c -o flood.out##如果不输就是a.out
file flood

  1. limit扩展

基于收发报文的速率做匹配

令牌桶过滤器

–limit #[/second|/minute|/hour|/day]

–limit-burst number

示例: iptables -I INPUT -d 172.16.100.10 -p icmp --icmp-type 8 -m limit --limit 10/minute --limit-burst 5 -j ACCEPT

iptables -I INPUT 2 -p icmp -j REJECT
9. state扩展

根据”连接追踪机制“去检查连接的状态,较耗资源

conntrack机制:追踪本机上的请求和响应之间的关系

状态有如下几种:

NEW:新发出请求;连接追踪信息库中不存在此连接的相关信息条目,因 此,将其识别为第一次发出的请求

ESTABLISHED:NEW状态之后,连接追踪信息库中为其建立的条目失效之 前期间内所进行的通信状态

RELATED:新发起的但与已有连接相关联的连接,如:ftp协议中的数据连 接与命令连接之间的关系

INVALID:无效的连接,如flag标记不正确 UNTRACKED:未进行追踪的连接,如raw表中关闭追踪

–state state

示例: iptables -A INPUT -d 172.16.1.10 -p tcp -m multiport --dports 22,80 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -s 172.16.1.10 -p tcp -m multiport --sports 22,80 -m state --state ESTABLISHED -j ACCEPT

已经追踪到的并记录下来的连接信息库 /proc/net/nf_conntrack 调整连接追踪功能所能够容纳的最大连接数量 /proc/sys/net/nf_conntrack_max

或者写在内核参数的配置文件上

vi /etc/sysctl.conf
net.nf_conntrack_max = 6666
sysctl -p #生效
lsmod | grep conn

不同的协议的连接追踪时长 /proc/sys/net/netfilter/

注意:CentOS7 需要加载模块: modprobe nf_conntrack

yum install -y vsftp
ftp服务器被动模式端口不固定
可以通过此模块解决
modprobe nf_conntrack_ftp
iptables -t filter -I INPUT 3 -m statr --state ESTABLISH,RELATED -j ACCEPT
iptables -t filter -I INPUT 3 -p tcp -dport 21 -j ACCEPT
开放被动的ftp服务器
yum install vsftpd
systemctl start vsftpd
modprobe nf_conntrack_ftp
iptables -F
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED -j ACCEPT
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -vnL

  1. Target:

ACCEPT, DROP, REJECT, RETURN

LOG, SNAT, DNAT, REDIRECT, MASQUERADE,…

LOG:非中断target,本身不拒绝和允许,放在拒绝和允许规则前 并将日志记录在/var/log/messages系统日志中

–log-level level 级别: debug,info,notice, warning, error, crit, alert,emerg

–log-prefix prefix 日志前缀,用于区别不同的日志,最多29个字符

示例: iptables -I INPUT -s 10.0.1.0/24 -p tcp -m multiport --dports 80,21,22,23 -m state --state NEW -j LOG --log-prefix "new connections:
11. 策略

任何不允许的访问,应该在请求到达时给予拒绝
规则在链接上的次序即为其检查时的生效次序
基于上述,规则优化
1 安全放行所有入站和出站的状态为ESTABLISHED状态连接
2 谨慎放行入站的新请求
3 有特殊目的限制访问功能,要在放行规则之前加以拒绝
4 同类规则(访问同一应用),匹配范围小的放在前面,用于特殊处理
5 不同类的规则(访问不同应用),匹配范围大的放在前面
6 应该将那些可由一条规则能够描述的多个规则合并为一条
7 设置默认策略,建议白名单(只放行特定连接)
1) iptables -P,不建议
2) 建议在规则的最后定义规则做为默认策略

12 规则有效期限: 使用iptables命令定义的规则,手动删除之前,其生效期限为kernel存活期限

保存规则: 保存规则至指定的文件 CentOS 6

service iptables save 将规则覆盖保存至/etc/sysconfig/iptables文件中

CentOS 7 iptables-save > /PATH/TO/SOME_RULES_FILE

CentOS 6: service iptables restart 会自动从/etc/sysconfig/iptables 重新载入规则

CentOS 7 重新载入预存规则文件中规则:

iptables-restore < /PATH/FROM/SOME_RULES_FILE

-n, --noflush:不清除原有规则 -t

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

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

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

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

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

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

一、网安学习成长路线图

网安所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

二、网安视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述

三、精品网安学习书籍

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
在这里插入图片描述

四、网络安全源码合集+工具包

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

五、网络安全面试题

最后就是大家最关心的网络安全面试题板块
在这里插入图片描述在这里插入图片描述

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

dnimg.cn/15c1192cad414044b4dd41f3df44433d.png)在这里插入图片描述

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

  • 8
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值