宝塔面板屏蔽 Censys,防止源站 IP 泄露

news2024/12/28 3:16:20

Censys 搜索引擎很强大。Censys 每天都会扫描 IPv4 地址空间,以搜索所有联网设备并收集相关的信息,并返回一份有关资源(如设备、网站和证书)配置和部署信息的总体报告。

在 IP 前加上 https 访问时,Nginx 会自动返回该网站的 https 证书,从而暴露相关域名信息。哪怕是套了 CDN 也还是会被扫到。Censys 还会扫描端口,例如 80、8000、8080、443、4433。

所以为了防止,自己的网站被攻击我们需要屏蔽掉 Censys 的扫描。据我所知有四种办法,分部是屏蔽 Censys 的 UA、屏蔽 Censys 的 IP 段、建立虚假网站以及使用 Nginx 的特性。四种方法,选其一即可。当然如果你觉得不够安全,可以都使用。

系统: ubuntu22.04

nginx: 1.25.5

1.屏蔽 Censys 的 IP 段

Censys 的 IP 段在其官网有。我的机子使用的是 Ubuntu 系统,带有 UFW 防火墙,按照下面的命令建立规则即可。

Censys IP段 :https://support.censys.io/hc/en-us/articles/360043177092-Opt-Out-of-Data-Collection

复制以下命令到ssh终端运行:

sudo ufw deny from 162.142.125.0/24
sudo ufw deny from 167.94.138.0/24
sudo ufw deny from 167.94.145.0/24
sudo ufw deny from 167.94.146.0/24
sudo ufw deny from 167.248.133.0/24
sudo ufw deny from 199.45.154.0/24
sudo ufw deny from 199.45.155.0/24
sudo ufw deny from 206.168.34.0/24
sudo ufw deny from 2602:80d:1000:b0cc:e::/80
sudo ufw deny from 2620:96:e000:b0cc:e::/80
sudo ufw deny from 2602:80d:1003::/112
sudo ufw deny from 2602:80d:1004::/112

重载ufw生效,重启nginx

sudo ufw reload     #重载ufw

ufw status          # 查看状态

sudo systemctl reload nginx # 重启nginx

2.屏蔽 Censys 的 UA

如果你使用了 CDN ,那么就要在 CDN 中屏蔽掉 Censys 扫描使用的 UA。

Censys 扫描使用的 UA 如下:

Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)

例如cloudflare cdn

安全性–WAF–自定义规则

字段:用户代理

运算符: 等于

值:Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)

3.使用 Nginx 新特性(推荐)

Nginx 1.19.4 版本以上,新增了一个特性,ssl_reject_handshake 在 IP 访问时会终止 TLS 握手,也就不会暴露域名了。

例如宝塔面板

在 /www/server/panel/vhost/nginx 目录找到 0.default.conf 删除原有代码,添加如下代码:

server {
    listen 443 ssl default_server;
    # 如果有 IPv6 地址的需要,则加入下面这行。
    # listen [::]:443 ssl default_server;
    ssl_reject_handshake on;
}

重启nginx生效::

/etc/init.d/nginx restart

4.建立虚假网站

  • 网站是一个纯静态网站,网站的文件,除了 .htaccess 和 .user.ini 这两个文件,其他的全删除。
  • 添加自签的空白 SSL 证书,强制 HTTPS,设置为默认网站

1.生成自签名证书(一路回车键)

mkdir -p /opt/signcert && cd /opt/signcert
openssl req -x509 -newkey rsa:4096 -keyout OpenLiteSpeed-key.pem -out OpenLiteSpeed-cert.pem -nodes -days 365  # 一路回车

2.替换证书

cat /opt/signcert/OpenLiteSpeed-cert.pem > /www/server/panel/vhost/cert/ip.com/fullchain.pem
cat /opt/signcert/OpenLiteSpeed-key.pem > /www/server/panel/vhost/cert/ip.com/privkey.pem
/etc/init.d/nginx restart

3.下一步到假站点保存一下ssl证书使其生效

设置假站点为默认站点

在这里插入图片描述

完结!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2042843.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

嵌入式学习 20(Linux高级编程——文件——misc)

文件操作相关函数 一、symlink 函数 int symlink(const char *oldpath, const char *newpath); 功能: 创建一个指向 oldpath 文件的新的符号链接(软链接)文件。 参数: • oldpath:被链接指向的原始文件的路径。 • …

spring事务失效问题可以这样解决

今天咱们就来聊聊在Spring事务管理中你可能踩过的坑,并教你如何规避这些陷阱。 事务提交的陷阱 有时,事务方法在抛出异常后没有回滚,而是被提交了。 这通常是由于异常被捕获但没有显式抛出,导致Spring误以为事务正常完成。 错…

Review Learning : 推进一体化超高清图像恢复训练方法

Review Learning: Advancing All-in-One Ultra-High-Definition Image Restoration Training Method 摘要 一体化图像恢复任务变得越来越重要,特别是对于超高清(UHD)图像。 现有的一体机UHD图像恢复方法通常通过引入针对不同退化类型的即时…

小区团购管理

TOC springboot254小区团购管理 第1章 绪论 1.1选题动因 当前的网络技术,软件技术等都具备成熟的理论基础,市场上也出现各种技术开发的软件,这些软件都被用于各个领域,包括生活和工作的领域。随着电脑和笔记本的广泛运用&…

