CentOS环境下SQLAdmin安全策略
GRANT命令为用户分配仅满足工作需求的权限(如SELECT、INSERT而非ALL PRIVILEGES);避免直接使用root账户进行日常数据库操作,降低权限滥用风险。groupadd创建专用组(如sqladmin_group),使用usermod -aG将SQLAdmin用户加入该组;通过组权限控制用户对数据库文件、配置目录(如/etc/my.cnf)的访问,避免个体用户权限过度扩散。REVOKE命令清理冗余权限,通过SHOW GRANTS FOR 'username'@'host'核查用户权限清单,确保权限与职责匹配。GRANT ... REQUIRE SSL限制用户仅能通过SSL连接,避免密码或数据在传输中被窃取。auditd服务记录SQLAdmin用户的操作行为(如登录、查询、修改权限),配置日志轮转避免磁盘空间耗尽。例如添加审计规则-w /usr/bin/mysql -p x -k sqladmin_commands跟踪mysql命令的执行。ausearch(按关键字查询日志)、aureport(生成统计报告)工具定期分析日志,重点关注异常操作(如频繁的失败登录、非工作时间的大批量数据导出),及时触发告警或阻断行为。firewalld或iptables仅开放数据库必要端口(如MySQL默认3306),拒绝其他端口的入站请求。例如firewall-cmd --permanent --zone=public --add-port=3306/tcp添加端口,firewall-cmd --reload生效。bind-address设置为127.0.0.1)或防火墙规则,限制仅允许特定IP地址(如运维管理机的IP)访问数据库服务器,减少远程攻击面。getenforce返回Enforcing),调整策略允许SQLAdmin服务访问所需资源。例如允许Apache通过HTTP连接数据库:setsebool -P httpd_can_network_connect_db 1。telnet、ftp),减少潜在攻击入口;修改数据库默认端口(如将3306改为3307),降低端口扫描发现概率。yum update定期更新操作系统、数据库软件(如MySQL、PostgreSQL)及SQLAdmin工具,修复已知安全漏洞,避免被黑客利用。/etc/login.defs文件设置密码复杂度要求(如PASS_MIN_LEN 12、PASS_REQUIRE_MIXED_CASE yes),强制用户使用包含大小写字母、数字和特殊字符的长密码。PASS_MAX_DAYS 90、PASS_WARN_AGE 7),定期提醒用户更换密码;禁止重复使用最近5次密码,降低密码猜测风险。passwd -l unused_user),删除无用的默认账户(如adm、lp);限制su命令使用权限(通过/etc/pam.d/su配置仅允许wheel组成员切换root),防止未授权账户提权。