插件窝 干货文章 Linux系统中遇到的常见安全漏洞和攻击问题及其解决办法

Linux系统中遇到的常见安全漏洞和攻击问题及其解决办法

sudo install 漏洞 配置 844    来源:    2025-04-17

Linux系统常见安全漏洞及防护措施

1. 弱密码和默认凭证

问题: - 使用默认或弱密码容易被暴力破解 - 默认安装的服务可能保留默认凭证

解决方案

# 强制密码复杂度策略
sudo apt install libpam-pwquality  # Debian/Ubuntu
sudo yum install libpwquality      # CentOS/RHEL

# 修改/etc/pam.d/common-password或/etc/pam.d/system-auth添加:
password requisite pam_pwquality.so retry=3 minlen=12 difok=3 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1

# 禁用root远程登录
sudo sed -i 's/^PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
sudo systemctl restart sshd

# 使用SSH密钥认证替代密码
ssh-keygen -t rsa -b 4096
ssh-copy-id user@remote_host

2. 未打补丁的软件漏洞

问题: - 过期的软件包包含已知漏洞 - 未及时应用安全更新

解决方案

# 设置自动安全更新
sudo apt install unattended-upgrades  # Debian/Ubuntu
sudo dpkg-reconfigure -plow unattended-upgrades

# 对于RHEL/CentOS:
sudo yum install yum-cron
sudo systemctl enable --now yum-cron

# 定期手动检查更新
sudo apt update && sudo apt upgrade  # Debian/Ubuntu
sudo yum update                     # RHEL/CentOS

# 使用漏洞扫描工具
sudo apt install lynis
sudo lynis audit system

3. 配置不当的服务

问题: - 不必要的服务运行 - 服务配置过于宽松

解决方案

# 禁用不必要的服务
sudo systemctl list-unit-files --type=service | grep enabled
sudo systemctl disable <unneeded_service>

# 检查网络服务
sudo netstat -tulnp
sudo ss -tulnp

# 使用防火墙限制访问
sudo ufw enable  # Ubuntu
sudo firewall-cmd --permanent --add-service=ssh  # CentOS/RHEL
sudo firewall-cmd --reload

# 强化SSH配置
sudo nano /etc/ssh/sshd_config
# 修改以下参数:
Port 2222  # 非标准端口
PermitRootLogin no
PasswordAuthentication no
MaxAuthTries 3
ClientAliveInterval 300
ClientAliveCountMax 0

4. 权限提升漏洞

问题: - SUID/SGID程序配置不当 - 内核漏洞导致权限提升

解决方案

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

# 移除不必要的SUID/SGID
sudo chmod u-s /path/to/file
sudo chmod g-s /path/to/file

# 使用Linux安全模块
sudo apt install apparmor  # Debian/Ubuntu
sudo aa-enforce /etc/apparmor.d/*

# 或使用SELinux (RHEL/CentOS)
sudo setenforce 1
sudo semanage boolean -l | grep httpd  # 示例检查

5. Web应用漏洞

问题: - SQL注入 - XSS攻击 - 文件包含漏洞

解决方案

# 安装和配置ModSecurity
sudo apt install libapache2-mod-security2  # Apache
sudo cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
sudo nano /etc/modsecurity/modsecurity.conf
# 修改: SecRuleEngine On

# 安装Fail2Ban防止暴力破解
sudo apt install fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
# 配置适当的参数

# 定期扫描Web漏洞
sudo apt install nikto
nikto -h http://yourdomain.com

6. 恶意软件和rootkit

问题: - 木马程序 - 后门程序 - 内核级rootkit

解决方案

# 安装防病毒软件
sudo apt install clamav
sudo freshclam  # 更新病毒库
sudo clamscan -r --bell -i /

# 安装rootkit检测工具
sudo apt install rkhunter chkrootkit
sudo rkhunter --update
sudo rkhunter --checkall
sudo chkrootkit

# 监控系统完整性
sudo apt install aide
sudo aideinit
sudo mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db
sudo aide.wrapper --check

7. 日志监控不足

问题: - 未能检测入侵尝试 - 缺乏集中日志管理

解决方案

# 配置rsyslog集中日志
sudo nano /etc/rsyslog.conf
# 添加远程日志服务器
*.* @remote-log-server:514

# 安装和配置auditd
sudo apt install auditd
sudo nano /etc/audit/audit.rules
# 添加监控规则,例如:
-w /etc/passwd -p wa -k identity
-w /etc/shadow -p wa -k identity

# 使用日志分析工具
sudo apt install logwatch
sudo logwatch --output mail --mailto admin@example.com --detail high

8. 容器安全风险

问题: - 容器逃逸 - 镜像漏洞 - 过度权限

解决方案

# 扫描容器镜像漏洞
docker scan <image_name>

# 以非root用户运行容器
docker run -u 1000:1000 <image>

# 限制容器能力
docker run --cap-drop=all --cap-add=NET_BIND_SERVICE <image>

# 使用只读文件系统
docker run --read-only <image>

# 定期更新容器基础镜像
docker pull <image>:latest

最佳实践总结

  1. 最小权限原则:只授予必要的权限
  2. 定期更新:保持系统和应用最新
  3. 深度防御:多层安全防护措施
  4. 监控审计:持续监控系统活动
  5. 备份恢复:定期测试备份和恢复流程
  6. 安全配置基准:使用CIS基准等标准配置系统

通过实施这些措施,可以显著提高Linux系统的安全性,减少被攻击的风险。