温馨提示×

centos sqladmin安全配置

小樊
43
2025-12-29 10:14:37
栏目: 云计算

CentOS 上 SQLAdmin 安全配置清单

一 基础安全基线

  • 保持系统与软件为最新:执行sudo yum update -y,及时修补漏洞。
  • 强化系统账户与口令:编辑**/etc/login.defs设置密码长度与复杂度;为root设置TMOUT**(如:export TMOUT=600);仅允许特定组使用su;必要时用chattr +i保护**/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow**等关键文件;清理不必要的默认账户(如 adm、lp、sync)。
  • 最小化服务暴露:关闭不必要的端口与服务(如 FTP、Telnet),减少攻击面。
  • 启用审计:启动并配置auditd,使用ausearch/aureport定期审计关键操作与登录行为。
  • 防火墙与端口:仅放行必要端口(Web 的80/443;数据库仅在需要时放行3306),使用firewall-cmd --permanent --add-service=http/httpsreload
  • 文件系统与磁盘:对敏感数据使用LUKS等加密;合理分区与权限隔离。

二 数据库层安全

  • 运行安全初始化:执行mysql_secure_installation,设置root强密码、删除匿名用户、禁止root远程登录。
  • 专用管理账号:创建最小权限的sqladmin账号,避免使用root进行日常管理;示例(按需收紧到具体库表):
    • 登录:mysql -u root -p
    • 创建:CREATE USER ‘sqladmin’@‘localhost’ IDENTIFIED BY ‘YourStrongPassword123!’;
    • 授权:GRANT ALL PRIVILEGES ON . TO ‘sqladmin’@‘localhost’ WITH GRANT OPTION;(生产建议改为仅对目标库授予所需权限)
    • 刷新:FLUSH PRIVILEGES;
  • 限制来源与加密:优先仅允许localhost访问;如必须远程,限制为受控网段并启用SSL/TLS加密通信。
  • 审计与日志:开启数据库错误日志(常见路径**/var/log/mysqld.log**),定期审计用户权限与异常查询。

三 Web 管理工具安全(以 phpMyAdmin 为例)

  • 安装与依赖:部署Apache/Nginx + PHP及扩展(如php-mysqlnd、php-gd、php-mbstring、php-xml),确保服务与模块正确加载。
  • 访问控制:将工具置于受限目录(如**/var/www/html/sqladmin**),仅允许受信来源访问;禁用目录浏览与敏感文件访问(如location ~ /.ht { deny all; })。
  • 认证与密钥:配置**$cfg[‘blowfish_secret’](≥16位随机串)、$cfg[‘auth_type’] = ‘cookie’$cfg[‘AllowNoPassword’] = false**,强制口令登录与会话加密。
  • 连接数据库:在配置中仅指向localhost或受控数据库主机;如需经由 Web 连接数据库,启用 SELinux 布尔值:sudo setsebool -P httpd_can_network_connect_db 1
  • 传输加密:启用HTTPS/TLS(Let’s Encrypt 或企业 CA),对外仅开放443,将80重定向至443

四 网络与系统加固

  • 防火墙精细化:仅放行必要服务端口(Web 80/443;数据库端口3306按需开放且限制来源网段),变更后执行firewall-cmd --reload生效。
  • SELinux 策略:保持Enforcing模式,按需设置布尔值(如httpd_can_network_connect_db);避免直接setenforce 0或关闭 SELinux。
  • SSH 安全:禁止root远程登录,使用sudo密钥认证,可修改默认端口并限制可登录用户/组。
  • 服务最小化:禁用未使用的服务与端口,减少暴露面与潜在漏洞。

五 备份恢复与持续运维

  • 定期备份:使用mysqldump执行全量/增量备份(示例:mysqldump -u sqladmin -p --all-databases > /backup/all_databases.sql),并妥善存储于隔离位置。
  • 恢复演练:定期验证备份的完整性与可恢复性,确保灾难恢复流程有效。
  • 监控与告警:收集与可视化数据库与系统指标(如Prometheus + Grafana),对异常连接、权限变更、慢查询等进行告警。
  • 持续更新与审计:定期更新CentOSSQLAdmin/数据库版本,复核用户权限与访问策略,持续进行auditd审计与日志分析。

0