1.
概述与准备工作
在开始前,备份当前配置与重要数据(rsync、快照或云端快照)。记录操作系统版本、内核版本、云厂商控制台入口与安全组规则。建议在测试环境先验证步骤。示例:sudo rsync -a /etc/ /backup/etc-$(date +%F)/
2.
系统与软件更新(基础第一步)
Debian/Ubuntu:sudo apt update && sudo apt upgrade -y。CentOS/RHEL:sudo yum update -y。启用自动补丁:Ubuntu apt: sudo apt install unattended-upgrades && sudo dpkg-reconfigure --priority=low unattended-upgrades;RHEL 可用 yum-cron 并调整策略。
3.
SSH 安全加固(逐项实际操作)
编辑 /etc/ssh/sshd_config:禁止密码登录 PasswordAuthentication no;禁止 root 直接登录 PermitRootLogin no;启用公钥登录并设定允许的用户 AllowUsers username;更改默认端口 Port 2222(请同时在防火墙/安全组开放)。编辑后运行 sudo systemctl restart sshd 或 ssh restart。
4.
防火墙与安全组规则
主机防火墙(UFW例):sudo ufw default deny incoming; sudo ufw default allow outgoing; sudo ufw allow 2222/tcp; sudo ufw enable。CentOS 使用 firewalld:sudo firewall-cmd --permanent --add-port=2222/tcp; sudo firewall-cmd --reload。云控制台也要同步修改安全组或网络ACL,确保入站最小化。
5.
用户、权限与sudo策略
建立专用运维用户:sudo adduser ops;将用户加入 sudo 组并编辑 /etc/sudoers.d/ops 限制执行命令(使用 visudo)。禁止弱口令并强制使用密钥:chage -d 0 username 强制首次更改密码;使用 pam_pwquality 配置复杂度。
6.
文件完整性与主机入侵检测(HIDS)
安装并初始化 AIDE:Debian/Ubuntu sudo apt install aide;sudo aideinit;sudo cp /var/lib/aide/aide.db.new /var/lib/aide/aide.db。将 aide check 添加到 cron(每天检查)并把输出通过邮件或 syslog 汇总。
7.
部署Wazuh/OSSEC作集中化HIDS
选用 Wazuh:在管理端部署 Wazuh server 并在主机安装 agent。简要安装(Ubuntu):curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | sudo apt-key add - ; 添加 repository 并 sudo apt update && sudo apt install wazuh-agent;然后在 manager 上登记 agent 并启动:sudo systemctl enable --now wazuh-agent。配置 rules 与告警阈值。
8.
网络入侵检测(NIDS)——Suricata / Snort
安装 Suricata:sudo apt install suricata。设置运行模式(IDS 模式下监听镜像流量或桥接接口),更新规则(使用 Emerging Threats 或本地规则),并把输出同步到 ELK/Graylog 以便关联分析。
9.
日志集中化与审计(ELK / Graylog /Syslog)
配置 rsyslog 或 filebeat 将 /var/log 转发到集中日志平台。启用 auditd:sudo apt install auditd;配置 /etc/audit/audit.rules 记录关键命令与文件访问。使用 ausearch/aureport 做事后审计。
10.
自动化检测与告警策略
在监控系统设置关键指标(CPU/内存/磁盘/登录异常/高频失败登录)。例:Prometheus + alertmanager,设定告警阈值并通过邮件/Slack/SMS 通知。结合 HIDS 规则触发高优先事件。
11.
备份、快照与应急恢复流程
制定 RPO/RTO,使用离线加密备份(Borg/Rclone)或云快照(VM snapshot)。定期演练恢复:在测试环境做一次从快照恢复并验证应用可用性与完整性。
12.
硬化内核与网络参数
编辑 /etc/sysctl.conf,启用以下示例:net.ipv4.ip_forward=0;net.ipv4.conf.all.rp_filter=1;net.ipv4.tcp_syncookies=1。sudo sysctl -p 应用。关闭不必要的内核模块与服务(systemctl disable --now
)。
13.
台湾托管与合规注意事项
留意资料所在法域与个人资料保护法(如台湾法规)。确认数据备份与跨区传输策略,若使用 CDN 或 DDoS 保护服务(如 Cloudflare)请配置接入与回源白名单,测试高可用性。
14.
运维自动化与流水线安全
将配置管理(Ansible/Terraform)纳入版本控制,使用 CI/CD 管道执行变更审查。对密钥使用 Vault 管理并限制每个服务的最小权限。
15.
日常巡检清单(可复制执行)
每天:检查失败登录次数(/var/log/auth.log)、AIDE 报告、IDS 报警。每周:更新漏洞与补丁。每月:审计 sudoers 与账户变更;每季度:恢复演练。
16.
问:在台湾托管的云主机如何优先实施加固?
答:优先级建议为(1)备份与快照,(2)系统更新与自动补丁,(3)SSH 与防火墙加固,(4)部署日志/审计与 HIDS,按此顺序可最快降低风险并保证可恢复性。
17.
问:如何在有限预算下实现有效入侵检测?
答:采用开源工具组合(AIDE + Wazuh agent + Suricata 或简化为 AIDE + centralized syslog),结合云快照与简单告警(邮件/Slack),优先检测文件篡改与异常登录即可覆盖高风险场景。
18.
问:若检测到入侵,第一步如何应对?
答:立即按应急预案隔离受影响主机(切断公网/调整安全组),保留内存与磁盘证据(快照、dd 镜像),随后在隔离环境做取证分析并根据恢复策略从备份恢复服务。
来源:台湾托管服务器云主机安全加固措施与入侵检测实践建议