作为IT工程师,确保Linux服务器安全是首要任务。以下是增强安全性的关键命令和最佳实践,按安全维度分类:
一、用户与权限管理 1. 账户审计
# 查看特权账户
awk -F: '($3 == 0)' /etc/passwd
# 检查空密码账户
awk -F: '($2 == "")' /etc/shadow
# 修改密码策略(/etc/login.defs)
PASS_MAX_DAYS 90
PASS_MIN_DAYS 7
PASS_WARN_AGE 14
# 安装密码复杂度模块
sudo apt install libpam-pwquality # Debian/Ubuntu
sudo yum install pam_pwquality # RHEL/CentOS
二、系统监控与审计 1. 实时监控命令
# 查看可疑进程
ps auxf | grep -E '(nmap|metasploit|john)'
# 网络连接监控
ss -tulnp | grep -E '(0.0.0.0|:::)' # 暴露的监听端口
lsof -i -P -n | grep ESTABLISHED
# 认证日志分析(失败登录)
sudo grep "Failed password" /var/log/auth.log | awk '{print $9}' | sort | uniq -c | sort -nr
# 可疑SSH登录
sudo grep "Accepted password" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr
三、网络加固 1. 防火墙管理
# UFW简化操作
sudo ufw default deny incoming
sudo ufw allow 22/tcp # 仅开放SSH
sudo ufw enable
# 高级iptables规则示例
iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m recent --set
iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m recent --update --seconds 60 --hitcount 3 -j DROP
# 修改/etc/ssh/sshd_config
PermitRootLogin no
MaxAuthTries 3
LoginGraceTime 1m
AllowUsers your_username
UsePAM yes
四、文件系统安全 1. 敏感文件权限检查
# 查找全局可写文件
find / -xdev -type f -perm -o=w -exec ls -l {} \;
# 检查SUID/SGID文件
find / -xdev \( -perm -4000 -o -perm -2000 \) -type f -exec ls -l {} \;
# 生成基线校验值
sudo find /etc -type f -exec sha256sum {} \; > /var/log/etcfiles.sha256
# 定期检查
sha256sum -c /var/log/etcfiles.sha256 2>&1 | grep FAILED
五、自动化安全工具 1. 使用Lynis进行审计
sudo lynis audit system --quick
# 安装和更新rkhunter
sudo rkhunter --update
sudo rkhunter --checkall --sk
六、内核级防护 1. 启用ASLR
echo 2 > /proc/sys/kernel/randomize_va_space
echo "install dccp /bin/true" >> /etc/modprobe.d/disabled.conf
echo "install sctp /bin/true" >> /etc/modprobe.d/disabled.conf
进阶建议:
1. 定期执行 sudo apt update && sudo apt upgrade
保持系统更新
2. 配置自动日志分析工具如Logwatch或Fail2ban
3. 对关键服务使用SELinux/AppArmor
4. 实施双因素认证(如Google Authenticator for SSH)
记住:安全是持续过程,建议建立定期检查清单(crontab每月执行安全扫描),关键服务器建议配置实时入侵检测系统(如AIDE)。