大家都说 Linux 是世界上最安全的操作系统,跟 Windows 这类闭源操作系统相比,Linux 在安全性上有一些特别的长处。不过呢,这可不是说 Linux 就绝对不会有问题。任何操作系统都有可能有安全漏洞,重要的是怎么赶紧处理和修好。
在 Linux 系统里,有一些很危险的端口,要是被坏人恶意利用了,就可能让系统有安全方面的危险。
运维工程师们请记住:封掉这 50 个高危端口,让你的系统稳如泰山!
SSH端口(22)
- 用途:SSH(Secure Shell)是一种安全的远程登录协议,用于加密远程登录会话。
- 风险:由于SSH的广泛使用,其默认端口22经常成为黑客攻击的目标。
- 建议:建议修改SSH服务的端口号为一个不易被猜测的端口号,或限制访问该端口的IP地址,以增强系统安全性。
Telnet端口(23)
- 用途:Telnet是一种远程登录协议,但由于其不安全性,已被SSH取代。
- 风险:若系统上启用了Telnet,黑客可能通过攻击该端口来访问系统。
- 建议:禁用Telnet服务,并改用SSH进行远程登录。
FTP端口(20、21)
- 用途:FTP(File Transfer Protocol)是一种文件传输协议,用于在本地计算机和远程服务器之间传输文件。
- 风险:FTP协议本身存在安全风险,容易被黑客利用进行攻击。
- 建议:禁用FTP服务,或改用更安全的SFTP(SSH File Transfer Protocol)进行文件传输。若必须使用FTP,请确保使用强密码,并限制访问权限。
25 - SMTP (Simple Mail Transfer Protocol)
- 用途:邮件发送。
- 风险:垃圾邮件发送者可能会利用未保护的SMTP服务器。
- 建议:确保SMTP服务仅接受来自授权客户端的连接。
110 - POP3 (Post Office Protocol version 3)
- 用途:邮件接收。
- 风险:以明文方式传输,存在安全隐患。
- 建议:使用POP3S或者IMAPS。
SMB 端口(139、445)
- 用途:SMB(Server Message Block)是一种网络文件共享协议,用于在局域网中共享文件和打印机。
- 风险:SMB协议存在多个已知漏洞,如“永恒之蓝”等,可被黑客利用进行远程攻击。
- 建议:禁用不必要的SMB服务,或限制访问权限。对于必须使用的SMB服务,请确保使用最新的安全补丁和强密码。
389 端口
- 用途:389端口主要用于LDAP(Lightweight Directory Access Protocol,轻量级目录访问协议)服务。
- 风险:LDAP注入攻击、匿名访问和弱口令、敏感信息(如用户密码、访问控制列表等)泄露。
- 建议:考虑使用 LDAPS(LDAP over SSL/TLS)等安全协议来加密389端口上的通信,加强访问控制及监控。
RDP端口(3389)
- 用途:RDP(Remote Desktop Protocol)是Windows远程桌面协议,用于远程访问Windows桌面。
- 风险:若Linux系统上运行了支持RDP的Windows虚拟机或远程桌面服务,该端口可能成为攻击目标。
- 建议:禁用不必要的RDP服务,或限制访问权限。对于必须使用的RDP服务,请确保使用强密码,并配置防火墙规则以限制访问。
MySQL端口(3306)
- 用途:MySQL是一种流行的关系型数据库管理系统,用于存储和管理数据。
- 风险:若MySQL服务配置不当,黑客可能通过攻击该端口来获取数据库访问权限。
- 建议:确保MySQL服务使用强密码,并限制访问权限。同时,定期更新MySQL的安全补丁以修复已知漏洞。
1433端口
- 用途:1433端口通常用于Microsoft SQL Server数据库服务,是SQL Server默认的TCP/IP端口。
- 风险:易受攻击、SQL注入风险、拒绝服务攻击等风险。
- 建议:更改默认端口,设置复杂的访问控制策略,限制数据库的访问策略,使用SSL加密并定期更新补丁。
113端口
- 用途:主要用于Windows的验证服务。
- 风险:可能被木马程序利用。
- 建议:关闭该端口。
119 - NNTP (Network News Transfer Protocol)
- 用途:新闻组阅读。
- 风险:恶意软件传播。
- 建议:除非必要,否则关闭此服务。
135端口
- 用途:用于RPC(Remote Procedure Call)协议和DCOM(Distributed Component Object Model)服务。
- 风险:存在“冲击波”病毒等安全风险。
- 建议:关闭该端口。
137端口
- 用途:用于NetBIOS名称服务。
- 风险:可能被攻击者利用来获取目标计算机的信息。
- 建议:关闭该端口。
138端口
- 用途:用于NetBIOS数据报服务。
- 风险:与137端口类似,存在安全风险。
- 建议:关闭该端口。
139端口
- 用途:用于NetBIOS会话服务,提供Windows文件和打印机共享功能。
- 风险:常被攻击者利用进行攻击,如使用流光、SuperScan等端口扫描工具扫描该端口并尝试获取用户名和密码。
- 建议:如果不需要提供文件和打印机共享,建议关闭该端口。
143端口
- 用途:用于IMAP(Internet Message Access Protocol)v2电子邮件接收协议。
- 风险:存在缓冲区溢出漏洞。
- 建议:若不使用IMAP服务器,关闭该端口。
443端口
- 用途:HTTPS的默认端口,用于安全的网页浏览。
- 风险:若服务器配置不当,可能被利用进行中间人攻击等。
- 建议:确保服务器使用最新的SSL/TLS证书,并配置正确的安全策略。
631端口(CUPS打印服务)
- 用途:CUPS(Common UNIX Printing System)打印服务的默认端口。
- 风险:若CUPS服务配置不当或存在安全漏洞,可能导致远程攻击者控制打印系统或窃取敏感信息。
- 建议:确保CUPS服务使用强密码和最新的安全补丁,并配置防火墙规则以限制不必要的访问。在不必要时,可以禁用或移除CUPS服务。
27017、27018 端口
- 用途:27017和27018端口主要与MongoDB数据库相关。
- 风险:MongoDB在默认情况下不设置认证机制,存在未授权访问风险。容易被攻击者扫描到,配置不当风险。
- 建议:修改默认端口并启用认证机制,限制数据库监听地址并定时更新补丁。
5000-5002端口
- 用途:这些端口通常被用于各种应用程序和服务,如Web服务器、数据库服务等。
- 风险:若应用程序或服务存在安全漏洞,这些端口可能成为攻击目标。
- 建议:对于不使用的应用程序和服务,建议关闭其对应的端口。对于必须使用的应用程序和服务,请确保它们使用强密码和最新的安全补丁。
7000-7003端口
- 用途:这些端口可能被用于各种应用程序和服务,如实时通信、远程桌面等。
- 风险:若应用程序或服务存在安全漏洞,这些端口可能成为攻击目标。
- 建议:对于不使用的应用程序和服务,建议关闭其对应的端口。对于必须使用的应用程序和服务,请确保它们使用强密码和最新的安全补丁,并限制访问权限。
80端口(HTTP)
- 用途:HTTP协议的默认端口,用于网页通信。
- 风险:若服务器配置不当或存在安全漏洞,可能被黑客利用进行Web攻击,如SQL注入、跨站脚本等。
- 建议:确保HTTP服务使用最新的安全补丁,并配置防火墙规则以限制不必要的访问。同时,建议使用HTTPS协议替代HTTP协议,以提高通信的安全性。
8080-8083端口
- 用途:这些端口通常被用于各种Web应用程序和服务,如代理服务器、Web服务器等。
- 风险:若应用程序或服务存在安全漏洞,这些端口可能成为攻击目标。
- 建议:对于不使用的应用程序和服务,建议关闭其对应的端口。对于必须使用的应用程序和服务,请确保它们使用强密码和最新的安全补丁,并限制访问权限。
9090端口
- 用途:常用于Web应用程序的通信。
- 风险:若应用程序存在安全漏洞,该端口可能成为攻击目标。
- 建议:对于不使用的应用程序,建议关闭该端口。对于必须使用的应用程序,请确保它使用强密码和最新的安全补丁。
161端口
- 用途:用于SNMP(Simple Network Management Protocol)网络管理协议。
- 风险:可能被用于网络监控和攻击。
- 建议:关闭或限制访问。
5432端口
- 用途:PostgreSQL数据库的默认端口。
- 风险:若配置不当,可能被攻击者利用。
- 建议:确保数据库使用强密码,并限制访问权限。
631端口
- 用途:CUPS(Common UNIX Printing System)打印服务的默认端口。
- 风险:存在安全漏洞,可能被攻击者利用进行远程攻击。
- 建议:禁用不必要的CUPS服务,或限制访问权限。
5900-5910 - VNC (Virtual Network Computing)
- 用途:远程桌面。
- 风险:默认配置易受攻击。
- 建议:更改默认端口号,使用强密码。
对于上述高危端口,建议采取以下措施来增强系统安全性:
- 关闭不必要的服务:对于不再使用或不需要的服务,直接关闭它们以减少安全风险。
- 修改服务配置文件:对于某些服务,可以通过修改其配置文件来更改默认端口号或禁用该服务。例如,SSH服务的配置文件通常位于/etc/ssh/sshd_config中,可以通过修改该文件来更改SSH服务的端口号。
- 限制访问权限:通过防火墙规则或服务配置文件,限制对高危端口的访问权限,仅允许信任的IP地址或子网进行访问。
- 使用强密码:确保所有服务都使用强密码进行保护,并定期更换密码。
- 定期更新和打补丁:及时更新系统和服务的补丁,以修复已知的安全漏洞。
- 监控和日志记录:启用系统监控和日志记录功能,以便及时发现和响应潜在的安全事件。
通过防火墙规则来封锁这些端口。例如,在iptables中添加规则:
sudo iptables -A INPUT -p tcp --dport <port_number> -j DROP
大家可以根据实际生产环境及时调整,并且在封禁任何端口之前,一定要确保了解其对现有服务的影响。如果确实需要运行某些服务,务必采取适当的安全措施,如更新软件版本、配置访问控制列表(ACL)、实施日志监控等。
关注 工 仲 好:IT运维大本营,获取60个G的《网工系统大礼包》+1000页Linux学习笔记
转自:https://mp.weixin.qq.com/s/_pa1DY9DyXUIOBE7boCDtA