插件窝 干货文章 如何进行Linux系统的安全加固与漏洞修复

如何进行Linux系统的安全加固与漏洞修复

sudo bash Ubuntu install 527    来源:    2025-04-10

Linux系统安全加固与漏洞修复指南

一、系统基础安全加固

1. 系统更新与补丁管理

# 更新软件包列表
sudo apt update && sudo apt upgrade -y  # Debian/Ubuntu
sudo yum update -y                      # CentOS/RHEL
sudo dnf upgrade -y                     # Fedora

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

2. 最小化安装与服务管理

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

# 卸载不必要的软件包
sudo apt purge <不需要的软件>           # Debian/Ubuntu
sudo yum remove <不需要的软件>          # CentOS/RHEL

二、账户与认证安全

1. 密码策略设置

# 编辑PAM配置文件
sudo vi /etc/pam.d/common-password      # Debian/Ubuntu
sudo vi /etc/pam.d/system-auth         # CentOS/RHEL

# 添加或修改以下参数(示例):
password requisite pam_pwquality.so retry=3 minlen=12 difok=3 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1

2. SSH安全配置

sudo vi /etc/ssh/sshd_config

# 推荐修改项:
Port 2222                              # 修改默认端口
PermitRootLogin no                      # 禁止root直接登录
MaxAuthTries 3                         # 最大尝试次数
ClientAliveInterval 300                # 超时设置
Protocol 2                             # 仅使用SSHv2
AllowUsers user1 user2                 # 仅允许特定用户登录

# 重启SSH服务
sudo systemctl restart sshd

三、网络与防火墙配置

1. 防火墙配置

# UFW (Ubuntu)
sudo ufw enable
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 2222/tcp                # 允许SSH新端口

# firewalld (CentOS/RHEL)
sudo systemctl enable firewalld
sudo systemctl start firewalld
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload

2. 网络加固

# 禁用IP转发
sudo sysctl -w net.ipv4.ip_forward=0
echo "net.ipv4.ip_forward = 0" | sudo tee -a /etc/sysctl.conf

# 启用SYN Cookie保护
echo "net.ipv4.tcp_syncookies = 1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

四、文件系统与权限管理

1. 关键文件权限设置

sudo chmod 600 /etc/shadow
sudo chmod 644 /etc/passwd
sudo chown root:root /etc/passwd
sudo chown root:shadow /etc/shadow

2. 文件系统挂载选项

# 编辑/etc/fstab,添加以下选项:
/dev/sda1 / ext4 defaults,nodev,nosuid,noexec 1 1
/tmp /var/tmp none rw,noexec,nosuid,nodev,bind 0 0

五、漏洞扫描与修复

1. 自动化漏洞扫描工具

# 安装和运行lynis审计工具
sudo apt install lynis                  # Debian/Ubuntu
sudo yum install lynis                  # CentOS/RHEL
sudo lynis audit system

# 使用OpenVAS或Nessus进行深度扫描

2. CVE漏洞修复流程

  1. 识别漏洞:sudo apt list --upgradablesudo yum list updates
  2. 查询CVE信息:apt changelog <package> 或访问NVD数据库
  3. 应用补丁或升级: bash sudo apt install --only-upgrade <package> # Debian/Ubuntu sudo yum update --cve <CVE-ID> # CentOS/RHEL

六、日志与监控

1. 日志配置

# 配置rsyslog集中管理
sudo vi /etc/rsyslog.conf

# 安装和配置auditd
sudo apt install auditd                  # Debian/Ubuntu
sudo yum install audit                  # CentOS/RHEL
sudo systemctl enable auditd
sudo auditctl -l                         # 查看当前规则

2. 入侵检测系统

# 安装AIDE (高级入侵检测环境)
sudo apt install aide                    # Debian/Ubuntu
sudo yum install aide                   # CentOS/RHEL
sudo aideinit
sudo mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db

七、定期维护任务

  1. 每月任务

    • 检查用户账户和权限
    • 审核sudo权限
    • 验证备份完整性
  2. 每周任务

    • 检查系统日志
    • 运行安全扫描工具
    • 检查未授权的SUID/SGID文件
  3. 每日任务

    • 检查关键系统文件完整性
    • 监控异常登录尝试
    • 检查磁盘空间和系统负载

通过以上步骤的系统性实施,可以显著提高Linux系统的安全性,减少被攻击的风险。请根据实际环境调整具体参数,并在生产环境实施前进行充分测试。