作为IT工程师,命令行工具是我们保护Linux服务器的强大武器。以下是一套全面的防御策略和工具集:
# 实时监控系统资源
top
htop
glances
# 检查登录历史
last
lastb
# 审计日志分析
journalctl -u sshd --since "1 hour ago"
grep "Failed password" /var/log/auth.log
# 文件完整性检查
aide --check
tripwire --check
# UFW (简单防火墙)
sudo ufw enable
sudo ufw allow 22/tcp
sudo ufw status verbose
# iptables/nftables (高级规则)
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo nft list ruleset
# 查看活跃连接
ss -tulnp
netstat -tulnp
# 检测异常连接
iftop
nethogs
# Rootkit检测
chkrootkit
rkhunter --check
# 恶意软件扫描
clamscan -r /home
lynis audit system
# 检查空密码账户
sudo awk -F: '($2 == "") {print}' /etc/shadow
# 检查sudo权限
sudo grep -r "NOPASSWD" /etc/sudoers*
# 密码策略
sudo chage -l username
sudo pam_tally2 --user=username
# 添加每日安全扫描到cron
(crontab -l 2>/dev/null; echo "0 3 * * * /usr/bin/rkhunter --cronjob --report-warnings-only") | crontab -
# 内存分析
volatility -f memory.dump linux_pslist
# 文件时间线分析
mactime -b bodyfile.csv
# 加密目录
sudo ecryptfs-migrate-home -u username
# 安全传输
scp -C file user@remote:/path/
rsync -avz -e "ssh -p 2222" /local/path user@remote:/remote/path
sudo apt update && sudo apt upgrade
(Debian/Ubuntu)bash
sudo sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin no/' /etc/ssh/sshd_config
sudo systemctl restart sshd
记住,安全是一个持续的过程,而不是一次性任务。将这些工具和命令整合到你的日常运维流程中,可以显著提高服务器的安全性。