Linux MySQL程序服务内建安全机制


Linux MySQL是常用系统,于是我学习研究了Linux MySQL,在这里对大家详细介绍下Linux MySQL系统应用,希望对大家有用。Linux MySQL一般性安全设置 。

打开/etc/my.cnf文件,修改以下设置,如果没有,可手动添加。#取消文件系统的外部锁skip-locking#不进行域名反解析,注意由此带来的权限/授权问题
skip-name-resolve#禁止Linux MySQL中用“LOAD DATA LOCAL INFILE”命令。这个命令会利用Linux MySQL把本地文件读到数据库中,然后用户就可以非法获取敏感信息了。网络上流传的一些攻击方法中就有用它的,它也是很多新发现的SQL Injection攻击利用的手段!

local-infile = 0#关闭远程连接,即3306端口。这是Linux MySQL的默认监听端口。由于此处Linux MySQL只服务于本地脚本,所以不需要远程连接。尽管Linux MySQL内建的安全机制很严格,但监听一个TCP端口仍然是危险的行为,因为如果Linux MySQL程序本身有问题,那么未授权的访问完全可以绕过Linux MySQL的内建安全机制。你必须确定,你是否真的不需要远程连接mysql)

skip-networking修改完my.cnf后,还需要对Linux MySQL的用户名、帐号、及默认数据库进行调整首先先登录mysql,在终端窗口输入 /usr/local/mysql/bin/mysql -u root -p然后会提示输入密码,输入正确密码后,会出现mysql>提示符。输入以下命令:

  1. mysql>use mysql;  
  2. mysql>update user set user="centos" where user="root"; (将mysql的root用户名修改成centos,防止root的密码被暴力破解)  
  3. mysql>select Host,User,Password,Select_priv,Grant_priv from user;  
  4. mysql>delete from user where user=''; 删除user用户)  
  5. mysql>delete from user where password=''; 删除user用户)  
  6. mysql>delete from user where host=''; 删除user用户)  
  7. mysql>drop database test; (删除默认的test数据库)  
  8. mysql>flush privileges; 刷新mysql的缓存,让以上设置立即生效)  
  9. mysql>quit; 

为了使以上优化和安全设置生效,请重启Linux MySQL服务或Linux。关于Linux MySQLl的安全设置,这篇文章很值得一看http://www.unixren.com/linux/bencandy.php?fid=21&id=459一般来说Linux MySQL使用这些安全设定就差不多了。

  1. Linux mysql安装修改root密码服务
  2. Linux Mysql服务器使用源码编译安装
  3. 简介Linux MySQL重要目录与登录密码
  4. 操作笔记:Linux mysql安装
  5. Linux Oracle访问MySQL的Client端软件

相关内容