作为IT工程师,确保Linux服务器安全是首要任务。以下是必须掌握的防护命令和最佳实践:
一、基础安全加固 1. 用户权限管理
# 创建低权限用户
sudo adduser username --shell /bin/false --no-create-home
# 锁定危险账户
sudo usermod -L root
sudo passwd -l username
# 检查空密码账户
sudo awk -F: '($2 == "") {print $1}' /etc/shadow
sudo ufw enable
sudo ufw default deny incoming
sudo ufw allow 22/tcp # 仅开放SSH
sudo ufw limit 22/tcp # 防暴力破解
二、实时安全监控 1. 入侵检测
# 检查异常登录
last -f /var/log/wtmp | head -20
lastb | head -50 # 失败登录记录
# 查看当前连接
ss -tulnp | grep -E '0.0.0.0|::'
lsof -i :22 # 检查指定端口连接
# 快速查找可疑修改(最近3天)
find / -type f -mtime -3 -print0 | xargs -0 ls -la
三、深度安全审计 1. 系统漏洞扫描
# 检查未打补丁的软件
apt list --upgradable # Debian/Ubuntu
yum list updates # RHEL/CentOS
# 内核漏洞检查
uname -r
rpm -q --changelog kernel | grep CVE # RHEL系
# 检查异常CPU/内存占用
ps aux --sort=-%cpu | head -15
ps aux --sort=-%mem | head -15
# 检测隐藏进程
ps -ef | awk '{print $2}' | sort -n | uniq -d
四、自动化安全工具 1. 安装配置Fail2Ban
sudo apt install fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
# 编辑jail.local调整参数
sudo systemctl restart fail2ban
sudo rkhunter --update
sudo rkhunter --checkall --sk
五、应急响应流程 1. 可疑文件分析
# 检查文件哈希值
sha256sum /path/to/file
# 检查文件属性
stat /path/to/file
lsattr /path/to/file
# 抓取网络流量(Ctrl+C停止)
sudo tcpdump -i eth0 -w capture.pcap port not 22
# 分析已建立连接
netstat -antp | grep ESTABLISHED
六、安全备份策略
# 关键配置文件备份
sudo tar -czvf /backup/etc_$(date +%F).tar.gz /etc
# 设置cron定时任务
(crontab -l 2>/dev/null; echo "0 3 * * * /path/to/backup_script.sh") | crontab -
进阶建议: 1. 定期进行安全演练(每月至少一次) 2. 配置集中式日志服务器(ELK/Splunk) 3. 实施双因素认证(特别是SSH) 4. 关键系统文件设置不可修改属性:
sudo chattr +i /etc/passwd /etc/shadow
记住:安全是持续过程,建议设置每周安全检查日历提醒。对于生产环境,建议使用专业安全方案如SELinux/AppArmor增强防护。