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

服务器被黑?黑客最爱攻击这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个)完整列表:

代码语言:javascript复制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, 60030Linux系统封禁操作前准备工作必须完成的检查:

确认当前业务对哪些端口有依赖备份现有防火墙规则准备回退方案在测试环境先验证

检查当前开放端口:

代码语言:javascript复制# 查看所有监听端口

ss -tulnp | grep LISTEN

# 检查特定高危端口

ss -tulnp | grep -E ':(23|135|445|3389|6379)'

# 扫描本机开放端口

nmap -sT 127.0.0.1

方法一:防火墙层封禁(推荐)1. iptables方式(CentOS 6/7及传统系统)单端口封禁:

代码语言:javascript复制# 封禁Telnet端口

iptables -A INPUT -p tcp --dport 23 -j DROP

iptables -A INPUT -p udp --dport 23 -j DROP

# 保存规则

service iptables save

批量封禁脚本:

代码语言:javascript复制#!/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访问(白名单):

代码语言:javascript复制# 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

验证规则:

代码语言:javascript复制# 查看所有规则

iptables -L -n --line-numbers

# 查看封禁的端口

iptables -L INPUT -n | grep DROP

2. firewalld方式(CentOS 7+/RHEL 8+/Fedora)单端口封禁:

代码语言:javascript复制# 移除Telnet端口

firewall-cmd --permanent --remove-port=23/tcp

firewall-cmd --permanent --remove-port=23/udp

# 重载规则

firewall-cmd --reload

批量封禁脚本:

代码语言:javascript复制#!/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"端口封禁完成!"

限制访问源:

代码语言:javascript复制# 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

验证配置:

代码语言:javascript复制# 查看所有规则

firewall-cmd --list-all

# 查看已移除的端口

firewall-cmd --list-ports

3. ufw方式(Ubuntu/Debian系)单端口封禁:

代码语言:javascript复制# 拒绝Telnet

ufw deny 23/tcp

ufw deny 23/udp

批量封禁:

代码语言:javascript复制#!/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

限制访问源:

代码语言:javascript复制# SSH仅允许内网访问

ufw allow from 192.168.1.0/24 to any port 22

ufw deny 22/tcp

启用防火墙:

代码语言:javascript复制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

批量停止脚本:

代码语言:javascript复制#!/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系:

代码语言:javascript复制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系:

代码语言:javascript复制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)代码语言:javascript复制# 编辑配置文件

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)代码语言:javascript复制# 编辑配置

vi /etc/my.cnf

# 添加配置

[mysqld]

bind-address = 127.0.0.1

skip-networking

# 重启服务

systemctl restart mysqld

3. Redis设置密码并绑定IP(端口6379)代码语言:javascript复制# 编辑配置

vi /etc/redis.conf

# 修改配置

bind 127.0.0.1

requirepass 复杂密码!@#123

protected-mode yes

# 重启服务

systemctl restart redis

4. MongoDB启用认证(端口27017)代码语言:javascript复制# 编辑配置

vi /etc/mongod.conf

# 添加配置

net:

bindIp: 127.0.0.1

security:

authorization: enabled

# 重启服务

systemctl restart mongod

一键封禁100个高危端口脚本完整自动化脚本:

代码语言:javascript复制#!/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. 定期扫描验证端口状态"

使用方法:

代码语言:javascript复制# 赋予执行权限

chmod +x block_danger_ports.sh

# 执行脚本

./block_danger_ports.sh

验证与测试内部验证代码语言:javascript复制# 检查监听端口

ss -tulnp | grep LISTEN

# 检查防火墙规则

iptables -L -n | grep DROP

firewall-cmd --list-all

ufw status

# 检查是否还有高危端口开放

ss -tulnp | grep -E ':(23|69|445|3389|6379)'

外部扫描代码语言:javascript复制# 从其他机器扫描本机

nmap -sT 目标IP

# 扫描特定端口

nmap -sT 目标IP -p 23,445,3389,6379

# 扫描前100个端口

nmap -sT 目标IP --top-ports 100

相关推荐

365注册后怎么注销 《完美世界》2025年6月12日更新公告

《完美世界》2025年6月12日更新公告

365注册后怎么注销 华为用什么摄像头 华为手机四个摄像头分别有什么用

华为用什么摄像头 华为手机四个摄像头分别有什么用

365注册后怎么注销 天谕开服时间查询

天谕开服时间查询