MariaDB在Linux上的安全配置
MariaDB在Linux上的安全配置可从以下方面入手:
- 基础安全初始化
- 运行
mysql_secure_installation
脚本,设置root密码、删除匿名用户、禁止root远程登录、删除测试数据库。
- 运行
- 配置文件优化
- 修改
/etc/my.cnf
或/etc/mysql/mariadb.conf.d/50-server.cnf
:- 将
bind-address
设为0.0.0.0
以允许远程访问(生产环境建议限制为特定IP)。 - 调整
max_connections
控制最大连接数,关闭LOCAL INFILE
防止文件系统访问。
- 将
- 修改
- 用户权限管理
- 创建专用数据库用户,避免使用root日常操作,按需分配最小权限(如
GRANT SELECT, INSERT ON db.* TO 'user'@'host'
)。 - 定期清理冗余用户,确保权限最小化。
- 创建专用数据库用户,避免使用root日常操作,按需分配最小权限(如
- 防火墙与网络隔离
- 使用
ufw
/firewalld
/iptables
开放3306端口,并限制仅允许信任IP访问。 - 生产环境建议关闭数据库服务器的公网访问,通过内网或跳板机连接。
- 使用
- 加密与审计
- 启用SSL/TLS加密连接(需配置证书),保护数据传输安全。
- 开启二进制日志(
log-bin
)和审计功能,记录操作日志便于追溯。
- 系统层面加固
- 确保MariaDB服务以非root用户运行,降低权限滥用风险。
- 定期更新MariaDB和系统补丁,修复安全漏洞。
- 配置SELinux(若启用)允许MariaDB相关操作,或临时设置为宽松模式测试。
关键命令参考:
- 防火墙开放端口(以ufw为例):
sudo ufw allow 3306/tcp
- 授权远程用户:
GRANT ALL ON *.* TO 'user'@'%' IDENTIFIED BY 'password'
- 重启服务生效配置:
sudo systemctl restart mariadb
以上措施可有效提升MariaDB在Linux环境下的安全性,生产环境需结合业务需求进一步细化权限和加密策略。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权请联系我们,一经查实立即删除!