linux中,想对特定的端口加密访问,可以使用iptables的Ping方式。
作用访问被限制的端口,必需先Ping发送对应的字节包(字节包大小可自行设置,此为密钥)才能访问成功!
下边是对SSH的22端口加入Ping规则
其它端口可自行修改设定
1) iptables-recent 配置
# 设置 iptables 规则,要先登录服务器就必须先 Ping 一个 128 字节的包
iptables -A input -p icmp --icmp-type 8 -m length --length 128 -m recent --name sshkey --rsource --set -j ACCEPTiptables -A input -p tcp --dport 22 -m state --state NEW -m recent --name sshkey --rcheck --rsource --seconds 15 -j ACCEPTiptables -A input -p tcp --dport 22 -m state --state NEW -j DROP
2) 先发送一个长度为 128 字节的 ICMP 请求包(100 字节加上 IP 头、ICMP 头 28 字节):
Ping -c 1 -s 100 SERVER_IP # linuxPing -n 1 -l 100 SERVER_IP # windows
3) 然后在 15 秒内可正常登录:
ssh -p 1234 [email protected]_IP
说明
## iptables-recent 可以理解为一张记录 IP 地址的列表‘--set‘ ‘--remove‘ # 添加、删除 IP‘--rsource‘ ‘--rdest‘ # 记录源地址(默认)、目标地址‘--rcheck‘ ‘--update‘ # 检查地址是否在列表中‘--seconds‘ # 设置时间条件‘--hitcount‘ # 设置命中次数## rcheck、update 区别# rcheck 仅仅检查地址是否在列表中# update 和 rcheck 一样,不过会刷新时间戳## 放在上面的例子:# 1. 记录长度为 128 字节的 ICMP_Request 包的源地址,命名为 sshkey# 2. 允许来自 sshkey 列表中的地址在 15 秒内登录 SSH(端口 1234)# 3. 而其他不在 sshkey 列表中的地址的 SSH 握手将被 DROP 掉总结
以上是内存溢出为你收集整理的[Linux] - 利用ping给端口加密,限制访问全部内容,希望文章能够帮你解决[Linux] - 利用ping给端口加密,限制访问所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)