HTTPS¼°HTTPSÖмäÈ˹¥»÷£¬È«Õ¾HTTPSÕýÔÚ³ÆÎª³±Á÷Ç÷ÊÆ£¬¹úÄÚʵÏÖȫվhttpsµÄÓÐÌÔ±¦ºÍ°Ù¶ÈÁ½¼Ò¡£

Ò»¡¢httpsµÄ×÷ÓÃ
C I A£º»úÃÜÐÔ£¬ÍêÕûÐÔ£¬¿ÉÓÃÐÔ(¿ÉÓÃÐÔÊǺϷ¨Óû§¿ÉÒÔ·ÃÎÊ×Ô¼ºÓÐȨÏÞ·ÃÎʵÄ×ÊÔ´)
½â¾öµÄÊÇÐÅÏ¢´«ÊäÖÐÊý¾Ý±»´Û¸Ä¡¢ÇÔÈ¡
¼ÓÃÜ£º¶Ô³Æ¡¢·Ç¶Ô³Æ¡¢µ¥Ïò
¶þ¡¢https¹¤×÷ÔÀí
httpsµÄ¹¤×÷ÔÀí»¹ÊÇÓбØÒªÑо¿ÏµÄ(ÔÀíÎÒÒ²ÊÇ´ÓÍøÉÏѧϰ×ܽáµÄ£¬¸ÐлÕâЩǰ±²)

