本文介绍了使用半自动化工具执行SSL&TLS安全性评估的过程,以及如何使用手动及工具的测试方法验证并发现问题。目的是优化TLS和SSL安全测试流程,帮助信息安全顾问在渗透测试时在TLS / SSL上花费更少的时间。

什么是TLS和SSL?

安全套接层(SSL)和传输层安全(TLS)加密用于通过互联网提供通信安全(传输加密)和来保护网络流量和互联网上的隐私,用于诸如网络,电子邮件,即时消息(IM)和一些虚拟专用网络(VPN)。

因此,TLS安全配置很重要,应花时间学习如何识别常见的漏洞和安全配置错误。


TLS / SSL安全测试工具

testssl.sh

testssl.sh是我们首选的测试工具,它涵盖了TLS和SSL评估所需的所有测试所需工具,并定期更新。

安装

您可以通过执行其git clone来安装最新版本的tesetssl.sh:

git clone https://github.com/drwetter/testssl.sh.git

testssl.sh示例

有许多可以用于testssl.sh的测试选项,您应该使用的选项将在很大程度上取决于您的测试要求。以下是部分有关testssl.sh命令行选项的示例。运行./testssl.sh可以看到所有选项。

测试单个主机上的所有内容并输出到控制台

./testssl.sh -e -E -f -p -y -Y -S -P -c -H -U TARGET-HOST

测试单个主机上的所有内容并输出到HTML

./testssl.sh -e -E -f -p -y -Y -S -P -c -H -U TARGET-HOST | aha> OUTPUT-FILE.html

测试子网上的所有主机并输出到HTML

./testssl.sh -e -E -f -p -y -Y -S -P -c -H -U 192.168.1.0/24 | aha> OUTPUT-FILE.html

与上述相同,但只列举每个服务器支持的密码类型:

./testssl.sh -E 192.168.1.0/24 | aha> OUTPUT-FILE.html

控制台输出的截图

HTML输出的截图

TLS和SSL漏洞测试

常见的TLS和SSL漏洞已经列在下面了,每个漏洞都有一个说明,如果可能的话可以手动或自动测试漏洞

SWEET32(CVE-2016-2183)

定义

64位块大小(如Triple-DES(3DES))的传统块密码在CBC模式下使用,易受到攻击。当使用CBC模式操作时,使用simple birthday attack来识别64位块密码冲突。当碰撞发生时,这意味着输入与输出相同,使得可以执行BEAST style attack来渗透加密的数据。

作者Karthik Bhargavan和Gaetan Leurent能够在浏览器(作为MiTM)中运行JavaScript,并发送大量的数据导致冲突,然后使用此信息来恢复会话cookie。

测试SWEET32

确定服务器是否支持Triple-DES密码,如果服务器支持Triple-DES,则易受SWEET32攻击。

SWEET32 testssl.sh

使用testssl.sh识别弱密码:

./testssl.sh --ciphers TARGET

如果输出显示Tripe DES密码,就像下面的截图一样,目标服务器容易受到SWEET32的影响:

如果输出看起来像下面的截图,服务器不容易受到SWEET32的影响:

此外,您可以枚举服务器提供给每个协议的密码,方法如下:

./testssl.sh -E TARGET

使用3DES的任何密码都易受SWEET32影响。

SWEET32 Nmap测试

Nmap也可用于枚举服务器的密码,NSE插件还将通知是否有任何64位块密码可用。

nmap --script = ssl-enum-ciphers -p443 TARGET

如果您在输出中看到以下内容,则会发现64位块密码

warnings:
|       64-bit block cipher 3DES vulnerable to SWEET32 attack

手动测试SWEET32

根据上面方法测试用Nmap NSE脚本枚举密码

DROWN(CVE-2016-0800)

DROWN定义

DROWN(使用过时和弱化的eNcryption解密RSA),DROWN攻击的最一般变体利用了SSLv2协议的一个根本缺点,允许中间人(MiTM)攻击者利用导入符合20世纪90年代美国政府的限制(EXPORT等级加密在下面的FREAK漏洞描述中详细描述)的密码学。

测试DROWN

testssl.sh DROWN测试
./testssl.sh -D TARGET
Nmap DROWN测试
nmap -p 443 -sV --script = sslv2-drown

FREAK(CVE-2015-0204)

