1.1 登录与凭证:使用管理账号通过 SSH 登录(建议使用非 22 端口)。示例:ssh -i /path/key -p 22022 admin@ip
1.2 基本检查:执行 uname -a、lsb_release -a、ip a、ss -tunlp,确认内核、发行版和网络接口名称。
1.3 韩国CN2链路验证:使用 ping -c 10 destination、traceroute -n destination、mtr -r -c 100 destination 检查到中国/目标机房延迟与跳点,保存结果用于后续对比。
2.1 禁用root直接登录:编辑 /etc/ssh/sshd_config,设置 PermitRootLogin no、PasswordAuthentication no、AllowUsers admin;重启 sshd:systemctl restart sshd。
2.2 配置密钥登录并强制使用公钥:在 /home/admin/.ssh/authorized_keys 放入公钥,chmod 700 .ssh && chmod 600 authorized_keys。
2.3 更改 SSH 端口与限制登录频率:修改 Port 22022,并在 /etc/hosts.allow 和 /etc/hosts.deny 中限制或使用 fail2ban(见第6节)。
3.1 开启 BBR 拥塞控制(提升跨境链路吞吐):确认内核版本 >= 4.9,执行:sysctl -w net.core.default_qdisc=fq && sysctl -w net.ipv4.tcp_congestion_control=bbr,并把以下写入 /etc/sysctl.conf:
net.core.default_qdisc = fq net.ipv4.tcp_congestion_control = bbr net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_fin_timeout = 15 net.ipv4.tcp_syncookies = 1
3.2 MTU 与网卡优化:使用 ethtool -k eth0 查看 offload,必要时关闭 GRO/TSO 对高丢包链路有时有利:ethtool -K eth0 gro off gso off tso off;配置持久化可放入 /etc/rc.local 或网络脚本。
4.1 最小化开放端口:列出当前端口 ss -tunlp,关闭不必要服务。仅开放业务端口与管理端口(常见 80/443、22022)。
4.2 使用 nftables/iptables 示例(ufw 亦可):iptables -F && iptables -P INPUT DROP; iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT; iptables -A INPUT -p tcp --dport 22022 -s 管理员IP -j ACCEPT; iptables-save > /etc/iptables/rules.v4。
4.3 针对 CN2 高速链路,增加 SYN 洪泛保护:iptables -N SYNPROTECT; iptables -A INPUT -p tcp --syn -m limit --limit 10/s --limit-burst 20 -j ACCEPT; 并结合 tcp_syncookies=1。
5.1 Nginx TLS 与 HSTS:配置 TLS 1.2/1.3、禁用弱套件,使用 Let’s Encrypt 自动化证书(certbot)。在 nginx.conf 启用 ssl_prefer_server_ciphers on; ssl_protocols TLSv1.2 TLSv1.3; 添加 add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always。
5.2 数据库加固(MySQL/Postgres):限制远程访问 bind-address,创建低权限业务用户,启用日志与慢查询,定期备份(参见第8节)。
5.3 审计与文件权限:使用 chown/chmod 确保服务文件夹最低权限,启用 auditd 审计关键目录(/etc、/var/www、/home)。
6.1 配置 fail2ban:安装 apt/yum install fail2ban,编辑 /etc/fail2ban/jail.local,加入 sshd 配置:[sshd] enabled = true port = 22022 filter = sshd maxretry = 5 bantime = 3600;systemctl restart fail2ban。
6.2 部署主机级 IDS:安装 AIDE 或 OSSEC 做文件完整性检测,定期生成数据库并差异报警。
6.3 网络流量异常检测:若可接入镜像端口,建议加入简单的流量阈值检测(ntopng 或 Zeek)并联动防火墙。
7.1 日志收集:安装 rsyslog 并转发到集中日志服务器(/etc/rsyslog.d/50-forward.conf),或使用 Filebeat 发送到 ELK/Opensearch。
7.2 监控与告警:部署 Prometheus node_exporter 与 Grafana,监控 CPU、内存、磁盘、网络延迟(使用 blackbox_exporter 对外链路进行 ping/mtr 监测)。
7.3 告警策略:设置延迟/丢包阈值告警(例如到中国/目标站点平均 RTT > 200ms 或 丢包 > 2%),并配置短信/邮件/钉钉告警通道。
8.1 文件与数据库定期备份:使用 rsync + borg 或 mysqldump/gzip,示例 cron 每日备份:0 2 * * * /usr/local/bin/backup_db.sh,备份推送到异地(另一个机房或对象存储)。
8.2 自动化恢复演练:每季度演练一次恢复流程,从对象存储拉取备份并在测试环境恢复,记录完成时间与问题清单。
8.3 快速切换策略:对企业级服务预置备用节点(热备/冷备)并准备好 BGP/负载均衡切换脚本,确保链路异常时能在最短时间内切换到备用线路。
9.1 网络链路:使用 ping、traceroute、mtr、iperf3(iperf3 -c server -P 10 -t 60)来定位抖动、丢包与带宽瓶颈。
9.2 系统资源:top、htop、iostat、vmstat、sar 查看 CPU/IO/内存负载,lsof -i 查看占用端口的进程,journalctl -u 服务名 查看服务日志。
9.3 版本与补丁:列出已安装补丁并制定滚动升级计划。Debian/Ubuntu 使用 unattended-upgrades,RHEL/CentOS 使用 yum-cron 或 dnf-automatic。
10.1 定期安全扫描:每月使用 Nessus/OpenVAS 扫描漏洞、端口与弱口令,生成报告并跟踪修复。
10.2 权限审计:每季度审查用户/组/sudo 权限,删除不再使用的账户并更新密钥。
10.3 文档化与 SOP:将上述操作形成可执行的 SOP(标准操作流程)并存入版本控制,关键修改须有变更单与回滚计划。
11.1 监控地理端点延迟:在中国境内多个探测点做长期监控,对比 CN2 与普通骨干的延迟差异,记录高峰时段表现。
11.2 避免小包频繁发送:调整 NGINX/应用 keepalive 与 sendfile 设置,减少快速重连带来的额外延迟。
11.3 与运营商对接:若出现链路异常,准备好 traceroute/mtr/pcap 等数据,及时向韩国机房与 CN2 提供给对方帮助定位链路问题。
答:在相同时间窗对比三项指标:平均 RTT、丢包率、抖动。使用 mtr -r -c 100 目标IP 与 iperf3 长时间并发测试(如 -P 10 -t 60),记录多点(国内不同节点)到韩国的结果。CN2 通常表现为 RTT 更低且跳点更少。如以上指标长期优于普通线路,则可判定 CN2 优势。
答:风险包括部分旧版中间设备不兼容可能出现吞吐异常或丢包;某些云厂商镜像不支持。回滚方法:将 /etc/sysctl.conf 中 net.ipv4.tcp_congestion_control 改回 cubic(或原值),执行 sysctl -p,并重启网络相关服务;若影响严重,重启机器回到引导前内核或联系云商恢复网络设置。
答:首要 SOP 包括:1) 上线前完成链路与业务回放测试并备案;2) 配置最小权限与公钥登录,启用监控与告警;3) 建立备份与恢复演练;4) 与运营商建立快速联络通道并保存 traceroute/mtr 数据模板;5) 每次变更提交变更单并保留回滚步骤,确保任意时刻出现问题能快速定位与恢复。