一、首次登录与基础环境检查
当您完成VPS服务器购买后,需要通过SSH客户端连接服务器。大多数云服务商会提供root账户的初始密码或密钥对认证方式。登录后立即执行lsb_release -a
命令确认Linux发行版版本,这是后续配置的基础。您是否注意到系统默认安装的软件包可能包含不必要的服务?建议运行apt list --installed
(Debian系)或rpm -qa
(RedHat系)查看已安装软件,移除如telnet、rsh等不安全的遗留协议。同时检查uname -r
显示的内核版本,确保系统已更新到最新稳定版,这是服务器安全的第一道防线。
二、用户权限体系与sudo配置
直接使用root账户操作服务器存在严重安全隐患。正确的做法是创建普通用户并配置sudo权限:adduser deploy
创建新用户后,通过usermod -aG sudo deploy
将其加入sudo组。特别提醒,应该修改/etc/sudoers
文件,添加Defaults:deploy !requiretty
以支持非终端sudo操作,同时设置Defaults passwd_timeout=0
避免频繁输入密码。对于生产环境,建议启用sudo日志审计,在/etc/sudoers
中添加Defaults logfile="/var/log/sudo.log"
。这些用户权限管理措施能有效控制操作风险,您是否考虑过不同团队成员需要不同级别的权限?
三、SSH服务安全加固方案
SSH作为服务器的入口必须重点防护。修改/etc/ssh/sshd_config
配置文件:将端口号从默认22改为1024-65535之间的随机值;设置PermitRootLogin no
禁止root直接登录;启用PasswordAuthentication no
强制密钥认证。更安全的做法是配置双因素认证,安装Google Authenticator等PAM模块。您知道Fail2Ban能自动封禁暴力破解IP吗?安装配置fail2ban服务,设置合理的maxretry
和bantime
参数,可以实时监控/var/log/auth.log
并自动触发防护规则,这是服务器安全基线的重要组成部分。
四、防火墙与网络访问控制
Linux系统自带的iptables或更新的firewalld/nftables是网络安全的关键屏障。建议采用白名单机制,仅开放必要的服务端口。对于Web服务器,典型配置应允许:80(HTTP
)、443(HTTPS
)、自定义SSH端口。使用iptables -A INPUT -p tcp --dport 443 -j ACCEPT
命令添加规则后,务必iptables-save > /etc/iptables.rules
保存配置。Ubuntu系统可安装ufw简化操作:ufw allow 443/tcp
。您是否测试过防火墙规则的有效性?建议用nmap -Pn -p 1-65535 服务器IP
从外部扫描验证,确保无关端口均处于过滤状态。
五、系统服务优化与日志管理
Linux系统初始化时需要优化默认服务,使用systemctl list-unit-files
查看所有服务状态,禁用如cups、bluetooth等非必要服务。对于必须运行的服务,配置合理的资源限制:在/etc/security/limits.conf
中设置nofile(文件描述符)和nproc(进程数)上限。日志管理方面,配置logrotate实现日志自动轮转,避免/var/log
目录爆满。安装配置auditd审计服务可以记录关键系统事件,您知道如何通过ausearch
命令分析登录行为吗?建议设置集中式日志服务器,使用rsyslog或ELK栈实现日志的远程存储和分析。
六、自动化安全更新与监控告警
保持系统更新是长期安全运维的核心。配置无人值守更新:Debian系使用apt install unattended-upgrades
,RedHat系配置yum-cron
服务。更完善的方案是搭建本地镜像仓库控制更新节奏。监控方面,基础配置应包括:内存/磁盘/CPU使用率监控、关键进程存活检测、网络流量异常告警。使用Prometheus+Grafana组合可以构建可视化监控面板,您考虑过设置不同级别的告警阈值吗?对于关键业务服务器,建议配置短信/邮件/IM多通道告警,确保问题能及时响应。