1.
概述:为什么要在网易云服务器香港实例上做安全加固
- 香港节点常用于面向大中华区和东南亚的业务,网络暴露面大,需重点防护。
- 云厂商提供基础隔离和带宽保护,但实例内操作系统与服务仍需加固。
- 常见威胁包含暴力破解(SSH)、Web漏洞利用、流量放大与DDoS攻击、域名劫持及未更新组件。
- 本文以Ubuntu 22.04/ CentOS 8为示例,给出具体配置、sysctl参数、iptables规则与实操命令。
- 目标:在保证可用性的前提下,把常见攻击面降到最低并保留快速恢复策略。
2.
第一步:基础实例与网络配置(含示例规格表)
- 建议规格示例:2 vCPU、4 GB 内存、80 GB SSD;公网带宽按业务预估,常见选择 100 Mbps 或按弹性带宽计费。
- 操作系统:优先选择长期支持版本,如 Ubuntu 22.04 LTS、Debian 12 或 CentOS Stream。及时启用自动安全更新。
- 安全组/主机防火墙双层策略,安全组只放行必要端口;实例内启用 ufw/iptables 做细粒度控制。
- 域名与DNS:使用独立账号管理 DNS,启用 DNSSEC(若支持)并将 A/AAAA 记录最小化暴露。
- 以下为常见实例规格与初始端口策略示例表格(仅示例,居中展示):
| 项 |
示例值 |
说明 |
| CPU |
2 vCPU |
中小型应用推荐 |
| 内存 |
4 GB |
支持并发与缓存 |
| 磁盘 |
80 GB SSD |
日志与镜像存储 |
| 带宽 |
100 Mbps |
小流量站点常见 |
| 开放端口 |
22/80/443 |
SSH仅限管理IP,HTTP/HTTPS对外 |
3.
SSH与账户安全:实操配置与命令示例
- 禁用密码登录,强制使用密钥对:编辑 /etc/ssh/sshd_config,设置 PasswordAuthentication no、PermitRootLogin no。重启 sshd。
- 更换默认22端口或使用端口敲门(port knocking)减少自动扫描曝光。示例:sshd_config Port 22022。
- 使用 fail2ban 防止暴力破解,配置 /etc/fail2ban/jail.d/ssh.local,设置 maxretry=5、bantime=3600。
- 对管理IP白名单:在云控制台的安全组中只允许固定运维IP访问 SSH。示例安全组规则:来源 203.0.113.0/32:22022。
- 日志审计:启用 auditd,记录 sudo/ssh 登录事件;定期导出到中心化日志(例如 ELK 或阿里云日志服务)。
4.
防火墙与网络策略:iptables/nftables 与 sysctl 内核硬化
- 建议使用 nftables 或 iptables-nft 接管防火墙,基础规则:允许 80/443、管理端口,drop 其余入站。
- 示例 iptables 最简规则片段:允许 established、允许 22022、80、443,drop 其余入站。记录 log-prefix 便于审计。
- 推荐 sysctl 参数(示例值):net.ipv4.ip_forward=0;net.ipv4.conf.all.rp_filter=1;net.ipv4.tcp_syncookies=1;net.ipv4.conf.all.accept_source_route=0。
- 限制 ICMP/fragment 攻击:net.ipv4.icmp_echo_ignore_broadcasts=1、net.ipv4.conf.default.accept_source_route=0。
- 性能考虑:在高并发场景下调整 conntrack 和文件句柄,示例:net.netfilter.nf_conntrack_max=262144、fs.file-max=200000。
5.
DDoS 与 CDN 防御:边缘缓解与回源保护
- 首先启用云厂商的基础带宽包及DDoS基础防护策略(网易云提供的基础清洗能力),并结合第三方 CDN(如 Cloudflare、阿里云 CDN)做边缘防护。
- 将域名 CNAME 指向 CDN,源站使用 HTTP(S) 回源并限制回源仅允许 CDN 节点访问(白名单)。
- 配置 CDN 的 WAF 规则与速率限制(rate limiting)以防爬虫与应用层攻击。
- 在回源处开启 `X-Forwarded-For` 检查、真实客户端IP还原,并在防火墙中仅允许 CDN IP 段访问 80/443。
- 案例:某B2B站点在启用 CDN+WAF 后,原先每小时峰值 1.2 亿 SYN 包攻击被边缘拦截,源站带宽占用下降 98%,恢复正常。
6.
应用与系统加固:Web 服务、数据库与证书管理
- Web 层:禁用不必要模块,强制 TLS1.2+,使用强 cipher,启用 HSTS。Nginx 示例:ssl_protocols TLSv1.2 TLSv1.3;ssl_ciphers 优先 ECDHE。
- 数据库:禁止公网直连,仅内网或通过跳板访问;启用账号最小权限,定期更换口令与备份。
- 证书:使用 Let's Encrypt 自动续期,或在控制台上传 EV/OV 证书;校验证书链并启用 OCSP Stapling 提升性能。
- 容器/中间件:限制容器能力(capabilities)、使用只读文件系统,定期扫描镜像漏洞(Clair/Trivy)。
- 案例数据:对一台 Ubuntu 22.04 的网站做加固后,弱口令扫描告警从周均 230 次下降到 12 次;fail2ban 一周内封禁 124 个恶意IP。
7.
监控、日志与应急响应:建立可操作的SOP
- 监控项:带宽/流量、连接数、错误率、CPU/内存、磁盘I/O、登录失败次数、iptables/drop计数。
- 日志集中:将 /var/log/nginx、auth.log、fail2ban 日志推送到日志平台,设置告警阈值(例如 5 分钟内 SSH 失败 >10 次)。
- 应急SOP:检测到大流量时先启用 CDN 及速率限制、临时提升清洗策略、切换只读模式、进行IP封堵与流量回溯。
- 备份与恢复:定期快照(每日/周)并在另一区域保存,数据库采用主从复制与逻辑备份(mysqldump/pg_basebackup)。
- 案例教训:一次真实事件中,通过事先准备的安全组脚本与快照恢复,团队在 30 分钟内将受影响服务回滚到安全快照并恢复 95% 可用性。
来源:从零到一教你配置网易云服务器香港的安全加固策略