ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

SSLyze 命令行选项完整清单:从 --targets_in 到 --https_tunnel 逐一图解

SSLyze 命令行选项完整清单:从 --targets_in 到 --https_tunnel 逐一图解 SSLyze 命令行选项完整清单从 --targets_in 到 --https_tunnel 逐一图解【免费下载链接】sslyzeCurrent development of SSLyze now takes place on a separate repository项目地址: https://gitcode.com/gh_mirrors/ssl/sslyzeSSLyze 是一款快速、功能全面的SSL/TLS 扫描器通过连接目标服务器即可分析其 SSL 配置。本文是一份面向新手的SSLyze 命令行选项清单把从--targets_in到--https_tunnel的每一个参数逐一讲清楚帮助你快速上手 SSL 安全扫描。一、3 步跑通第一次扫描SSLyze 全部配置都通过命令行完成无需额外配置文件。获取代码git clone https://gitcode.com/gh_mirrors/ssl/sslyze cd sslyzeSSLyze 依赖 C 语言编写的 OpenSSL 封装库 nassl见 README.md从源码运行时需要先放入编译好的 nassl最简单的方式是直接下载预编译包。查看全部选项这是本文清单的权威来源python sslyze.py -h执行一次常规扫描python sslyze.py --regular www.example.com:443所有选项的定义都在 utils/CommandLineParser.py 中注册各扫描功能则由 plugins/ 目录下的插件动态注入到帮助信息里。二、通用选项控制扫谁、怎么扫这组选项决定扫描目标与运行行为是最常用的入口选项作用默认值--targets_in从文件批量读取目标每行一个host:port支持#注释和空行无--xml_out将扫描结果写入 XML 文件便于二次处理与对比不输出--timeout每个套接字连接的超时时间秒5--nb_retries网络连接的失败重试次数网络差可调大想提速可调小4--https_tunnel通过 HTTP CONNECT 代理隧道访问目标格式为http://USER:PWHOST:PORT/直连--targets_in是批量审计的神器。仓库 test/ 目录自带多份示例目标文件例如 test/top100.txt 和 test/https_test.txt文件首行还附带了可直接复用的命令注释python sslyze.py --regular --xml_out top100.xml --targets_in test/top100.txt⚠️ 注意--targets_in与命令行直接指定目标不能同时使用二者只能选一。三、连接选项代理、StartTLS 与 SNI当目标不是标准 HTTPS 服务、或网络环境特殊时用这组选项--starttls对支持 StartTLS 的服务进行加密握手可选协议包括smtp、xmpp、pop3、ftp、imap、ldap、rdp以及auto根据端口自动推断协议。--xmpp_to配合--starttls xmpp使用指定 XMPP stream 中to属性写入的主机名默认就是服务器主机名。--sni指定 SNI服务器名称指示中的主机名仅影响 TLS 1.0 及以上连接——当你用 IP 访问而证书属于某域名时非常有用。--https_tunnel所有流量经由 HTTP CONNECT 代理转发若代理需要认证仅支持 Basic 认证。两个重要的组合规则解析器会直接报错--https_tunnel与--starttls互斥不能同时出现一旦使用--https_tunnelSSLyze 会把并发进程数降为 1见 sslyze.py 中的nb_processes 1避免打垮你的代理。四、客户端证书选项访问需要 mTLS 的服务扫描要求双向认证的服务器时需要携带自己的证书选项说明默认--cert客户端证书文件路径无--certform证书格式PEM或DERPEM--key客户端私钥文件路径无--keyform私钥格式PEM或DERPEM--pass私钥口令空 规则--cert和--key必须成对出现。SSLyze 会在解析阶段就用 OpenSSL 试加载一次证书和私钥口令错误或文件打不开会立即提示而不是等到扫描时才失败。五、扫描命令安全与性能检查项这些选项来自各插件plugins/PluginBase.py 定义了统一的注册机制每个对应一次具体检测命令来源插件检测内容--sslv2plugins/PluginOpenSSLCipherSuites.py列出服务器支持的 SSL 2.0 密码套件--sslv3同上列出 SSL 3.0 密码套件--tlsv1/--tlsv1_1/--tlsv1_2同上列出对应 TLS 版本的密码套件--http_get同上握手后发 HTTP GET返回状态码--hide_rejected_ciphers同上隐藏被服务器拒绝的通常很长的密码套件列表--renegplugins/PluginSessionRenegotiation.py检测客户端发起的会话重协商及安全重协商支持--resumplugins/PluginSessionResumption.py用 Session ID 和 TLS 会话票据RFC 5077测试会话恢复--resum_rate同上执行 100 次会话恢复估算恢复成功率--certinfobasic\|fullplugins/PluginCertInfo.py校验证书有效性、检查 OCSP Stapling 并打印证书字段--hstsplugins/PluginHSTS.py检查响应中的 Strict-Transport-Security 头--heartbleedplugins/PluginHeartbleed.py测试 OpenSSL Heartbleed 漏洞--compressionplugins/PluginCompression.py测试 Zlib 压缩CRIME 攻击面--chrome_sha1plugins/PluginChromeSha1Deprecation.py判断是否受 Chrome 的 SHA-1 弃用计划影响六、--regular 一键快捷方式新手首选手动敲十几个选项太累SSLyze 提供了--regular快捷开关等价于一次启用--regular ≡ --sslv2 --sslv3 --tlsv1 --tlsv1_1 --tlsv1_2 \ --reneg --resum --certinfobasic --http_get \ --hide_rejected_ciphers --compression --heartbleed它覆盖了协议版本、密码套件、重协商、会话恢复、证书校验、压缩与 Heartbleed 检查是日常 HTTPS 巡检的推荐起点。若需自定义证书检查深度可显式追加--certinfofull覆盖默认值。七、一条满配命令长什么样综合以上选项一次完整的批量扫描可以这样写python sslyze.py --regular \ --targets_in test/top100.txt \ --timeout 5 --nb_retries 4 \ --hsts --xml_out result.xml而访问内网中需要代理和双向认证的服务则是python sslyze.py --regular internal.example.com:8443 \ --https_tunnel http://user:pass10.0.0.1:8080/ \ --cert ./client.pem --key ./client-key.pem --certform PEM八、小结批量扫描用--targets_in结果留档用--xml_out特殊协议用--starttlsSNI 场景用--sni代理场景用--https_tunnelmTLS 服务用--cert/--key成对配置日常巡检直接--regular再按需追加--hsts、--resum_rate、--chrome_sha1等专项检查完整帮助随时用python sslyze.py -h查看。掌握这份清单后你可以用 SSLyze 对任意服务器做一次快速、全面的 SSL 安全体检。【免费下载链接】sslyzeCurrent development of SSLyze now takes place on a separate repository项目地址: https://gitcode.com/gh_mirrors/ssl/sslyze创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表