2014-11-04 76 views
1

许多供应商即将关闭SSLv3,我正在寻找一种方法记录来自服务器的所有出站连接,以确保他们使用的是TLS而不是SSL。目前,供应商都支持这两种方式,但我想记录如果我们使用TLS而不是SSL来防止任何代码被漏掉。注销SSL或TLS的出站连接

专门研究使用iptables并放入系统日志:使用IP信息进行TLS连接。我不需要解码实际的传输,只需验证其使用的TLS。

预先感谢您!

回答

0

您需要做深度包检测。 SSLv3和TLS使用相同的端口/协议。差异主要在于握手。

1

如果您要查找的握手,并在SSL问候的版本,你可以检测到它: 使用U32模块寻找一个SSL客户端问候包与SSLV3签名:

iptables -I OUTPUT 1 \ 
    -p tcp \! -f --dport 443 \ 
    -m state --state ESTABLISHED -m u32 --u32 \ 
    "0>>22&[email protected] 12>>26&[email protected] 0 & 0xFFFFFF00=0x16030000 && \ 
    0>>22&[email protected] 12>>26&[email protected] 2 & 0xFF=0x01 && \ 
    0>>22&[email protected] 12>>26&[email protected] 7 & 0xFFFF=0x0300" \ 
    -j LOG --log-prefix "SSLv3 Client Hello detected: " # or -j DROP ... 

HERE中,第一次谷歌返回“iptables的ssl 3”