文章最后更新时间:
Linux服务器是互联网应用的基础,但互联网上每天都有大量扫描和攻击在寻找漏洞。服务器被入侵不仅会导致数据泄露,还可能被用于非法用途。本文分享Linux服务器安全防护的10项核心措施。
一、安全防护的黄金原则
安全防护的本质是减少攻击面、提高入侵成本:
- 最小权限原则:只开放必要的端口和服务
- 纵深防御:不依赖单一安全措施,多层防护
- 及时更新:系统补丁及时修复已知漏洞
二、10项核心安全配置
措施1:禁用root直接登录
root是最高权限账户,一旦被破解后果严重。禁用root SSH登录,强制使用普通账户+sudo提权。
编辑 /etc/ssh/sshd_config PermitRootLogin no PasswordAuthentication no PubkeyAuthentication yes systemctl restart sshd
措施2:使用SSH密钥登录
生成密钥对,将公钥上传到服务器。
ssh-keygen -t ed25519 ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server_ip
密钥比密码安全得多,暴力破解几乎不可能。
措施3:修改SSH默认端口
SSH默认端口22是大量扫描的目标,改为高位端口(如22222)可减少90%以上的扫描流量。
编辑 /etc/ssh/sshd_config Port 22222 systemctl restart sshd
措施4:配置防火墙(UFW/firewalld)
只开放必要端口,拒绝其他所有入站连接。
# 使用 UFW(Ubuntu/Debian) ufw default deny incoming ufw default allow outgoing ufw allow 22/tcp # SSH ufw allow 80/tcp # HTTP ufw allow 443/tcp # HTTPS ufw enable
措施5:安装fail2ban防止暴力破解
fail2ban自动封禁多次登录失败的IP。
apt install fail2ban -y systemctl enable fail2ban systemctl start fail2ban
默认配置即可生效,5次登录失败封禁10分钟。
措施6:禁用不必要的服务
检查并关闭不需要的服务,减少攻击面。
systemctl list-units --type=service --state=running systemctl stop 服务名 systemctl disable 服务名
措施7:定期更新系统补丁
# Ubuntu/Debian apt update && apt upgrade -y # CentOS/RHEL yum update -y
建议配置自动安全更新。
apt install unattended-upgrades -y dpkg-reconfigure unattended-upgrades
措施8:配置SSH安全登录(两步验证)
配合Google Authenticator实现SSH登录两步验证。
apt install libpam-google-authenticator -y google-authenticator # 扫码绑定,保存备用验证码
措施9:隐藏服务器敏感信息
禁止SSH显示版本信息,减少信息泄露。
编辑 /etc/ssh/sshd_config DebianBanner no systemctl restart sshd
措施10:安装监控告警(OSSEC)
OSSEC是一款开源的主机入侵检测系统,可以发现异常登录、文件篡改等安全事件。
wget https://github.com/ossec/ossec-hids/archive/refs/heads/master.zip unzip master.zip && cd ossec-hids-master ./install.sh
三、安全运维日常 checklist
建议每周检查:
- 查看登录成功/失败的日志:last 和 lastb 命令
- 检查新增的未知用户:cat /etc/passwd
- 检查异常进程:top、ps aux
- 检查开放端口:netstat -tulpn
- 检查定时任务:crontab -l
查看登录日志:
cat /var/log/auth.log | grep -i "failed|error|invalid" cat /var/log/auth.log | grep "Accepted"
四、备份与灾难恢复
即使做了所有防护,仍可能出事。备份是最后一道防线。
- 重要配置文件:/etc、/var/www、/home
- 数据库数据:每日自动备份
- 异地备份:备份文件存放在另一台服务器或云存储
- 定期测试恢复:备份是为了恢复,定期演练
五、常见问题
Q:服务器已经被入侵了怎么办?
A:立刻断开网络、保留现场(截图、日志)、重装系统、恢复备份、更换所有密码、排查入侵原因、修复漏洞。
Q:云服务器需要额外防护吗?
A:云服务器默认只提供基础防护,需要自行配置防火墙、安全组、SSH密钥等。云厂商的安全组不等于服务器防火墙。
Q:服务器密码还需要吗?
A:禁用密码登录,强制使用SSH密钥。但要保管好密钥文件,丢失意味着无法登录。
Q:如何发现服务器是否被入侵?
A:定期查看登录日志、监控异常进程、检查/etc/hosts.deny是否有异常记录、关注带宽异常飙升。
总结
服务器安全10项核心措施:禁用root登录、SSH密钥认证、改SSH端口、配置防火墙、安装fail2ban、禁用不必要服务、及时打补丁、两步验证、隐藏敏感信息、安装HIDS。安全无小事,做好防护,防患于未然。
瀚煜云提供服务器代维及安全加固服务。

















暂无评论内容