惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
博客园 - Franky
GbyAI
GbyAI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
爱范儿
爱范儿
IT之家
IT之家
酷 壳 – CoolShell
酷 壳 – CoolShell
aimingoo的专栏
aimingoo的专栏
博客园_首页
MongoDB | Blog
MongoDB | Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recent Announcements
Recent Announcements
Scott Helme
Scott Helme
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
C
CERT Recently Published Vulnerability Notes
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Jina AI
Jina AI
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
L
LangChain Blog
L
LINUX DO - 最新话题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
H
Hacker News: Front Page
MyScale Blog
MyScale Blog
P
Palo Alto Networks Blog
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
AI
AI
T
Troy Hunt's Blog
Microsoft Azure Blog
Microsoft Azure Blog
阮一峰的网络日志
阮一峰的网络日志
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Vercel News
Vercel News
Microsoft Security Blog
Microsoft Security Blog
罗磊的独立博客
S
Secure Thoughts
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
人人都是产品经理
人人都是产品经理
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
S
Security @ Cisco Blogs
Cloudbric
Cloudbric
E
Exploit-DB.com RSS Feed
Attack and Defense Labs
Attack and Defense Labs

博客园 - 横渡

[Linux] - 修改ls/ll显示的时间格式 [MySql] - Windows MySql 8.x 手动zip包安装与外网访问登录权限设定 [Windows] - DNS防污染工具Pcap_DNSProxy [Linux] - 服务器/VPS一键检测带宽、CPU、内存、负载、IO读写 [Windows] - Windows/Office纯绿色一键激活工具及方法 [Linux] - Windows与Linux网络共享文件夹挂载方法 [Linux] - 网速测试命令 [Linux] - CentOS运行DotNet Web程序 [Linux] - SVN忽略文件夹更新的命令与方法 [Linux] - n2n内网穿透 [Linux] - [转]*** Python版一键安装脚本 - 横渡 [Andriod] - Andriod Studio + 逍遥模拟器 [Linux] - centos使用mount + nfs 远程共享存储 [Linux] - Docker pure-ftp使用 [Linux] - Docker移动数据到其它盘的办法 [Nginx] - PHP+FPM相关的配置 [Nginx] - 负载均衡配置 [Linux] - 定时任务crontab [Linux] - 攻击查看与IP查封 [Linux] - Docker制作nginx+php
[Linux] - 利用ping给端口加密,限制访问
横渡 · 2019-03-26 · via 博客园 - 横渡

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 ACCEPT
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --name sshkey --rcheck --rsource --seconds 15 -j ACCEPT
iptables -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 # Linux
ping -n 1 -l 100 SERVER_IP # Windows

3) 然后在 15 秒内可正常登录:

ssh -p 1234 user@SERVER_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 掉