,文章

为sspanel魔改版的Mysql添加SSL 支持。

  最近更新时间:2018-01-22
文章目录

前面我介绍过sspanel前端的搭建。但是默认的设置是没有SSL配置的。
进行完这个操作之后,可以保护你的节点和你数据库之间的连接。

为Mysql添加SSL支持。

1.请确认你的 Mysql 支持 SSL ,LNMP 默认没有这个支持,需要自己编译。这是是 5.5 版本的方法,其他版本请自己参考 Mysql 官网的方法。

service mysql stop
wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.50.tar.gz
tar xvzf mysql-5.5.50.tar.gz
cd mysql-5.5.50
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DWITH_READLINE=1 -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DWITH_SSL=system
make
make install
service mysql start

最新版的mysql查看http://dev.mysql.com/downloads/mysql/

生成证书

按照
http://dev.mysql.com/doc/refman/5.5/en/creating-ssl-files-using-openssl.html
的方法生成在 /etc/mysql/ 下。

修改mysql设置

my.cnf[mysqld] 后添加

ssl-ca=/etc/mysql/ca.pem
ssl-cert=/etc/mysql/server-cert.pem
ssl-key=/etc/mysql/server-key.pem

重启mysql

sevrice mysql restart

设置ssr节点

重启完毕,然后把 /etc/mysql/ 的 client-cert.pem 和 client-key.pem 和 ca.pem 传到你节点上 ssr mod 的目录下,我这里以 /root/shadowsocks 为例。
设置 usermysql.json 添加或者设置如下
"ssl_enable" = 1
"ssl_ca" = "/root/shadowsocks/client-cert.pem"
"ssl_key" = "/root/shadowsocks/client-key.pem"
"ssl_cert" = "/root/shadowsocks/ca.pem"
重启节点程序,搞定。

注意:mysql所在的服务器在升级后可能会关闭3306端口,此时只需要打开3306端口,或者关闭iptables即可。
debian8开启3306端口。
安装iptables持久化设置软件。

apt-get install iptables-persistent

修改iptables规则,/etc/iptables/rules.v4

将 -A INPUT -p tcp -m tcp --dport 3306 -j DROP修改为
   -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
保存文件。
netfilter-persistent reload //读取配置。
netfilter-persistent save //保存配置

参考链接:https://github.com/shadowsocksr-backup/shadowsocks-rss/wiki/Mysql-SSL-%E9%85%8D%E7%BD%AE

发表评论