本文章已收录至本站专栏
服务器安全系列
0、前言
前段时间我利用社工及相关手段,碰巧进入了一个骗子的网站后台,拿到了他服务器的真实IP,从而成功使用相同密码登录SSH,获取宝塔面板的登录用户名,再次使用相同密码登录进去,生成了SSH私钥。
后来他改宝塔密码了,我一气之下就登录SSH执行了
1 | rm -rf /www/* |
也就是把宝塔下的数据全删了。
这件事之后,我更加注重我服务器的安全配置。毕竟宝塔面板里安装了腾讯云插件,直接就可以看到API Key和Secret Key。因此,也就有了这个系列。
1、登录配置
安装宝塔7.7.0版本并破解教程:
https://blog.tsinbei.com/tw/archives/7/
使用Ping Tools等端口扫描工具对服务器IP一扫,很容易就能扫到宝塔面板的登录端口。因此,在登录部分,有以下配置:
- 修改面板端口
- 设置安全入口
- 开启面板SSL
- 开启Basic Auth
- 配置登录告警
- 使用多用户登录
1.1、修改面板端口
默认的面板端口是8888,这个太有特征性了,以至于非常容易被扫到。
注意:有部分用户称,五位数端口在部分插件中容易出问题,因此尽量使用四位数端口!
推荐端口:使用自己的出生年份+月份中的几位,例如1999年12月,就使用1912端口。
1.2、设置安全入口
安全入口可以随意设置,其实也可以不设置。但是为了更安全,这里还是推荐大家设置一下。
推荐入口:名字拼音或英文名,再加上几个数字,例如陈睿就使用chenrui147或cherry258。
另外,也要设置未认证响应状态,例如401 Unauthorized,以免被识别出来。
1.3、开启面板SSL
开启面板SSL前需要先绑定一个域名,
注意:建议使用不常用域名,例如腾讯域名是tencent.com,北京服务器面板使用域名bj.qcloud.com。
使用自签证书会导致访问很麻烦,需要安装证书,不过也提高了安全性,没安装证书的访问不了。但我为了方便,就从网站那里复制了证书到“自签证书”那里。使用Let's Encrypt的话会自动添加一个网站,同样不推荐使用。
1.4、开启Basic Auth
Basic Auth其实就是再加一层密码,这里的密码不要和面板密码相同。建议使用生日年份+具体日期等。
1.5、配置登录告警
如果常用QQ或微信,建议使用邮件通道,推送到QQ邮箱;如果常用企业微信或钉钉,建议用WebHook API推送。
如果用邮箱的话,建议使用宝塔邮局管理器自建邮箱,且要在QQ邮箱等的网页版设置白名单,否则有可能会被识别为垃圾邮件!
注意:应该把本地环回地址和公网IP设置为白名单。
1.6、使用多用户登录
如果SSH被破解,是可以通过命令行查看到宝塔当前的用户名的,这样就增大了被破解的概率。
因此,建议默认的用户名和密码设置得极其复杂,大小写字母+数字+特殊符号+20位以上,最好是自己都记不住。
然后,在软件商店中安装插件“多用户管理”,在其中配置用户名和密码。
2、phpMyAdmin配置
phpMyAdmin如果开启公网访问的话,也容易被破解。因此,需要进行以下配置:
- 关闭HTTP访问
- 更换端口,开启HTTPS访问
- 开启密码访问
2.1、关闭HTTP访问
用上述方法配置了面板SSL后,便可以配置phpMyAdmin的HTTPS登录,关闭HTTP访问。
HTTP端口可以使用默认的,然后在防火墙中删除此端口,也就是外网无法访问。
2.2、开启HTTPS访问
设置一个HTTPS端口即可。
注意:记得在防火墙中添加此端口。
2.3、设置密码访问
类似于面板的Basic Auth,密码复杂度相同即可。
3、小结
进行完以上配置后,在防火墙处配置好端口放行即可。
服务器安全十分重要,因此不要在服务器上执行未知来源的脚本!之前宝塔论坛上就有执行破解脚本的服务器被添加了后门的先例。
本博客给出的一切源码或脚本都已测试过,请放心使用!
服务器安全(一)宝塔面板防御
评论