面向初学者的 Linux 服务器加固指南 🐧

2023年 9月 17日 58.4k 0

_179bd696-cf8c-420f-b12b-94fbea3b9957.jpg

🛡️ 前言

在这个数字化时代,服务器安全成为了至关重要的议题。Linux 系统由于其开放性和灵活性,广泛用于服务器领域。但是,仅仅依赖默认配置往往是不够的。本指南旨在介绍如何加固你的 Linux 服务器,提高其安全性。

🎯 要点

  • 更新操作系统和软件包
  • 设置防火墙规则
  • 最小化安装的软件
  • 管理用户权限
  • 配置 SSH 安全选项
  • 安装安全监控工具
  • 🛠️ 加固步骤

    1️⃣ 更新操作系统和软件包

    • 步骤1: 使用以下命令更新系统。

      sudo apt update && sudo apt upgrade
      
    • 步骤2: 定期检查更新。
      建议每周至少检查一次系统更新。

    2️⃣ 设置防火墙规则

    • 步骤1: 使用 ufw 来简化防火墙设置。

      sudo apt install ufw
      
    • 步骤2: 启动并设置基础规则。

      sudo ufw enable
      sudo ufw allow ssh
      

    3️⃣ 最小化安装的软件

    • 步骤1: 使用 dpkgapt 查看已安装的软件包。

      dpkg -l
      
    • 步骤2: 卸载不必要的软件包。

      sudo apt remove 
      

    4️⃣ 管理用户权限

    • 步骤1: 创建一个普通用户,并使用 sudo 提供管理员权限。

      sudo adduser 
      sudo usermod -aG sudo 
      
    • 步骤2: 禁用 root 登录。

      sudo passwd -l root
      

    5️⃣ 配置 SSH 安全选项

    • 步骤1: 编辑 SSH 配置文件。

      sudo nano /etc/ssh/sshd_config
      
    • 步骤2: 更改以下几个设置。

      • 禁用 root 登录:PermitRootLogin no
      • 更改默认端口:Port
      • 使用密钥认证:PasswordAuthentication no

    6️⃣ 安装安全监控工具

    • 步骤1: 安装 Fail2ban。

      sudo apt install fail2ban
      
    • 步骤2: 启动并配置 Fail2ban。

      sudo systemctl start fail2ban
      

    这些步骤只是加固 Linux 服务器的基础,随着安全需求的变化,可能需要进一步的配置和审计。接下来,我们编写一个自动执行服务器加固的脚本。

    📜 自动化脚本

    #!/bin/bash

    # 退出脚本,如果任何语句的执行结果是非零
    set -e

    # 设置 umask 为 077,仅当前用户有权操作新生成的文件
    umask 077

    # 自定义字段(UDF),用于从用户输入获取参数
    # UDF 用于获取 WireGuard IP 地址
    #
    # UDF 用于获取 WireGuard 对等节点的公钥
    #
    # UDF 用于获取 WireGuard 对等节点的允许的 IPs 设置
    #
    # UDF 用于获取管理员用户
    #

    # 更新 apt 包列表并安装必要软件
    apt-get update
    apt-get upgrade -y
    apt-get install -y acl wireguard ufw

    # 把 umask 设置加入到系统配置
    echo -e "numask 077" >> /etc/profile

    # 创建管理用户,赋予 root 权限
    useradd -m -s /bin/bash
    -G users,sudo
    -p $(awk -F: '/^root:/ { print $2 }' /etc/shadow)
    $ADMIN_USER

    # 禁用 root 用户 SSH 登录
    passwd -l root
    cat >/etc/ssh/sshd_config.d/01-disable-root.conf /etc/ssh/sshd_config.d/03-no-passwords.conf /etc/wireguard/wg0.conf /etc/issue

    相关文章

    服务器端口转发,带你了解服务器端口转发
    服务器开放端口,服务器开放端口的步骤
    产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
    如何使用 WinGet 下载 Microsoft Store 应用
    百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
    百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

    发布评论