Linux系统安全加固全面指南,从基础到实战的最佳实践,linux安全加固禁止命令执行

Time:2025年04月10日 Read:15 评论:0 作者:y21dr45

本文目录导读:

  1. 账户与权限管理:安全的第一道屏障
  2. SSH服务加固:关闭危险的“后门”
  3. 防火墙与网络隔离:构建动态防御体系
  4. 文件系统与SELinux:最后的防线
  5. 服务与漏洞管理:持续监控与响应

Linux系统安全加固全面指南,从基础到实战的最佳实践,linux安全加固禁止命令执行

在当今数字化时代,Linux系统因其开源、稳定和高性能的特性,被广泛用于服务器、云计算和物联网领域,默认安装的Linux系统往往存在安全隐患,攻击者可能通过未修复的漏洞、弱密码或错误配置入侵系统。安全加固是提升Linux系统防御能力的核心手段,本文将从基础到高级层面,详细解析14项关键安全加固措施,覆盖账户管理、服务优化、网络防护等核心领域,帮助管理员构建坚如磐石的系统防线。


账户与权限管理:安全的第一道屏障

  1. 禁用Root直接登录
    Root账户的滥用是Linux系统最常见的安全风险,通过禁止SSH远程Root登录并强制使用普通用户提权,可显著降低攻击面。

    # 修改SSH配置文件
    vim /etc/ssh/sshd_config
    PermitRootLogin no  # 改为no
    systemctl restart sshd
  2. 实施最小权限原则

    • 使用sudo替代直接Root操作,仅授予必要命令的执行权限。
    • 通过visudo编辑sudoers文件,限制特定用户或组的权限范围。
      # 示例:允许用户alice重启服务,但不允许其他操作
      alice ALL=(root) /usr/bin/systemctl restart nginx
  3. 密码策略强化

    • 设置密码复杂度要求(长度≥12,包含大小写字母、数字和符号)。
    • 修改/etc/login.defs调整密码有效期(如90天过期)。
    • 使用pam_pwquality模块定义密码规则:
      vim /etc/security/pwquality.conf
      minlen = 12
      dcredit = -1  # 至少一个数字
      ucredit = -1  # 至少一个大写字母
  4. 清理僵尸账户

    • 定期检查/etc/passwd,删除未使用的账户:
      userdel -r olduser  # 删除用户及其主目录
    • 锁定不活跃账户:
      usermod -L username  # 锁定账户
      chage -E 0 username  # 设置账户过期

SSH服务加固:关闭危险的“后门”

  1. 修改默认端口
    将SSH默认的22端口改为非标准端口(如5022),减少自动化扫描攻击。

    vim /etc/ssh/sshd_config
    Port 5022  # 自定义端口
  2. 禁用密码认证,强制密钥登录
    SSH密钥比密码更安全,且避免暴力破解风险。

    # 生成密钥对(客户端执行)
    ssh-keygen -t ed25519
    ssh-copy-id -p 5022 user@server
    # 服务端配置
    PasswordAuthentication no  # 禁用密码登录
    PubkeyAuthentication yes   # 启用密钥认证
  3. 限制IP访问与并发连接

    • 通过防火墙仅允许可信IP访问SSH端口。
    • 使用MaxStartupsMaxAuthTries防止暴力破解:
      MaxAuthTries 3      # 单次连接最多尝试3次
      MaxStartups 10:30:60  # 并发未认证连接数限制

防火墙与网络隔离:构建动态防御体系

  1. 启用防火墙(iptables/nftables/firewalld)

    • 使用firewalld(推荐):
      systemctl enable --now firewalld
      firewall-cmd --permanent --add-service=ssh  # 放行SSH
      firewall-cmd --permanent --remove-service=http  # 禁止HTTP(如无需Web服务)
      firewall-cmd --reload
  2. 禁用IPv6(如非必需)

    sysctl -w net.ipv6.conf.all.disable_ipv6=1
    sysctl -w net.ipv6.conf.default.disable_ipv6=1
  3. 内核参数调优
    修改/etc/sysctl.conf防御SYN Flood、IP欺骗等攻击:

    net.ipv4.tcp_syncookies = 1
    net.ipv4.conf.all.rp_filter = 1
    net.ipv4.conf.default.accept_source_route = 0

文件系统与SELinux:最后的防线

  1. 关键目录权限控制

    • 设置/etc/passwd/etc/shadow为只读:
      chmod 644 /etc/passwd
      chmod 000 /etc/shadow  # 仅Root可读
  2. 启用SELinux或AppArmor

    • SELinux(适用于RHEL/CentOS):
      setenforce 1  # 临时启用
      sed -i 's/SELINUX=permissive/SELINUX=enforcing/' /etc/selinux/config
    • AppArmor(适用于Debian/Ubuntu):
      systemctl enable apparmor
      aa-enforce /path/to/profile  # 加载安全策略

服务与漏洞管理:持续监控与响应

  1. 最小化服务原则

    • 停用无关服务:
      systemctl stop bluetooth
      systemctl disable bluetooth
  2. 自动化漏洞扫描
    使用工具如lynis进行安全审计:

    apt install lynis  # Debian/Ubuntu
    yum install lynis  # RHEL/CentOS
    lynis audit system
  3. 入侵检测与日志分析

    • 配置auditd监控敏感文件访问:
      auditctl -w /etc/passwd -p war -k passwd_access
    • 使用fail2ban自动封锁恶意IP:
      fail2ban-client set sshd banip 192.168.1.100  # 手动封禁示例

Linux安全加固并非一劳永逸,而是一个持续的过程,管理员需定期审查系统日志、更新补丁、调整策略,并关注最新的威胁情报,通过本文的14项核心措施(从账户管理到入侵检测),可显著降低系统风险。安全没有终点,唯有持续进化,方能在攻防对抗中立于不败之地。

排行榜
关于我们
「好主机」服务器测评网专注于为用户提供专业、真实的服务器评测与高性价比推荐。我们通过硬核性能测试、稳定性追踪及用户真实评价,帮助企业和个人用户快速找到最适合的服务器解决方案。无论是云服务器、物理服务器还是企业级服务器,好主机都是您值得信赖的选购指南!
快捷菜单1
服务器测评
VPS测评
VPS测评
服务器资讯
服务器资讯
扫码关注
鲁ICP备2022041413号-1