前面我介绍过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