全部博文(389)
分类: Mysql/postgreSQL
2013-12-06 22:20:01
MySQL服务器安全最佳实践
1,MySQL服务器最好是专用的机器,不和其他的服务应用程序运行在相同的服务器上
2,MySQL和管理的ssh端口最好不要使用默认的3306和22端口
linux的ssh配置文件vi /etc/ssh/sshd_config
Port 22222
MySQL的配置文件my.conf
[mysqld]
port = 3390
3,在多块网卡的情况下,只允许相应的网卡对应相应的功能,比如应用程序连接MySQL是eth0,而管理的ssh端口,只在
eth1上监听
linux的ssh配置文件vi /etc/ssh/sshd_config
ListenAddress 192.168.233.10
MySQL的配置文件my.conf
[MySQLd]
bind-address = 192.168.222.110
4,只允许特定的主机进行连接特定的端口.如果网络设备可以做的,则在网络设备上做,否则打开主机自带的iptables.
[root@d2 ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 192.168.233.1 0.0.0.0/0 tcp dpt:33060
ACCEPT tcp -- 192.168.232.2 0.0.0.0/0 tcp dpt:22222
DROP all -- 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
5, MySQL只允许认证应用程序用户最好是主机和用户一起限制,比如.而MySQL的root用户只能本机登录.
6, 应用程序连接用户如果没有特殊要求,只给select,insert,update,delete和execute。而更新对像的权限由另外的用户去执.
行,如alert,create,drop等.
7, 不要直接使用root和MySQL软件用户进行ssh连接,最好是第三个用户连接,如有需求再ssh过去.
8, 应用程序数据库配置文件需要进行加密.
9, 应用程序对输入的sql字符串做一些检查.
10, 应用程序在业务层面上适当限定用户登录和注册的次数的限制.