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

关于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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SQL连接与筛选:解析left join on和where的区别及典型案例分析

文章目录 前言数据库在运行时的执行顺序一、left join on和where条件的定义和作用left join on条件where条件 二、left join on和where条件的区别原理不同left join原理:where原理: 应用场景不同执行顺序不同(作用阶段不同)结果集…

一文入门Makefile

今天我们来玩玩Makefile。 这边是借鉴的陈皓老师的《跟我一起写 Makefile》 pdf下载链接如下。 链接:https://pan.baidu.com/s/1woRq2nEkgzLv1o5uE0FZHg?pwdmhrh 提取码:mhrh 我们之前已经算是入门了gcc,那我们的下一站就是Makefile&…

每日一题——Python实现PAT甲级1144 The Missing Number(举一反三+思想解读+逐步优化)四千字好文

一个认为一切根源都是“自己不够强”的INTJ 个人主页:用哲学编程-CSDN博客专栏:每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 我的写法 时间复杂度分析 空间复杂度分析 总体空间复杂度:O(N) 总结 我…

洗地机什么牌子耐用?四款高品质洗地机型号强烈安利

在快节奏的现代生活中,保持家庭清洁成为了许多人的挑战。传统的清洁方式不仅耗时费力,还难以彻底清洁地板上的污渍和毛发。特别是对于有宠物的家庭,毛发的清理更是让人头疼。如果有一款洗地机,既能高效清洁又能省时省力&#xff0…

Matlab|风光及负荷多场景随机生成与缩减

目录 1 主要内容 计算模型 场景生成与聚类方法应用 2 部分程序 3 程序结果 4 下载链接 1 主要内容 该程序方法复现了《融合多场景分析的交直流混合微电网多时间尺度随机优化调度策略》3.1节基于多场景技术的随机性建模部分,该部分是随机优化调度的重要组成部分…

从0到1构建自己的短链接系统

1. 短链系统简介 1.1 短链系统的定义与用途 短链系统是指将一个较长的URL地址,通过特定的算法生成一个较短的、具备唯一性的URL地址。这种系统广泛应用于社交网络、短信、邮件营销等场景,它能帮助用户在字数受限的情况下分享链接,并且还具有…

6-47选择整数计算

整数计算: 用swing组件来实现整数计算,需要对整数计算的值进行校验。 import javax.swing.*; import java.awt.*; import java.awt.event.*;public class IntegerCalculator extends JFrame implements ActionListener {private JCheckBox[] checkBoxe…

老杨说运维 | 基于业务全链路的端到端排障分析(文末附现场视频)

前言 青城山脚下的滔滔江水奔涌而过,承载着擎创一往无前的势头,共同去向未来。2024年6月,双态IT成都用户大会擎创科技“数智化可观测赋能双态运维”专场迎来了完满的收尾。 本期回顾来自擎创科技产品总监殷传旺的现场演讲:云原生…

封装了一个iOS联动滚动效果

效果图 实现逻辑和原理 就是在 didEndDisplayingCell 方法中通过indexPathsForVisibleItems 接口获取当前可见的cell对应的indexPath, 然后获取到item最小的那一个,即可,同时,还要在 willDisplayCell 方法中直接设置标题的选中属…

代码随想录算法训练营第三十四天|56. 合并区间、738.单调递增的数字、968.监控二叉树

56. 合并区间 题目链接:56. 合并区间 文档讲解:代码随想录 状态:无语,这题从右边界排序做不了! 思路: 排序:按照区间的起始位置进行排序,这样后面处理时可以顺序合并重叠区间。合并…

Cortex-M Fault

Cortex-M CPU 会在系统发生故障时引发异常。非法内存写入和读取、访问未通电的外设、执行无效指令、除以零以及其他问题都可能导致此类异常。通常在所有情况下都会引发 HardFault 异常。对于某些故障,可以启用不同的异常来专门处理这些情况。 Cortex-M 故障异常 …

剪画小程序:视频文案提取神器:制作爆款视频的第一步!

在这个信息爆炸的时代,视频成为了我们获取知识和娱乐的重要途径。 但有时候,我们想要的不仅仅是观看视频,而是能够将其中精彩的文案提取出来,为自己的创作添砖加瓦。 现在,有一款神奇的工具应运而生,为您…

Linux-笔记 全志T113移植正点4.3寸RGB屏幕笔记

目录 前言 线序整理 软件 显示调试 触摸调试 背光调试 前言 由于手头有一块4.3寸的RGB屏幕(触摸IC为GT1151),正好开发板上也有40Pin的RGB接口,就想着给移植一下,前期准备工作主要是整理好线序,然后用转接板与杜邦线连接验证好…

Vitis Accelerated Libraries 学习笔记--Vision 库的组织结构

1. 简介 Vision 库的组织结构如下: ├── L1/ │ ├── README.md │ ├── examples/ │ ├── include/ │ ├── lib/ │ └── tests/ ├── L2/ │ ├── README.md │ ├── examples/ │ └── tests/ ├── L3/ │ ├── R…

突破架构瓶颈:克服软件系统中的漂移和侵蚀

一种常见但不完美的比喻是将软件系统中的架构漂移和侵蚀与物理建筑的架构相比。虽然这个比喻很直观,但它存在一个根本性的误解,这也常常引发软件开发中的架构问题。 试想一下,一个设计良好的摩天大楼或房屋建成后,我们期望它基本保…

本地电脑配置不足,对工业仿真计算有哪些影响?

工业仿真计算对电脑的要求相对较高,这主要是因为仿真过程涉及到大量的数据处理和复杂的计算任务。一个高效的工业仿真系统需要强大的计算能力和稳定的运行环境,以确保仿真的准确性和实时性。 工业仿真对电脑配置有哪些要求 首先,工业仿真计算…

Prompt 提示词工程:翻译提示

近期在对计算机学习时,许多内容需要看原始的英文论文,对于我这种学渣来说特别不友好,🤷🏻‍♀️无奈只能一边看翻译,一边学习。 之前有搜到过专门的翻译工具,无奈都是按照字数算费用的&#xf…

都2024年了,现在互联网行情怎样?

都2024年了,互联网行情是怎样的? 很直白的说,依旧是差得很,怎么说? 我刚在掘金上看到一个掘友写的文章,他是四月领了大礼包,据他的描述如下: 互联网行情依旧是差得很,很…

自编码器笔记

编码器解码器自编码器 先压缩特征,再通过特征还原。 判断还原的和原来的是否相等 encode data 在一个“潜在空间”里。它的用途是“深度学习”的核心-学习数据的特征并简化数据表示形式以寻找模式。 变分自编码器: 1. 首先、假设输入数据是符合正态分布…

DDL-表操作-数据类型

一.DDL-表操作-数据类型 MySQL中的数据类型有很多,主要分为三类:数值类型,字符串类型,日期类型。 二.关系表 注意: 无符号和有符号的取值范围不是一样的,无符号需要加上UNSIGNED范围。 BLOB:用来描述二进制数据 TEXT:用来描述字符串 三.定长字符串和变长字符串 c…