1. ¿Í»§¶Ë·¢ÆðHTTPSÇëÇó
Óû§ÔÚä¯ÀÀÆ÷ÀïÊäÈëÒ»¸öhttpsÍøÖ·£¬È»ºóÁ¬½Óµ½serverµÄ443¶Ë¿Ú¡£
2. ·þÎñ¶ËµÄÅäÖÃ
²ÉÓÃHTTPSÐÒéµÄ·þÎñÆ÷±ØÐëÒªÓÐÒ»Ì×Êý×ÖÖ¤Ê飬¿ÉÒÔ×Ô¼ºÖÆ×÷£¬Ò²¿ÉÒÔÏò×éÖ¯ÉêÇë¡£Çø±ð¾ÍÊÇ×Ô¼º°ä·¢µÄÖ¤ÊéÐèÒª¿Í»§¶ËÑé֤ͨ¹ý£¬²Å¿ÉÒÔ¼ÌÐø·ÃÎÊ£¬¶øÊ¹ÓÃÊÜÐÅÈεĹ«Ë¾ÉêÇëµÄÖ¤ÊéÔò²»»áµ¯³öÌáÊ¾Ò³Ãæ
webͨÐÅÖеÄSSL¼ÓÃܵĹ«Ô¿Ö¤Êé(ÊÜÐÅÈεĵÚÈý·½Ö¤Êé°ä·¢»ú¹¹Ç©Ãû°ä·¢)³£¼ûµÄÈç
VeriSign
Thawte
GlobalSign
Symantec
3. ´«ËÍÖ¤Êé
Õâ¸öÖ¤ÊéÆäʵ¾ÍÊǹ«Ô¿£¬Ö»Êǰüº¬Á˺ܶàÐÅÏ¢£¬ÈçÖ¤ÊéµÄ°ä·¢»ú¹¹£¬¹ýÆÚʱ¼äµÈµÈ¡£
4. ¿Í»§¶Ë½âÎöÖ¤Êé
Õⲿ·Ö¹¤×÷ÊÇÓпͻ§¶ËµÄTLSÀ´Íê³ÉµÄ£¬Ê×ÏÈ»áÑéÖ¤¹«Ô¿ÊÇ·ñÓÐЧ£¬±ÈÈç°ä·¢»ú¹¹£¬¹ýÆÚʱ¼äµÈµÈ£¬Èç¹û·¢ÏÖÒì³££¬Ôò»áµ¯³öÒ»¸ö¾¯¸æ¿ò£¬Ìáʾ֤Êé´æÔÚÎÊÌâ¡£Èç¹ûÖ¤ÊéûÓÐÎÊÌ⣬ÄÇô¾ÍÉú³ÉÒ»¸öËæ¼´Öµ¡£È»ºóÓÃÖ¤Êé¶Ô¸ÃËæ»úÖµ½øÐмÓÃÜ¡£
5. ´«ËͼÓÃÜÐÅÏ¢
Õⲿ·Ö´«Ë͵ÄÊÇÓÃÖ¤Êé¼ÓÃܺóµÄËæ»úÖµ£¬Ä¿µÄ¾ÍÊÇÈ÷þÎñ¶ËµÃµ½Õâ¸öËæ»úÖµ£¬ÒÔºó¿Í»§¶ËºÍ·þÎñ¶ËµÄͨОͿÉÒÔͨ¹ýÕâ¸öËæ»úÖµÀ´½øÐмÓÃܽâÃÜÁË¡£
6. ·þÎñ¶Î½âÃÜÐÅÏ¢
·þÎñ¶ËÓÃ˽Կ½âÃܺ󣬵õ½Á˿ͻ§¶Ë´«¹ýÀ´µÄËæ»úÖµ(˽Կ)£¬È»ºó°ÑÄÚÈÝͨ¹ý¸ÃÖµ½øÐжԳƼÓÃÜ¡£Ëùν¶Ô³Æ¼ÓÃܾÍÊÇ£¬½«ÐÅÏ¢ºÍ˽Կͨ¹ýijÖÖËã·¨»ìºÏÔÚÒ»Æð£¬ÕâÑù³ý·ÇÖªµÀ˽Կ£¬²»È»ÎÞ·¨»ñÈ¡ÄÚÈÝ£¬¶øÕýºÃ¿Í»§¶ËºÍ·þÎñ¶Ë¶¼ÖªµÀÕâ¸ö˽Կ£¬ËùÒÔÖ»Òª¼ÓÃÜËã·¨¹»±ëº·£¬Ë½Ô¿¹»¸´ÔÓ£¬Êý¾Ý¾Í¹»°²È«¡£
7. ´«Êä¼ÓÃܺóµÄÐÅÏ¢
Õⲿ·ÖÐÅÏ¢ÊÇ·þÎñ¶ÎÓÃ˽Կ¼ÓÃܺóµÄÐÅÏ¢£¬¿ÉÒÔÔÚ¿Í»§¶Ë±»»¹Ô
8. ¿Í»§¶Ë½âÃÜÐÅÏ¢
¿Í»§¶ËÓÃ֮ǰÉú³ÉµÄ˽Կ½âÃÜ·þÎñ¶Î´«¹ýÀ´µÄÐÅÏ¢£¬ÓÚÊÇ»ñÈ¡Á˽âÃܺóµÄÄÚÈÝ¡£Õû¸ö¹ý³ÌµÚÈý·½¼´Ê¹¼àÌýµ½ÁËÊý¾Ý£¬Ò²ÊøÊÖÎ޲ߡ£
´ó¸Å¹ý³ÌÈçÏ£º
ÎÕÊÖ¡ª¡ªÐÉ̼ÓÃÜËã·¨¡ª¡ª»ñµÃ¹«Ô¿Ö¤Ê顪¡ªÑéÖ¤¹«Ô¿Ö¤Ê顪¡ª½»»»»á»°ÃÜÔ¿¡ª¡ª¼ÓÃÜÐÅÏ¢´«Êä
Èý¡¢SSLµÄÈõµã
1.sslÊDz»Í¬µÄ¶Ô³Æ¡¢·Ç¶Ô³Æ¡¢µ¥Ïò¼ÓÃÜËã·¨µÄ×éºÏ¼ÓÃÜʵÏÖ(cipher suite)
ÈçÃÜÔ¿½»»»¡¢Éí·ÝÑé֤ʹÓÃRAS/Diffie-Hellman£¬¼ÓÃÜÊý¾Ý£¬Ê¹ÓÃAES¼ÓÃÜ£¬ÓÐRAS/DHÍê³ÉÃÜÔ¿½»»»£¬ÕªÒªÐÅÏ¢ÓÉHMAC-SHA2£¬×é³ÉÁËÒ»¸öcipher
suite£¬µ±È»£¬Ò²¿ÉÒÔÊÇÆäËû×éºÏ¡£
2.·þÎñÆ÷¶ËΪÌṩ¸üºÃµÄ¼æÈÝÐÔ£¬Ñ¡ÔñÖ§³Ö´óÁ¿¹ýʱµÄcipher suite¡£
3.ÐÉ̹ý³ÌÖÐÇ¿ÆÈ½µ¼¶¼ÓÃÜÇ¿¶È¡£
4.ÏÖ´ú´¦ÀíÆ÷¼ÆËãÄÜÁ¦¿ÉÒÔÔÚ½ÓÊÕµÄʱ¼äÄÚÆÆ½â¹ýʱ¼ÓÃÜËã·¨¡£
5.ºÚ¿Í¹ºÂòÔÆ¼ÆËã×ÊÔ´ÆÆ½â¡£
ËÄ¡¢HTTPS³£¼û¹¥»÷·½Ê½
Õë¶ÔÆäÈõµã£¬³£¼ûµÄhttps¹¥»÷·½·¨ÓÐ
½µ¼¶¹¥»÷(°Ñ¸ß°²È«¼¶±ðµÄ¼ÓÃÜËã·¨Ç¿ÖÆ½µ³ÉµÍ°²È«¼¶±ðµÄ¼ÓÃÜËã·¨)
½âÃܹ¥»÷(Ã÷ÎÄ¡¢Ö¤ÊéαÔì)
ÐÒé©¶´¡¢ÊµÏÖ·½·¨µÄ©¶´¡¢ÅäÖò»Ñϸñ
Îå¡¢HTTPSÖ¤Êé²é¿´
ÔÚ½øÐÐÖмäÈ˹¥»÷֮ǰ£¬ÏȲ鿴ÏÂÖ¤Ê飬¿ÉÒÔʹÓÃÒÔÏÂÈí¼þ(ÒÔ°Ù¶ÈΪÀý)
1. OpenSSL
OpenSSLÊÇÒ»¸ö°²È«Ì×½Ó×Ö²ãÃÜÂë¿â£¬ÄÒÀ¨Ö÷ÒªµÄÃÜÂëËã·¨¡¢³£ÓõÄÃÜÔ¿ºÍÖ¤Êé·â×°¹ÜÀí¹¦Äܼ°SSLÐÒ飬²¢Ìṩ·á¸»µÄÓ¦ÓóÌÐò¹©²âÊÔ»òÆäËüÄ¿µÄʹÓá£
Ö±½Óµ÷ÓÃopenssl¿âʶ±ðÄ¿±ê·þÎñÆ÷Ö§³ÖµÄSSL/TLS cipher suite
openssl s_client -connect www.baidu.com:443£¬