FREAK定义

FREAK(破解RSA导出密钥),利用了TLS / SSL中的加密弱点,这是美国政府几十年前最初引入的。使用RSA_EXPORT密钥的想法是允许导出包含不能被大多数计算机破解的加密密钥。如果RSA_EXPORT密钥加密为512位或更少,那么以目前的计算机性能很容易破解。

FREAK执行降级攻击(强制服务器使用较弱的密码),当与中间人(MiTM)类型攻击相结合时,这允许攻击者捕获数据并中断弱密钥的解密。

FREAK攻击的自动测试

testssl.sh FREAK攻击测试
./testssl -F TARGET

手动测试FREAK攻击

使用./testssl.sh -E TARGET或者nmap -p 443 --script=ssl-enum-ciphers TARGET枚举服务器密码,确保服务器支持的以下类型密码不包含:EXPORT。

例:

Logjam(CVE-2015-4000)

Logjam问题利用TLS协议(1.2及更早版本)通过Diffie-Hellman组合交换的方式发现的漏洞。该漏洞允许中间人(MiTM)攻击者执行降级攻击,并使用Diffie-Hellman导出密码(DHE_EXPORT)。

Logjam自动测试

logjam的testssl.sh测试
./testssl.sh -J TARGET

手动测试Logjam

禁用EXPORT密码,说明与FREAK攻击相同,如上所述。

手动枚举由服务器提供的密码套件,使用./testssl.sh -E TARGET或nmap -p 443 --script=ssl-enum-ciphers TARGET。

Heartbleed(CVE-2014-0160)

心脏出血的定义

以OpenSSL处理TLS和DTLS心跳扩展数据包的方式发现了一个缺陷,允许攻击者从加密的TLS / DTLS数据中公开信息。恶意客户端可以发送特制的TLS或DTLS Heartbeat数据包,以便从连接的客户端或服务器的每个请求中获得内存部分。

公开的内存部分可能包含敏感信息,诸如私钥(由服务提供商用于加密数据),实际用户的姓名,用户名和密码。允许攻击者窃听通信,冒充用户并窃取数据。

自动化测试

使用testssl.sh进行测试:
# ./testssl.sh -B 10.0.1.159

###########################################################
  testssl.sh       2.8rc1 from https://testssl.sh/dev/
  (424cf23 2016-08-09 10:35:58 -- 1.531)     This program is free software. Distribution and
            modification under GPLv2 permitted.
    USAGE w/o ANY WARRANTY. USE IT AT YOUR OWN RISK!       Please file bugs @ https://testssl.sh/bugs/ ########################################################### Using "OpenSSL 1.0.2-chacha (1.0.2i-dev)" [~183 ciphers]
on kali:./bin/openssl.Linux.x86_64
(built: "Jun 22 19:32:29 2016", platform: "linux-x86_64") Start 2017-01-20 22:43:38   -->> 10.0.1.159:443 (10.0.1.159) <<-- rDNS (10.0.1.159):     --
Service detected:       HTTP Testing for heartbleed vulnerability Heartbleed (CVE-2014-0160)               VULNERABLE (NOT ok) Done 2017-01-20 22:43:41   -->> 10.0.1.159:443 (10.0.1.159) <<--
使用Nmap测试Heartbleed
# nmap -p 443 --script ssl-heartbleed --script-args vulns.showall 10.0.1.159

