搬瓦工的一键SS默认的加密算法是AES-256,这个算法在当时算是兼具了安全和性能的不二选择。
可是随着时代的发展,AES-256的性能已经不能满足广大人民群众的需求。所以新一代的算法冉冉升起————–chacha20
chacha20虽然名字很奇怪,但确是Google出品。来自RFC与Wikipedia的介绍。
ChaCha20
Google选择了带有Bernstein的Poly1305消息认证码的ChaCha20作为一个OpenSSL中RC4的替代品,用以完成互联网的安全通信。[17]Google最初实现了https (TLS/SSL)流量在Chrome浏览器(Android手机版)与Google网站之间的通信。[18]
不久之后,Google在TLS中采用它,ChaCha20和Poly1305算法也以 [email protected] 成为OpenSSH中的一个新密码包。[19][20]后来,通过编译时选项避免它依赖于OpenSSL也成为可能。[21]
ChaCha20也被用在OpenBSD[22]和NetBSD[23]操作系统中的arc4random随机数生成器,替换已经脆弱的RC4,在DragonFly BSD[24]中内核的CSPRNG子程序中也是如此。[25][26]
ChaCha20已经在RFC 7539中标准化。它在IKE和IPsec中的使用已在RFC 7634中标准化。在 RFC7905中,Chacha20-Poly1305 已经被加入 TLS 扩展标准([1])。
chacha20的优势在于移动设备的性能。所以我们开始动手改造吧。
按照以下步骤:
首先SSH连接自己的搬瓦工服务器。
标准起手动作,yum update。
然后执行下面命令。
yum install m2crypto gcc -y wget https://github.com/jedisct1/libsodium/releases/download/1.0.8/libsodium-1.0.8.tar.gz tar zfvx libsodium-1.0.8.tar.gz cd libsodium-1.0.8 ./configure make && make install echo "include ld.so.conf.d/*.conf" > /etc/ld.so.conf echo "/lib" >> /etc/ld.so.conf echo "/usr/lib64" >> /etc/ld.so.conf echo "/usr/local/lib" >> /etc/ld.so.conf ldconfig
因为我还没找到搬瓦工自带SS的配置文件位置。所以只能用临时的办法。
ps -ef | grep ssserver // 获得 sssever PID kill [PID] /usr/bin/ssserver -p [your port] -k [your password] -m chacha20 --user nobody
之后在客户端也选择chacha20就OK了。
操作完之后,虽然搬瓦工自带的SS管理页面看起来是STOP状态,但实际上服务器已经重新启动了。
等找到配置文件的位置之后,再更新比较完善的方法。
// Update 1 2017-02-08
关于如何做到开机自动启动与自定义参数的问题,已经找到了方案。
首先,在/etc目录下创建配置文件shadowsocks.json(vi /etc/shadowsocks.json或者ftp等你喜爱的方式)
然后输入下列内容
{ "server":"[Server IP]", "local_address":"127.0.0.1", "local_port":1080, "port_password":{ "[Port]":"[Password]" }, "timeout":300, "method":"chacha20", "fast_open":false }
然后,打开/etc/rc.local,将原来的ssserver启动命令删掉,然后写入
ssserver-c /etc/shadowsocks.json -d start
之后重启,连接成功就OK了。
以后想改密码或者端口的话,直接改/etc/shadowsocks.json中的设置,重启就好。
// Update 2 2017-06-18
今天发现所有使用chacha20加密的流量被服务器疯狂的拒绝。然后监视服务器侧并没有收到任何请求,推测已被拦截。
为了追求速度快就会留下马脚。所以请暂且使用AES-256吧
// Update 2 2017-09-08
更新了tar包的url地址
之前用的chacha20,最近ss的ip被墙了,新ip试一试aes-256