VirtualBox中CentOS虚拟机的安全设置指南
定期通过yum update命令更新CentOS系统及所有已安装的软件包,确保及时修复已知安全漏洞,降低被攻击的风险。
SELinux是CentOS的核心安全模块,提供强制访问控制(MAC)。建议保持SELinux处于启用状态(默认为enforcing模式),可通过getenforce命令查看状态。若需调整策略,可使用semanage或setsebool命令(如允许Apache访问用户家目录:setsebool -P httpd_enable_homedirs 1),避免因误配置导致安全失效。
使用firewalld替代传统iptables,通过以下步骤配置:
sudo yum install firewalld && sudo systemctl start firewalld && sudo systemctl enable firewalld;public(拒绝未明确允许的流量):sudo firewall-cmd --set-default-zone=public;sudo firewall-cmd --permanent --zone=public --add-port=22/tcp、sudo firewall-cmd --permanent --zone=public --add-port=80/tcp;sudo firewall-cmd --permanent --zone=public --add-rich-rule 'rule family="ipv4" source address="192.168.1.100" accept';sudo firewall-cmd --reload。/etc/ssh/sshd_config文件,将PermitRootLogin yes改为PermitRootLogin no,重启SSH服务:sudo systemctl restart sshd,防止root账户被暴力破解;sudo useradd -m username),设置强密码(包含大小写字母、数字、特殊字符,长度≥10),并将其加入wheel组(sudo usermod -aG wheel username),通过sudo执行特权命令,避免直接使用root;/etc/login.defs文件,设置最小密码长度(PASS_MIN_LEN 10)、密码有效期(PASS_MAX_DAYS 90)等参数;adm、lp、sync),使用userdel username(删除)或passwd -l username(锁定)。systemctl list-unit-files --type=service查看所有服务,停止(sudo systemctl stop servicename)并禁用(sudo systemctl disable servicename)不需要的服务(如acpid、autofs、bluetooth),减少攻击面;sudo cryptsetup luksFormat /dev/sdX,替换/dev/sdX为目标磁盘)→设置密码→格式化加密卷(sudo mkfs.ext4 /dev/mapper/encrypted_volume)→挂载并设置开机自动挂载(编辑/etc/fstab添加/dev/mapper/encrypted_volume /mnt ext4 defaults 0 0);VeraCrypt或OpenSSL加密重要文件(如数据库文件、配置文件),例如用AES-256-CBC算法加密:openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.bin,解密时使用openssl enc -d -aes-256-cbc -in encrypted.bin -out decrypted.txt。vboxsf组(sudo usermod -aG vboxsf $(whoami)),并设置共享文件夹权限(如chmod 750 /mnt/shared),防止未授权访问;journalctl查看系统日志(如journalctl -xe查看近期日志),通过rsyslog将日志发送到远程服务器(避免本地日志被篡改);auditd工具监控关键文件(如/etc/passwd、/etc/shadow)的访问,设置报警规则(如auditctl -w /etc/passwd -p wa -k passwd_changes),及时发现未授权修改。定期备份虚拟机数据(如使用rsync、tar或第三方备份工具),将备份文件存储在安全的位置(如外部存储、云存储)。测试备份的可恢复性,确保在遭受攻击或数据丢失时能快速恢复系统。