ss-panel 扩展教程

前面我们已经完整的搭建了 ss-panel 和服务器,算是“可以使用”了。不过还存在许多问题,尤其是安全问题,本文就来扫个尾。

开机自启

现在一旦重启,ss后端不会自动运行。大多情况下我们希望他自动运行。

比通用的办法是直接添加到开启启动脚本:

1
2
# 修改启动脚本
vi /etc/rc.d/rc.local

加入下面的脚本:

1
2
# 记得改成你自己ss所在的目录
sh /root/shadowsocks/run.sh

保存后f赋予可执行权限然后重启看看:

1
2
chmod +x /etc/rc.d/rc.local
reboot

安装BBR

BBR 是 Google 提出的 TCP 拥塞控制算法。这里不深究原理,只要知道能起到加速效果就好了。

使用秋水逸冰的一键安装脚本可以轻松安装。

系统支持:CentOS 6+,Debian 7+,Ubuntu 12+

虚拟技术:OpenVZ 以外的,比如 KVM、Xen、VMware 等

内存要求:≥128M

执行下面命令:

1
2
3
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh
chmod +x bbr.sh
./bbr.sh

执行完后按提示重启即可。

验证安装

执行 uname -r 查看系统内核版本号,应该已经是最新版。

执行 sysctl net.ipv4.tcp_congestion_control,返回值一般应该为 net.ipv4.tcp_congestion_control = bbr

执行 lsmod | grep bbr 返回值包含 tcp_bbr 说明bbr已经启动。注意: 并不是所有的 VPS 都会有此返回值。

禁止搜索引擎抓取

一般来说我们不太希望搜索引擎尤其是国内搜索引擎收录我的网站。所以需要进行一些设置。

最基本的是 robots 设置,这个 panel 已经默认做好了。就是在站点根目录有一个 robots.txt,文件,里面写着:

1
Disallow: /

意思是不允许任何搜索引擎抓取任何页面。当然我们也可以进行更加灵活的控制,可以用站长工具来生成规则。

但是!!! robots 只是一个规范,搜索引擎是自愿遵守的。所以他也可以不遵守。曾经360搜索就堂而皇之的无视 robots 臭名昭著。所以我们还需要一些强制措施。

可以通过判断请求的 user agent 判断来访者是不是搜索引擎。借此可以屏蔽搜索引擎的访问。以 Nginx 服务器为例,在 vhost 的配置中加入下面代码:

1
2
3
4
#禁止搜索引擎访问
if ($http_user_agent ~* (baiduspider|googlebot|soso|bing|sogou|yahoo|sohu-search|yodao|YoudaoBot|robozilla|msnbot|MJ12bot|NHN|Twiceler)) {
return 403;
}

效果如下:

nginx

这样,搜索引擎访问我们就会得到 403 Forbidden 响应,获取不到任何内容。可以用搜索引擎模拟工具来进行测试。

关闭不用的端口

网上充斥着无数恶意的端口扫描,因此在防火墙关闭用不到的端口非常重要。宝塔面板提供了可视化的防火墙管理,部分云主机厂商本身也提供了网络配置。

常用的端口有:

  • 80/443:http/https
  • 22:ssh
  • 3306:mysql。不需要远程连接请关闭。
  • 20/21:ftp。不使用请关闭。
  • >8000:高位端口。建议开放。

在 panel 的 config/.config.php 里可以配置ss端口池。配置项分别为 min_port/max_port

邮件设置

默认情况下注册是需要验证邮箱的,但如果不设置一下就无法发送邮件。默认使用的是 mailgun 来发送,我对这个不是很熟悉,所以改成常见的 smtp。绝大部分邮箱都提供了 smtp 功能,这里以qq为例。警告:不建议使用大陆服务的邮箱。

编辑配置文件 config/.config.php。首先把 $System_Config['mailDriver'] 改成 smtp。然后依次修改 smtp_* 系列设置:

  • smtp_host:服务器名,不同服务商不一样,qq是 smtp.qq.com
  • smtp_username:用户名,一般就是邮箱账号。
  • smtp_port:端口。依服务商而定,qq邮箱是465
  • smtp_name:一般是邮箱账号。
  • smtp_sender:一般是邮箱账号。
  • smtp_passsword:一般是邮箱密码,qq邮箱除外。
  • smtp_ssl:是否启用ssl。qq是启用。

qq邮箱为了保证安全,使用的不是账户密码,而是客户端授权码。登录网页版qq邮箱,在设置-账户-POP3/IMAP/SMTP服务中可以生成。

配置好之后就可以正常发送邮件了。

审计规则

充分使用审计规则阻断可疑流量可以大幅降低陷入麻烦的概率。

下面是常用的阻断规则:

标题 正则 类型
屏蔽360主站 (\.\ )360\.(cn\ com) 明文匹配
屏蔽奇虎 (\.\ )qihoo\.com 明文匹配
屏蔽360 (\.\ )360safe\.com 明文匹配
屏蔽 360 好搜 (\.\ )so\.com 明文匹配
屏蔽 奇虎图片 (\.\ )qhimg\.com 明文匹配
屏蔽 BT BitTorrent 明文匹配
屏蔽360国际版 (\.\ )360totalsecurity\.com 明文匹配
禁止外发邮件 (Subject\ HELO\ SMTP) 明文匹配
屏蔽360快视频 (\.\ )360kan\.com 明文匹配

添加管理员

在数据库 user 表中有一个 is_admin 字段,将其置1即可。

喜欢就赏个点心钱吧(* "・∀・)ノ――◎