2. sslcan
SSLscanÖ÷Ҫ̽²â»ùÓÚsslµÄ·þÎñ£¬Èçhttps¡£SSLscanÊÇÒ»¿î̽²âÄ¿±ê·þÎñÆ÷ËùÖ§³ÖµÄSSL¼ÓÃÜËã·¨¹¤¾ß¡£
sslcanÄÜ×Ô¶¯Ê¶±ðsslÅäÖôíÎ󣬹ýÆÚÐÒ飬¹ýʱcipher suiteºÍhashËã·¨
ĬÈÏ»á¼ì²éCRIME¡¢heartbled©¶´£¬ÂÌÉ«±íʾ°²È«¡¢ºìÉ«»ÆÉ«ÐèÒªÒýÆð×¢Òâ
sslscan -tlsall www.baidu.com:443

·ÖÎöÖ¤ÊéÏêϸÊý¾Ý
sslscan -show-certificate --no-ciphersuites
www.baidu.com:443

·ÖÎöÖ¤ÊéÏêϸÊý¾Ý
3. nmap
»¹¿ÉÒÔʹÓÃnmapµÄ½Å±¾¡£
nmap --script=ssl-enm-ciphers.nse www.baidu.com

»¹¿ÉÒÔʹÓÃnmapµÄ½Å±¾¡£
Áù¡¢httpsÖмäÈ˹¥»÷
1. ÏÈÉú³ÉÒ»¸öÖ¤Êé
openssl req -new -x509 -days 1096 -key
ca.key -out ca.crt£¬½øÐÐÒ»¸öеÄÇëÇ󣬸ñʽΪ-x509£¬ÏÖÔÚµÄÖ¤Êé»ù±¾ÊÇx509µÄ¹ú¼Ê±ê×¼µÄÖ¤Êé¸ñʽ£¬ÓÐЧÆÚΪ1096Ì죬²¢Ê¹ÓÃca.key˽Կ£¬Éú³Éca.crt±ê×¼µÄÖ¤ÊéÎļþ¡£

