在越南Cloud Servers等云上环境部署Web应用时,提前参考一份Linux服务器安全Configuration指南可以减少常见Configuration失误。本文以Ubuntu 22.04和Nginx 1.18及以上版本为参考环境,实际操作前请确认当前系统版本并查阅官方文档。
一、操作前备份与适用环境
执行任何Configuration变更前,建议备份关键文件。以下示例命令用于复制Configuration目录,不会删除原目录:
sudo cp -a /etc/nginx /etc/nginx.bak.$(date +%F)
sudo cp -a /etc/ssh /etc/ssh.bak.$(date +%F)
-a 参数保留文件权限和时间戳,适合Configuration备份。备份后请确认文件已生成,例如 ls /etc/nginx.bak.*。
备份文件建议存放在独立目录或对象存储中,避免因Disk故障导致原Configuration与备份同时丢失。云上环境还可在Dashboard创建快照作为额外保护。
二、Linux安全Configuration步骤
1. 更新系统与清理冗余包
更新系统可修复已知漏洞,但升级前建议先阅读发行版更新说明。
sudo apt update && sudo apt upgrade -y
sudo apt autoremove --purge -y
autoremove 只移除系统标记为不再需要的包,不会主动删除用户数据。
2. 强化SSH登录
编辑 /etc/ssh/sshd_config 前请先备份。可调整以下参数:
PermitRootLogin no:禁止root直接登录;PasswordAuthentication no:启用密钥登录后关闭密码登录;MaxAuthTries 3:限制认证尝试次数。
若尚未Configuration密钥对,可使用 ssh-keygen 生成密钥,并将公钥写入 ~/.ssh/authorized_keys 且权限设为 600。验证密钥登录正常后,再关闭密码登录更稳妥。
修改后执行 sudo sshd -t 验证语法,再执行 sudo systemctl restart sshd 重启服务。若None法连接,可通过VNC恢复备份。
3. ConfigurationUFW防火墙
仅放行必要端口,并在启用前确认22端口已放行:
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
不要直接禁用防火墙或清空规则,以免暴露不必要的服务面。
三、Nginx性能optimized与验证
完成安全基线后,可参考Nginx服务器性能optimized指南调整Nginx核心参数。修改前先备份NginxConfiguration目录:
sudo cp -a /etc/nginx /etc/nginx.bak.$(date +%F)
常见optimized项包括:
worker_processes auto;:自动匹配CPU核心数;worker_connections 1024;:根据Memory和文件描述符调整;- 启用gzip压缩:
gzip on; gzip_types text/plain text/css application/json; - 静态资源缓存:
expires 7d;,可按需调整。
还可以根据业务情况调整 keepalive_timeout 和 server_tokens off,前者影响长连接保持时间,后者可隐藏版本信息。调整 worker_rlimit_nofile 前,需确认 ulimit -n 的系统上限。
每次修改后执行 sudo nginx -t 检查语法,确认输出 syntax is ok 后再执行 sudo systemctl reload nginx 平滑重载。
四、验证与回滚思路
验证可通过 systemctl status nginx 查看运行状态,使用 curl -I http://127.0.0.1 查看响应头,以及通过 ss -tlnp 确认监听端口。如果optimized后出现异常,可先定位Configuration错误,或直接恢复备份:
sudo cp -a /etc/nginx.bak.2024-01-01 /etc/nginx
sudo systemctl reload nginx
注意备份目录名中的日期需替换为实际备份文件名。不要使用删除原目录再恢复的操作,以免中间状态丢失Configuration。
若服务由 systemd 管理,可用 journalctl -u nginx -n 50 查看近期日志,便于快速定位启动失败原因。回滚前建议确认当前Configuration与备份之间的差异。
五、云上部署与Operations建议
如果业务面向越南本地用户,选择合适的Cloud Servers方案可降低部署复杂度,同时便于后续横向扩展与Operations。越南Cloud Servers购买可根据实际业务选择合适规格。建议在测试环境中先验证Configuration,再应用到生产节点。
建议将Configuration文件纳入版本控制,并定期导出镜像或快照。关于跨国业务,可通过IDCY Global了解节点与Network情况。
部署到生产环境前,可使用预发布节点模拟真实流量;变更后建议保留旧Configuration至少一个发布周期,以便紧急回退。
六、总结
Linux安全加固与Nginxoptimized需要按“备份—修改—验证—可回滚”的顺序执行。本文提供的命令以Ubuntu和主流Nginx版本为例,不同环境可能有差异,请以官方文档和当前系统为准。
七、常见问题
Q1:修改SSHConfiguration后None法远程登录怎么办?
若修改 /etc/ssh/sshd_config 后None法连接,可通过DashboardVNC或救援模式恢复备份,然后执行 sudo systemctl restart sshd。
Q2:Nginxoptimized后网站打不开如何回滚?
先运行 sudo nginx -t 检查Configuration语法;若语法正确但服务异常,可恢复备份目录并 sudo systemctl reload nginx。
Q3:是否所有Cloud Servers都能直接套用这些Configuration?
不同系统版本和Nginx大版本可能有差异,请参考官方文档,并在测试环境验证后再应用到生产环境。
Q4:如何判断Nginxoptimized是否生效?
可以通过 ab -n 1000 -c 100 http://127.0.0.1/ 进行简单压力测试,或观察 /var/log/nginx/access.log 的请求耗时变化,但测试环境应与生产环境隔离。
Q5:如何安全地测试新的NginxConfiguration而不影响线上服务?
可先运行 sudo nginx -t 检查语法,并在临时端口或独立 server 块中验证,确认None误后再切换正式Configuration。