Starting Nmap 7.25BETA2 ( https://nmap.org ) at 2017-01-20 22:45 EST
Nmap scan report for 10.0.1.159
Host is up (0.00028s latency).
PORT   STATE SERVICE
443/tcp open https
| ssl-heartbleed:
|   VULNERABLE:
|   The Heartbleed Bug is a serious vulnerability in the popular OpenSSL cryptographic software library. It allows for stealing information intended to be protected by SSL/TLS encryption.
|     State: VULNERABLE
|     Risk factor: High
|       OpenSSL versions 1.0.1 and 1.0.2-beta releases (including 1.0.1f and 1.0.2-beta1) of OpenSSL are affected by the Heartbleed bug. The bug allows for reading memory of systems protected by the vulnerable OpenSSL versions and could allow for disclosure of otherwise encrypted confidential information as well as the encryption keys themselves.
|          
|     References:
|       http://www.openssl.org/news/secadv_20140407.txt
|       http://cvedetails.com/cve/2014-0160/
|_     https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0160
MAC Address: 00:0C:29:35:3D:E8 (VMware) Nmap done: 1 IP address (1 host up) scanned in 0.36 seconds

手动测试Heartbleed

使用Metasploit验证已存在的Heartbleed,使用详细设置将显示Heartbleed暴露的内存泄漏。

msf> use auxiliary/scanner/ssl/openssl_heartbleed
msf> set rhosts TARGET-ADDRESS
msf> set verbose true
msf> run

POODLE SSLv3(CVE-2014-3566)

POODLE定义

Google的安全小组在2014年10月14日发现了POODLE攻击(Padding Oracle On Downgraded Legacy Encryption)。该漏洞利用了SSLv3处理填充字节的方式(密码块链接)CBC操作模式。

该缺陷允许中间人(MiTM)攻击者在少于256个SSLv3连接中解密密文的所选字节,如果他们能够强制受害者应用程序重复发送相同的数据通过新创建SSL 3.0连接。

自动测试POODLE

使用Nmap测试POODLE
# nmap -p 443 --script ssl-poodle --script-args vulns.showall 10.0.1.159

Starting Nmap 7.25BETA2 ( https://nmap.org ) at 2017-01-20 22:50 EST
Nmap scan report for 10.0.1.159
Host is up (0.00037s latency).
PORT   STATE SERVICE
443/tcp open https
| ssl-poodle:
|   VULNERABLE:
|   SSL POODLE information leak
|     State: VULNERABLE
|     IDs: CVE:CVE-2014-3566 OSVDB:113251
|           The SSL protocol 3.0, as used in OpenSSL through 1.0.1i and other
|           products, uses nondeterministic CBC padding, which makes it easier
|           for man-in-the-middle attackers to obtain cleartext data via a
|           padding-oracle attack, aka the "POODLE" issue.
|     Disclosure date: 2014-10-14
|     Check results:
|       TLS_RSA_WITH_AES_128_CBC_SHA
|     References:
|       http://osvdb.org/113251
|       https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3566
|       https://www.imperialviolet.org/2014/10/14/poodle.html
|_     https://www.openssl.org/~bodo/ssl-poodle.pdf
MAC Address: 00:0C:29:35:3D:E8 (VMware) Nmap done: 1 IP address (1 host up) scanned in 0.35 seconds
使用testssl.sh测试POODLE
./testssl.sh -O 10.0.1.159

###########################################################
  testssl.sh       2.8rc1 from https://testssl.sh/dev/
  (424cf23 2016-08-09 10:35:58 -- 1.531)     This program is free software. Distribution and
            modification under GPLv2 permitted.
    USAGE w/o ANY WARRANTY. USE IT AT YOUR OWN RISK!       Please file bugs @ https://testssl.sh/bugs/ ########################################################### Using "OpenSSL 1.0.2-chacha (1.0.2i-dev)" [~183 ciphers]
on kali:./bin/openssl.Linux.x86_64
(built: "Jun 22 19:32:29 2016", platform: "linux-x86_64") Start 2017-01-20 22:52:59   -->> 10.0.1.159:443 (10.0.1.159) <<-- rDNS (10.0.1.159):     --
Service detected:       HTTP Testing for SSLv3 POODLE (Padding Oracle On Downgraded Legacy Encryption) POODLE, SSL (CVE-2014-3566)               VULNERABLE (NOT ok), uses SSLv3+CBC (check TLS_FALLBACK_SCSV mitigation below) Testing for TLS_FALLBACK_SCSV Protection TLS_FALLBACK_SCSV (RFC 7507), experim.   Downgrade attack prevention NOT supported

手动测试POODLE

Kali附带的openssl版本不再支持SSLv3。使用二进制码testssl.sh/bin/openssl.Linux.x86_64进行手动SSLv3测试。

./openssl.Linux.x86_64 s_client -ssl3 -connect 10.0.1.159:443

如果握手完成,则服务器容易受到POODLE的影响。

对于容易受到POODLE影响的服务器的输出示例(从响应中删除的证书):

---
No client certificate CA names sent
Server Temp Key: DH, 1024 bits
---
SSL handshake has read 1398 bytes and written 373 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
Server public key is 1024 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
  Protocol : SSLv3
  Cipher   : DHE-RSA-AES256-SHA
  Session-ID: 0450660185C7B2623CB2145A1C6655BDD8CC281F882C3B9E0ED35E88360639BA
  Session-ID-ctx:
  Master-Key: 6A56AC01754D9441ACFD6C0B9E534E33450CD2F0E0D619F235E2ACC1780CFD86E769B9AE82D0D5AAA4C62B295B5BB598
  Key-Arg   : None
  PSK identity: None
  PSK identity hint: None
  SRP username: None
  Start Time: 1484971085
  Timeout   : 7200 (sec)
  Verify return code: 9 (certificate is not yet valid)
---

如果服务器不容易受到POODLE的影响,握手将失败,发生如下错误:

CONNECTED(00000003)
28395584:error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:s3_pkt.c:1475:SSL alert number 40
28395584:error:1409E0E5:SSL routines:ssl3_write_bytes:ssl handshake failure:s3_pkt.c:656:
---
no peer certificate available
---

CCS注入漏洞(CVE-2014-0224)

CCS注入定义

某些版本的OpenSSL存在弱点,允许客户端和服务器通过特制的握手包来强制使用弱密钥进行通信。允许中间人攻击者解密和修改客户端与服务器之间的流量。

受影响的OpenSSL版本:

  • OpenSSL before 0.9.8za
  • OpenSSL 1.0.0 before 1.0.0m
  • OpenSSL 1.0.1 before 1.0.1

资料来源: https://cve.mitre.org/cgi-bin/cvename.cgi?name=cve-2014-0224

CCS注入自动化测试

testssl.sh CCS注入测试
./testssl.sh -I TARGET
Nmap CCS注入测试
nmap -p 443 --script = ssl-ccs-injection TARGET

POODLE TLS(CVE-2014-8730)

POODLE TLS定义

由于TLS填充是SSLv3的一个子集,因此可以重新使用针对TLS的POODLE攻击。TLS对于它的填充格式是非常严格的,但是一些TLS实现在解密之后不执行填充结构的检查。即使使用TLS也不会容易受到POODLE攻击的影响。

资料来源:https://blog.qualys.com/ssllabs/2014/12/08/poodle-bites-tls

测试POODLE TLS

testssl.sh POODLE TLS测试

与以上针对POODLE SSL的testssl.sh指令相同

Nmap POODLE TLS测试

与上面针对POODLE SSL的Nmap说明相同

BREACH(CVE-2013-3587)

BREACH攻击定义

BREACH代表通过自适应压缩超文本进行浏览器检测和渗透。与CRIME相似之处是利用HTTP压缩中的漏洞,允许攻击者识别页面中是否存在文本。

BREACH攻击基本流程

当页面上发生文本重复时,将删除重复的术语,有助于减小页面的大小。这可以用于识别现有的页面内容,下面是Web应用程序的示例,显示当前登录的用户在页面中反映的用户名:

  1. 输入您认为不存在于搜索参数中的用户名
  2. 注意返回页面的大小
  3. 发送您认为存在的用户名的其他搜索请求
  4. 注意返回页面的大小,如果用户名与登录用户名匹配(确认存在),页面大小对比上次将会缩小

通过分析响应的大小可以预测文本,实际上没有流量被“解密”

为了使BREACH攻击成功地渗透数据,必须有一种机制来反映渲染页面中的用户输入,并且服务器必须支持HTTP压缩。

BREACH自动测试

使用testssl.sh测试BREACH
./testssl.sh -T TARGET

BREACH手动测试

openssl s_client -connect TARGET:443

输入以下内容来确定服务器是否使用压缩:

GET / HTTP / 1.1
主机:目标
Accept-Encoding:compress,gzip

如果服务器返回乱码的字符,如下面的截图所示,则服务器支持压缩,容易受到BREACH的攻击:

如果目标Web服务器不返回压缩数据输出,则它不容易受到BREACH的影响,并且是被禁用压缩。

RC4 CVE-2013-2566

TLS协议和SSL协议中使用的RC4算法具有许多单字节偏移。远程攻击者可以通过使用相同明文的大量会话中的密文统计分析来进行明文破解攻击。

自动RC4测试

testssl.sh RC4测试

./testssl.sh -4目标

手动RC4测试

使用./testssl.sh -E TARGET手动枚举服务器密码或者nmap -p 443 --script=ssl-enum-ciphers TARGET确保服务器支持密码类型不使用RC4。

CRIME(CVE-2012-4929)

CRIME攻击定义

CRIME是TLS 1.2漏洞,允许中间人(MiTM)攻击者识别加密数据,(潜在)执行会话劫持。攻击者可以通过检查密文的大小来识别加密数据,同时从浏览器引入多个有效载荷,当字符匹配在标题内时,其大小会有所不同,允许攻击者修改会话cookie。实际上没有使用CRIME攻击解密数据,TLS 1.2处理压缩的一个弱点使得攻击者可以通过比较返回的大小来识别头文件何时存在。

CRIME自动测试

使用testssl.sh测试CRIME
./testssl.sh -C TARGET

手动测试CRIME

Kali使用的openssl客户似乎不再允许TLS 1.2压缩。如果您使用此版本的openssl进行测试,即使目标服务器启用了TLS 1.2压缩,响应将始终为“Compression:NONE”。可以使用testssl.sh附带的openssl.Linux.x86_64二进制文件来解决此问题。

./bin/openssl.Linux.x86_64 s_client -connect 10.0.1.158:443
示例输出 – 不易受CRIME影响

如果服务器不容易受到CRIME的影响。“压缩:无”表示压缩在服务器上被禁用,并且不易受到CRIME的攻击。

Compression: NONE
示例输出 – 易受CRIME影响

如果服务器易受CRIME攻击:

Compression: zlib compression压缩:zlib压缩

Renegotiation(CVE-2009-3555)

TLS / SSL重新协商漏洞定义

2009年发现一个利用TLS和SSL协议Renegotiation的漏洞,允许攻击者将数据插入会话可危及其完整性。

条件

必须满足以下条件才能利用此漏洞:

  • 服务器不支持secure renegotiation
  • 服务器必须允许client side renegotiation

Renegotiation的自动测试

测试secure renegotiation 以及 client side renegotiation.

# ./testssl.sh -R 10.0.1.159

###########################################################
  testssl.sh       2.8rc1 from https://testssl.sh/dev/
  (424cf23 2016-08-09 10:35:58 -- 1.531)     This program is free software. Distribution and
            modification under GPLv2 permitted.
    USAGE w/o ANY WARRANTY. USE IT AT YOUR OWN RISK!       Please file bugs @ https://testssl.sh/bugs/ ########################################################### Using "OpenSSL 1.0.2-chacha (1.0.2i-dev)" [~183 ciphers]
on kali:./bin/openssl.Linux.x86_64
(built: "Jun 22 19:32:29 2016", platform: "linux-x86_64") Start 2017-01-21 00:04:30   -->> 10.0.1.159:443 (10.0.1.159) <<-- rDNS (10.0.1.159):     --
Service detected:       HTTP Testing for Renegotiation vulnerabilities Secure Renegotiation (CVE-2009-3555)     not vulnerable (OK)
Secure Client-Initiated Renegotiation     not vulnerable (OK) Done 2017-01-21 00:04:31   -->> 10.0.1.159:443 (10.0.1.159) <<--

手动测试Renegotiation

测试 Secure Renegotiation
openssl s_client -connect TARGET:443

Secure Renegotiation未启用的示例:

---
SSL handshake has read 1606 bytes and written 503 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
Server public key is 1024 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:

Secure Renegotiation启用的示例:

---
SSL handshake has read 1560 bytes and written 495 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-GCM-SHA384
Server public key is 1024 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
测试 Client Initiated Secure Renegotiation
openssl s_client -connect TARGET:443

类型:

HEAD / HTTP / 1.1
R

如果你看到响应:

HEAD / HTTP / 1.1
R
RENEGOTIATING

即服务器允许client renegotiation。

如果你看到回应:

HEAD / HTTP/1.1
R
RENEGOTIATING
139681067286040:error:1409E0E5:SSL routines:ssl3_write_bytes:ssl handshake failure:s3_pkt.c:656:

则服务器不支持client renegotiation。

TLS和SSL证书

对没有加密的服务器证书应该被评估为配置错误和弱加密签名,下面是证书检查的项目列表:

使用以下方式获取目标服务器证书:

openssl s_client -connect TARGET:443 | openssl x509 -noout -text

证书检查项目表

名称 描述
识别证书颁发者 确保证书颁发机构(CA)来自受信任的来源,不使用自签名证书,因为自签名证书允许中间人员攻击(除非是内部的,并且与内部CA签名)。
签名算法 用于确保证书完整性的算法,您应该确保密码是安全的,而不是使用MD5(已知不安全)或SHA1。
公钥 关键长度应该足够长以确保它不能被破解,最小值应该是2048位。
Not Before 证书开始日期。
Not After 证书结束日期。
Subject&Subject Alternative Name Subject应该列出证书所涉及的DNS名称,如果这是不正确的浏览器会引发错误。Subject Alternative Name应列出通配符证书的DNS名称,应列出此证书的所有DNS名称。

HTTP Security Headers

什么是HTTP Security Headers?

如果配置正确,HTTP Security Headers可为您的域提供额外的安全功能。以下是主要HTTP安全头文件的概述:

可以使用Burp Suite,Curl或testssl.sh(任何许多其他工具)来检查HTTP Security Headers。

使用Curl检查HTTP安全头文件

curl -s -D  -  TARGET -o / dev / null

示例输出:

HTTP/1.1 301 Moved Permanently
Date: Mon, 23 Jan 2017 16:15:51 GMT
Server: Apache
Content-Security-Policy: default-src 'self' *.target
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options: nosniff
Location: TARGET
Cache-Control: max-age=3600
Expires: Mon, 23 Jan 2017 17:15:51 GMT
Vary: Accept-Encoding
Content-Length: 233
Content-Type: text/html; charset=iso-8859-1

使用testssl.sh检查HTTP安全头

./testssl.sh -H

HTTP安全性头文件

名称 定义
HSTS HSTS安全头文件强制Web浏览器或客户端仅通过HTTPS连接与服务器进行通信。HSTS确保连接仅使用HTTPS,并防止中间人(MiTM)攻击,降级攻击和cookie劫持。HSTS是Trust on First Use(TOFU),这意味着它必须通过HTTP发送至少一个不安全的连接到主机以传输安全的头。HSTS预载列表是为浏览器提供支持HSTS的站点列表,以避免最初不安全的连接。
内容安全策略(CSP) 内容安全策略(CSP)是一个HTTP安全头文件策略,可帮助减轻某些类型的数据注入攻击(如XSS(跨站点脚本))的风险。CSP允许网站管理员通过定义一个策略来便面或减少XSS攻击,该策略规定了浏览器应该信任什么位置并允许脚本执行。
X-Frame选项 该X-Frame选项报头防止网站的代码部分展示出就像<IFRAME>,<FRAME>或<object>。通过防止这种内容在这些元素中呈现,站点可以使用X-Frame选项来防止点击劫持(clickjacking)。
X-XSS保护 较旧的HTTP安全header,可在Internet Explorer,Chrome和Firefox中启用XSS保护。虽然此功能现在由CSP内联JS提供,但是当与不支持CSP的旧浏览器配合使用时,此标头仍然可以提供保护。
X-Content-Type-Options 通过强制由Content-Type指定的MIME类型来防止MIME-sniff类型攻击。

工具地址:

  https://github.com/drwetter/testssl.sh

文章来自:https://www.infinisign.com/faq/tls-ssl-security-testing。

好记性真的不如烂笔头......

SSL/TLS 安全测试的更多相关文章

  1. 使用openSSL开源工具进行SSL/TLS 安全测试

    本文介绍了使用半自动化工具执行SSL&TLS安全性评估的过程,以及如何使用手动及工具的测试方法验证并发现问题.目的是优化TLS和SSL安全测试流程,帮助信息安全顾问在渗透测试时在TLS / S ...

  2. SSL&TLS渗透测试

    什么是TLS&SSL? 安全套接字层(SSL)和传输层安全(TLS)加密通过提供通信安全(传输加密)和为应用程序如网络.邮件.即时消息和某些虚拟私有网络(VPN)提供隐私的方式来确保互联网和网 ...

  3. win10系统iis下部署搭建https (ssl/tls)本地测试环境

    有时想要把公司的某些XX项目部署成https站点,是为了在传输层加密传输,防止他人嗅探站点重要数据信息,平常我们使用的http方式都是明文方式传输的很不安全,容易被他人窃取.而有些时候要在本地搭建ht ...

  4. [openssl][nginx] 使用openssl模拟ssl/tls客户端测试nginx stream

    一 server的配置 nginx # cat conf/nginx.conf daemon off; events { debug_connection ; } stream { upstream ...

  5. mosquitto基于SSL/TLS安全认证测试MQTT

    一.环境搭建 1.mosquitto介绍 mosquitto是一个实现了MQTT3.1协议的代理服务器,由MQTT协议创始人之一的Andy Stanford-Clark开发,它为我们提供了非常棒的轻量 ...

  6. 好程序员带你了解一下HTTPS和SSL/TLS协议的背景与基础

    >> 相关背景知识 要说清楚 HTTPS 协议的实现原理,至少需要如下几个背景知识. 大致了解几个基本术语(HTTPS.SSL.TLS)的含义 大致了解 HTTP 和 TCP 的关系(尤其 ...

  7. SSL/TLS 高强度加密: 常见问题解答

    关于这个模块 mod_ssl 简史 mod_ssl会受到Wassenaar Arrangement(瓦森纳协议)的影响吗? mod_ssl 简史 mod_ssl v1 最早在1998年4月由Ralf ...

  8. 解决 -ERR Plaintext authentication disallowed on non-secure (SSL/TLS) connections 方案[sendmail, dovecot]

    在linux下安装sendmail比较容易, 但是在配置sendmail时却是比较麻烦的, 特别是对于一些新手来说, 配置过程必须十分小心谨慎, 要知道, 错误是千奇百怪, 但是成功的结果就只有一个, ...

  9. [译]使用AES 256以达到SSL/TLS安全最大化

    原文链接:https://luxsci.com/blog/256-bit-aes-encryption-for-ssl-and-tls-maximal-security.html 原文发表时间:201 ...

随机推荐

  1. Android编程权威指南(第2版)--第16章 使用intent拍照 挑战练习

    16.7挑战练习:优化照片显示 新建dialog_photo.xml 1234567891011121314 <?xml version="1.0" encoding=&qu ...

  2. Nginx502,504和499错误解决方案

    499错误解决方案 499错误是什么?让我们看看NGINX的源码中的定义: ngx_string(ngx_http_error_495_page), /* 495, https certificate ...

  3. flume install

    flume install flume 安装 123456 [root@10 app][root@10 app]# mv apache-flume-1.7.0-bin /mnt/app/flume[r ...

  4. iNeuOS工业互联平台,.NETCore开发的视频服务组件iNeuVideo,RTSP转WebSocket

    目       录 1.      概述... 2 2.      将来集成到iNeuOS平台演示... 3 3.      iNeuVideo结构... 3 4.      iNeuVideo部署及 ...

  5. 达拉草201771010105《面向对象程序设计(java)》第一周学习总结

    达拉草201771010105<面向对象程序设计(java)>第一周学习总结 第一部分:课程准备部分 填写课程学习 平台注册账号, 平台名称 注册账号 博客园:www.cnblogs.co ...

  6. 基于arduino的红外传感系统

    一.作品背景 在这个科技飞速发展的时代,物联网已经成为了我们身边必不可少的技术模块,我这次课程设计做的是一个基于arduino+树莓派+OneNet的红外报警系统,它主要通过识别人或者动物的运动来判断 ...

  7. createjs的compositeOperation在Android和IOS上接受的参数居然不一样

    例如 目标.compositeOperation = 如果是安卓? "darken" : "darker";

  8. js事件委托target

    **看一看,瞧一瞧!** 话说要谈事件委托和target.那我们首先来看看什么是事件.话说什么是事件呢?一般的解释是比较重大.对一定的人群会产生一定影响的事情.而在JavaScript中就不是这样了, ...

  9. 《深入理解 Java 虚拟机》读书笔记:虚拟机类加载机制

    正文 虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型,这就是虚拟机的类加载机制. 一.类加载的时机 1.类的生命 ...

  10. LCN解决分布式事务原理解析+项目实战(原创精华版)

    写在前面: 原创不易,如果觉得不错推荐一下,谢谢! 由于工作需要,公司的微服务项目需解决分布式事务的问题,且由我进行分布式事务框架搭建和整合工作. 那么借此机会好好的将解决分布式事务的内容进行整理一下 ...