SSLyze 是一款快速且功能强大的 SSL/TLS 扫描工具,同时也是一个 Python 库,用于分析服务器的 SSL/TLS 配置,确保其使用强加密设置,并检查是否容易受到已知 TLS 攻击的影响。以下是 SSLyze 的一些主要特性和用途:

  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. 多进程+多线程扫描:通过并行处理,SSLyze 可以快速地对多个目标进行扫描,提高工作效率。
  7. 性能测试:除了安全测试外,SSLyze 还可以评估服务器的性能,如会话恢复和 TLS 票据支持等。
  8. 安全测试:能够检测出多种安全问题,如弱密码套件、不安全的重新协商、CRIME 和 Heartbleed 攻击等。
  9. 插件接口:为高级用户提供了一个简单的插件接口,允许用户根据需求定制扫描规则和行为。
  10. 跨平台支持:SSLyze 支持 Windows、Linux 32位和64位系统,具有良好的跨平台兼容性。
  11. 源代码开放:遵循开源精神,用户可以自由获取和使用 SSLyze 的源代码,并根据需要进行定制或改进。

SSLyze 的安装和使用也相对简单,可以通过 pip 直接安装,并且提供了 Python API 供开发者使用。它能够帮助安全研究人员、系统管理员和渗透测试人员快速发现和修复 SSL/TLS 实现中的漏洞。SSLyze 支持多种扫描选项,包括证书验证、协议支持、密钥交换和加密套件强度等。通过使用 SSLyze,用户可以确保其服务器的 SSL/TLS 配置符合安全最佳实践,及时发现并修复潜在的安全问题。

CertCrunchy是一款功能强大的网络侦查工具,该工具基于纯Python开发,广大研究人员可以利用该工具轻松从SSL证书中发现和识别潜在的主机信息。

支持的在线源
该工具支持从在线源或给定IP地址范围获取SSL证书的相关数据,并检索其中包含的目标主机相关信息,当前版本的CertCrunchy支持下列在线数据源:

https://crt.sh/

https://certdb.com/

https://sslmate.com/certspotter/

https://censys.io

需要注意的是,如果你想要使用Censys.io的话,你可能还需要注册一个API密钥。

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

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

git clone https://github.com/joda32/CertCrunchy.git
然后切换到项目目录中,使用pip3工具和项目提供的requirements.txt文件安装该工具所需的其他依赖组件:

cd CertCrunchy

sudo pip3 install -r requirements.txt
工具使用
我们可以直接使用下列命令从指定域名获取主机名称(-D):

python certcrunchy.py -D TARGET
命令参数
-D:从域名列表中获取主机名称,列表中每个域名按行分隔;

-i:从一个网络块或IP地址范围的主机获取并解析证书,例如192.168.0.0/24

-T:设置运行线程数量,可以提升工具运行速度,但不要设置太多线程;

-O:设置HTTP API请求的超时时间,单位为秒,默认为3秒;

-o:指定输出文件名称;

-f:指定数据输出格式,支持CSV或JSON,默认为CSV;
API密钥和设置
所有的API密钥都要存储在api_keys.py脚本文件中,下面给出的是当前该工具支持且需要密钥的API列表:

1、Censys.io;

2、VirusTotal;

3、PassPassiveTotal;

许可证协议
本项目的开发与发布遵循Apache-2.0开源许可证协议。

项目地址

一、Windows Server with IIS (Internet Information Services)
步骤:

获取SSL证书:从证书颁发机构(CA)获取证书文件,通常包括.pfx文件和证书密码。
导入证书:在IIS管理器中,选择“服务器证书”导入.pfx文件,输入证书密码。
绑定证书:选择需要保护的网站,点击“编辑绑定”,添加HTTPS类型的新绑定,选择正确的IP地址、端口(通常是443)和之前导入的SSL证书。
配置强制HTTPS:在IIS中设置重定向规则,确保所有HTTP请求自动转到HTTPS。
二、Nginx
步骤:

获取SSL证书:下载证书文件(包括.crt公钥文件和.key私钥文件)。
编辑Nginx配置文件:打开/etc/nginx/sites-available/your_domain或相应的配置文件,添加SSL证书信息。

测试配置并重启Nginx:运行nginx -t测试配置文件是否正确,无误后执行sudo systemctl restart nginx重启Nginx服务。
三、 Apache
步骤:

获取SSL证书:准备.crt和.key文件。
配置Apache SSL模块:确保mod_ssl已启用,编辑Apache的配置文件(如/etc/httpd/conf.d/ssl.conf或/etc/apache2/sites-available/default-ssl.conf)。

