mariadb相当于是mysql一个分支,但是mariadb存在着一些安全漏洞。
主要安全隐患:
1、无密码登录,对所有的库和表具有完全的权限
2、使用匿名用户(任意用户)可以登录,对test数据库具有完全权限
1°安装mariadb:
yum -y install mariadb-server mariadb
systemctl start mariadb
2°执行初始化安全脚本:
mysql_secure_installation
# 执行这个脚本可以进行如下优化
# 1:设置root用户密码(没有规则)
# 2:禁止root远程登录
# 3:删除匿名用户
# 4:删除test数据库
# 5:刷新权限列表
3°密码安全:
1:修改root密码
mysqladmin -uroot -p123456 password 'mysql'
mysql -uroot -pmysql
MariaDB [(none)]>set password for root@'localhost'=password('123456');
通过修改mysql.user这个表,修改root密码
2:清空历史记录(历史记录中会有明文密码)
rm -fr ~/.bash_history #命令行历史记录
rm -fr ~/.mysql_history #mysql命令历史记录
4°监控数据库状态
可以通过zabbix,nmap,tcpdump监控
# 数据库一般不对外网公开,一般对数据的加密都在网页端,使用ssl
# 用户无法直接访问到数据库,因此不需要过于担心数据库的数据安全
补充:mariadb中文乱码(UTF-8编码)
vim /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
collation-server = utf8_general_ci # 需要添加
character-set-server = utf8 # 需要添加
create user sda1 identified by ‘123456’;
grant all privileges on . to ‘sda1’@’%'identified by ‘123456’ with grant option;
写总结的第六十三天!!!