据统计,超过70%的安全漏洞源于配置不当或弱密码,而并非复杂的0day攻击。这意味着,只要做好基础安全加固,你的Linux服务器就能抵御绝大多数自动化攻击和初级渗透。本文将揭秘5个必做设置,让你的服务器从“靶机”变身为“铁桶”。
攻击场景:50%的服务器入侵始于SSH暴力破解。
解决方案:三步打造“无法破解”的SSH服务。
# 修改/etc/ssh/sshd_configPermitRootLogin no # 禁用root远程登录PasswordAuthentication no # 强制禁用密码登录PubkeyAuthentication yes # 启用密钥认证Port 2222 # 修改默认22端口(可选但强烈提议)
效果:攻击者无法通过密码爆破登录,且需知道非默认端口。
# 使用iptables限制来源IP(示例)iptables -A INPUT -p tcp --dport 2222 -s 192.168.1.0/24 -j ACCEPTiptables -A INPUT -p tcp --dport 2222 -j DROP
进阶方案:使用AllowUsers指令限制允许登录的用户。
攻击场景:提权攻击往往利用过度宽松的权限。
黄金法则:永远不给非必要用户root权限。
# 使用visudo编辑(防止语法错误导致锁定的关键!)%devteam ALL=(ALL) /usr/bin/apt, /bin/systemctl restart nginx
规则:按需授权,禁止ALL=(ALL)等危险配置。
# 每周检查敏感文件权限(添加到crontab)find /etc -type f $ -name "*.conf" -o -name "*.key" $ -perm /6000 -ls
重点监控:/etc/passwd、/etc/shadow、证书文件等。
攻击场景:开放过多端口成为攻击入口。
工具选择:firewalld(动态管理)或ufw(简单易用)。
# 使用ufw示例ufw allow 80/tcp # HTTPufw allow 443/tcp # HTTPSufw enable # 默认拒绝所有入站
# 安装fail2ban(自动封禁恶意IP)sudo apt install fail2bansudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
配置重点:调整bantime(封禁时间)和maxretry(最大尝试次数)。
攻击场景:未修复的高危漏洞(如Log4j)被大规模利用。
解决方案:自动更新 + 人工审核双机制。
# Ubuntu/Debianapt-get install unattended-upgrades dpkg-reconfigure --priority=low unattended-upgrades
# 检查未安装的安全更新apt list --upgradable | grep -i security
注意:数据库、中间件等第三方软件需单独关注厂商公告。
攻击场景:攻击者已渗透但未被发现。
终极防御:让攻击无所遁形的监控体系。
# 监控/etc/passwd修改auditctl -w /etc/passwd -p wa -k identity_changes ausearch -k identity_changes -i # 查看日志
工具 | 功能亮点 |
Wazuh | 集成SIEM、漏洞扫描、合规检查 |
ELK Stack | 可视化分析海量日志 |
OSSEC | 主机入侵检测(HIDS) |
完成这5项设置后,请务必:
每月检查一次防火墙规则
定期轮换SSH密钥和sudo密码
关注CVE漏洞库
记住:攻击者的成本可能仅需几分钟,而你的防御需要做到“滴水不漏”。立即行动,让服务器成为攻击者无法逾越的堡垒!
关注我,学习更多Linux使用技巧。
#Linux#