⚠️宝塔安全建议
官网 http://www.HostCLi.com Telegram群: https://TG.HostCLi.COM
宝塔站长群 https://TG.HostCLi.COM
禁止通过IP访问网站
1、宝塔面板可以设置服务器禁ping,ping不到,就不会有后续的暴力破解登录ssh等安全隐患
教程:宝塔面板左边栏 -> 安全 -> 禁ping
2.1、通过宝塔面板新建一个网站,将本机所有IP当作域名填写进去,一行一个IP;
2.2、添加完成后,在 站点->伪静态 中收入以下几个方案:
Nginx方案:(CentOS / Debian / Ubuntu)
方案一:访问IP时返回444状态码,直接关闭响应(更像不存在)location / { return 444; }⚠️ 444 是 Nginx 特有的状态码,表示 直接断开连接,不返回任何内容。
大多数扫描器看到的是“连接被重置/无响应”,会认为这个 IP 没有网站。
方案二:返回空响应(最干净)location / { return 204; }⚠️ 204 表示 No Content,客户端会认为请求成功,但啥也没有。
对普通人/扫描器来说,看起来像是“空站点”。
方案三:返回一个错误码(让人误判)location / { return 495; }⚠️ 204 表示 No Content,客户端会认为请求成功,但啥也没有。
对普通人/扫描器来说,看起来像是“空站点”。
Apache (httpd)
方案一:mod_security 丢弃请求
这样 Apache 收到请求后直接 丢弃,不返回 HTTP。
但是 status:444 只是写在日志里,客户端感受到的是 连接被断开。
等效于 Nginx 的 444。
方案二:防火墙层面阻断(推荐)直接在 iptables 或 firewalld 里对裸 IP 访问丢包:
只允许带 Host 域名的请求,IP 直连丢弃
Apache 本身没有“挂起/断开”能力,只能借助安全模块或防火墙。
Windows IIS
方案一:IIS 动态筛选请求 + 直接终止连接
安装 IIS Request Filtering 或 URL Rewrite 模块;
配置规则:如果 Host 不是指定域名 → Abort Request(直接终止 TCP)。
例如在 web.config 里加:
IIS 可以配置成直接关闭连接(浏览器看到的就是连接失败)。
方案二:Windows 防火墙过滤直接在 iptables 或 firewalld 里对裸 IP 访问丢包:
直接用防火墙丢掉所有 IP 直连请求,只允许 Host 为域名的流量通过。
修改宝塔默认配置:
修改默认SSH端口:修改方法请自行google搜索;
登陆宝塔面板->安全 启用SSH 关闭;以免ssh root密码被暴力破解,禁止ssh登陆,只能宝塔登陆;
登陆宝塔面板->面板设置->面板端口 修改默认端口;以免被批量扫描到宝塔端口、定向爆破;
登陆宝塔面板->面板设置->安全入口 修改宝塔路径;
登陆宝塔面板->面板设置->修改面板用户 和 面板密码;
善用计划任务+自动备份:
如:应用商店中搜索【谷歌云网盘】或其他网盘并安装、配置
然后通过计划任务,分别创建两条定时备份:备份网站程序/目录、备份数据库 到谷歌网盘;

删除登录日志:

部分用户可能有这个需要;也可以配合跳板机登录服务器+跳板机的计划任务,更加安全;
CentOS7 系统清空删除系统日志的方法>> 将代码放到跳板机、宝塔计划任务内即可。
以上为Centos清理ssh登录日志,其他系统请自行搜索命令;
其他建议:
禁止数据库等端口的外网访问;
尽量不要使用非官方提供、第三方破解的建站程序,大多数服务器被黑主要是因为程序有后门,跟宝塔没有直接、间接的关系;
宝塔站长群 https://TG.HostCLi.COM
End.
最后更新于