
AI做图,仅供参考
服务器安全不是堆砌工具,而是精准裁剪风险。很多漏洞并非来自复杂攻击,而是源于那些从未被使用、却常年敞开的端口——比如Telnet的23端口、FTP的21端口,或是测试时留下的Redis默认6379端口。它们像一扇扇未上锁的后门,静待自动化扫描器识别并闯入。
关闭无用端口是最直接有效的防线。使用ss -tuln或netstat -tuln快速列出所有监听端口,对照业务清单逐一核查:哪些是Nginx必需的80/443?哪些是数据库仅允许内网访问的3306?凡未明确用途、无日志调用记录、非核心服务依赖的端口,一律停用对应服务或通过防火墙屏蔽。
防火墙是端口管理的中枢。推荐用ufw(Ubuntu)或firewalld(CentOS)设定默认拒绝策略,再按需开放白名单端口。例如:ufw default deny incoming,再执行ufw allow 443/tcp。避免使用allow from any,对SSH等敏感服务限制IP范围,如ufw allow from 192.168.10.5 to any port 22。
关闭端口不等于高枕无忧。需同步清理关联服务配置:禁用Telnet改用SSH;FTP替换为SFTP;将Redis绑定至127.0.0.1并设置密码认证。每个端口背后都是一段运行代码,减少攻击面的关键,在于让服务只做它该做的事。
建立端口巡检习惯。每周执行一次systemctl list-units –type=service –state=running,结合端口扫描确认服务与端口的对应关系是否合理。可编写简短脚本自动比对预设白名单与实时监听列表,异常即告警。
真正的安全感,来自确定性。当所有打开的端口都能被清晰解释、被严格管控、被定期验证,“端口一关”就不再只是操作动作,而成为系统可信的起点——数据自然回归它该在的位置,安静、完整、可控。