插件窝 干货文章 Linux服务器安全性的关键:有效利用命令行

Linux服务器安全性的关键:有效利用命令行

bash log security incident 218    来源:    2025-04-12

作为IT工程师,掌握Linux服务器安全防护的核心命令行技能至关重要。以下是我总结的深度防御方案,分为6个关键维度:

一、访问控制强化 1. 高级权限管理

# 检查SUID/SGID文件
find / -perm -4000 -o -perm -2000 -type f -exec ls -la {} \; 2>/dev/null

# 使用ACL精细化控制
setfacl -Rm u:devuser:r-x /sensitive_dir
getfacl /sensitive_dir | audit2allow -M mypolicy
  1. 多因素认证配置
# 配置Google Authenticator
yum install google-authenticator
google-authenticator
# 修改SSH配置
echo "auth required pam_google_authenticator.so" >> /etc/pam.d/sshd
sed -i 's/ChallengeResponseAuthentication no/yes/' /etc/ssh/sshd_config

二、实时威胁检测系统 1. 高级日志分析

# 构建实时告警系统
journalctl -f | grep -E 'fail|error|warning' --color=auto | \
while read line; do
  echo "$(date) - $line" >> /var/log/security_events.log
  echo "$line" | mail -s "Security Alert" admin@example.com
done
  1. 内存取证工具
# 安装Volatility框架
git clone https://github.com/volatilityfoundation/volatility.git
cd volatility
python setup.py install

# 采集内存快照
mkdir /forensic
dd if=/dev/mem of=/forensic/memdump.dd bs=1M count=2048
vol.py -f /forensic/memdump.dd linux_pslist

三、网络层深度防护 1. 高级防火墙策略

# 基于时间的访问控制
iptables -A INPUT -p tcp --dport 22 -m time --timestart 09:00 --timestop 17:00 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP

# 速率限制防爆破
iptables -A INPUT -p tcp --dport ssh -m connlimit --connlimit-above 3 -j DROP
iptables -A INPUT -p tcp --dport ssh -m recent --name ssh_attack --set
iptables -A INPUT -p tcp --dport ssh -m recent --name ssh_attack --update --seconds 60 --hitcount 5 -j DROP

四、自动化安全运维 1. 智能补丁管理

# 安全更新自动化脚本
#!/bin/bash
UPDATES=$(yum list updates -q | grep security | wc -l)
if [ $UPDATES -gt 0 ]; then
  echo "$(date) - Found $UPDATES security updates" >> /var/log/auto_patch.log
  yum update --security -y >> /var/log/auto_patch.log 2>&1
  needrestart -r a -l >> /var/log/auto_patch.log
fi

五、文件系统完整性保护 1. 高级审计配置

# 关键文件监控
apt-get install auditd
auditctl -w /etc/passwd -p war -k identity_access
auditctl -w /etc/shadow -p war -k identity_access
auditctl -w /var/www/html -p rwxa -k web_content

# 生成自定义基线
find /etc -type f -exec md5sum {} \; > /etc/file_baseline.md5

六、应急响应流程 1. 入侵取证检查清单

# 快速取证收集
mkdir /incident_response/$(date +%Y%m%d)
netstat -tulnpe > /incident_response/netstat_$(date +%s).log
lsof -i > /incident_response/lsof_$(date +%s).log
ps auxef > /incident_response/process_$(date +%s).log
last -ai > /incident_response/logins_$(date +%s).log

进阶建议: 1. 使用SELinux策略生成器:

grep httpd /var/log/audit/audit.log | audit2allow -M mypol
semodule -i mypol.pp
  1. 内核级防护(以CentOS为例):
# 启用内核ASLR
echo 2 > /proc/sys/kernel/randomize_va_space

# 防止核心转储
ulimit -c 0
  1. 容器安全加固:
# Docker安全配置
dockerd --userns-remap=default --seccomp-profile=/etc/docker/seccomp.json \
--no-new-privileges --icc=false

关键监控指标检查表: 1. 可疑进程检测

ps -eo pid,user,args | awk '$2=="root" {print}' | grep -vE "\[.*\]|sshd|crond"
  1. 异常网络连接
netstat -anp | awk '$4 ~ /:22$/ && $6 == "ESTABLISHED" {print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr

这些技术方案需要根据实际环境调整参数。建议先在生产环境的非关键系统进行测试,并通过定期安全演练验证有效性。保持对CVE数据库的关注,及时更新防护策略。