ACCESS MSSQL Mysql Oracle 
Google adsense申请技巧本站核心代理域名注册主机业务 快速发布你的买卖域名买卖网站信息 1元注册 cn域名
站长每日新闻导读 √ ·推荐万网空间¥120元 150m 站长网:站长必上的网站网站联盟大全本站代理万网域名55空间120元
 2007-3-13 16:41:22

全面解决MySQL网络安全问题

来源:赛迪 字体:[ ]

MySQL中的SSL

  以上的帐户安全只是以普通的Socket进行数据传输的,这样非常不安全。因此,MySQL在4.1版以后提供了对SSL(Secure Scokets Layer)的支持。MySQL使用的是免费的OpenSSL库。

  由于MySQL的Linux版本一般都是随Linux本身一起发布,因此,它们默认时都不使用SSL进行传输数据。如果要打开SSL功能,需要对hava_openssl变量进行设置:

  MySQL的Windows版本已经将OpenSSL加入了。也面的命令是查看你的MySQL是否打开了SSL功能。

  SHOW VARIABLES LIKE 'have_openssl';
  +---------------+-------+
  | Variable_name | Value |
  +---------------+-------+
  | have_openssl | NO |
  +---------------+-------+
  1 row in set (0.00 sec)


  如果返回的是NO,那么说明你需要将OpenSSL编译进自己的MySQL在有时你可能需要将用户名和密码进行加密传输。在这时可以使用下面GRANT命令:

  GRANT ALL PRIVILEGES ON ssl_only_db.
  * to 'abc'@'%' IDENTIFIED BY "password!" REQUIRE SSL;


  还可以通过 REQUIRE x509 选项进行SSL传输:

  GRANT ALL PRIVILEGES ON ssl_only_db.
  * to 'abc'@'%' IDENTIFIED BY "password!" REQUIRE x509;


  你还可以使用REQUIRE SUBJECT来指定一个特定的客户端证书来访问数据库。

  GRANT ALL PRIVILEGES ON ssl_only_db.* to 'abc'@'%'
  IDENTIFIED BY "password!"
  REQUIRE SUBJECT "/C=US/ST=New York/L=Albany/O=Widgets Inc./CN=client-ray.
  example.com/emailAddress=raymond@example.com";


  也许你并不关心使用的是什么客户许可,而仅仅关心的是你的证书。那么你可以使用REQUIRE ISSUER来实现:

  GRANT ALL PRIVILEGES ON ssl_only_db.
  * to 'abc'@'%' IDENTIFIED BY "password!"
  REQUIRE ISSUER
  "/C=US/ST=New+20York/L=Albany/O=Widgets Inc./CN=cacert.example.
  com/emailAddress=admin@example.com";


 推荐教程
     
网站地图 - 域名注册续费虚拟主机代理 - 交易论坛 - 网站投稿 - 广告服务 - 帮助中心 - 联系我们
Copyright ©2003-2007 www.Admin5.com All Rights Reserved