服务器被黑?黑客最爱攻击这100个端口!(附一键封禁脚本)

100个网络危险端口整理

说明:

  • 端口号:网络服务的逻辑入口。
  • 服务/协议:通常使用该端口的应用程序或协议。
  • 风险描述:该端口开放可能带来的主要安全威胁。
  • 封禁必要性:在绝大多数情况下,除非业务明确需要,否则应立即封禁这些端口。

一、经典后门与远程控制类

这些端口常被木马、后门和远程管理软件利用。

端口 服务/协议 风险描述 危险等级
22 SSH 弱密码、暴力破解的重灾区 ⚠️ 高危
23 Telnet 明文传输,极易被嗅探密码 🔴 极危
135 RPC Windows RPC服务,常被用于漏洞利用 ⚠️ 高危
139, 445 SMB 永恒之蓝等重大漏洞的源头,用于共享和AD 🔴 极危
1433, 1434 MSSQL 常被暴力破解,提权漏洞多发 ⚠️ 高危
3389 RDP 远程桌面,暴力破解主要目标 🔴 极危
4899 Radmin 远程控制软件,配置不当或版本过旧有风险 ⚠️ 高危
5631, 5632 PCAnywhere 老牌远程控制,存在已知漏洞 ⚠️ 高危
5900+ VNC 图形化远程控制,弱认证问题普遍 ⚠️ 高危
6129 DameWare 远程管理工具,默认端口易被扫描利用 ⚠️ 高危

二、Web服务与漏洞高发类

Web应用的入口,也是攻击的主要面。

端口 服务/协议 风险描述 危险等级
21 FTP 明文传输密码和数据,漏洞多 🔴 极危
80 HTTP 明文传输,可被劫持、嗅探 ⚠️ 中危
443 HTTPS 加密传输,但Web应用本身的漏洞(如SQLi、XSS)仍存在 ⚠️ 中危
8000, 8080, 8443 HTTP/HTTPS Alt 常见的Web应用替代端口,风险同80/443 ⚠️ 中危
7001, 7002 WebLogic Java应用服务器,历史漏洞多且危害大 🔴 极危
9090 WebSM WebSphere管理等,存在未授权访问风险 ⚠️ 高危

三、文件传输与共享类

易导致数据泄露和恶意软件传播。

端口 服务/协议 风险描述 危险等级
20 FTP Data FTP的数据连接端口 🔴 极危
69 TFTP 简单文件传输,无认证,可任意上传下载 🔴 极危
2049 NFS 网络文件系统,配置不当可导致未授权访问 ⚠️ 高危
873 Rsync 配置不当可导致未授权访问和文件泄露 ⚠️ 高危

四、邮件服务类

钓鱼、垃圾邮件和漏洞利用的通道。

端口 服务/协议 风险描述 危险等级
25 SMTP 发送邮件,常被用来转发垃圾邮件 ⚠️ 中危
110 POP3 收取邮件,明文传输密码和数据 ⚠️ 高危
143 IMAP 管理邮件,明文传输 ⚠️ 高危
993, 995 IMAPS/POP3S 加密版本,相对安全,但服务本身可能有漏洞 ⚠️ 低危

五、数据库服务类

承载核心数据,是攻击者的终极目标之一。

端口 服务/协议 风险描述 危险等级
1521 Oracle DB 强大的数据库,配置复杂,漏洞影响大 🔴 极危
3306 MySQL 流行数据库,常被暴力破解 🔴 极危
5432 PostgreSQL 功能强大的开源数据库,也有安全风险 ⚠️ 高危
27017, 27018 MongoDB 曾因默认无认证导致大量数据泄露 🔴 极危
6379 Redis 默认无认证,可被轻易获取权限 🔴 极危

六、网络基础服务与易受攻击类

本身是正常服务,但常被错误配置或利用。

端口 服务/协议 风险描述 危险等级
53 DNS 可被用于DNS隧道、DDoS放大攻击 ⚠️ 中危
161, 162 SNMP 默认团体名public/private,泄露网络设备信息 ⚠️ 高危
389, 636 LDAP/LDAPS 目录服务,信息泄露和注入漏洞 ⚠️ 高危
111 RPC 远程过程调用,可被用于信息收集和攻击 ⚠️ 高危
512, 513, 514 rexec, rlogin, rsh 明文传输的远程执行服务 🔴 极危

七、木马与后门常用端口(部分列表)

这些端口历史上被特定木马广泛使用,是安全扫描的重点对象。

