服务器安全(一)宝塔面板防御

本文章已收录至本站专栏
服务器安全系列

0、前言

前段时间我利用社工及相关手段,碰巧进入了一个骗子的网站后台,拿到了他服务器的真实IP,从而成功使用相同密码登录SSH,获取宝塔面板的登录用户名,再次使用相同密码登录进去,生成了SSH私钥。
后来他改宝塔密码了,我一气之下就登录SSH执行了

Bash
1
rm -rf /www/*

也就是把宝塔下的数据全删了。
这件事之后,我更加注重我服务器的安全配置。毕竟宝塔面板里安装了腾讯云插件,直接就可以看到API Key和Secret Key。因此,也就有了这个系列。

1、登录配置

安装宝塔7.7.0版本并破解教程:
https://blog.tsinbei.com/archives/7/
使用Ping Tools等端口扫描工具对服务器IP一扫,很容易就能扫到宝塔面板的登录端口。因此,在登录部分,有以下配置:

  1. 修改面板端口
  2. 设置安全入口
  3. 开启面板SSL
  4. 开启Basic Auth
  5. 配置登录告警
  6. 使用多用户登录

1.1、修改面板端口

默认的面板端口是8888,这个太有特征性了,以至于非常容易被扫到。

注意:有部分用户称,五位数端口在部分插件中容易出问题,因此尽量使用四位数端口!

推荐端口:使用自己的出生年份+月份中的几位,例如1999年12月,就使用1912端口。

设置端口

1.2、设置安全入口

安全入口可以随意设置,其实也可以不设置。但是为了更安全,这里还是推荐大家设置一下。

推荐入口:名字拼音或英文名,再加上几个数字,例如陈睿就使用chenrui147cherry258

设置安全入口

另外,也要设置未认证响应状态,例如401 Unauthorized,以免被识别出来。

设置未认证响应状态

1.3、开启面板SSL

开启面板SSL前需要先绑定一个域名,

注意:建议使用不常用域名,例如腾讯域名是tencent.com,北京服务器面板使用域名bj.qcloud.com。

使用自签证书会导致访问很麻烦,需要安装证书,不过也提高了安全性,没安装证书的访问不了。但我为了方便,就从网站那里复制了证书到“自签证书”那里。使用Let's Encrypt的话会自动添加一个网站,同样不推荐使用。

设置SSL证书

1.4、开启Basic Auth

Basic Auth其实就是再加一层密码,这里的密码不要和面板密码相同。建议使用生日年份+具体日期等。

配置BasicAuth

1.5、配置登录告警

如果常用QQ或微信,建议使用邮件通道,推送到QQ邮箱;如果常用企业微信或钉钉,建议用WebHook API推送。

如果用邮箱的话,建议使用宝塔邮局管理器自建邮箱,且要在QQ邮箱等的网页版设置白名单,否则有可能会被识别为垃圾邮件!

配置邮件

开启登录告警

注意:应该把本地环回地址和公网IP设置为白名单。

设置IP白名单

1.6、使用多用户登录

如果SSH被破解,是可以通过命令行查看到宝塔当前的用户名的,这样就增大了被破解的概率。

因此,建议默认的用户名和密码设置得极其复杂,大小写字母+数字+特殊符号+20位以上,最好是自己都记不住。
然后,在软件商店中安装插件“多用户管理”,在其中配置用户名和密码。

添加多用户

2、phpMyAdmin配置

phpMyAdmin如果开启公网访问的话,也容易被破解。因此,需要进行以下配置:

  1. 关闭HTTP访问
  2. 更换端口,开启HTTPS访问
  3. 开启密码访问

2.1、关闭HTTP访问

用上述方法配置了面板SSL后,便可以配置phpMyAdmin的HTTPS登录,关闭HTTP访问。
HTTP端口可以使用默认的,然后在防火墙中删除此端口,也就是外网无法访问。

使用默认端口

2.2、开启HTTPS访问

设置一个HTTPS端口即可。
注意:记得在防火墙中添加此端口。

开启HTTPS访问

2.3、设置密码访问

类似于面板的Basic Auth,密码复杂度相同即可。

密码访问

3、小结

进行完以上配置后,在防火墙处配置好端口放行即可。

服务器安全十分重要,因此不要在服务器上执行未知来源的脚本!之前宝塔论坛上就有执行破解脚本的服务器被添加了后门的先例。

本博客给出的一切源码或脚本都已测试过,请放心使用!

服务器安全(一)宝塔面板防御

https://blog.tsinbei.com/archives/125/

文章作者
Hsukqi Lee
发布于

2022-02-03

修改于

2022-07-28

许可协议

CC BY-NC-ND 4.0

评论

昵称
邮箱
网址
暂无