温馨提示×

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

小樊
55
2025-10-04 04:34:42
栏目: 云计算

1. 系统更新与升级
保持Debian系统及软件包最新是安全基础,定期执行以下命令修补已知漏洞:

sudo apt update && sudo apt upgrade -y
sudo apt autoremove --purge -y  # 清理无用依赖

2. 防火墙配置
使用ufw(简单易用)或iptables(高级控制)限制入站流量,仅开放必要端口(如SSH的22/tcp、HTTP的80/tcp、HTTPS的443/tcp):

  • ufw配置
    sudo apt install ufw -y
    sudo ufw allow 22/tcp    # 允许SSH
    sudo ufw allow 80/tcp    # 允许HTTP
    sudo ufw allow 443/tcp   # 允许HTTPS
    sudo ufw enable          # 启用防火墙
    sudo ufw status verbose  # 查看状态
    
  • iptables配置(可选):
    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    sudo iptables-save > /etc/iptables.rules  # 保存规则
    

3. SSH安全配置
SSH是远程管理的主要通道,需强化其安全性:

  • 修改默认端口:编辑/etc/ssh/sshd_config,将Port 22改为非标准端口(如Port 2222),减少自动化扫描攻击。
  • 禁用root远程登录:在sshd_config中设置PermitRootLogin no,禁止root用户直接通过SSH登录。
  • 启用密钥认证:生成SSH密钥对并将公钥添加到虚拟机:
    ssh-keygen -t rsa -b 4096  # 生成密钥对(主机端)
    ssh-copy-id -p 2222 user@虚拟机IP  # 复制公钥到虚拟机
    
    然后在sshd_config中设置PasswordAuthentication no,禁用密码登录。
  • 重启SSH服务使配置生效:sudo systemctl restart sshd

4. 用户与权限管理
遵循最小权限原则,避免过度授权:

  • 创建普通用户并加入sudo组
    sudo adduser newuser      # 创建用户(设置强密码)
    sudo usermod -aG sudo newuser  # 加入sudo组(无需密码执行管理员命令)
    
  • 强化密码策略:编辑/etc/pam.d/common-password,添加以下内容强制密码复杂度(至少8位,包含大小写字母、数字和特殊字符):
    password requisite pam_pwquality.so retry=3 minlen=8 difok=3 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1
    
  • 调整文件权限:使用chmod(设置文件权限)、chown(修改所有者)、chgrp(修改所属组)细化权限,例如:
    chmod 750 /home/newuser  # 用户可读写执行,组可读执行,其他用户无权限
    chown newuser:newuser /home/newuser  # 设置用户主目录所有者
    

5. 网络安全配置
优化VirtualBox网络模式,减少暴露风险:

  • 优先选择NAT模式:NAT模式下,虚拟机通过宿主机IP访问外网,外部网络无法直接访问虚拟机,适合仅需上网的场景。
  • 若需主机与虚拟机通信:添加Host-Only适配器(虚拟机与主机在同一私有网络),并配置静态IP(如192.168.56.101),避免IP冲突。
  • 禁用不必要的网络服务:使用systemctl list-unit-files --state=enabled查看已启动的网络服务,关闭无用服务(如telnetftp):
    sudo systemctl stop telnet
    sudo systemctl disable telnet
    

6. 数据保护与备份
定期备份重要数据,防止数据丢失:

  • 自动备份脚本:使用rsync备份关键目录(如/home/etc)到外部存储(如宿主机共享文件夹或外接磁盘):
    rsync -avz --delete /home /mnt/backup/home  # 示例:备份/home到/mnt/backup/home
    
    添加cron任务实现每日自动备份(编辑crontab -e):
    0 2 * * * rsync -avz --delete /home /mnt/backup/home
    
  • 数据加密:对敏感数据(如个人文档、数据库文件)使用eCryptfs加密:
    sudo apt install ecryptfs-utils -y
    sudo mount -t ecryptfs /home/newuser/Private /home/newuser/Private  # 加密目录
    

7. 监控与日志审计
实时监控系统状态,及时发现异常:

  • 日志审计:使用logwatch每日汇总日志(安装:sudo apt install logwatch -y,配置:sudo nano /etc/logwatch/conf/services/sshd.conf),或使用journalctl查看实时日志:
    journalctl -f -u sshd  # 监控SSH日志
    
  • 入侵检测:安装fail2ban防止暴力破解(安装:sudo apt install fail2ban -y,配置:sudo nano /etc/fail2ban/jail.local),自动封禁多次登录失败的IP。

8. 防病毒与恶意软件
虽然Linux系统安全性较高,但仍需防范恶意软件:

  • 安装ClamAV:使用clamav扫描系统,定期更新病毒库:
    sudo apt install clamav clamav-daemon -y
    sudo freshclam  # 更新病毒库
    sudo clamscan -r /  # 扫描整个系统(谨慎使用,耗时较长)
    

9. 最小安装原则
安装Debian时选择“Minimal Install”(最小安装),仅添加必要的软件包(如openssh-servervimwget),减少潜在攻击面。若后续需要安装软件,使用apt从官方源安装:

sudo apt install package_name -y

10. 定期安全审计
每月执行一次全面安全检查:

  • 检查用户账户:cat /etc/passwd(确认无未授权账户)、sudo -l(查看sudo权限分配)。
  • 检查开放端口:sudo netstat -tulnpss -tulnp,确认无多余端口开放。
  • 检查系统日志:sudo less /var/log/auth.log(查看登录记录)、sudo less /var/log/syslog(查看系统事件)。

0