端口 通常关联的恶意软件 危险等级
1243, 6711, 6776 SubSeven 🔴 极危
1999 BackDoor 🔴 极危
2583 WinCrash 🔴 极危
3700 Portal of Doom 🔴 极危
4950, 4951 ICQ Trojan 🔴 极危
5554 Sasser 🔴 极危
12345, 12346, 20034 NetBus 🔴 极危
31337 Back Orifice, Elite 🔴 极危
54321 PCAnywhere后门 🔴 极危
65000 Devil 🔴 极危

八、完整端口清单(共100个)

完整列表:

22, 23, 25, 53, 69, 79, 80, 110, 111, 113, 119,
135, 137, 138, 139, 143, 161, 162, 389, 443, 445,
512, 513, 514, 515, 993, 995, 1080, 1433, 1434,
1521, 1723, 1900, 2049, 2301, 2375, 2376, 2389, 3000,
3128, 3306, 3389, 4444, 4505, 4506, 4789, 4800, 4899,
4900, 5000, 5432, 5631, 5632, 5800, 5900, 5901, 5984,
5985, 5986, 6379, 7001, 7002, 8000, 8008, 8009, 8080,
8081, 8090, 8180, 8443, 8686, 9000, 9042, 9080, 9090,
9092, 9200, 9300, 9418, 11211, 15672, 25565,
27017, 27018, 28015, 28017, 50000, 50030, 50060,
50070, 60010, 60030

Linux系统封禁操作前准备工作

必须完成的检查:

  • 确认当前业务对哪些端口有依赖

  • 备份现有防火墙规则

  • 准备回退方案

  • 在测试环境先验证

检查当前开放端口:

# 查看所有监听端口
ss -tulnp | grep LISTEN

# 检查特定高危端口
ss -tulnp | grep -E ':(23|135|445|3389|6379)'

# 扫描本机开放端口
nmap -sT 127.0.0.1

方法一:防火墙层封禁(推荐)

1. iptables方式(CentOS 6/7及传统系统)

单端口封禁:

# 封禁Telnet端口
iptables -A INPUT -p tcp --dport 23 -j DROP
iptables -A INPUT -p udp --dport 23 -j DROP

# 保存规则
service iptables save

批量封禁脚本:

#!/bin/bash
# 高危端口批量封禁脚本

DANGER_PORTS="23 69 135 139 445 1433 3389 4899 5631 5900 6379 27017"

echo"开始封禁高危端口..."

for port in$DANGER_PORTS; do
    iptables -A INPUT -p tcp --dport $port -j DROP
    iptables -A INPUT -p udp --dport $port -j DROP
echo"已封禁端口: $port"
done

# 保存规则
service iptables save

echo"封禁完成!"

仅允许特定IP访问(白名单):

# MySQL仅允许内网访问
iptables -A INPUT -p tcp --dport 3306 -s 192.168.1.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 3306 -j DROP

验证规则:

# 查看所有规则
iptables -L -n --line-numbers

# 查看封禁的端口
iptables -L INPUT -n | grep DROP

2. firewalld方式(CentOS 7+/RHEL 8+/Fedora)

单端口封禁:

# 移除Telnet端口
firewall-cmd --permanent --remove-port=23/tcp
firewall-cmd --permanent --remove-port=23/udp

# 重载规则
firewall-cmd --reload

批量封禁脚本:

#!/bin/bash
DANGER_PORTS="23 69 135 139 445 1433 3389 4899 5631 5900 6379"

for port in$DANGER_PORTS; do
    firewall-cmd --permanent --remove-port=${port}/tcp
    firewall-cmd --permanent --remove-port=${port}/udp
done

firewall-cmd --reload
echo"端口封禁完成!"

限制访问源:

# SSH仅允许指定IP访问
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port port="22" protocol="tcp" accept'
firewall-cmd --permanent --remove-service=ssh
firewall-cmd --reload

验证配置:

# 查看所有规则
firewall-cmd --list-all

# 查看已移除的端口
firewall-cmd --list-ports

3. ufw方式(Ubuntu/Debian系)

单端口封禁:

# 拒绝Telnet
ufw deny 23/tcp
ufw deny 23/udp

批量封禁:

#!/bin/bash
PORTS="23 69 135 139 445 3389 5900 6379"

for port in$PORTS; do
    ufw deny ${port}/tcp
    ufw deny ${port}/udp
done

ufw reload

限制访问源:

# SSH仅允许内网访问
ufw allow from 192.168.1.0/24 to any port 22
ufw deny 22/tcp

启用防火墙:

