1. 购买与选择香港云服务器(环境准备)
- 建议选择香港机房、按需付费的主流云厂商(阿里云香港、腾讯云香港、Vultr、AWS SG/HK 区域等)。
- 配置建议:1核/1G 起(轻量站点),生产环境 2核/4G+, SSD 磁盘。
- 选择镜像:推荐 Ubuntu 22.04 LTS 或 Debian 12,便于长期维护与安全更新。
2. 创建实例与设置密钥(安全登录)
- 在控制台创建实例时上传或生成 SSH 公钥;若使用密码登录,只有临时使用后必须立即禁用。
- 本地生成密钥:ssh-keygen -t ed25519 -C "your_email@example.com"。上传 ~/.ssh/id_ed25519.pub 到云平台或创建后手动放入 /home/youruser/.ssh/authorized_keys。
3. 初次登录与系统更新(初始化)
- 登录:ssh -i ~/.ssh/id_ed25519 ubuntu@your_server_ip。
- 更新并安装常用工具:sudo apt update && sudo apt -y upgrade && sudo apt -y install vim git curl ufw fail2ban unattended-upgrades.
4. 创建非 root 用户并禁用密码登录(用户加固)
- 新建用户并授权 sudo:sudo adduser deployuser && sudo usermod -aG sudo deployuser。
- 拷贝公钥:sudo mkdir /home/deployuser/.ssh && sudo cp ~/.ssh/authorized_keys /home/deployuser/.ssh/ && sudo chown -R deployuser:deployuser /home/deployuser/.ssh && sudo chmod 700 /home/deployuser/.ssh && sudo chmod 600 /home/deployuser/.ssh/authorized_keys。
- 编辑 /etc/ssh/sshd_config:PermitRootLogin no, PasswordAuthentication no, PubkeyAuthentication yes, 可选更改 Port 2222。修改后 sudo systemctl restart sshd。
5. 配置防火墙 UFW(端口与服务控制)
- 基本策略:sudo ufw default deny incoming && sudo ufw default allow outgoing。
- 允许必要端口(示例):sudo ufw allow 2222/tcp(如果修改 SSH 端口),sudo ufw allow 80/tcp, sudo ufw allow 443/tcp, sudo ufw enable。
- 查看状态:sudo ufw status verbose。
6. 安装 Nginx 与 PHP/MySQL(Web 环境搭建)
- 安装 Nginx:sudo apt install -y nginx。
- 若用 PHP:sudo apt install -y php-fpm php-mysql。配置 /etc/php/8.1/fpm/pool.d/www.conf,监听 sock 或 127.0.0.1:9000。
- 若用 MySQL:sudo apt install -y mariadb-server && sudo mysql_secure_installation 完成初始加固(设置 root 密码、删除匿名用户、禁止远程 root、删除 test 数据库)。
7. 配置 Nginx 站点与文件权限(虚拟主机)
- 创建站点目录:sudo mkdir -p /var/www/yourdomain.com/html && sudo chown -R deployuser:www-data /var/www/yourdomain.com && sudo chmod -R 750 /var/www/yourdomain.com。
- Nginx 配置示例 /etc/nginx/sites-available/yourdomain.com:server_name yourdomain.com www.yourdomain.com; root /var/www/yourdomain.com/html; index index.php index.html; location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.1-fpm.sock; }。启用并测试:sudo ln -s ... && sudo nginx -t && sudo systemctl reload nginx。
8. 配置 HTTPS(Let's Encrypt 自动签发)
- 安装 Certbot:sudo apt install -y certbot python3-certbot-nginx。
- 自动申请并配置:sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com,选择 80 重定向到 443。
- 自动续期:系统默认安装定时任务,可手动测试 sudo certbot renew --dry-run。
9. 部署 Fail2Ban 与基本防爆破策略(入侵防护)
- Fail2Ban 安装:sudo apt install -y fail2ban。
- 简单配置 /etc/fail2ban/jail.local 示例: [sshd] enabled = true port = 2222 maxretry = 5 bantime = 3600;reload:sudo systemctl restart fail2ban。
- 查看状态:sudo fail2ban-client status sshd。
10. 安装 ModSecurity 或使用云 WAF(应用层保护)
- 若使用 Nginx,可使用 ModSecurity + OWASP CRS:sudo apt install libnginx-mod-http-modsecurity && 配置 /etc/modsecurity/modsecurity.conf 与规则。
- 对于不熟悉规则的人,推荐使用云厂商 WAF(阿里云/腾讯云 CloudWAF)或 Cloudflare,拦截 SQL 注入与 XSS。
11. 系统加固与内核网络限制(硬化参数)
- 编辑 /etc/sysctl.conf 添加:net.ipv4.ip_forward=0, net.ipv4.conf.all.rp_filter=1, net.ipv4.tcp_syncookies=1。执行 sudo sysctl -p。
- 关闭不必要服务:sudo systemctl disable --now snapd.service(按需),列出服务:systemctl list-unit-files --type=service。
12. 备份、监控与自动更新(可靠性)
- 备份:配置每日 rsync 或使用云快照;示例脚本备份 webroot 到远端:rsync -avz /var/www/ user@backup_host:/backup/yourdomain/。
- 监控:安装 Prometheus node_exporter 或使用 UptimeRobot/云监控报警。
- 自动更新:sudo dpkg-reconfigure --priority=low unattended-upgrades 并在 /etc/apt/apt.conf.d/50unattended-upgrades 配置安全更新。
13. 常见维护与应急响应(运维建议)
- 日志审计:定期检查 /var/log/auth.log, /var/log/nginx/access.log, /var/log/nginx/error.log;用 journalctl -u 服务名 查看系统日志。
- 恶意入侵应对:切断公网、快照磁盘、备份日志、用 chkrootkit/lynis 扫描、重装系统或清理、修改所有密钥与密码。
14. 问:香港云服务器建站延迟与国内访问是否合适?
- 答:香港机房对国内访问通常延迟低、且合规相对宽松,特别适合对港澳台或东南亚用户;若主要面向中国大陆,建议配合 CDN(如 Cloudflare、阿里云 CDN)或使用国内备案服务以提升稳定性和合规性。
15. 问:SSH 被爆破怎么办?(一问一答)
- 答:立即从安全机或另一个可信网络登录,修改 SSH 端口并锁定可访问 IP(UFW allow from your_ip to any port 2222),更换并重新部署 SSH 密钥,审计 /var/log/auth.log 找到来源并在 fail2ban 增加规则,必要时拉取快照和检查是否有后门。
16. 问:如何低成本长期维护安全并做到自动化?
- 答:结合自动更新(unattended-upgrades)、定期快照、自动备份脚本、监控告警(免费 UptimeRobot + Prometheus)和云 WAF/CDN 做第一道防线;把常用运维脚本写成 Ansible playbook 实现一键重建与合规检查。
来源:教你从零开始在香港云服务器怎么建站安全加固全攻略