Debian VirtualBox虚拟机如何进行安全加固
导读:Debian VirtualBox 虚拟机安全加固清单 一 系统与账户基线 保持系统最新:执行 apt update && apt upgrade,必要时使用 apt full-upgrade;清理无用包 apt auto...
Debian VirtualBox 虚拟机安全加固清单
一 系统与账户基线
- 保持系统最新:执行 apt update & & apt upgrade,必要时使用 apt full-upgrade;清理无用包 apt autoremove & & apt clean。
- 启用自动安全更新:安装并启用 unattended-upgrades,仅自动安装安全更新,减少暴露窗口。
- 选择稳定版本:优先使用 Debian Stable,降低因不稳定软件带来的风险。
- 最小安装:仅安装必需软件包与服务,减少攻击面。
- 账户与权限:创建普通用户并加入 sudo 组(如:adduser newuser;usermod -aG sudo newuser),日常以普通用户操作;通过 visudo 安全地编辑 /etc/sudoers;为关键文件设置最小权限(chown/chgrp/chmod)。
二 网络与 SSH 安全
- 防火墙:使用 UFW 仅放行必要端口(示例:sudo ufw allow 22/tcp;sudo ufw allow 80/tcp;sudo ufw allow 443/tcp;sudo ufw enable);或基于 iptables 配置并保存规则。
- SSH 加固:修改 /etc/ssh/sshd_config,设置 Port < 非标准端口> 、PermitRootLogin no、禁用空密码;使用 SSH 密钥登录 并禁用密码认证(PasswordAuthentication no);重启 ssh 服务生效。
- 服务最小化:关闭不必要的端口与服务(如 systemctl list-unit-files --state=enabled 查看并禁用)。
- 加密传输:对 Web 等敏感服务启用 SSL/TLS,可用 Let’s Encrypt 获取免费证书。
三 虚拟化与存储加固
- 网络模式:根据用途选择 NAT/桥接/Host-Only;对外服务优先 NAT+端口转发 或 Host-Only+跳板机,减少直接暴露。
- 共享文件夹:如必须使用,仅授予最小权限;在虚拟机内以最小权限账号访问,避免以 root 直接挂载。
- 备份与快照:定期备份关键数据与配置(如 rsync/duplicity 或 Timeshift);对虚拟机做快照以便快速回滚。
- 数据加密:对敏感数据启用静态加密(如 eCryptfs/EncFS),传输过程使用 TLS。
四 监控 日志 与恢复
- 日志与审计:启用并集中记录系统日志,使用 auditd/syslog-ng 进行审计;定期审查日志,配合 logwatch 做日常汇总。
- 主机与进程监控:部署 Nagios/Zabbix 等监控告警,及时发现异常登录、资源异常与服务不可用。
- 恶意软件防护:安装 ClamAV 并定期扫描,提升对共享文件与横向移动的检测能力。
- 灾难恢复演练:制定应急预案,定期测试备份与快照的恢复流程,确保真实可用。
五 一键加固脚本示例
#!/usr/bin/env bash
set -Eeuo pipefail
# 0) 参数与常量
SSH_PORT="${
1:-2222}
"
ALLOWED_USERS=("admin") # 允许SSH登录的普通用户
# 1) 更新与自动安全更新
apt update &
&
apt full-upgrade -y
apt install -y unattended-upgrades
cat >
/etc/apt/apt.conf.d/20auto-upgrades <
<
'EOF'
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
EOF
# 2) 防火墙(UFW):仅放行 SSH 与常用 Web
apt install -y ufw
ufw default deny incoming
ufw default allow outgoing
ufw allow "$SSH_PORT"/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw --force enable
# 3) 创建管理用户并加入 sudo
for u in "${
ALLOWED_USERS[@]}
";
do
if ! id "$u" &
>
/dev/null;
then
adduser --disabled-password --gecos "" "$u"
usermod -aG sudo "$u"
passwd -l "$u" # 锁定密码,仅允许密钥登录
fi
done
# 4) SSH 加固
apt install -y openssh-server
sed -i "s/^#*Port .*/Port $SSH_PORT/" /etc/ssh/sshd_config
sed -i 's/^#*PermitRootLogin .*/PermitRootLogin no/' /etc/ssh/sshd_config
sed -i 's/^#*PasswordAuthentication .*/PasswordAuthentication no/' /etc/ssh/sshd_config
systemctl restart ssh
# 5) 可选:安装 ClamAV
apt install -y clamav clamav-daemon
freshclam || true
echo "加固完成:SSH 端口 $SSH_PORT,UFW 已启用,root 禁止登录,密码登录已禁用。"
echo "请将你的公钥添加到各用户的 ~/.ssh/authorized_keys 后再断开当前会话。"
- 使用提示:将脚本中的 ALLOWED_USERS 替换为你的管理账号;首次执行保持当前控制台连接,确认 SSH 密钥 已部署后再关闭;如需 Web 服务,确保 80/443 已在防火墙放行。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian VirtualBox虚拟机如何进行安全加固
本文地址: https://pptw.com/jishu/780233.html