ufw enable
ufw status numbered

方法二:服务层关闭(彻底方式)

停止并禁用危险服务

服务 停止命令 禁用开机启动 关联端口
Telnet systemctl stop telnet.socket systemctl disable telnet.socket 23
FTP systemctl stop vsftpd systemctl disable vsftpd 21, 20
TFTP systemctl stop tftp systemctl disable tftp 69
Samba systemctl stop smb nmb systemctl disable smb nmb 139, 445
NFS systemctl stop nfs-server systemctl disable nfs-server 2049
RPC systemctl stop rpcbind systemctl disable rpcbind 111

批量停止脚本:

#!/bin/bash
SERVICES="telnet vsftpd tftp smb nmb nfs-server rpcbind"

for svc in$SERVICES; do
    systemctl stop $svc 2>/dev/null
    systemctl disable$svc 2>/dev/null
echo"已停止服务: $svc"
done

卸载不必要的服务

CentOS/RHEL系:

yum remove telnet-server -y
yum remove vsftpd -y
yum remove tftp-server -y
yum remove samba -y
yum remove nfs-utils -y

Ubuntu/Debian系:

apt remove telnetd -y
apt remove vsftpd -y
apt remove tftpd-hpa -y
apt remove samba -y
apt remove nfs-kernel-server -y

方法三:配置层加固(针对必需服务)

1. SSH端口更改(端口22)

# 编辑配置文件
vi /etc/ssh/sshd_config

# 修改端口
Port 22222

# 禁用root登录
PermitRootLogin no

# 仅允许密钥认证
PasswordAuthentication no

# 重启服务
systemctl restart sshd

# 防火墙放行新端口
firewall-cmd --permanent --add-port=22222/tcp
firewall-cmd --permanent --remove-service=ssh
firewall-cmd --reload

2. MySQL限制监听地址(端口3306)

# 编辑配置
vi /etc/my.cnf

# 添加配置
[mysqld]
bind-address = 127.0.0.1
skip-networking

# 重启服务
systemctl restart mysqld

3. Redis设置密码并绑定IP(端口6379)

# 编辑配置
vi /etc/redis.conf

# 修改配置
bind 127.0.0.1
requirepass 复杂密码!@#123
protected-mode yes

# 重启服务
systemctl restart redis

4. MongoDB启用认证(端口27017)

# 编辑配置
vi /etc/mongod.conf

# 添加配置
net:
  bindIp: 127.0.0.1

security:
  authorization: enabled

# 重启服务
systemctl restart mongod

一键封禁100个高危端口脚本

完整自动化脚本:

#!/bin/bash
# Linux高危端口一键封禁脚本
# 适用于CentOS 7+/RHEL 8+(firewalld)

# 100个高危端口列表
ALL_DANGER_PORTS="23 25 69 79 110 111 113 119 135 137 138 139 161 162 512 513 514 515 1080 1433 1434 1521 1723 1900 2049 2301 2375 2376 2389 3000 3128 3389 4444 4505 4506 4789 4800 4899 4900 5000 5631 5632 5800 5900 5901 5984 5985 5986 7001 7002 8008 8009 8090 8180 8686 9042 9080 9092 9300 9418 11211 15672 25565 27018 28015 28017 50000 50030 50060 50070 60010 60030"

# 需要保留但限制访问的端口(根据实际业务调整)
KEEP_PORTS="22 80 443 3306 6379 27017"

echo"========================================="
echo"Linux高危端口封禁脚本"
echo"========================================="

# 检查防火墙类型
if systemctl is-active --quiet firewalld; then
    FW_TYPE="firewalld"
elif systemctl is-active --quiet iptables; then
    FW_TYPE="iptables"
elifcommand -v ufw &> /dev/null; then
    FW_TYPE="ufw"
else
echo"错误:未检测到防火墙服务!"
exit 1
fi

echo"检测到防火墙类型: $FW_TYPE"

# 封禁端口
echo"开始封禁高危端口..."

for port in$ALL_DANGER_PORTS; do
case$FW_TYPEin
        firewalld)
            firewall-cmd --permanent --remove-port=${port}/tcp 2>/dev/null
            firewall-cmd --permanent --remove-port=${port}/udp 2>/dev/null
            ;;
        iptables)
            iptables -A INPUT -p tcp --dport $port -j DROP
            iptables -A INPUT -p udp --dport $port -j DROP
            ;;
        ufw)
            ufw deny ${port}/tcp 2>/dev/null
            ufw deny ${port}/udp 2>/dev/null
            ;;
