当前位置: 首页 > news >正文

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

相关文章:

  • 2024年全球架构师峰会(ArchSummit深圳站)
  • 大型语言模型在AMD GPU上的推理优化
  • 使用阿里开源的Spring Cloud Alibaba AI开发第一个大模型应用
  • 探索Python元类的奥秘及其应用场景
  • 【Python爬虫】爬取名人名言页面并进行简单的数据清洗(入门级)
  • C# 中的隐式和显式类型转换
  • 华为HCIP Datacom H12-821 卷9
  • django学习入门系列之第三点《CSS基础样式介绍2》
  • select实现超时保护机制
  • 【性能优化】表分桶实践最佳案例
  • odoo17 小变更3 Warning、 “attrs “和 “states “不再用
  • 树和二叉树的定义
  • HBase面试题
  • 端到端的自动驾驶--论坛分析
  • Linux操作系统篇:多线程
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • [译] React v16.8: 含有Hooks的版本
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • co模块的前端实现
  • extjs4学习之配置
  • JavaScript的使用你知道几种?(上)
  • java概述
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • Python_OOP
  • vue.js框架原理浅析
  • 安卓应用性能调试和优化经验分享
  • 从tcpdump抓包看TCP/IP协议
  • 对超线程几个不同角度的解释
  • 跨域
  • 类orAPI - 收藏集 - 掘金
  • 离散点最小(凸)包围边界查找
  • 如何胜任知名企业的商业数据分析师?
  • 如何学习JavaEE,项目又该如何做?
  • 如何在GitHub上创建个人博客
  • 移动端解决方案学习记录
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • No resource identifier found for attribute,RxJava之zip操作符
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • ###51单片机学习(2)-----如何通过C语言运用延时函数设计LED流水灯
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (BAT向)Java岗常问高频面试汇总:MyBatis 微服务 Spring 分布式 MySQL等(1)
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (zhuan) 一些RL的文献(及笔记)
  • (备份) esp32 GPIO
  • (二)c52学习之旅-简单了解单片机
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (过滤器)Filter和(监听器)listener
  • (回溯) LeetCode 40. 组合总和II
  • (接口自动化)Python3操作MySQL数据库
  • (已解决)vscode如何选择python解释器
  • (转) Face-Resources
  • (转)3D模板阴影原理
  • (转)原始图像数据和PDF中的图像数据
  • .bashrc在哪里,alias妙用