重启Apache服务:执行sudo systemctl restart httpd或sudo service apache2 restart。
四、Linux (Using Certbot for Let's Encrypt)
对于Let's Encrypt的免费证书,可以使用Certbot自动化工具简化部署过程:

安装Certbot:根据你的Linux发行版,使用适当的命令安装Certbot。
运行Certbot:执行命令以获取并安装证书,例如:

Certbot会自动修改Web服务器配置并重启服务。
五、注意事项:
在所有环境中,确保正确配置SSL证书路径。
考虑启用HSTS(HTTP Strict Transport Security)以强制浏览器始终使用HTTPS访问。
监控证书有效期,并设置自动续期流程以避免证书过期导致的问题。
这些步骤是通用指导,具体操作时请参考最新的官方文档或指南,因为不同版本的软件可能有细微差别。

一、Apache服务器
在Apache服务器上部署SSL证书涉及几个关键步骤:

获取证书:
从SSL证书提供商处购买并申请证书,完成身份验证过程后下载证书文件。
通常会收到三个文件:公钥证书(.crt)、私钥(.key)和中间证书(.ca-bundle或.crt)。
2、配置Apache:

编辑Apache的配置文件(通常是httpd.conf或ssl.conf),在段落中加入以下行:
SSLEngine on;
SSLCertificateFile /path/to/your/certificate.crt;
SSLCertificateKeyFile /path/to/your/private.key;
SSLCertificateChainFile /path/to/your/ca_bundle.crt;
根据你的证书文件路径替换上述路径。
3、重启Apache:使用命令行重启Apache服务以使更改生效:

sudo systemctl restart apache2
二、Nginx服务器
对于Nginx,部署SSL证书的步骤类似:

1、准备证书文件:

同样地,从证书提供商处获取证书文件。

2、编辑Nginx配置:

打开Nginx的配置文件(通常是/etc/nginx/nginx.conf或
/etc/nginx/sites-available/yourdomain.conf),在server块内添加以下配置:

listen 443 ssl;
ssl_certificate /path/to/your/certificate.crt;
ssl_certificate_key /path/to/your/private.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_protocols TLSv1.2 TLSv1.3;
根据需要调整协议版本和其他SSL设置。

3、测试配置并重启Nginx:

运行nginx -t检查配置是否有语法错误,然后使用sudo systemctl restart nginx重启Nginx。

三、IIS服务器
在Microsoft IIS上部署SSL证书的步骤略有不同:

1、导入证书:

打开IIS管理器,找到“服务器证书”,点击“导入”,并选择你的证书文件。
2、绑定SSL证书:

在IIS管理器中,找到你的网站,双击“绑定”。
点击“添加”,选择“https”类型,输入端口号443,并选择之前导入的SSL证书。
3、应用设置:

点击“确定”保存设置。
四、Java Web应用服务器(如Tomcat)
在Java环境中,SSL证书通常需要被导入到Java KeyStore中:

1、创建KeyStore:

使用keytool命令创建一个新的KeyStore,或者修改现有的KeyStore。
2、导入证书:

使用keytool命令导入公钥证书和中间证书到KeyStore中。
3、配置Tomcat:

修改server.xml中的Connector元素,设置SSLEnabled为true,并指向你的KeyStore文件。
4、重启Tomcat:

重启Tomcat服务器使新的SSL设置生效。
五、通用建议
无论在哪种环境中部署SSL证书,都应确保:

私钥的安全存储,避免泄露。
定期检查和更新证书,以维持其有效性。
测试HTTPS连接,确保一切正常运行。
以上步骤提供了在不同Web环境中部署SSL证书的基本框架,但具体细节可能因环境配置和SSL证书提供商的指南而异。在实际操作前,建议详细阅读你所使用的服务器文档和证书提供商的官方指导。

近日,有黑客利用 SonicWall SonicOS 防火墙设备中的一个关键安全漏洞入侵受害者的网络。

这个不当访问控制漏洞被追踪为 CVE-2024-40766,影响到第 5 代、第 6 代和第 7 代防火墙。SonicWall于8月22日对其进行了修补,并警告称其只影响防火墙的管理访问界面。

然而,SonicWall上周五(9月6日)透露,该安全漏洞还影响了防火墙的SSLVPN功能,且已被黑客用以网络攻击。该公司提醒客户尽快为受影响的产品打上补丁,但没有透露有关野外利用的详细信息。

Arctic Wolf的安全研究人员认为这些攻击与Akira勒索软件背后的运营者有所关联,他们试图以SonicWall设备为目标,获得对目标网络的初始访问权。

Arctic Wolf高级威胁情报研究员Stefan Hostetler表示:在每个实例中,被攻击的账户都是设备本身的本地账户,而不是与微软活动目录等集中式身份验证解决方案集成在一起。此外,所有被入侵账户的 MFA 都被禁用,受影响设备上的 SonicOS 固件属于已知易受 CVE-2024-40766 影响的版本。

同时,网络安全机构Rapid7也在最近的事件中发现了针对SonicWall SSLVPN账户的勒索软件组织,但其表示将CVE-2024-40766与这些事件联系起来的证据仍然是间接的。

Arctic Wolf 和 Rapid7 复制了 SonicWall 的警告,并敦促管理员尽快升级到最新的 SonicOS 固件版本。

联邦机构被勒令在 9 月 30 日前打补丁
本周一(9月9日),CISA将此关键访问控制漏洞添加到其已知漏洞目录中,并命令联邦机构在 9 月 30 日之前的三周内,按照约束性操作指令 (BOD) 22-01 的规定,确保其网络中存在漏洞的 SonicWall 防火墙的安全。

SonicWall 缓解建议将防火墙管理和 SSLVPN 访问限制为可信来源,并尽可能禁止互联网访问。管理员还应为所有使用 TOTP 或基于电子邮件的一次性密码 (OTP) 的 SSLVPN 用户启用多因素身份验证 (MFA)。

在网络间谍和勒索软件攻击中,攻击者经常以 SonicWall 设备和设备为目标。例如,包括HelloKitty和FiveHands在内的多个勒索软件团伙也利用SonicWall的安全漏洞初步访问了受害者的企业网络。