1.
概览与部署前准备
1) 选择机房:推荐 Google Cloud asia-east1(台湾),延迟与本地合规优势明显;也可选用本地 ISP 或台湾机房的 VPS 提供商。
2) 带宽预算:根据业务峰值并发估算,建议初期 200Mbps 至 1Gbps 带宽弹性,遇到流量暴增即时扩容。
3) IP 与域名:提前申请弹性公网 IP(EIP),在域名注册商配置 A/AAAA 记录并启用 DNSSEC/Glue(如需)。
4) 账号与权限:使用最小权限原则创建项目、Service Account 与 IAM 角色,启用双因素认证。
5) 备份/审计:规划日志保留、快照策略与长线仓库(冷备),并列出恢复时间目标(RTO)和恢复点目标(RPO)。
2.
基础主机配置与系统选择
1) 机型建议:中小型网站可选 n1-standard-2(2 vCPU, 7.5GB),中大型建议 n1-standard-4 或更高;裸金属或高频 CPU 根据负载选择。
2) 存储:系统盘至少 50GB SSD(ext4 或 xfs),业务数据独立挂载云盘并启用分区与 LVM。
3) 操作系统:推荐 Ubuntu 22.04 LTS 或 Rocky Linux 8,内核及时打补丁并启用自动安全更新(unattended-upgrades)。
4) SSH 安全:禁用密码登录,使用非 22 端口 + 公钥认证,设置登录限制(PermitRootLogin no,AllowUsers)。
5) 性能优化:关闭不必要服务,调整 sysctl(net.ipv4.tcp_tw_reuse、fs.file-max 等),并配置 I/O 调度器为 noop 或 deadline(SSD)。
3.
网络、域名与 CDN 配置要点
1) 域名解析:设置合理 TTL(常用 300-3600),对关键记录设置较短 TTL 以便切换。
2) CDN 引入:使用 Cloudflare/阿里云 CDN 等做静态资源分发与全站加速,启用缓存规则与页面规则。
3) 反向代理:将真正 IP 隐藏在 CDN 之后,严格限制直接访问源站,仅允许 CDN 节点 IP 列表访问。
4) Anycast 与负载均衡:对外使用 Anycast IP 或云厂商负载均衡器,提升跨区域访问稳定性与抗 DDoS 能力。
5) DNS 高可用:采用主从 DNS 或云 DNS + 本地备份解析器,遇到 DNS 污染或攻击可快速切换解析。
4.
DDoS 防御与主机安全加固
1) CDN+WAF:首层靠 Cloudflare/腾讯云/阿里云 CDN 拦截大部分 L3/L4/L7 攻击,并启用托管规则与自定义规则。
2) 本机防护:启用 ufw/iptables 基本规则,仅开放必要端口(80/443/SSH),示例:iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m recent --set;iptables -A INPUT -p tcp --dport 22 -m recent --update --seconds 60 --hitcount 6 -j DROP。
3) 限速与连接追踪:调整 conntrack 最大值 net.netfilter.nf_conntrack_max=200000,并配置 tcp syn cookies。
4) 登录防护:部署 fail2ban 默认策略(ssh, nginx-auth),配置 ban 时间与最大失败次数(例如 maxretry=5,bantime=3600)。
5) 应用层安全:部署 mod_security/nginx-lua WAF,开启 OWASP CRS,限制上传大小,严格校验输入与 CSRF/XXS 保护。
5.
备份策略与灾备实践
1) 备份分层:热备(实时 rsync/主从数据库)、快照(日常快照 + 增量)、冷备(长期归档至对象存储)。
2) 工具选型:数据库可用 mysqldump+binlog 或 Percona XtraBackup;文件层推荐 restic 或 borg,支持加密与去重。
3) 备份频率示例:数据库每 1 小时增量,整库每日快照,文件系统每日 rsync + 每周完整备份。
4) 保留策略:短期 7 天、长期 30/90/365 天分层保留;异地备份至少保留一套在其他区域或云对象存储。
5) 恢复演练:每月做一次可用性恢复演练,检查备份可用性与恢复所需时间是否满足 RTO/RPO。
cron 示例(每日 03:00 备份并上传对象存储):0 3 * * * /usr/bin/restic backup /var/www --tag daily && /usr/bin/restic forget --keep-daily 7 --keep-weekly 4 --prune
6.
真实案例:某台湾部署的中型电商平台
1) 背景:某电商在台湾设主站用于本地快速响应,日活 50k,峰值并发 2k。
2) 配置:采用 GCP asia-east1,主机组 n1-standard-4 x3(负载均衡),DB 使用 Cloud SQL db-n1-standard-4,存储 SSD 200GB。
3) 防护:前端使用 Cloudflare Pro,开启 WAF 与速率限制;源站只允许 Cloudflare IP 访问。
4) 攻击与结果:一次 1.2Gbps SYN 洪泛攻击被 CDN/边缘清洗,源站仅出现短暂 30s 连接延迟,未发生数据丢失。
5) 备份与恢复:每日快照 + 每小时 binlog,历史 30 天保留;一次从快照恢复全站耗时约 12 分钟,RTO < 15 分钟,RPO < 1 小时。
7.
配置与备份计划示例表(演示数据)
| 项 | 配置/数值 |
| 主机规格 | n1-standard-4(4 vCPU / 15GB) ×3 |
| 系统盘 | SSD 100GB (ext4) |
| 数据库 | Cloud SQL db-n1-standard-4,SSD 200GB,主从 |
| 带宽峰值 | 1.2 Gbps 攻击被 CDN 清洗 |
| 备份策略 | 数据库 1h 增量,整库每日快照,文件每日 rsync,restic 加密存储 |
| 恢复时间 | 完整恢复 ~12 分钟,RTO < 15 分钟,RPO < 1 小时 |
来源:从零到一搭建台湾云服务器的安全加固与备份实践手册