SQLAdmin在CentOS上的安全性如何保障
导读:SQLAdmin在CentOS上的安全加固要点 一 身份与访问控制 创建专用的操作系统管理账号(如sqladmin),仅授予必要的sudo权限,使用visudo编辑,避免共享root;禁用root的远程SSH登录,强制通过普通账号+sud...
SQLAdmin在CentOS上的安全加固要点
一 身份与访问控制
- 创建专用的操作系统管理账号(如sqladmin),仅授予必要的sudo权限,使用visudo编辑,避免共享root;禁用root的远程SSH登录,强制通过普通账号+sudo执行管理操作。
- 在数据库侧创建最小权限的管理账号,避免使用root进行日常操作;示例(MySQL/MariaDB):创建本地管理账号并限制为只读元数据与必要库的管理权限(避免使用“GRANT ALL … WITH GRANT OPTION”给远程账户);远程管理仅在必要时开放且限定来源IP。
- 示例命令(按需裁剪):
- 系统账号与sudo
- 创建账号:
sudo useradd -m -s /bin/bash sqladmin - 设置密码:
sudo passwd sqladmin - 加入wheel并仅授予必要sudo:
sudo usermod -aG wheel sqladmin,在/etc/sudoers中仅放开所需命令(使用visudo)
- 创建账号:
- 数据库最小权限(示例)
- 本地管理账号(不可远程):
CREATE USER 'sqladmin'@'localhost' IDENTIFIED BY 'StrongPass!23'; GRANT RELOAD, PROCESS, SHOW DATABASES, SELECT ON mysql.* TO 'sqladmin'@'localhost';(按业务再细化) - 远程只读运维账号(如确需):
CREATE USER 'ops'@'10.0.0.%' IDENTIFIED BY 'StrongPass!23'; GRANT SELECT, SHOW VIEW, REPLICATION CLIENT ON db_prod.* TO 'ops'@'10.0.0.%'; - 刷新权限:
FLUSH PRIVILEGES;
- 本地管理账号(不可远程):
- 系统账号与sudo
- 原则:最小权限、分权分域、账号定期审计与轮换。
二 网络与边界防护
- 防火墙仅放行必要端口与来源:数据库默认端口3306如需远程仅对受控网段开放;管理口(如SSH 22)限制为跳板/堡垒机来源。
- 示例:
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="10.0.0.0/24" port port="3306" protocol="tcp" accept' & & sudo firewall-cmd --reload
- 示例:
- 避免直接暴露数据库到公网;如必须远程,启用TLS/SSL加密传输,禁止明文连接。
- 保持SELinux为enforcing并按需配置策略,不要长期
setenforce 0或关闭;若使用Web管理工具,按需开启SELinux布尔值(如httpd_can_network_connect_db)以允许应用连接数据库。
三 数据库与凭据安全
- 禁止在生产环境使用root远程登录;为日常管理创建专用高权限账号,并遵循最小权限原则。
- 强制使用强密码策略与周期轮换;对高权限账号启用更严格的认证与来源限制。
- 远程连接一律走SSL/TLS;在应用/管理工具侧配置证书校验,避免凭证泄露与中间人攻击。
- 定期审计用户、权限与登录活动,清理过期/无用账号与权限。
四 系统与日志监控
- 资源与访问控制:在
/etc/security/limits.conf与/etc/sysctl.conf中设置合理的文件描述符与内核网络参数,提升稳定性与抗攻击能力。 - 集中与实时监控:收集与分析系统与安全日志(如**/var/log/messages**、/var/log/secure、/var/log/mysqld.log),使用
journalctl -f实时排查;结合Prometheus + Grafana等监控平台对连接数、错误率、慢查询等进行告警。 - 备份与恢复:使用mysqldump或物理备份定期备份,备份文件加密并异地/离线保存;定期做恢复演练验证可用性与完整性。
五 快速检查清单
| 检查项 | 期望状态/做法 |
|---|---|
| root远程SSH | 已禁用;仅允许跳板/堡垒机 |
| 专用管理账号 | 已创建;sudo权限最小化;定期轮换口令 |
| 数据库账号 | 遵循最小权限;远程仅限受控网段与必要账号 |
| 端口与防火墙 | 仅放行3306/22等必要端口与来源网段 |
| SELinux | enforcing;按需配置布尔值,不关闭 |
| 传输加密 | 远程连接启用SSL/TLS并校验证书 |
| 日志与监控 | 系统/安全/数据库日志集中;关键指标与异常告警已配置 |
| 备份与演练 | 定期备份、异地保存;定期恢复演练通过 |
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: SQLAdmin在CentOS上的安全性如何保障
本文地址: https://pptw.com/jishu/761361.html
