mysql(mariadb)安全性

mysql(mariadb)主要安全性。
1,新安装mysql,运行mysql_secure_installation。
修改root密码、删除空密码用户、禁止root远程连接、删除测试库。

    $ Security in MySQL
Change the root password? [Y/n] y
Remove anonymous users? [Y/n] y 
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y

2、修改mysql默认管理员账号root。

MariaDB [mysql]> select * from user where user='root';

3、使用独立用户运行mysql服务。
系统默认使用mysql用户运行mysql服务。

    $ ps -ef |grep mariadb
mysql    13323 13166  0 Aug12 ?        00:00:28 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock

如用linux系统root运行服务,局域FILE权限的mysql用户可以通过root权限创建文件。

#指定用户运行
    $ mysqld-safe --user=mysql &

4、远程连接管理。
直接禁用远程连接,或至少修改远程端口3306。主要防火墙,selinux配置。
限制用户连接数max_user_connections。

    $ vi /etc/my.cnf
[mysqld]
max_user_connections=2 #分终端

5,mysql数据目录权限
数据目录所有者默认为mysql,不允许未授权用户读取数据。

    $ ls -l /var/lib/mysql/
total 28700
-rw-rw----. 1 mysql mysql    16384 Aug 13 19:10 aria_log.00000001
-rw-rw----. 1 mysql mysql       52 Aug 13 19:10 aria_log_control
-rw-rw----. 1 mysql mysql 18874368 Aug 13 19:10 ibdata1
-rw-rw----. 1 mysql mysql  5242880 Aug 13 19:11 ib_logfile0
-rw-rw----. 1 mysql mysql  5242880 Aug  7 19:37 ib_logfile1
drwx------. 2 mysql mysql     4096 Aug  7 19:37 mysql
srwxrwxrwx. 1 mysql mysql        0 Aug 13 19:11 mysql.sock
drwx------. 2 mysql mysql     4096 Aug  7 19:37 performance_schema
drwx------. 2 mysql mysql       33 Aug 12 00:11 testphp
drwx------. 2 mysql mysql       33 Aug 11 23:51 textphp

修改目录所有者。

     $ chown -R mysql.mysql /usr/local/mysql/

6,命令历史记录 ~/.mysql_history 。
history里包含user,password信息,应该删除。

 $ rm ~/.mysql_history
 $ sed -i '/user/'d
 $ sed -i '/password/'d
 $ ln -s /dev/null .mysql_history #不记录命令

7,禁止load data loacl infile 读取本地文档。

    $ cat /etc/my.cnf
[mysqld]
~~
local-infile=0
~~

8,MySQL服务器权限控制。
grant ,revoke管理对应用户、数据库、表的权限。

grant全部权限:

  1. usage
    连接(登陆)权限,建立一个用户,就会自动授予其usage权限(默认授予)。
  2. select
    必须有select的权限,才可以使用select table
  3. create
    必须有create的权限,才可以使用create table
  4. create routine
    必须具有create routine的权限,才可以使用{create |alter|drop} {procedure|function}
  5. create temporary tables(注意这里是tables,不是table)
    必须有create temporary tables的权限,才可以使用create temporary tables.
  6. create view
    必须有create view的权限,才可以使用create view
  7. create user
    要使用CREATE USER,必须拥有mysql数据库的全局CREATE USER权限,或拥有INSERT权限。
  8. insert
    必须有insert的权限,才可以使用insert into ….. values….
  9. alter
    必须有alter的权限,才可以使用alter table
  10. alter routine
    必须具有alter routine的权限,才可以使用{alter |drop} {procedure|function}
  11. update
    必须有update的权限,才可以使用update table
  12. delete
    必须有delete的权限,才可以使用delete from ….where….(删除表中的记录)
  13. drop
    必须有drop的权限,才可以使用drop database db_name; drop table tab_name;
  14. show database
    通过show database只能看到你拥有的某些权限的数据库,除非你拥有全局SHOW DATABASES权限。
  15. show view
    必须拥有show view权限,才能执行show create view。
  16. index
    必须拥有index权限,才能执行[create |drop] index
  17. excute
    执行存在的Functions,Procedures
  18. lock tables
    必须拥有lock tables权限,才可以使用lock tables
  19. references
    有了REFERENCES权限,用户就可以将其它表的一个字段作为某一个表的外键约束。
  20. reload
    必须拥有reload权限,才可以执行flush [tables | logs | privileges]
  21. replication client
    拥有此权限可以查询master server、slave server状态。
  22. replication slave
    拥有此权限可以查看从服务器,从主服务器读取二进制日志。
  23. Shutdown
    关闭MySQL:
  24. grant option
    拥有grant option,就可以将自己拥有的权限授予其他用户(仅限于自己已经拥有的权限)
  25. file
    拥有file权限才可以执行 select ..into outfile和load data infile…操作,但是不要把file, process, super权限授予管理员以外的账号,这样存在严重的安全隐患。
  26. super
    这个权限允许用户终止任何查询;修改全局变量的SET语句;使用CHANGE MASTER,PURGE MASTER LOGS。
  27. process
    通过这个权限,用户可以执行SHOW PROCESSLIST和KILL命令。默认情况下,每个用户都可以执行SHOW PROCESSLIST命令,但是只能查询本用户的进程。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值