禁用高危端口与服务的核心是“停服务+控访问+验效果”三步闭环:先用ss或netstat确认真实监听状态,再精准关停非必要服务(如mask或禁用smbv1),辅以防火墙限制访问,最后通过本地扫描和外部探测验证端口未监听、服务已停用。

禁用高危端口与服务,核心不是“封端口”,而是“停服务+控访问+验效果”三步闭环。只在防火墙里删一条规则,服务还在监听,漏洞照样能被利用。
宝塔面板11.3.0是一款针对Linux服务器设计的可视化管理工具,通过重构核心模块实现资源占用显著降低,尤其适合低配置服务器环境。它将复杂的命令行操作转化为直观的图形界面,帮助开发者快速完成网站部署、环境配置及日常运维工作,无需专业技术背景即可高效管理服务器。
先查清楚哪些端口和服务真正在运行
别靠记忆或猜测,必须用命令确认真实状态:
- 查所有监听端口(含 IPv6):
sudo ss -tuln,重点关注0.0.0.0:*和[::]:*这类通配绑定 - 查某端口由谁占用:
sudo ss -tulnp | grep :445或sudo lsof -i :3389 - 查服务是否开机自启:
systemctl list-unit-files --type=service | grep enabled - Windows 下用
netstat -ano配合services.msc对照进程 PID 和服务名
Linux 下稳妥关停非必要服务
关服务比封端口更彻底,方式要选对:
- 常规服务(如 vsftpd、rpcbind、cups):
sudo systemctl stop vsftpd && sudo systemctl disable vsftpd - 需防被其他服务拉起(如 avahi-daemon):
sudo systemctl mask avahi-daemon.service - 托管型服务(如 telnet):编辑
/etc/xinetd.d/telnet,设disable = yes,再sudo systemctl restart xinetd - 内核级协议(如 SMBv1):
echo 'options cifs disable_legacy_dialects=1' | sudo tee /etc/modprobe.d/cifs.conf,然后sudo modprobe -r cifs && sudo modprobe cifs
Windows 下精准关闭高危端口对应功能
不建议直接停系统服务(如 Server、Workstation),易引发域控或组策略异常。优先用防火墙+协议禁用组合:
- 135/139/445 端口:
- 网卡 IPv4 属性 → 高级 → 取消勾选“启用 TCP/IP 上的 NetBIOS”
- 组策略 → 计算机配置 → 管理模板 → 网络 → Lanman 工作站 → 启用“禁止 SMBv1 协议”
- 注册表
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters新建 DWORDSMBDeviceEnabled = 0
- 5985/5986(WinRM):若不用 PowerShell 远程管理,在
services.msc中禁用 Windows Remote Management (WS-Management) - 5355(LLMNR):组策略 → 计算机配置 → 管理模板 → 网络 → DNS 客户端 → 启用“关闭多播名称解析”
用防火墙做最后一道访问控制
封端口是补漏,不是替代停服务:
- Linux(firewalld):
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.10.0/24" port port="2222" protocol="tcp" accept'sudo firewall-cmd --permanent --remove-port=445/tcpsudo firewall-cmd --reload - Windows 高级安全防火墙:
新建入站规则 → 类型选“端口” → 协议 TCP/UDP → 端口填135,139,445→ 动作选“阻止连接” → 作用域设为“公用配置文件”(内网可保留) - 云服务器务必同步配置安全组:在腾讯云/阿里云控制台中,将对应端口的入方向规则设为“拒绝”,优先级高于放行规则
验证是否真正生效
人工检查容易遗漏,建议每两周跑一次:
- 本地扫描:
sudo ss -tuln | grep LISTEN,确认目标端口已无监听 - 外部探测:从另一台机器执行
nc -zv your-server-ip 445,应返回Connection refused - 检查服务状态:
systemctl is-active smb应输出inactive,systemctl is-enabled smb应输出disabled - Windows 上运行
Get-NetTCPConnection -LocalPort 445 -ErrorAction SilentlyContinue,无输出即表示未监听
不复杂但容易忽略