一文搞懂后端面试之数据库综合应用【中间件 | 数据库 | MySQL | 高可用 | 高性能】

查询缓存 在MySQL里面,允许用户开启查询缓存。你可以理解这个缓存就是用SQL作为键,而对应的查询结果集就是值。如果下次过来的还是同一个查询,那么就直接返回缓存起来的查询结果集。 但是查询缓存不一定带来查询性能提升。如果你的查询每一…

接口隔离原则

接口隔离原则 接口隔离原则就是客户端不应该依赖它不需要的接口,或者说类间的依赖关系应该建立在最小的接口上。 我们以搜索美女为例,设计了如下的类图: 源代码如下。美女及其实现类: 搜索程序及其子类源代码如下: 最…

0101中文乱码-BufferedImage-图片处理

文章目录 1、问题描述2 、电子证书生成3、中文乱码原因及修复4、思考 结语 1、问题描述 接手维护一个休闲赛事类项目,因为服务器到期,项目从云服务器迁移到本地服务器。 项目生成比赛,分为二人组、三人组等等的团体;比赛设置几个…

判断矩阵中的一致性检验是指什么

判断矩阵中的一致性检验通常指的是在层次分析法(Analytic Hierarchy Process, AHP)中,用于评估决策者在构造判断矩阵时的逻辑一致性。 在AHP中,决策者需要比较成对的因素,并为每对因素的相对重要性赋予一个数值&#…

什么是haproxy七层代理

一.负载均衡 1.1.什么是负载均衡 负载均衡:Load Balance,简称LB,是一种服务或基于硬件设备等实现的高可用反向代理技术,负载均 衡将特定的业务(web服务、网络流量等)分担给指定的一个或多个后端特定的服务器或设备,从…

DriftingBlues2靶机渗透测试

DriftingBlues2靶机 文章目录 DriftingBlues2靶机信息收集FTP渗透web渗透权限提升靶机总结 信息收集 nmap扫描得到21,22和80端口,其中21ftp协议可以使用匿名用户登录 使用目录扫描一下网站,得到了blog目录 FTP渗透 匿名用户登录进去,发现…

QT移除窗体的最大化和最小化按钮

效果 代码位置 代码 int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.setWindowFlags(w.windowFlags() & ~Qt::WindowMaximizeButtonHint & ~Qt::WindowMinimizeButtonHint);w.show();return a.exec(); }

考研数学想考120,把李林880做到准确率80%以上够吗?

考研数学想考120,把880题做到正确率80%以上是不够的 因为最近几年的考研数学变化,很大,传统的背题型的备考方式已经没用了,而880题是这种模式的佼佼者,25版的880变动又很小,只加了40道比较综合的题目在每一…

python基础命令学习

1.Python基础知识 目录 1.Python基础知识1.1 变量及类型1.2 标识符与关键字1.3 输出与输入1.3.1格式化符号1.3.2转义字符1.3.3结束符1.3.4输入的特点 1.4 运算符1.4.1 算数运算符1.4.2 赋值运算符1.4.3 比较(即关系)运算符1.4.4 逻辑运算符 1.5 数据类型转换1.6 判断与循环语句…

【K8S系列】Kubernetes基础介绍

一、前言 搭建完k8s集群后,正式进入k8s相关知识点的理论了解。并结合官方文档逐步总结涉及k8s各类知识点,希望能对正在学习的或将要学习得到小伙伴有所帮助。 二、系统部署历程回顾 传统部署时代: 早期,各个组织是在物理服务器…

[python]uiautomation.WindowControl函数用法

Python UIAutomation 窗口控件 介绍 在本文中,我们将探讨Python UIAutomation库以及如何使用它来控制和自动化Windows应用程序。我们将介绍UIAutomation的基础知识及其功能,并提供代码示例来演示其用法。 什么是UI自动化? UIAutomation是一个…

Java中常用的设计模式

一、什么是设计模式 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程…

【机器学习】探索数据矿藏:Python中的AI大模型与数据挖掘创新实践

💖 前言:探索数据矿藏1. 📊数据获取与预处理:AI大模型的燃料1.1 🌐数据获取:多样性与规模并重1.2 🧹数据清洗与处理:提升数据质量1.3 🔍特征工程:挖掘数据的深…

稠密检索的规模艺术:模型、数据与性能的精准匹配

论文:https://arxiv.org/pdf/2403.18684代码:GitHub - jingtaozhan/DRScale机构:清华大学领域:稠密检索、Scaling Laws发表:SIGIR2024最佳论文 Abstract Scaling Laws已经在广泛的任务中被观察到,特别是在…

JavaScript基础——闭包

闭包简介 闭包的作用 闭包可以保留变量的状态 闭包可以让变量私有化 闭包的缺点 闭包简介 在JavaScript中,重复声明同一个变量会导致变量冲突,在这个时候可以使用闭包创建独立的执行环境。 在JavaScript中,闭包是指封闭的执行环境&#xff…

“论软件开发过程RUP及其应用”写作框架,软考高级,系统架构设计师

论文真题 RUP(Rational Unified Process)是IBM公司的一款软件开发过程产品,它提出了一整套以UML为基础的开发准则,用以指导软件开发人员以UML为基础进行软件开发。RUP汲取了各种面向对象分析与设计方法的精华,提供了一…