帮助中心

首页 帮助中心 技术文档

香港云服务器Ubuntu 22.04安全加固与Nginx调优验证手册

本文面向 亿达网络(IDCY GLOBAL) 香港云服务器用户,记录 Ubuntu 22.04 LTS 系统初始化后的安全配置与 Nginx 性能优化步骤。对需要快速部署、灵活扩展的网站应用和开发测试环境,完成基础加固与性能调优有助于提升上线后的可维护性。操作前请先备份关键配置,并在新终端验证修改结果。

一、适用环境与备份要求

1.1 适用环境

本文示例基于 Ubuntu 22.04 LTS 和 Nginx 1.22/1.24,其他版本请以官方文档为准。使用香港云服务器时,可在系统初始化后按本文步骤进行基础加固与调优。

1.2 备份要求

修改前需备份 SSH 主配置、Nginx 配置目录和当前防火墙规则。

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak.$(date +%F)
sudo cp -r /etc/nginx /etc/nginx.bak.$(date +%F)
sudo ufw status numbered > ~/ufw-status.bak

二、Linux基础安全配置

2.1 创建普通用户并配置SSH密钥

先创建普通用户并加入 sudo 组,确认密钥登录成功后再收紧 SSH。不要直接在未验证的新终端上禁止密码登录。

sudo adduser deploy
sudo usermod -aG sudo deploy
mkdir -p ~/.ssh
chmod 700 ~/.ssh
nano ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

编辑 /etc/ssh/sshd_config 时建议先备份,查找并修改以下参数。以下仅为配置片段,请根据实际端口和用户调整。

PermitRootLogin no
PubkeyAuthentication yes
PasswordAuthentication yes

在确认新密钥终端可正常登录后,可再将 PasswordAuthentication 设置为 no,然后执行 sudo sshd -t 验证配置。

2.2 配置UFW防火墙

启用防火墙前,必须先确保当前 SSH 端口已允许。以下命令按默认 22 端口示例,如已修改 SSH 端口请替换。

sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable
sudo ufw status numbered

2.3 配置fail2ban和自动安全更新

可安装 fail2ban 限制 SSH 与 Nginx 异常尝试,并启用无人值守安全更新。

sudo apt update
sudo apt install fail2ban -y
sudo systemctl enable fail2ban --now
sudo dpkg-reconfigure --priority=low unattended-upgrades

fail2ban 默认配置通常已够用,如需调整请先复制 /etc/fail2ban/jail.conf 为 jail.local 后再修改。

三、Nginx性能优化

Nginx 性能优化可参考性能优化基础思路,先备份后修改,避免直接覆盖主配置。

服务器运维与技术配置场景示意图

3.1 调整工作进程与连接参数

建议先复制主配置,再使用文本编辑器调整 worker_processes 和 events 参数。以下片段只是示例,不是完整主配置。

sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak.$(date +%F)
sudo nano /etc/nginx/nginx.conf
# /etc/nginx/nginx.conf
worker_processes auto;
events {
    worker_connections 1024;
}
http {
    keepalive_timeout 65;
    gzip on;
    gzip_comp_level 5;
    gzip_min_length 256;
    gzip_types text/plain text/css application/json application/javascript image/svg+xml;
}

以上文件需保留原有 include 指令,仅根据现有结构追加或修改对应参数。

3.2 配置静态缓存与连接限制

可在 /etc/nginx/conf.d/global_perf.conf 中配置连接限制,并在站点 server 块中添加静态资源缓存。

limit_req_zone $binary_remote_addr zone=req_per_ip:10m rate=10r/s;
limit_conn_zone $binary_remote_addr zone=conn_per_ip:10m;

location ~* \.(css|js|jpg|jpeg|png|webp|svg|ico)$ {
    expires 7d;
    add_header Cache-Control 'public, max-age=604800';
    try_files $uri =404;
}

连接限制参数需根据业务流量调整,不要直接套用极低阈值。

3.3 配置验证与热加载

每次修改后必须执行 sudo nginx -t,确认语法通过后再热加载。

sudo nginx -t
sudo systemctl reload nginx
sudo nginx -T | grep -E 'gzip|worker_processes'

四、验证方法与回滚思路

4.1 功能验证

  • 新开终端使用密钥登录,确认 SSH 正常。
  • 执行 sudo ufw status numbered,确认 22、80、443 放行且没有误封端口。
  • 执行 sudo nginx -t 与 curl -I http://127.0.0.1/,检查静态资源缓存头与 Nginx 响应。
  • 执行 sudo fail2ban-client status sshd,确认服务运行。

4.2 回滚

若出现连接异常或站点不可用,可用备份文件恢复。以下示例中的日期后缀需替换为实际备份文件名。

sudo cp /etc/ssh/sshd_config.bak.2025-01-01 /etc/ssh/sshd_config
sudo cp -r /etc/nginx.bak.2025-01-01 /etc/nginx
sudo systemctl reload ssh nginx

恢复后重新执行 sudo nginx -t,并在新终端验证 SSH 登录。若问题由防火墙引起,可优先使用 sudo ufw status numbered 核对规则序号,不要直接重置全部规则。

五、总结

以上步骤可作为香港云服务器上 Ubuntu 环境的基础安全与性能优化实践。将本文内容与相关检查项结合,可形成更完整的上线前基线。更多安全配置文档可查看 Linux服务器安全配置指南。

Nginx 参数调优完成后,建议结合 Nginx服务器性能优化指南 进行压力测试和监控验证。

如需香港节点资源,可查看 香港KVM VPS 的产品页面。

六、常见问题

为什么修改 SSH 配置前必须保留一个可用终端?

因为错误配置可能导致无法登录。保留已连接终端可及时回滚,避免需要重装或控制台救援。

Nginx 调优后可以直接重启服务吗?

不建议直接重启,应先执行 sudo nginx -t 验证语法,再使用 sudo systemctl reload nginx 平滑重载,减少连接中断。

UFW 启用后无法连接服务器怎么办?

优先通过云服务商控制台或带外管理确认防火墙规则,核对当前端口是否放行,再使用备份规则恢复或删除误加条目。