宝塔安全建议
禁止通过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 丢弃请求
SecRule REQUEST_URI ".*" "id:444,phase:1,deny,status:444,log"
这样 Apache 收到请求后直接 丢弃,不返回 HTTP。
但是 status:444 只是写在日志里,客户端感受到的是 连接被断开。
等效于 Nginx 的 444。
方案二:防火墙层面阻断(推荐)
直接在 iptables 或 firewalld 里对裸 IP 访问丢包:
iptables -A INPUT -p tcp --dport 80 -m string --string "Host: " --algo bm --to 70 -j DROP
只允许带 Host 域名的请求,IP 直连丢弃
Apache 本身没有“挂起/断开”能力,只能借助安全模块或防火墙。
Windows IIS
方案一:IIS 动态筛选请求 + 直接终止连接
安装 IIS Request Filtering 或 URL Rewrite 模块;
配置规则:如果 Host 不是指定域名 → Abort Request(直接终止 TCP)。
例如在 web.config 里加:
<system.webServer>
<rewrite>
<rules>
<rule name="Block IP access" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^example\.com$" negate="true" />
</conditions>
<action type="CustomResponse" statusCode="444" statusReason="Connection Closed" statusDescription="Nginx-style 444"/>
</rule>
</rules>
</rewrite>
</system.webServer>IIS 可以配置成直接关闭连接(浏览器看到的就是连接失败)。
方案二:Windows 防火墙过滤
直接在 iptables 或 firewalld 里对裸 IP 访问丢包:
直接用防火墙丢掉所有 IP 直连请求,只允许 Host 为域名的流量通过。
修改宝塔默认配置:
修改默认SSH端口:修改方法请自行google搜索;
登陆宝塔面板->安全 启用SSH 关闭;以免ssh root密码被暴力破解,禁止ssh登陆,只能宝塔登陆;
登陆宝塔面板->面板设置->面板端口 修改默认端口;以免被批量扫描到宝塔端口、定向爆破;
登陆宝塔面板->面板设置->安全入口 修改宝塔路径;
登陆宝塔面板->面板设置->修改面板用户 和 面板密码;
善用计划任务+自动备份:
如:应用商店中搜索【谷歌云网盘】或其他网盘并安装、配置
然后通过计划任务,分别创建两条定时备份:备份网站程序/目录、备份数据库 到谷歌网盘;
示例:计划任务+备份网站到谷歌网盘
删除登录日志:
部分用户可能有这个需要;也可以配合跳板机登录服务器+跳板机的计划任务,更加安全;
CentOS7 系统清空删除系统日志的方法>> 将代码放到跳板机、宝塔计划任务内即可。
以上为Centos清理ssh登录日志,其他系统请自行搜索命令;
cat /dev/null > /var/log/boot.log cat /dev/null > /var/log/btmp cat /dev/null > /var/log/cron cat /dev/null > /var/log/dmesg cat /dev/null > /var/log/firewalld cat /dev/null > /var/log/grubby cat /dev/null > /var/log/lastlog cat /dev/null > /var/log/mail.info cat /dev/null > /var/log/maillog cat /dev/null > /var/log/messages cat /dev/null > /var/log/secure cat /dev/null > /var/log/spooler cat /dev/null > /var/log/syslog cat /dev/null > /var/log/tallylog cat /dev/null > /var/log/wpa_supplicant.log cat /dev/null > /var/log/wtmp cat /dev/null > /var/log/yum.log
其他建议:
禁止数据库等端口的外网访问;

