Help Center

Home Help Center Technical Docs

香港Cloud ServersUbuntu 22.04安全加固与Nginx调优验证手册

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

一、适用环境与备份要求

1.1 适用环境

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

1.2 备份要求

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

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基础安全Configuration

2.1 创建普通用户并ConfigurationSSH密钥

先创建普通用户并加入 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 时建议先备份,查找并修改以下参数。以下仅为Configuration片段,请根据实际端口和用户调整。

PermitRootLogin no
PubkeyAuthentication yes
PasswordAuthentication yes

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

2.2 ConfigurationUFW防火墙

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

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

2.3 Configurationfail2ban和自动安全更新

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

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

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

三、Nginx性能optimized

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

服务器Operations与技术Configuration场景示意图

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

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

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 Configuration静态缓存与连接限制

可在 /etc/nginx/conf.d/global_perf.conf 中Configuration连接限制,并在站点 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 Configuration验证与热加载

每次修改后必须执行 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 核对规则序号,不要直接重置全部规则。

五、总结

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

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

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

六、常见问题

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

因为错误Configuration可能导致None法登录。保留已连接终端可及时回滚,避免需要重装或Dashboard救援。

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

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

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

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