SSLyze:一款快速高效的SSLTLS扫描工具

news2024/10/7 14:24:46

关于SSLyze

SSLyze是一款快速高效且功能强大的SSL/TLS扫描工具,同时它也是一个Python库。

SSLyze在与目标服务器连接成功之后,可以对目标目标服务器的SSL/TLS配置进行扫描和分析,并确保其使用健壮的加密设置,包括证书、密码套件和椭圆曲线等,以此来防止目标服务器受到TLS攻击的威胁(例如Heartbleed、ROBOT、OpenSSL CCS注入等)。

功能介绍

1、专注于速度和稳定性:SSLyze经过了严格的测试,能够支持每天可靠地扫描数十万台服务器;

2、易于操作:SSLyze可以直接从CI/CD运行,以便根据Mozilla推荐的TLS配置来对目标服务器执行安全检查;

3、文档支持:提供了完整的Python API文档,可以直接从任何Python应用程序执行扫描任务,或直接以功能函数的形式部署到AWS Lambda;

4、多类型服务器扫描:支持扫描非HTTP服务器,包括SMTP、XMPP、LDAP、POP、IMAP、RDP、Postgres和FTP服务器;

5、结果输出:工具的运行结果可以直接存储为JSON格式文件以便进行后续分析处理;

6、...

工具下载

由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好最新版本的Python 3环境。

接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

git clone https://github.com/nabla-c0d3/sslyze.git

除此之外,在Windows、Linux(x86或x64)和macOS操作系统中,我们还可以直接通过pip来安装SSLyze:

$ pip install --upgrade pip setuptools wheel

$ pip install --upgrade sslyze

$ python -m sslyze www.yahoo.com www.google.com "[2607:f8b0:400a:807::2004]:443"

或通过Docker来使用SSLyze:

$ docker run --rm -it nablac0d3/sslyze:6.0.0 www.google.com

如果不想使用命令方式安装的话,还可以直接访问该项目的【Releases页面】下载SSLyze最新版本的预编译Windows可执行程序。

以CI/CD方式使用

默认配置下,SSLyze将会对目标服务器执行安全检测,并根据Mozilla推荐的TLS配置来检查扫描结果,如果目标服务器不兼容,则返回非零退出码:

$ python -m sslyze mozilla.com
Checking results against Mozilla's "intermediate" configuration. See https://ssl-config.mozilla.org/ for more details.

 

mozilla.com:443: OK - Compliant.

我们可以通过“--mozilla_config={old, intermediate, modern}”来设置和调整Mozilla的推荐配置:

$ python -m sslyze --mozilla_config=modern mozilla.com
Checking results against Mozilla's "modern" configuration. See https://ssl-config.mozilla.org/ for more details.

 

mozilla.com:443: FAILED - Not compliant.

    * certificate_types: Deployed certificate types are {'rsa'}, should have at least one of {'ecdsa'}.

    * certificate_signatures: Deployed certificate signatures are {'sha256WithRSAEncryption'}, should have at least one of {'ecdsa-with-SHA512', 'ecdsa-with-SHA256', 'ecdsa-with-SHA384'}.

    * tls_versions: TLS versions {'TLSv1.2'} are supported, but should be rejected.

    * ciphers: Cipher suites {'TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384', 'TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256', 'TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256'} are supported, but should be rejected.

开发环境

我们可以使用下列命令配置开发环境:

$ pip install --upgrade pip setuptools wheel

$ pip install -e .

$ pip install -r requirements-dev.txt

执行测试:

$ invoke test

许可证协议

本项目的开发与发布遵循AGPL-3.0开源许可协议。

项目地址

SSLyze:【GitHub传送门】

参考资料

SSLyze — SSLyze 6.0.0 documentation

Security/Server Side TLS - MozillaWiki

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

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

相关文章

会议等级地址

1.https://www.cnblogs.com/bnuvincent/p/6809353.html 2. 会议之眼地址 https://www.conferenceeye.cn/home/submission/1 3. 学术之家https://www.xueshu.com/sci/41975/

cpp入门(命名空间,输入输出与缺省参数)

目录 cpp关键字 命名空间 命名空间的使用 1.加名称及作用域限定符 2.使用using将命名空间中某个成员引入 3.展开命名空间 注意 输入输出 缺省参数 cpp关键字 命名空间 定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字&#xff0c…

IIC学习笔记(立创STMF4开发板)

目录 #I2C涉及相关知识 #I2C相关介绍 欢迎指正,希望对你,有所帮助!!! 个人学习笔记,参考文献,链接最后!!! #I2C涉及相关知识 SDA串行数据线: Ser…

【Docker】rancher 管理平台搭建

目录 1. 所有节点安装docker 2. 所有节点配置/etc/sysconfig/docker 文件修改如下配置 3. 配置证书 4. 镜像仓库导入镜像 5. 创建镜像仓库 5.1 查询上传的 image id 5.2 镜像打标签 5.3 镜像上推 6. server 节点 7. client 节点 8. 在 server 节点启动 9. 查看运行…

OpenCV的学习大纲

OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习库,广泛用于各种计算机视觉应用中。以下是一个基本的OpenCV学习大纲,帮助初学者系统地学习OpenCV。 基础知识 计算机视觉简介:了解计算机…

Baidu Comate专业版90天使用福利免费送,AI编码解放程序员双手

具体的能力介绍和示例不赘述,可直接参考:Comate官网:Baidu Comate Coding mate, Pair you create 基于文心大模型,结合百度编程大数据,为你生成优质编程代码 你的AI编程助手,你的编码效率提升好帮手 Baidu…

C语言| 冒泡排序-从大到小-

【冒泡排序】最基本的排序方法,一定要掌握。 【冒泡排序的原理】 从左往右,相邻元素进行比较。 每次比较一轮,就会找到序列中最大的一个元素或者最小的元素。 这个数就会从序列的最右边冒出来,所以叫冒泡排序。 以从小到大排序为…

基于51单片机的RFID门禁系统-LCD12864显示

一.硬件方案 本RFID系统设计可分为硬件部分和软件部分。硬件部分以MFRC522射频识别模块为核心,结合主控模块STC89C52设计系统的外围硬件电路,实现对射频卡的控制与MCU之间的互通。软件部分采用C语言进行系统的下位机程序的开发,完成与IC卡之…

【C++进阶学习】第四弹——多态——迈向C++更深处的关键一步

前言: 在前面我们已经学习了C中继承的相关知识,已经体会到C在与C语言的对比中的便捷性,但是有一些问题并没有被解决,比如继承中如何使不同的派生类公用基类的一个函数,这就需要多态的知识,而且,…

数据可视化期末考试(编程)

1.KNN 1.新增数据的分类 import pandas as pd # 您的原始数据字典 data { 电影名称: [电影1, 电影2, 电影3, 电影4, 电影5], 打斗镜头: [10, 5, 108, 115, 20], 接吻镜头: [110, 89, 5, 8, 200], 电影类型: [爱情片, 爱情片, 动作片, 动作片, 爱情片] } …

240621_Git初始配置及常用命令

Git初始配置及常用命令 初始配置 在安装Git后,我们应该首先设置修改、查看用户名及邮箱 运行Git Bash,使用以下命令设置本地Git工具的用户名及邮箱(比如你的用户名是zhangsan,邮箱是zhangsan1123163.com)&#xff1…

Tomcat 下载部署到 idea

一、下载Tomcat Tomcat 是Apache 软件基金会(Apache Software Foundation)下的一个核心项目,免费开源、并支持Servlet 和JSP 规范。属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发…

昇思25天学习打卡营第2天 | 张量Tensor

张量Tensor 张量(Tensor)基础 张量是MindSpore中的基本数据结构的一种,类似于NumPy中数组和矩阵非常相似。它具有以下重要属性: 形状(shape)和数据类型(dtype):每个张量…

AI大模型的核心

前言 没错,AI大模型的核心成功因素通常可以归结为三大要素:大数据、大算力和强算法。这三个因素相辅相成,共同推动了现代人工智能技术的发展。 1. 大数据 • 定义:指的是涵盖广泛领域的海量数据,包括文本、图像、音…

tensorflow学习:错误 InternalError: Dst tensor is not initialized

tensorflow学习:错误 InternalError: Dst tensor is not initialized_dst tensor is not initialized.-CSDN博客https://blog.csdn.net/wanglitao588/article/details/77033659

我是如何从功能测试转成自动化测试的!

大家好,我是测试君。(六哥也行) 时间过得好快,不知不觉已经在这个行业摸爬滚打10年多了,也算是测试圈的一枚老兵了。 回想自己在自动化求知路上的种种,依然历历在目,看着自己一步步的走来&#…

Git 使用指南(附详细解释)

Git 是一个强大的版本控制系统,广泛用于软件开发中,用于跟踪文件的更改、协作工作等。无论你是新手还是有经验的开发者,掌握 Git 都是非常有益的。这篇博客将带你了解 Git 的基本使用,希望能帮助你快速入门并有效使用 Git。 1. 创…

【大数据】大数据的核心特征与挑战:Volume、Velocity、Variety、Veracity

目录 Volume:海量数据的挑战与机遇 挑战 技术挑战 机遇 Velocity:数据处理的速度与实时性 挑战 技术挑战 机遇 Variety:数据类型的多样性与复杂性 挑战 技术挑战 机遇 Veracity:数据的真实性与质量控制 挑战 技术挑…

《数字图像处理》实验报告四

一、实验任务与要求 对 Fig0403.tif 进行傅里叶变换并显示其频谱图像;fft2(x) 对 Fig0405.tif 图像进行填充和非填充的高斯滤波,并观察其不同;paddedsize,fft2(x,m,n) 由 sobel 空间滤波算子生成相应的频率…

A股3000点下方继续跳水,股民都跌懵了。

今天的A股跌懵了,让人几乎无法呼吸,盘面上出现2个重要信号,不废话,直接说重点: 1、今天两市又跳水了,但绝大多数的个股已经拒绝下跌,市场已然处于一个阶段底部,短线反弹随时可能出现…