一、基础环境检测与系统更新
购买VPS服务器后的首要任务是全面检测系统环境。通过uname -a
命令确认内核版本,使用lsb_release -a
查看发行版信息。特别要注意的是,超过60%的服务器入侵源于未及时更新的系统漏洞,因此必须立即执行apt update && apt upgrade -y
(Debian系)或yum update -y
(RHEL系)完成系统补丁更新。对于生产环境,建议启用无人值守更新功能,通过dpkg-reconfigure -plow unattended-upgrades
配置自动化安全更新机制。
二、SSH服务深度安全加固
SSH作为服务器的首要入口,其安全性直接决定整体防护水平。修改默认22端口为1024-65535之间的随机端口可阻止90%的自动化扫描攻击。编辑/etc/ssh/sshd_config
文件时,必须禁用root直接登录(设置PermitRootLogin no),启用密钥认证(PasswordAuthentication no),并配置允许登录的白名单用户(AllowUsers指令)。更高级的防护可结合fail2ban工具,当检测到异常登录尝试时自动封禁IP,配置阈值建议设置为5次失败尝试后封锁24小时。
三、防火墙策略精细化配置
UFW(Uncomplicated Firewall)或firewalld应作为VPS服务器的标准配置。建议采用"默认拒绝所有+按需放行"的白名单策略,基础规则需包含:放行SSH自定义端口、HTTP/HTTPS服务端口(80/443),以及必要的业务端口。对于数据库等敏感服务,应配置源IP限制规则,MySQL仅允许特定管理IP访问3306端口。定期使用iptables -L -n -v
检查流量统计,异常端口访问往往是入侵的前兆信号。
四、用户权限与sudo体系优化
遵循最小权限原则创建专用运维账户,通过useradd -m -s /bin/bash admin
创建用户后,使用visudo
命令精细控制sudo权限。典型安全配置包括:限制sudo命令范围(避免ALL权限
)、启用sudo日志记录、设置密码尝试次数限制。对于需要协作管理的环境,建议为每个管理员创建独立账户,通过/etc/skel/
目录统一初始化环境配置。特别提醒:所有账户都应强制使用12位以上复杂密码,可通过chage -M 90 admin
设置密码有效期。
五、关键服务安全配置要点
根据服务器角色差异,需针对性加固关键服务。Web服务器需禁用目录遍历(Options -Indexes
)、关闭ServerTokens信息暴露;数据库服务应删除测试库、修改默认端口、限制网络访问;FTP服务建议改用SFTP/FTPS加密协议。所有服务都应配置独立的低权限运行账户,Nginx使用www-data用户运行。定期检查服务日志(journalctl -u service_name
)是发现异常行为的重要手段,建议配置logrotate实现日志自动轮转和压缩。
六、入侵检测与监控体系搭建
完成基础加固后,需建立持续安全监控机制。安装配置aide或tripwire等文件完整性检查工具,通过aide --init
建立基准数据库,定期比对系统关键文件哈希值。资源监控方面,推荐使用netdata或prometheus+grafana组合,实时监控CPU、内存、磁盘IO等关键指标。安全告警应配置邮件通知,对于企业用户建议接入Siem系统实现集中化管理。记住:服务器安全是持续过程,每月应执行一次全面漏洞扫描(lynis audit system
),并及时修复中高风险漏洞。