在 Ubuntu 系统初次安装后,进行一些基础安全设置可以显著降低被攻击的风险。以下是推荐的核心安全配置步骤:

一、立即更新系统

新系统可能包含未修复的安全漏洞,首先更新所有软件包:


bash

# 更新软件源索引
sudo apt update
# 升级所有可更新的包(包括安全补丁)
sudo apt upgrade -y
# 升级系统版本相关的重要包(可选,谨慎操作)
sudo apt dist-upgrade -y
# 清理过时的包文件
sudo apt autoremove -y && sudo apt autoclean

二、用户与权限管理

  1. 创建普通用户(避免直接使用 root)
    日常操作应使用普通用户,仅在需要时通过sudo获取权限:

    bash

    # 创建新用户(替换your_username为实际用户名)
    sudo adduser your_username
    # 授予sudo权限(需要时)
    sudo usermod -aG sudo your_username
    

  2. 禁用 root 直接登录
    防止攻击者直接针对 root 账户暴力破解:

    bash

    # 锁定root密码(无法通过密码登录,但仍可通过sudo提权)
    sudo passwd -l root
    

三、配置防火墙

Ubuntu 默认预装ufw(简单防火墙工具),需手动启用并配置规则:


bash

# 启用防火墙
sudo ufw enable

# 允许必要的服务(根据需求添加,示例如下)
sudo ufw allow ssh        # 允许SSH远程连接(默认端口22)
sudo ufw allow http       # 允许HTTP(80端口,网站服务用)
sudo ufw allow https      # 允许HTTPS(443端口,加密网站用)

# 查看当前规则
sudo ufw status verbose

# 禁止所有未允许的入站连接(默认规则,通常已生效)
sudo ufw default deny incoming
sudo ufw default allow outgoing

四、加固 SSH 服务(远程登录关键)

SSH 是远程管理的主要入口,需重点防护:


  1. 编辑 SSH 配置文件:

    bash

    sudo nano /etc/ssh/sshd_config
    

  2. 推荐修改以下配置(去掉注释并修改值):

    ini

    # 禁用密码登录,仅允许密钥登录(关键!)
    PasswordAuthentication no
    # 禁用root直接SSH登录
    PermitRootLogin no
    # 可选:修改默认端口(减少扫描攻击,例如改为2222)
    Port 2222
    # 限制允许登录的用户(替换为你的用户名)
    AllowUsers your_username
    # 限制连接尝试次数(防止暴力破解)
    MaxAuthTries 3
    

  3. 重启 SSH 服务使配置生效:

    bash

    sudo systemctl restart sshd
    

  4. 配置 SSH 密钥登录(替代密码,更安全):
    在本地电脑生成密钥对,将公钥上传到 Ubuntu:

    bash

    # 本地电脑生成密钥(Windows用PowerShell,Linux/macOS用终端)
    ssh-keygen -t ed25519 -C "your_email@example.com"
    
    # 上传公钥到Ubuntu(替换端口和用户名)
    ssh-copy-id -p 2222 your_username@your_server_ip
    

五、启用自动安全更新

设置系统自动安装安全补丁,无需手动干预:


bash

# 安装自动更新工具
sudo apt install -y unattended-upgrades

# 启用自动更新配置
sudo dpkg-reconfigure -plow unattended-upgrades


配置后,系统会定期自动下载并安装安全更新。

六、安装恶意软件防护工具

虽然 Linux 恶意软件较少,但关键场景(如文件服务器)仍需防护:


bash

# 安装ClamAV(开源杀毒软件)
sudo apt install -y clamav clamav-daemon

# 更新病毒库
sudo freshclam

# 扫描指定目录(示例:扫描/home)
sudo clamscan -r /home

七、其他重要设置

  1. 检查并禁用不必要的服务
    减少运行中的服务可降低攻击面:

    bash

    # 查看当前运行的服务
    sudo systemctl list-unit-files --type=service --state=enabled
    
    # 禁用不需要的服务(示例:禁用FTP服务)
    sudo systemctl disable --now vsftpd
    

  2. 设置 BIOS/UEFI 密码
    防止物理访问者修改启动设置(进入主板 BIOS/UEFI 界面配置)。

  3. 启用磁盘加密(若未在安装时配置)
    对于移动设备或敏感数据,可使用cryptsetup加密分区(操作复杂,建议安装时选择 "加密整个磁盘")。

  4. 安装fail2ban防御暴力破解
    自动封禁多次失败登录的 IP:

    bash

    sudo apt install -y fail2ban
    # 启用并启动服务
    sudo systemctl enable --now fail2ban
    

八、定期备份数据

安全不仅是防御攻击,还包括数据恢复:


bash

# 示例:用rsync备份/home到外部硬盘(假设硬盘挂载在/mnt/backup)
sudo rsync -av --delete /home /mnt/backup