温馨提示×

VirtualBox虚拟机Ubuntu如何进行安全设置

小樊
44
2025-12-02 10:05:56
栏目: 云计算

VirtualBox 中 Ubuntu 的安全设置清单

一 系统与账户安全

  • 保持系统更新:执行 sudo apt update && sudo apt full-upgrade -y && sudo reboot,及时修补内核与组件漏洞。
  • 最小权限与强口令:禁用 root 远程登录,日常使用 sudo;设置复杂口令并定期更换,禁止空口令与复用旧口令。
  • 启用自动安全更新(无人值守升级):
    • 安装与启用:sudo apt install unattended-upgrades -y && sudo dpkg-reconfigure --priority=low unattended-upgrades,选择“是”以自动安装安全更新。
  • 登录审计与失败锁定:
    • 查看最近登录:last -x | head
    • 安装并配置 fail2ban(示例为 SSH):sudo apt install fail2ban -y,复制默认配置 sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local,在 [sshd] 段启用并适度设置 bantimemaxretry,重启服务 sudo systemctl restart fail2ban
  • 精简自启动与开放端口:
    • 查看与禁用:systemctl list-unit-files --type=service | grep enabled,对不必要服务执行 sudo systemctl disable --now 服务名
    • 暴露面检查:ss -tulpen | grep LISTEN,仅保留必需端口。

二 网络与 VirtualBox 配置

  • 网络模式建议:优先使用 NAT + Host-Only 的组合。NAT 负责出网,Host-Only 提供与宿主机稳定内网段(如 192.168.56.0/24)的受控互通,避免不必要的公网暴露。
  • 固定虚拟机地址:在虚拟机中把 Host-Only 网卡设为静态 IP(示例):
    • 编辑 Netplan 配置(文件名因版本可能为 /etc/netplan/00-installer-config.yaml/etc/netplan/50-cloud-init.yaml):
      • dhcp4: true 改为 dhcp4: no
      • 添加:
        • addresses: [192.168.56.10/24]
        • gateway4: 192.168.56.1
        • nameservers: { addresses: [8.8.8.8, 1.1.1.1] }
    • 应用:sudo netplan apply
  • 仅必要时开启端口转发:在 VirtualBox 中“设置 > 网络 > 适配器1(NAT)> 高级 > 端口转发”,按需添加规则(如将宿主机的 2222 转发到虚拟机的 22),避免直接把 22 暴露到外部网络。
  • 关闭不必要的共享与剪贴板/拖放:
    • “设备 > 共享文件夹”移除不需要的共享;
    • “设备 > 共享剪贴板/拖放”设为“禁用”或仅“主机到来宾”,降低跨系统攻击面。
  • 安装增强功能(Guest Additions)时,仅以必要权限运行安装脚本,完成后及时关闭共享通道,避免持久化暴露面。上述网络与共享文件夹的配置与操作要点可参考 VirtualBox 的网络组合与共享文件夹实践。

三 防火墙与端口管理

  • 启用 UFW 并设置默认拒绝入站:
    • 安装(如未安装):sudo apt install ufw -y
    • 策略:sudo ufw default deny incomingsudo ufw default allow outgoing
    • 按需放行:
      • SSH(若使用端口转发,请放行宿主机的转发端口,如 2222):sudo ufw allow 2222/tcp
      • 其他服务:sudo ufw allow 80/tcpsudo ufw allow 443/tcp
    • 启用与检查:sudo ufw enablesudo ufw status verbose
  • 变更防火墙前务必确保已有控制台/带外通道,避免误封导致失联。UFW 的常用操作与端口放行方法见 Ubuntu 防火墙实践。

四 SSH 安全加固

  • 禁用 root 登录与密码登录(推荐密钥登录):
    • 编辑 /etc/ssh/sshd_config
      • PermitRootLogin no
      • PasswordAuthentication no
      • PubkeyAuthentication yes
    • 重启服务:sudo systemctl restart ssh
  • 使用强密钥对(如 ed25519),并设置仅允许指定用户登录:AllowUsers youruser
  • 更改默认端口(可选):Port 2222,并同步更新防火墙与端口转发规则。
  • 限制可登录来源(可选):sudo ufw allow from 192.168.56.0/24 to any port 2222 proto tcp
  • 使用 fail2ban 保护 SSH(见第一部分)以减缓暴力破解。

五 存储 备份与最小攻击面

  • 磁盘与快照:
    • 关键变更前创建 快照;定期清理无用快照,避免回滚时引入不一致。
    • 对重要数据分区使用 LVM 快照或定时备份(如 rsync/borgbackup)。
  • 日志与审计:
    • 集中与轮转:sudo apt install rsyslog logrotate -y,确保 /var/log 分区充足,定期审计 auth.logsyslog
  • 最小化安装与容器隔离:
    • 仅安装必要软件包,减少潜在漏洞载体;如运行 Docker,避免以 –network=host 运行容器,优先使用桥接/自定义网络并配合 UFW 规则。
  • 定期核查与演练:
    • 核查开放端口:ss -tulpen
    • 核查定时任务:sudo systemctl list-timers --allcrontab -l -u root
    • 定期恢复演练与快照回滚测试,确保备份可用。

0