一、初始登录与基础账户安全设置
购买VPS服务器后的首要任务是建立安全的初始连接环境。通过SSH(安全外壳协议)远程登录时,务必使用密钥认证替代传统的密码登录方式。生成2048位以上的RSA密钥对,将公钥上传至服务器authorized_keys文件,同时禁用root账户的直接登录权限。您是否知道,超过70%的服务器入侵都源于弱密码或默认凭证?创建具有sudo权限的专用管理账户,并设置复杂的密码策略,包括最小长度12位、包含大小写字母、数字和特殊字符的组合。定期使用passwd命令强制更换密码,建议周期不超过90天。
二、系统更新与漏洞修补策略
保持系统组件处于最新状态是防御已知漏洞的关键措施。根据发行版类型执行相应命令:对于CentOS/RHEL系统运行yum update -y,Ubuntu/Debian系统则使用apt-get update && apt-get upgrade -y。配置自动安全更新机制,通过crontab设置每周凌晨执行无人值守更新。特别要注意内核版本升级后需要重启生效,建议在业务低峰期通过wall命令通知所有用户。如何确保补丁不会影响现有服务?建立测试环境验证关键更新,使用工具如needrestart检查需要重启的服务进程。同时启用unattended-upgrades包自动安装安全更新,但需排除可能引起冲突的特定软件包。
三、防火墙配置与端口管理规范
iptables或firewalld是Linux系统自带的强大防火墙工具。执行nmap localhost扫描所有开放端口,关闭非必要的服务端口(如telnet的23端口)。默认策略应设置为DROP所有入站流量,仅允许明确需要的端口:SSH(建议修改默认22端口)、HTTP/HTTPS等。针对Web服务器,启用速率限制防止暴力破解,使用iptables的recent模块限制每分钟SSH连接尝试不超过5次。您是否配置了IPv6防火墙规则?许多管理员会忽略这一点,导致安全防护出现缺口。建议保存规则到持久化配置文件(iptables-save > /etc/iptables.rules),并设置开机自动加载。
四、入侵检测与日志监控体系
部署Fail2Ban可以动态封禁恶意IP,其工作原理是分析认证日志中的失败模式。配置时应特别注意jail.local中的bantime、findtime和maxretry参数,典型设置为禁止1小时、检测窗口10分钟、允许3次尝试。同时安装配置OSSEC(开源主机入侵检测系统),监控关键文件如/etc/passwd的完整性变化。如何有效管理海量日志?使用logrotate工具设置日志轮转策略,避免磁盘空间耗尽。重要日志包括/var/log/auth.log(认证日志)、/var/log/secure(安全事件)和/var/log/messages(系统消息),建议每日通过rsync同步到备份服务器。
五、服务加固与权限最小化原则
每个运行的服务都应遵循最小权限原则。对于MySQL/MariaDB,运行mysql_secure_installation脚本移除测试数据库、禁用远程root登录。Apache/Nginx应关闭服务器签名(ServerTokens Prod)、禁用目录列表(Options -Indexes)和跟踪方法(TraceEnable off)。PHP配置需设置disable_functions关闭危险函数如exec、system等。您是否检查了SUID/SGID特殊权限文件?使用find / -perm -4000命令查找并评估这些可提权文件。通过chmod -s移除不必要的特殊权限,对必须保留的设置严格的属主和访问控制。
六、备份策略与灾难恢复方案
完善的备份方案应遵循3-2-1原则:3份副本、2种介质、1份异地存储。使用rsync配合SSH密钥实现增量备份,关键配置文件建议每日全量备份至/backup目录。数据库应采用mysqldump或pg_dump定时导出,并验证备份文件的可用性。如何测试备份有效性?定期进行恢复演练,记录恢复时间目标(RTO)和数据损失容忍度(RPO)。对于重要业务系统,可考虑配置基于LVM的快照备份,在数据损坏时能快速回滚到特定时间点。将备份脚本加入cron定时任务,并通过邮件发送执行报告。