ca.crt±ê×¼µÄÖ¤ÊéÎļþ
sslsplit»á×Ô¶¯µÄµ÷ÓøùÖ¤Ê飬¸ù¾ÝÄãÒª·ÃÎÊÄÄÐ©ÍøÕ¾£¬¸ù¾ÝÍøÕ¾µÄÃû³Æ£¬ÓɸùÖ¤ÊéÇ©·¢Ò»¸öרÃÅÕë¶ÔÍøÕ¾µÄÖ¤Êé¡£
2.¿ªÆô·Óɹ¦ÄÜ
ÖмäÈËÒ²ÊǸöÖÕ¶ËÉ豸£¬²»¾ßÓзÓɹ¦ÄÜ£¬×ª·¢¹ý³Ì²»ÊÇÓÉÈí¼þʵÏֵģ¬ÊÇÓɲÙ×÷ϵͳµÄ·Óɹ¦ÄÜʵÏֵġ£
sysctl -w net.ipv4.ip_forward=1£¬½«net.ipv4.ip_forward=1µÄÖµÉèΪ1£¬µ±È»ÓÃÊä³öÖØ¶¨Ïò»òÕßvim±à¼proc/sys/net/ipv4/ip_forwardÒ²¿É¡£

3.дת·¢¹æÔò
iptables¶Ë¿Úת·¢¹æÔò
µ±¿Í»§¶Ë°ÑÇëÇ󷢸øÖмäÈËÖÕ¶ËÉ豸µÄʱºò£¬·¢µ½Öն˵Ä443¶Ë¿ÚÖ®ºó£¬ÐèÒªÓÃiptables×öNATµØÖ·×ª»»£¬ÆäʵÊǶ˿Úת»»£¬°Ñ±¾µØ443¶Ë¿ÚÊÕµ½µÄ°üת·¢µ½ÁíÍâÒ»¸ö¶Ë¿Ú£¬¶øÁíÍâÒ»¸ö¶Ë¿ÚÓÉsslsplitËùÕìÌýµÄ¶Ë¿Ú£¬ÕâÑùµÄ»°£¬·²ÊÇ·¢¸ø443¶Ë¿ÚµÄÇëÇóÁ÷Á¿¾Í»á·¢¸øslsplitËùÕìÌýµÄ¶Ë¿Ú£¬¶øsslsplit¾Í»áµ÷ÓÃÖ¤ÊéαÔìÒ»¸ö¿´ÆðÀ´ÊÇÄ¿±êÍøÕ¾µÄαÔìÍøÕ¾£¬sslsplit»áÀûÓÃαÔìµÄÖ¤Êé¶Ô·¢¹ýÀ´µÄÁ÷Á¿½øÐнâÃÜ
iptables -t nat -L ²é¿´netµÄÅäÖã¬Îª±ÜÃâ¸ÉÈÅ£¬¿ÉÒÔʹÓÃiptables -FÇå¿ÕÅäÖ㬲¢Ê¹ÓÃnetstat
-pantu | grep :80 £¬netstat -pantu | grep :443¼ì²é80ºÍ443ÊÇ·ñ±»Ê¹Óã¬Ê¹ÓÃÔòÍ£Ö¹½ø³Ì

½«80¡¢443¶Ë¿Ú½øÐÐת·¢¸ø8080ºÍ8443¶Ë¿Ú¡£
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080 iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8443 |
µ±È»»¹¿ÉÒÔ¶ÔÆäËûµÄÐÒéµÄ¼ÓÃÜÁ÷Á¿½øÐÐÖмäÈ˹¥»÷¡£
iptables -t nat -A PREROUTING -p tcp --dport 587 -j REDIRECT --to-ports 8443 //MSA iptables -t nat -A PREROUTING -p tcp --dport 465 -j REDIRECT --to-ports 8443 //SMTPS iptables -t nat -A PREROUTING -p tcp --dport 993 -j REDIRECT --to-ports 8443 //IMAPS iptables -t nat -A PREROUTING -p tcp --dport 995 -j REDIRECT --to-ports 8443 //POP3S |

4. ½øÐÐarpÆÛÆ
ʹÓÃarpspoof½øÐÐarpÆÛÆ£¬²»¹ÜÊǽøÐÐDNSÆÛÆ»¹ÊÇHTTP»òHTTPSµÄÖмäÈ˹¥»÷£¬arpÆÛƶ¼ÊÇǰÌᣬËùÒÔ£¬ÔÚ½øÐзÀÓùµÄʱºò£¬½«ipºÍMAC°ó¶¨£¬¾Í¿ÉÒÔ·ÀÖ¹ÖмäÈ˹¥»÷ÁË¡£ |