2014-11-04 107 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」