三二互联专业提供速度最快最稳定的美国服务器、香港服务器。中美直连,亚洲优化![ 代理登陆 ] [ 付款方式 ] [ 找回密码 ][ 电子协议责任书 ]
硬件资源保障

采用高配品牌服务器

主流强悍CPU配置

确保服务高速稳定运行

中美直连线路

中美直连亚洲优化

采用中国CN2骨干网络

保证速度飞快稳定高效

如何设置服务器的端口扫描防护?

美国、香港服务器

如何设置服务器的端口扫描防护?

02-07   来源:

 设置服务器端口扫描防护,核心是 **「端口最小化放行 + 宝塔防火墙层拦截 + 系统层硬防护 + 日志溯源告警」** 四层防护逻辑,结合宝塔面板可视化操作 + 服务器底层配置,既能阻断端口扫描行为,又能拦截扫描后的暴力破解,覆盖主动扫描(如 Nmap)和被动端口探测,以下是可落地的全流程方案,适配宝塔面板环境(CentOS/Debian 通用)。

一、基础核心:端口最小化放行(从根源减少扫描面)
端口扫描的前提是服务器开放了多余端口,仅放行业务必需端口是最有效的防护手段,无端口则无扫描,这一步是所有防护的基础。
1. 宝塔面板可视化配置(推荐,快速生效)
路径:安全 → 防火墙 → 端口规则
🔴 删除所有非必要端口:仅保留业务核心端口,常规场景仅需放行80(HTTP)、443(HTTPS),若需远程连接则放行22(SSH)(建议修改默认端口),数据库 / 中间件端口(3306/6379/8080)绝对禁止公网放行。
🟢 新增放行规则:放行端口时,建议限制来源 IP(如仅放行办公网 IP 段192.168.1.0/24),避免公网任意 IP 访问。
⚙️ 修改 SSH 默认端口(关键,避免 22 端口被高频扫描):
宝塔系统 → 终端,执行vi /etc/ssh/sshd_config,将Port 22改为非默认端口(如2222),保存退出;
执行systemctl restart sshd重启 SSH 服务;
回到宝塔端口规则,关闭 22 端口,放行 2222 端口(建议限制来源 IP)。
2. 验证开放端口(确认无多余端口暴露)
宝塔终端执行以下命令,查看服务器公网开放的端口,确保仅放行必需端口:
bash
运行
# 查看所有监听端口(TCP+UDP)
netstat -tulnp
# 或更简洁的命令
ss -tulnp
输出结果中,LISTEN状态的端口为开放端口,若有未知端口(如无对应进程的端口),立即排查并关闭。
二、宝塔面板层:防火墙 + Fail2ban 拦截端口扫描行为
基于宝塔面板的防火墙和 Fail2ban 插件,识别端口扫描的高频探测行为,自动封禁扫描 IP,实现面板级的主动拦截,适配新手和快速运维。
1. 宝塔防火墙强化配置(拦截端口探测包)
路径:安全 → 防火墙,确保防火墙总开关开启,开启以下核心防护:
开启SYN 防护:拦截 SYN 洪水攻击,同时阻断大量端口探测的 SYN 包(宝塔防火墙默认开启,确认状态);
开启防端口扫描:部分宝塔版本内置该功能,直接勾选开启,自动识别多端口探测行为并拦截;
配置IP 访问频率限制:路径→防火墙设置,设置「单 IP 每分钟最大连接数」(建议设50),超过则临时封禁,阻断扫描的高频连接。
2. Fail2ban 插件配置(精准拦截扫描 + 暴力破解)
Fail2ban 是轻量级防护工具,可通过日志识别端口扫描、SSH / 端口暴力破解行为,自动封禁触发规则的 IP,宝塔面板可一键安装配置:
安装 Fail2ban:宝塔软件商店 → 搜索 Fail2ban → 安装;
新建防护规则:安装后打开 Fail2ban,点击设置 → 新建规则,配置核心参数:
表格
规则项 配置值(端口扫描防护) 说明
规则名称 port_scan 自定义,便于识别
监控日志 /var/log/messages(系统日志) 端口扫描行为会记录到该日志
匹配正则 sshd\[\d+\]: Connection from .* 匹配 SSH 端口的探测 / 连接行为
触发次数 10 次 单 IP10 分钟内探测超 10 次触发
触发时间 10 分钟 统计时间窗口
封禁时长 3600 秒(1 小时) 可设 86400 秒(1 天)强化
启用 SSH/WEB 防护规则:Fail2ban 内置sshd(SSH 暴力破解)、nginx(WEB 端口探测)规则,直接开启,无需额外配置;
重启生效:点击重启 Fail2ban,规则立即生效,扫描 IP 触发阈值后会被自动封禁。
三、系统层硬防护:配置 iptables/ufw 核心规则(底层兜底)
宝塔防火墙基于iptables封装,若需更精细化的端口扫描防护,可直接在服务器系统层配置iptables规则(CentOS)/ufw规则(Debian/Ubuntu),兜底拦截面板未覆盖的扫描行为,以下是核心规则配置。
1. CentOS 系统(iptables)
宝塔终端执行以下命令,配置端口扫描防护规则(直接复制执行,无需修改):
bash
运行
# 1. 清空原有无用规则
iptables -F && iptables -X
# 2. 允许回环地址访问(本地进程通信,必需)
iptables -A INPUT -i lo -j ACCEPT
# 3. 允许已建立的连接(避免阻断正常业务)
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# 4. 仅放行必需端口(80/443/2222,替换为你的实际端口)
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 2222 -j ACCEPT
# 5. 拦截多端口探测(单IP60秒内访问超过10个不同端口,判定为扫描)
iptables -A INPUT -p tcp -m multiport --dports 1:65535 -m recent --name portscan --set
iptables -A INPUT -p tcp -m multiport --dports 1:65535 -m recent --name portscan --rcheck --seconds 60 --hitcount 10 -j DROP
# 6. 保存iptables规则(重启服务器不丢失)
service iptables save
# 7. 重启iptables生效
systemctl restart iptables
2. Debian/Ubuntu 系统(ufw)
该系统默认用ufw防火墙,执行以下命令配置:
bash
运行
# 1. 启用ufw
ufw enable
# 2. 仅放行必需端口
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 2222/tcp
# 3. 设置默认策略:拒绝所有入站连接,允许出站连接(核心)
ufw default deny incoming
ufw default allow outgoing
# 4. 拦截高频端口探测(单IP每分钟连接超50次)
ufw limit 2222/tcp
ufw limit 80/tcp
ufw limit 443/tcp
# 5. 查看规则生效状态
ufw status numbered
四、日志溯源 + 实时告警:发现扫描行为并及时处理
防护的核心是提前发现、及时拦截,配置端口扫描的日志记录 + 实时告警,既能溯源扫描源 IP,又能在遭遇大规模扫描时第一时间处理,宝塔面板可一键配置。
1. 查看端口扫描日志(溯源扫描行为)
宝塔面板日志:路径→安全 → 防火墙 → 日志,查看防火墙拦截的端口探测记录,包含扫描 IP、探测端口、拦截时间;
Fail2ban 日志:路径→软件 → Fail2ban → 日志,查看被封禁的扫描 IP、触发规则、封禁时长;
系统底层日志:
bash
运行
# 查看SSH端口扫描/暴力破解日志
tail -f /var/log/secure
# 查看系统级端口探测日志
tail -f /var/log/messages
# 查看iptables拦截日志(需开启日志功能)
tail -f /var/log/iptables.log
2. 宝塔实时告警配置(扫描行为即时通知)
路径:面板设置 → 消息通知,开启以下告警方式(邮件 / 钉钉 / 企业微信任选),并勾选安全告警相关项:
勾选防火墙拦截告警:服务器被端口扫描时,防火墙拦截后立即发送通知;
勾选Fail2ban 封禁告警:扫描 IP 被 Fail2ban 封禁时,发送告警(含扫描 IP、封禁时长);
勾选异常端口访问告警:公网 IP 访问未放行端口时,发送通知。
配置后,一旦有端口扫描行为,你会第一时间收到告警,可及时针对性处理(如永久封禁高频扫描 IP)。
五、高级防护:配合宝塔 WAF+CDN 隐藏服务器真实 IP
若遭遇大规模端口扫描 + 后续攻击(如扫描后针对开放端口发起 CC / 暴力破解),可结合宝塔 WAF 和 CDN,隐藏服务器真实 IP,让扫描工具无法直接探测到服务器公网 IP,从根源阻断扫描。
开启宝塔 WAF 全防护:路径→安全 → Web 防火墙,开启总开关,同时开启获取真实 IP(CDN 场景必需),WAF 会拦截针对 80/443 端口的扫描和 Web 攻击;
配置 CDN 加速:将网站域名解析到 CDN(如阿里云 CDN / 腾讯云 CDN),CDN 会缓存静态资源,同时隐藏服务器真实 IP,扫描工具仅能探测到 CDN 节点 IP,无法直接扫描服务器;
服务器仅允许 CDN 节点 IP 访问:在宝塔防火墙端口规则中,放行 80/443 端口时,仅允许 CDN 节点 IP 段访问(各 CDN 厂商会提供官方节点 IP 段),进一步强化防护。
六、核心注意事项 & 日常维护
禁止公网放行数据库 / 中间件端口:3306 (MySQL)、6379 (Redis)、27017 (MongoDB) 等端口,如需远程连接,仅通过宝塔内网穿透或VPN访问,绝对禁止公网暴露;
定期更换 SSH 端口:建议每 3-6 个月更换一次 SSH 端口,避免被扫描工具长期盯上;
清理过期封禁 IP:宝塔防火墙 / Fail2ban 的封禁规则有过期时间,也可手动清理:
bash
运行
# 宝塔一键清理过期黑名单IP
bt firewall clean blacklist --expire=86400
# Fail2ban解除单个IP封禁(替换为实际IP)
fail2ban-client set sshd unbanip 1.2.3.4
定期检查开放端口:每周执行netstat -tulnp检查服务器监听端口,发现未知端口立即排查,确认是否为恶意进程开放;
避免使用弱密码:SSH / 宝塔面板 / 数据库的密码需设置为字母 + 数字 + 特殊符号(不少于 16 位),防止扫描后被暴力破解。

三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快

上一篇:如何清理恶意进程的残留文件? 下一篇:如何配置宝塔面板的CC防御规则的黑白名单的动态规则的IP黑白名单规则?

美国GIA服务器三二互联版权所有 WWW.250.cc 2008-2015 All Rights Reserved
三二互联 - 专业的美国C3服务器、香港vps、抗DOOS流量清洗、云备份系统、网站加速系统、美国GIA服务器和香港云服务器产品提供商
三二互联24小时在线工单系统为您提供全面、专业、周到的技术支持与服务
咨询热线:400-679-9994(免长话费)