esac
echo"已封禁端口: $port"
done

# 重载防火墙
case$FW_TYPEin
    firewalld)
        firewall-cmd --reload
        ;;
    iptables)
        service iptables save
        ;;
    ufw)
        ufw reload
        ;;
esac

echo"========================================="
echo"封禁完成!"
echo"========================================="

# 验证结果
echo"当前监听端口:"
ss -tulnp | grep LISTEN

echo""
echo"建议:"
echo"1. 检查业务是否正常"
echo"2. 对保留端口设置访问源限制"
echo"3. 定期扫描验证端口状态"

使用方法:

# 赋予执行权限
chmod +x block_danger_ports.sh

# 执行脚本
./block_danger_ports.sh

验证与测试

内部验证

# 检查监听端口
ss -tulnp | grep LISTEN

# 检查防火墙规则
iptables -L -n | grep DROP
firewall-cmd --list-all
ufw status

# 检查是否还有高危端口开放
ss -tulnp | grep -E ':(23|69|445|3389|6379)'

外部扫描

# 从其他机器扫描本机
nmap -sT 目标IP

# 扫描特定端口
nmap -sT 目标IP -p 23,445,3389,6379

# 扫描前100个端口
nmap -sT 目标IP --top-ports 100

  • EOF -

学习资源

如果你是也准备转行学习网络安全(黑客)或者正在学习,这里开源一份360智榜样学习中心独家出品《网络攻防知识库》,希望能够帮助到你

知识库由360智榜样学习中心独家打造出品,旨在帮助网络安全从业者或兴趣爱好者零基础快速入门提升实战能力,熟练掌握基础攻防到深度对抗。

读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)

在这里插入图片描述

1、知识库价值

深度: 本知识库超越常规工具手册,深入剖析攻击技术的底层原理与高级防御策略,并对业内挑战巨大的APT攻击链分析、隐蔽信道建立等,提供了独到的技术视角和实战验证过的对抗方案。

广度: 面向企业安全建设的核心场景(渗透测试、红蓝对抗、威胁狩猎、应急响应、安全运营),本知识库覆盖了从攻击发起、路径突破、权限维持、横向移动到防御检测、响应处置、溯源反制的全生命周期关键节点,是应对复杂攻防挑战的实用指南。

实战性: 知识库内容源于真实攻防对抗和大型演练实践,通过详尽的攻击复现案例、防御配置实例、自动化脚本代码来传递核心思路与落地方法。

2、 部分核心内容展示

360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式,既夯实基础技能,更深入高阶对抗技术。

在这里插入图片描述

360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式,既夯实基础技能,更深入高阶对抗技术。

内容组织紧密结合攻防场景,辅以大量真实环境复现案例、自动化工具脚本及配置解析。通过策略讲解、原理剖析、实战演示相结合,是你学习过程中好帮手。

1、网络安全意识

img

2、Linux操作系统

img

3、WEB架构基础与HTTP协议

img

4、Web渗透测试

img

5、渗透测试案例分享

img

6、渗透测试实战技巧

图片

7、攻防对战实战

图片

8、CTF之MISC实战讲解

图片

3、适合学习的人群

一、基础适配人群

  1. 零基础转型者‌:适合计算机零基础但愿意系统学习的人群,资料覆盖从网络协议、操作系统到渗透测试的完整知识链‌;
  2. 开发/运维人员‌:具备编程或运维基础者可通过资料快速掌握安全防护与漏洞修复技能,实现职业方向拓展‌或者转行就业;
  3. 应届毕业生‌:计算机相关专业学生可通过资料构建完整的网络安全知识体系,缩短企业用人适应期‌;

二、能力提升适配

1、‌技术爱好者‌:适合对攻防技术有强烈兴趣,希望掌握漏洞挖掘、渗透测试等实战技能的学习者‌;

2、安全从业者‌:帮助初级安全工程师系统化提升Web安全、逆向工程等专项能力‌;

3、‌合规需求者‌:包含等保规范、安全策略制定等内容,适合需要应对合规审计的企业人员‌;

因篇幅有限,仅展示部分资料,完整版的网络安全学习资料已经上传CSDN,朋友们如果需要可以在下方CSDN官方认证二维码免费领取【保证100%免费】

‌;

因篇幅有限,仅展示部分资料,完整版的网络安全学习资料已经上传CSDN,朋友们如果需要可以在下方CSDN官方认证二维码免费领取【保证100%免费】

在这里插入图片描述

文章来自网上,侵权请联系博主

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