温馨提示×

Debian虚拟机安全设置怎么做

小樊
55
2025-10-08 10:37:10
栏目: 云计算

1. 系统更新与补丁管理
保持系统及软件包最新是安全基础,定期执行以下命令更新系统:

sudo apt update && sudo apt upgrade -y 

建议安装unattended-upgrades实现自动安全更新,避免遗漏关键补丁:

sudo apt install unattended-upgrades sudo dpkg-reconfigure --priority=low unattended-upgrades 

2. 防火墙配置(UFW推荐)
使用ufw(Uncomplicated Firewall)简化防火墙管理,仅允许必要流量:

sudo apt install ufw sudo ufw allow ssh # 允许SSH连接(若通过SSH管理) sudo ufw allow 80/tcp # 允许HTTP(如需网页服务) sudo ufw allow 443/tcp # 允许HTTPS(如需加密网页服务) sudo ufw enable # 启用防火墙 sudo ufw status verbose # 查看规则状态(确认配置正确) 

如需更严格的访问控制,可限制特定IP访问关键端口(如仅允许公司IP访问SSH):

sudo ufw allow from 192.168.1.100 to any port 22 

3. SSH安全加固
SSH是远程管理的主要通道,需调整配置降低风险:

  • 编辑/etc/ssh/sshd_config文件:
    sudo nano /etc/ssh/sshd_config 
    修改以下关键参数:
    Port 2222 # 更改默认端口(避免扫描攻击) PermitRootLogin no # 禁止root直接登录 PasswordAuthentication no # 禁用密码登录(仅用密钥) AllowUsers your_username # 仅允许指定用户登录 
  • 重启SSH服务使配置生效:
    sudo systemctl restart sshd 
  • 配置SSH密钥对认证(替代密码):
    在宿主机生成密钥对:
    ssh-keygen -t rsa -b 4096 
    将公钥复制到虚拟机:
    ssh-copy-id -i ~/.ssh/id_rsa.pub your_username@虚拟机IP -p 2222 

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

  • 创建普通用户并加入sudo组(用于执行管理员命令):
    sudo adduser your_username # 创建用户并设置密码 sudo usermod -aG sudo your_username # 加入sudo组 
  • 使用visudo编辑/etc/sudoers文件,确保用户权限可控(避免直接修改原文件):
    sudo visudo 
    添加以下内容(允许用户无密码执行所有sudo命令,生产环境建议限制为必要命令):
    your_username ALL=(ALL) NOPASSWD:ALL 
  • 强化密码策略:编辑/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 

5. 禁用不必要的服务与组件
减少攻击面,关闭未使用的服务:

  • 查看已启动的服务列表:
    systemctl list-unit-files --state=enabled 
  • 停止并禁用不需要的服务(如FTP、Telnet等):
    sudo systemctl stop ftp # 示例:停止FTP服务 sudo systemctl disable ftp # 禁止开机启动 
  • 卸载无用软件包:
    sudo apt autoremove --purge # 删除不再需要的依赖包 

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

  • 使用rsync实现增量备份(将数据同步到外部存储或另一台服务器):
    rsync -avz /path/to/important/data /backup/location 
  • 使用duplicity进行加密备份(支持远程存储,如S3、FTP):
    sudo apt install duplicity duplicity /path/to/data sftp://user@backup-server/backup/path 
  • 对敏感数据加密(如个人文档、数据库文件):使用eCryptfs挂载加密目录:
    sudo apt install ecryptfs-utils sudo mount -t ecryptfs /path/to/sensitive/data /path/to/encrypted/data 

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

  • 使用logwatch每日汇总日志(发送到邮箱):
    sudo apt install logwatch sudo logwatch --output mail --mailto your_email@example.com --detail high 
  • 使用fail2ban防止暴力破解(自动封禁多次登录失败的IP):
    sudo apt install fail2ban sudo systemctl enable fail2ban sudo systemctl start fail2ban 
    编辑/etc/fail2ban/jail.local配置文件,启用SSH防护:
    [sshd] enabled = true maxretry = 3 # 允许的最大失败次数 bantime = 3600 # 封禁时间(秒) 
  • 使用auditd记录关键系统调用(如文件访问、用户登录):
    sudo apt install auditd sudo auditctl -e 1 # 启用审计 
    查看审计日志:
    ausearch -m avc -ts recent # 示例:查看最近的SELinux审计日志 

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

  • 安装ClamAV(开源防病毒工具):
    sudo apt install clamav clamav-daemon 
  • 更新病毒库:
    sudo freshclam 
  • 扫描系统(全盘扫描需较长时间):
    sudo clamscan -r / # 递归扫描根目录 
    定期扫描(如每周一次)可通过cron任务自动化。

0