宝塔环境作为服务器管理和运维的重要工具,其安全防护至关重要。以下是一些关键的安全防护措施:
1. 面板设置
(1) 面板账号、密码都使用复杂组合的长字符串,避免使用纯数字、纯字母等易破解
(2) 安全设置(按下图开启对应功能),有条件还可以进一步加强安全,比如启用:动态口令认证、访问设备验证、密码复杂度验证、绑定域名。
注意:要更改面板端口时,请先在宝塔(安全->防火墙)添加新端口号,以及阿里云\腾讯云等服务器也要放开该端口号
在设置地区登录限制时,一般选中地区放行即可,如图:
2. 强密码策略,使用复杂且不易猜测的密码,并定期更换密码,以减少被暴力破解的风险。
(1) 宝塔面板登录、BasicAuth认证密码
(2) 数据库账号、密码
(3) FTP账号、密码
(4) 所有网站后台管理账号、密码
3. 防火墙配置
结合操作系统防火墙,对不必要的端口进行关闭,仅开放必要的服务端口,以限制潜在的攻击面。一般情况下,网站默认使用上图这些端口,如宝塔默认会存在一些额外端口,若无需要建议删掉:
(1) 20、21(FTP端口,不嫌麻烦改用宝塔管理,如果一定要用FTP,强烈改用SFTP进行SSH远程服务,下节课会讲到)
(2) 22(SFTP端口,也是FTP的另一种方式,不需要FTP可以删掉端口)
(3) 3306(一般情况可以删掉端口,如果要使用Navicat for MySQL工具管理,可以放行端口并指定只允许你的网络IP)
(4) 6379(Redis缓存专用,如果没有安装Redis插件或服务,可以删掉端口)
(5) 888(phpMyAdmin默认端口,建议删掉,通过登录宝塔面板访问较为安全)
(6) 其他端口号不一一列举,用不上可以删掉,误删导致访问不了,再增加端口号回来。
同时阿里云/腾讯云/华为云等运营商对应服务器实例,也要对安全组规则做增加、删减端口处理。
(6) 如果网站业务地区明确,可以增加地区规则,屏蔽掉一些国家,阻止入侵。
4. SSH远程服务(采用22端口服务,更安全的一种FTP传输,简称:SFTP)
(1) 下载FTP工具 FileZilla(免费开源)
(2) 通过SSH远程连接服务器
(3) 推荐在宝塔里修改网站文件,尽量少用这些外部工具连接,开放越多越不安全,比如:不用工具后可以关闭SSH
(4) 如果非要建FTP普通账号给客户,强烈要求账号密码设置较复杂一些,防被爆破影响整台服务器入侵中毒。
5. 加强宝塔里网站的安全防护
(1) 配置网站HTTPS协议,为网站提供加密通信,防止数据在传输过程中被截获或篡改。
(2) 配置网站目录权限,启用防跨站攻击、访问日志,防止黑客通过其他网站目录进行入侵攻击,并记录入侵日志。
(3) 启用HTTPS防窜站,解决HTTPS窜站的问题
6. 更新软件和补丁也至关重要,及时关注官方更新,可以有效减少存在漏洞被利用的风险
(1) 宝塔面板更新
(2) 宝塔软件商店里所安装的软件都可能存在漏洞,及时更新
(3) 服务器操作系统(以阿里云为例)
① 登录阿里云,进入【安全与合规】模块:
https://home.console.aliyun.com/home/dashboard/securitycenter
根据仪表盘提示进行一些漏洞修复,并做好安全检测修补。
② 进入云安全中心,查看漏洞管理,并根据阿里云提供的方案处理
https://yundun.console.aliyun.com/
7. 检查所有网站根目录并删掉源码压缩包,每份源码的加密串不同,黑客会利用服务器权限漏洞进行扫描目录,下载压缩包分析漏洞进行攻击。
8. 定期备份数据是关键。无论是网站数据,还是ECS服务器快照,都应定期进行备份,并存储在安全的位置。一旦遭遇攻击或数据丢失,可以迅速恢复。