插件窝 干货文章 命令行是你的防御武器:保护你的Linux服务器

命令行是你的防御武器:保护你的Linux服务器

sudo etc 防御 AIDE 606    来源:    2025-04-12

作为IT工程师,保护Linux服务器安全是我们的核心任务。以下是一套完整的命令行防御方案,我将从攻击面缩减、实时防御、深度加固三个维度为您呈现专业级防护策略:

一、攻击面最小化(Attack Surface Reduction) 1. 服务管控三板斧:

# 查看开放端口及对应服务
sudo ss -tulnp | awk 'NR>1 {printf "%-8s %-20s %-12s\n", $1, $5, $7}'

# 禁用非必要服务(示例禁用ftp)
sudo systemctl disable vsftpd --now

# 使用firewalld精准控制
sudo firewall-cmd --permanent --remove-service=ssh --remove-port=22/tcp
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" service name="ssh" accept'
  1. 用户权限收敛:
# 特权命令监控(记录sudo使用)
echo 'Defaults logfile=/var/log/sudo.log' | sudo tee -a /etc/sudoers

# 关键目录权限加固
sudo chmod 750 /home/* && sudo chmod 700 /root
sudo find / -perm -4000 -exec ls -ld {} \; | awk '{print $9}' > suid_list.txt

二、实时威胁防御(Real-time Protection) 1. 入侵检测系统:

# 安装配置AIDE(高级入侵检测环境)
sudo apt install aide -y
sudo aideinit && sudo mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db

# 每日自动校验(加入cron)
echo "0 3 * * * /usr/bin/aide --check | mail -s 'AIDE Report' admin@example.com" | sudo tee /etc/cron.d/aide-check
  1. 动态防火墙策略:
# 启用fail2ban防御SSH爆破
sudo apt install fail2ban -y
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo sed -i 's/^bantime.*/bantime = 1h/' /etc/fail2ban/jail.local
sudo systemctl restart fail2ban

# 实时监控异常连接
watch -n 5 'netstat -antp | grep ESTABLISHED | awk '\''{print $5}'\'' | cut -d: -f1 | sort | uniq -c | sort -nr'

三、深度防御加固(Defense in Depth) 1. 内核级防护:

# 启用内核安全模块
sudo grep "grub" /etc/default/grub | grep "selinux=1 enforcing=1"

# 内存保护配置
echo "vm.mmap_min_addr = 4096" | sudo tee -a /etc/sysctl.conf
echo "kernel.exec-shield = 1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
  1. 加密通信保障:
# SSH强化配置(编辑/etc/ssh/sshd_config)
sudo sed -i 's/^#Protocol 2/Protocol 2/' /etc/ssh/sshd_config
sudo sed -i 's/^#PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
echo "AllowUsers admin auditor" | sudo tee -a /etc/ssh/sshd_config
sudo systemctl restart sshd
  1. 自动化安全审计:
# 使用Lynis进行系统扫描
curl -s https://packages.cisofy.com/keys/cisofy-software-public.key | sudo apt-key add -
echo "deb https://packages.cisofy.com/community/lynis/deb/ stable main" | sudo tee /etc/apt/sources.list.d/cisofy-lynis.list
sudo apt update && sudo apt install lynis -y
sudo lynis audit system --quick

四、应急响应预案(Incident Response) 1. 入侵痕迹保留:

# 创建取证快照
sudo dd if=/dev/sda1 of=/mnt/secure_storage/disk_forensic.img bs=4M conv=noerror,sync
sudo chattr +i /mnt/secure_storage/disk_forensic.img

# 关键日志收集
sudo tar czvf /tmp/forensic_$(date +%Y%m%d).tar.gz /var/log/{auth.log*,secure*,messages*} --transform 's/.*\///g'
  1. 恶意进程处置:
# 可疑进程排查脚本
ps -eo pid,user,cmd,%cpu,%mem --sort=-%cpu | head -n 10
lsof -i -P -n | grep ESTABLISHED
sudo netstat -antp | awk '$4 ~ /:22$/ && $6 == "ESTABLISHED" {print $5}'

进阶建议: 1. 实施双因素认证:sudo apt install libpam-google-authenticator 2. 配置完整性监控:sudo apt install tripwire 3. 建立安全基线:参考CIS Benchmark进行配置 4. 定期漏洞扫描:使用OpenVAS或Nessus

记住:安全是持续过程而非一次性任务。建议建立以下例行检查清单: - 每周:日志分析、补丁更新、AIDE校验 - 每月:权限审计、防火墙规则复审、备份验证 - 每季度:渗透测试、安全策略评估

通过这套分层防御体系,您的Linux服务器将具备企业级的安全防护能力。需要针对特定场景调整时,请评估业务需求与安全风险的平衡。