很多教学视频演示快速登录的方式却忽略了关闭默认root远程登录与更改默认端口。建议先在 /etc/ssh/sshd_config 中设置 PermitRootLogin no,并使用 AllowUsers 指定登录用户。此外,考虑把默认的22端口改为其他高位端口并配合防火墙规则限制来源IP,能大幅降低被暴力破解的风险。
1)编辑 /etc/ssh/sshd_config;2)设置 PermitRootLogin no;3)添加 AllowUsers youruser;4)重启 SSH 服务(systemctl restart sshd)。
sudo sed -i 's/#Port 22/Port 2222/' /etc/ssh/sshd_config;sudo systemctl restart sshd。注意改端口同时要在防火墙放行新端口。
启用 密钥认证 并禁用密码登录能进一步提升安全性。
很多视频示范直接用 root 或 chmod 777 来解决权限问题,这是极不安全的做法。应根据最小权限原则,创建专用用户或组,赋予特定目录合适的权限,例如 750 或 755,根据是否需要群组访问决定。
用 chown 指定目录所有者与群组(chown -R deploy:deploy /var/www/app),并设置 umask 或 setfacl 以确保新文件继承正确权限。
不要对公开可写目录使用 777,避免任意用户或恶意程序写入并执行代码。使用 ACL 可以更细粒度控制用户的读写执行权限。
若需临时开放权限,可在完成操作后立即恢复为更严格的权限设置。
很多教学把防火墙步骤省略,导致服务器在实际部署时暴露过多端口。应只开放必要端口(如 80/443、指定 SSH 端口),并使用台湾地区或公司网络策略限制管理端口访问来源。
使用 ufw、firewalld 或 iptables 管理规则,设置默认拒绝入站(policy deny)并明确允许出站。对管理端口启用 IP 白名单或 VPN 访问。
ufw default deny incoming;ufw allow from 203.0.113.0/24 to any port 2222;ufw allow 80/tcp;ufw enable。
在更改规则前通过控制台或备份方式保留紧急访问手段,避免误锁定自己。
视频常只示范单用户操作,缺少多用户权限管理与审计示例。应演示如何用 sudoers 精细授权(visudo),并启用命令审计日志(auditd)记录关键操作,便于事后追溯。
通过 visudo 为普通用户授予有限 sudo 权限(例如仅允许重启服务或查看日志),并使用 auditctl/auditd 记录关键文件与命令操作。
添加 audit 规则监控 /etc/sudoers 与 /var/www:auditctl -w /etc/sudoers -p wa -k sudo_changes。
定期检查审计日志并将日志发送到远程日志服务器或 SIEM,避免本地日志被篡改。
很多下载教程只是示范如何安装软件,但很少强调及时更新与验证软件来源。务必使用台湾服务器对应的官方仓库或受信任的第三方源,启用自动安全更新或定期检查补丁,并验证包签名。
启用 unattended-upgrades(Debian/Ubuntu)或配置 yum-cron/dnf-automatic(CentOS/RHEL)以自动安装安全补丁,同时为关键服务制定维护窗口以防更新导致服务中断。
使用 gpg/apt-key 或 rpm --checksig 验证包签名,避免安装来历不明的软件包。
在生产环境推送更新前,先在测试环境做回归测试,并备份关键配置与数据。