最佳措施 全面解决MySQL网络安全问题
2008-08-30 11:07:32 来源:WEB开发网File
这个权限决定用户是否可以执行LOAD DATA INFILE命令。给用户这个权限要慎重,因为有这个权限的用户可以将任意的文件装载到表中,这样对MySQL是十分危险的。
Super
这个权限允许用户终止任何查询(这些查询可能并不是这个用户执行的)。
以上几种权限是非常危险的,在给用户授权限时要非常谨慎。
MySQL中的SSL
以上的帐户安全只是以普通的Socket进行数据传输的,这样非常不安全。因此,MySQL在4.1版以后提供了对SSL(Secure Scokets Layer)的支持。MySQL使用的是免费的OpenSSL库。
由于MySQL的Linux版本一般都是随Linux本身一起发布,因此,它们默认时都不使用SSL进行传输数据。如果要打开SSL功能,需要对hava_openssl变量进行设置:
MySQL的Windows版本已经将OpenSSL加入了。也面的命令是查看你的MySQL是否打开了SSL功能。
SHOWVARIABLESLIKE'have_openssl';
+---------------+-------+
|Variable_name|Value|
+---------------+-------+
|have_openssl|NO|
+---------------+-------+
1rowinset(0.00sec)
如果返回的是NO,那么说明你需要将OpenSSL编译进自己的MySQL在有时你可能需要将用户名和密码进行加密传输。在这时可以使用下面GRANT命令:
GRANTALLPRIVILEGESONssl_only_db.
*to'abc'@'%'IDENTIFIEDBY"password!"REQUIRESSL;
还可以通过 REQUIRE x509 选项进行SSL传输:
GRANTALLPRIVILEGESONssl_only_db.
*to'abc'@'%'IDENTIFIEDBY"password!"REQUIREx509;
赞助商链接