HTTPSæ¥ç¶ã®äœ¿çšã¯ãã¯ã©ã€ã¢ã³ããšãµãŒãã¹éã®è»¢é段éã§ããŒã¿ã®æ©å¯æ§ãšæŽåæ§ãä¿èšŒããHTTPSã§ãããããå®å šãªWebãµãŒãã¹ã®éèŠãªéšåã§ãã ãã¹ãŠã®ãµãŒãã¹ãåŸã ã«HTTPSæ¥ç¶ã«ã®ã¿è»¢éããŸãã ãããã®å€ãã¯ãã§ã«ãã¹ããŒãããã¹ãããã€ã¬ã¯ããã¡ããªãã¯ãã¿ã¯ã·ãŒãYandex.Moneyãããã³ãŠãŒã¶ãŒã®å人ããŒã¿ãæ±ããããã圢æ ã®ãã£ãŒãããã¯ã§ç¬å çã«æ©èœããŠããŸãã Yandex.Mailã¯1幎以äžãããããµããŒãããSSL / TLSãä»ããŠä»ã®ã¡ãŒã«ãµãŒãã¹ãšããŒã¿ã亀æããŠããŸã ã
HTTPSã¯TLSã§ã©ãããããHTTPã§ããããšã¯èª°ããç¥ã£ãŠããŸãã SSLã§ã¯ãªãTLSã䜿çšããçç± TLSã¯åºæ¬çã«æ°ããSSLã§ãããæ°ãããããã³ã«ã®ååã¯ãã®ç®çãæãæ£ç¢ºã«èª¬æããŠããããã§ãã ãŸãã POODLEã®è匱æ§ãèæ ®ãããšãSSLã䜿çšã§ããªããªã£ããšå ¬åŒã«æ³å®ã§ããŸãã
HTTPãšãšãã«ãã»ãšãã©ãã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³å±€ãããã³ã«ãTLSã§ã©ããã§ããŸãã ããšãã°ãSMTPãIMAPãPOP3ãXMPPãªã©ã ãã ããHTTPSã®å±éã¯æãåºãç¥ãããŠããåé¡ã§ããããã©ãŠã¶ãŒã®åäœã®ããã«å€ãã®åŸ®åŠãªåé¡ããããããããã«ã€ããŠèª¬æããŸãã ãã ããããã€ãã®ä»®å®ã§ã¯ãä»ã®ãããã³ã«ã«ã€ããŠãå€ãã®ããšãåœãŠã¯ãŸããŸãã ç§ãã¡ã®ååã«åœ¹ç«ã€æäœéå¿ èŠãªãã®ã«ã€ããŠè©±ãããããšããŸãã
ã¹ããŒãªãŒãæ¡ä»¶ä»ãã§2ã€ã®éšåã«åå²ããŸããã€ã³ãã©ã¹ãã©ã¯ãã£ïŒHTTPã®äžã«ãããã®ãã¹ãŠïŒãšãã¢ããªã±ãŒã·ã§ã³ã¬ãã«ã§ã®å€æŽã«é¢ããéšåã§ãã
çµäº
HTTPSãå±éããããŒã ãæåã«å¯ŸåŠããªããã°ãªããªãããšã¯ãTLSçµäºæ¹æ³ã®éžæã§ãã TLSçµäºã¯ãTLSã§ã¢ããªã±ãŒã·ã§ã³å±€ãããã³ã«ãã«ãã»ã«åããããã»ã¹ã§ãã éåžžã次ã®3ã€ã®ãªãã·ã§ã³ããéžæã§ããŸãã
- Amazon ELB ã Cloudflare ã Akamaiãªã©ãå€ãã®ãµãŒãããŒãã£ãµãŒãã¹ã®ããããã䜿çšããŸãã ãã®æ¹æ³ã®äž»ãªæ¬ ç¹ã¯ããµãŒãããŒãã£ã®ãµãŒãã¹ãšãµãŒããŒéã®ãã£ãã«ãä¿è·ããå¿ èŠãããããšã§ãã ã»ãšãã©ã®å Žåãããã«ã¯äœããã®åœ¢ã§TLSãµããŒããå±éããå¿ èŠããããŸãã 倧ããªæ¬ ç¹ã¯ãå¿ èŠãªæ©èœãè匱æ§ã®ä¿®æ£é床ããµããŒããããšããç¹ã§ãµãŒãã¹ãããã€ããŒã«å®å šã«äŸåããããšã§ãããå¥ã®åé¡ã¯èšŒææžãé瀺ããå¿ èŠããããããããŸããã ããã«ããããããããã®æ¹æ³ã¯ã PaaSã䜿çšããæ°èäŒæ¥ãäŒæ¥ã«ãšã£ãŠã¯è¯ããœãªã¥ãŒã·ã§ã³ã«ãªããŸãã
- ç¬èªã®ããŒããŠã§ã¢ãšããŒã¿ã»ã³ã¿ãŒã䜿çšããŠããäŒæ¥ã®å Žåãå¯èœãªãªãã·ã§ã³ã¯ãTLSçµäºæ©èœãåããããŒããŠã§ã¢ããŒããã©ã³ãµãŒã§ãã ããã§ã®å¯äžã®å©ç¹ã¯ããã©ãŒãã³ã¹ã§ãã ãã®ãããªãœãªã¥ãŒã·ã§ã³ãéžæãããšããã³ããŒã«å®å šã«äŸåããããšã«ãªããŸãããŸãã補åå ã§åãããŒããŠã§ã¢ã³ã³ããŒãã³ãã䜿çšãããããšãå€ãããããããã¡ãŒã«ãŒã«ãäŸåããŸãã ãã®çµæãæ©èœãè¿œå ããã¿ã€ãã³ã°ã¯çæ³ããã¯ã»ã©é ãã§ãã ãã®ãããªè£œåã®èŒžå ¥ã«äŒŽãæœåšçãªçšé¢ã®åé¡ã¯ããã®è³æã®å€ã«æ®ãããŸãã
- ãœãããŠã§ã¢ãœãªã¥ãŒã·ã§ã³-é»éã®å¹³åã æ¢åã®ãªãŒãã³ãœãŒã¹ãœãªã¥ãŒã·ã§ã³-Nginx ã Haproxy ã Budãªã© -æ©èœãæé©åãè¿œå ããŠãç¶æ³ãã»ãŒå®å šã«å¶åŸ¡ã§ããŸãã æ¬ ç¹ã¯ããã©ãŒãã³ã¹ã§ã-ããŒããŠã§ã¢ãœãªã¥ãŒã·ã§ã³ãããäœããªããŸãã
Yandexã§ã¯ããœãããŠã§ã¢ãœãªã¥ãŒã·ã§ã³ã䜿çšããŠããŸãã ç§ãã¡ã®éãé²ããšãã³ã³ããŒãã³ãã®çµ±åã¯ãTLSãå±éããããã®éèŠãªã¹ãããã«ãªããŸãã
çµ±äž
æŽå²çã«ãç§ãã¡ã®ãµãŒãã¹ã¯WebãµãŒããŒã«ç°ãªããœãããŠã§ã¢ã䜿çšããŠããããããã¹ãŠãçµ±äžããããã«ãNginxãæ¯æããŠã»ãšãã©ã®ãœãªã¥ãŒã·ã§ã³ãæŸæ£ããæåŠã§ããªãå Žåã¯Nginxã«å¯ŸããŠãé ããããšã«ããŸããã ãã®å Žåã®äŸå€ã¯ããã©ã³ãµãŒãšåŒã°ããç¬èªã®éçºã䜿çšããæ€çŽ¢ã§ãã-çªç¶-ãã©ã³ãµãŒã
ãã©ã³ãµãŒã¯ãä»ã®ãåæ¥çãªãœãªã¥ãŒã·ã§ã³ã§ããã§ããªãå€ãã®ããšãè¡ãããšãã§ããŸãã ãã€ããã¿ããªãããã«ã€ããŠãã£ãšè©³ãã話ããšæãã æèœã®ããéçºããŒã ããããããNginxã«å ããŠãç¬èªã®WebãµãŒããŒã®1ã€ããµããŒãããäœè£ããããŸãã
æå·åèªäœã«é¢ããŠã¯ã OpenSSLã©ã€ãã©ãªã䜿çšããŸã ã çŸåšãé©åãªã©ã€ã»ã³ã¹ãåããTLSã®æãå®å®ããçç£çãªå®è£ ã§ãã OpenSSLããŒãžã§ã³1+ã䜿çšããããšãéèŠã§ããããã¯ãã¡ã¢ãªã®åŠçãæé©åãããããå¿ èŠãªãã¹ãŠã®ææ°ã®æå·ãšãããã³ã«ããµããŒããããŠããããã§ãã ä»åŸã®æšå¥šäºé ã¯ãã¹ãŠãNginx WebãµãŒããŒã®ãŠãŒã¶ãŒã察象ãšããŠããŸãã
èªèšŒ
ãµãŒãã¹ã§HTTPSã䜿çšããã«ã¯ã蚌ææžãå¿ èŠã§ãã 蚌ææžã¯å ¬ééµã§ãããèªèšŒå±ã«ãã£ãŠçœ²åãããASN.1圢åŒã®ç¹å®ã®ããŒã¿ã»ããã§ãã éåžžããã®ãããªèšŒææžã¯äžéCAã«ãã£ãŠçœ²åããããµãŒãã¹ã®ãã¡ã€ã³åãCommon NameãŸãã¯Alt Namesæ¡åŒµã«å«ãŸããŠããŸãã
蚌ææžã®æå¹æ§ãæ€èšŒããããã«ããã©ãŠã¶ã¯æçµèšŒææžã®ããžã¿ã«çœ²åã®æå¹æ§ã®æ€èšŒãè©Šã¿ã次ã«åäžéèªèšŒå±ã®æ€èšŒãè©Šã¿ãŸãã 蚌ææ©é¢ã®ãã§ãŒã³ã®åŸè ã®èšŒææžã¯ãããããã«ãŒã蚌ææ©é¢ïŒã«ãŒãCAïŒã«ãã£ãŠçœ²åãããªããã°ãªããŸããã
ã«ãŒã蚌ææ©é¢ã®èšŒææžã¯ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãŸãã¯ãŠãŒã¶ãŒã®ãã©ãŠã¶ãŒïŒFirefoxãªã©ïŒã«ä¿åãããŸãã WebãµãŒããŒãèšå®ãããšãã¯ããµãŒããŒèšŒææžã ãã§ãªãããã¹ãŠã®äžé蚌ææžãã¯ã©ã€ã¢ã³ãã«éä¿¡ããããšãéèŠã§ãã ãã®å Žåãã«ãŒã蚌ææžãéä¿¡ããå¿ èŠã¯ãããŸãã-æ¢ã«OSã«ãããŸãã
倧äŒæ¥ã¯ãç¬èªã®äžéCAãææããäœè£ããããŸãã ããšãã°ã2012幎ãŸã§ããã¹ãŠã®Yandex蚌ææžã¯YandexExternalCAã«ãã£ãŠçœ²åãããŠããŸããã ç¬èªã®äžéCAã䜿çšãããšã蚌ææžã®æé©åãšãã³çãã®äž¡æ¹ã®è¿œå ã®æ©äŒãäžããããã»ãŒãã¹ãŠã®æçµãã¡ã€ã³åã«å¯ŸããŠèšŒææžãçºè¡ã§ãããããè¿œå ã®è²¬ä»»ã課ãããŸãããŸãã䟵害ãããå ŽåãäžéCAã®èšŒææžã®å€±å¹ãŸã§ãæ·±å»ãªçµæã«ã€ãªããå¯èœæ§ããããŸã
ç¬èªã®CAãç¶æããã®ã¯éåžžã«é«äŸ¡ã§è€éã«ãªãå¯èœæ§ããããããäžéšã®äŒæ¥ã¯CAãMPKI-Managed PKIã¢ãŒãã§äœ¿çšããŠããŸãã ã»ãšãã©ã®æ¶è²»è ã«ãšã£ãŠãåæ¥ãµãã©ã€ã€ãŒã®ããããã䜿çšããŠèšŒææžãè³Œå ¥ããã ãã§ååã§ãã
ãã¹ãŠã®èšŒææžã¯ã次ã®ç¹æ§ã«åé¡ã§ããŸãã
- 䜿çšãããããžã¿ã«çœ²åã¢ã«ãŽãªãºã ãšããã·ã¥é¢æ°ã
- 蚌ææžã®ã¿ã€ãã
ããžã¿ã«çœ²åã¢ã«ãŽãªãºã -蚌ææžã®çœ²åã«ã¯å ¬ééµã䜿çšããæå·åã¢ã«ãŽãªãºã ã䜿çšãããŸããã»ãšãã©ã®å Žåãããã¯RSA ã DSAãŸãã¯ECDSAã§ãã GOSTãã¡ããªãŒã®ã¢ã«ãŽãªãºã ã«ã€ããŠã¯ãã¯ã©ã€ã¢ã³ããœãããŠã§ã¢ã§å€§èŠæš¡ãªãµããŒããåããŠããªããããããã§ã¯åãäžããŸããã
RSA蚌ææžã¯çŸåšæãåºã䜿çšãããŠããããã¹ãŠã®ãããã³ã«ããã³OCããŒãžã§ã³ã§ãµããŒããããŠããŸãã
ãã®ã¢ã«ãŽãªãºã ã®æ¬ ç¹ã¯ãããžã¿ã«çœ²åãçæããã³æ€èšŒããéã®ããŒãµã€ãºãšåçã®ããã©ãŒãã³ã¹ã§ãã éµãµã€ãºã2048ãããæªæºã®èšŒææžã¯å®å šã§ã¯ãªãããããã倧ããªéµã䜿çšããæäœã¯å€§éã®ããã»ããµãªãœãŒã¹ãæ¶è²»ããŸãã
眲åãçæããå ŽåãDSAã«äŒŒãã¹ããŒã ã¯RSAãããé«éã§ãïŒåããã©ã¡ãŒã¿ãŒãµã€ãºïŒããã¹ãŠã®æäœã¯æ¥åæ²ç·ã®ç¹ã®ã°ã«ãŒãã§è¡ããããããECDSAã¯åŸæ¥ã®DSAãããã¯ããã«é«éã§ãã ç§ãã¡ã®ãã¹ãã«ãããšã1ã€ã®Xeon 5645ãµãŒããŒã§ã¯ã2048ãããã®ããŒãµã€ãºïŒECDHE-RSA-AES128-GCM-SHA256ïŒã§RSAã«ãã£ãŠçœ²åããã蚌ææžã䜿çšããŠãNginx WebãµãŒããŒã§1ç§ãããæ倧3200 TLSãã³ãã·ã§ã€ã¯ãè¡ãããšãã§ããŸãã åæã«ãECDSA蚌ææžïŒECDHE-ECDSA-AES128-GCM-SHA256ïŒã䜿çšããŠããã§ã«6300ãã³ãã·ã§ã€ã¯ãè¡ãããšãã§ããŸã-ããã©ãŒãã³ã¹ã®éãã¯ã»ãŒ2åã«ãªããŸãã
æ®å¿µãªãããWindows XP <SP3ããã³å€§èŠæš¡ãµã€ãã®ã¯ã©ã€ã¢ã³ãéã®å ±æããŒã以å€ã§ããäžéšã®ãã©ãŠã¶ã¯ãECC蚌ææžããµããŒãããŠããŸããã
æãäžè¬çãªEDSã¢ã«ãŽãªãºã ã®èä¹ æ§ã¯ã䜿çšãããããã·ã¥é¢æ°ã®èä¹ æ§ïŒã»ãã¥ãªãã£ïŒã«çŽæ¥äŸåããŸãã 䜿çšãããäž»ãªããã·ã¥ã¢ã«ãŽãªãºã ã¯æ¬¡ã®ãšããã§ãã
-
MD5
çŸåšãå®å šã§ã¯ãªããšèŠãªããã䜿çšãããŠããŸããã -
SHA-1
ãçŸåšã§ã¯å®å šã§ã¯ãªããšèªèãããŠããŸãã -
SHA-256
çŸåšSHA-1
ãã§ã«çœ®ãæããŠããã¢ã«ãŽãªãºã ã -
SHA-512
ä»æ¥ã¯ãã£ãã«äœ¿çšãããªããããããã§ã¯è©³ãã説æããŸããã
SHA-1
ãã§ã«å ¬åŒã«å®å šã§ã¯ãªããšèŠãªãããŠãããåŸã ã«æ®µéçã«å»æ¢ãããŠããŸãã ãã®ãããYandex.Browserããã³ãã®ä»ã®Chromiumãã¡ããªãŒã®ãã©ãŠã¶ã¯ã
SHA-1
ã䜿çšããŠçœ²åããã2016幎1æ1æ¥ä»¥éã«æéåãã«ãªã蚌ææžãå®å šã§ãªããã®ãšããŠããŒã¯ãå§ããŸãã ãã¹ãŠã®æ°ãã蚌ææžã¯ã
SHA-256
ã䜿çšããŠæ£ãã眲åããå¿ èŠããããŸãã æ®å¿µãªããããã¹ãŠã®ãã©ãŠã¶ãŒãšOSïŒWinXP <sp3ïŒããã®ããã·ã¥é¢æ°ããµããŒãããŠããããã§ã¯ãªããéåžžã«å€§ããªãªãœãŒã¹ã®å Žåãããã¯ã¯ã©ã€ã¢ã³ãã®æ倱ã«ã€ãªããå¯èœæ§ããããŸãã
TLSã«äœ¿çšããããã¹ãŠã®ãµãŒããŒãšã³ã蚌ææžã¯ãæ€èšŒæ¹æ³-Extended Validatedãšãã®ä»ïŒã»ãšãã©ã®å ŽåDomain ValidatedïŒã§æ¡ä»¶ä»ãã§åå²ã§ããŸãã
æè¡çã«ã¯ãæ¡åŒµæ€èšŒæžã¿èšŒææžã«ãEVå±æ§ãšå€ãã®å ŽåäŒç€Ÿã®äœæãå«ãè¿œå ãã£ãŒã«ããè¿œå ãããŸãã EV蚌ææžãååŸããããšã¯ã蚌ææžææè ã®ååšãæ³çã«æ€èšŒããããšãæå³ããŸãããDomain Validatedãªã©ã®èšŒææžã¯ã蚌ææžææè ããã¡ã€ã³åãå¶åŸ¡ããããšã®ã¿ã確èªããŸãã
çŸããç·ã®ããã·ã¥ã®å€èŠ³ã«å ããŠãEV蚌ææžã®èšå·ã¯ã倱å¹ã¹ããŒã¿ã¹ã®ç¢ºèªã«é¢é£ãããã©ãŠã¶ãŒã®åäœã«ã圱é¿ããŸãã ãã®ãããOCSPãŸãã¯CRLã䜿çšãããGoogle CRLsetã®ã¿ã«äŸåããChromiumãã¡ããªã®ãã©ãŠã¶ã§ãããEVã¯OCSPãããã³ã«ã䜿çšããŠã¹ããŒã¿ã¹ããã§ãã¯ããŸãã 以äžã«ããããã®ãããã³ã«ã®æ©èœã«ã€ããŠè©³ãã説æããŸãã
蚌ææžãããã£ãã®ã§ãã©ã®ãããã³ã«ããŒãžã§ã³ã䜿çšãããããç解ããå¿ èŠããããŸãã èŠããŠããããã«ãSSLv2ããã³SSLv3ããŒãžã§ã³ã®ãããã³ã«ã«ã¯æ ¹æ¬çãªè匱æ§ããããŸãã ãããã£ãŠãããããç¡å¹ã«ããå¿ èŠããããŸãã çŸåšãã»ãšãã©ãã¹ãŠã®ã¯ã©ã€ã¢ã³ããTLS 1.0ããµããŒãããŠããŸãã TLSããŒãžã§ã³1.1ããã³1.2ã®äœ¿çšããå§ãããŸãã
SSLv3ã䜿çšããã¯ã©ã€ã¢ã³ãã®æ°ãéåžžã«å€ãå Žåã¯ãRC4ã¢ã«ãŽãªãºã ã§ã®è£åæ段ãšããŠã®ã¿äœ¿çšããããšãèš±å¯ã§ããŸããããã¯ç§»è¡æéäžã«è¡ããŸããã ãã ããå€ããã©ãŠã¶ã䜿çšããŠãããŠãŒã¶ãŒãç§ãã¡ã»ã©å€ããªãå Žåã¯ãSSLv3ãå®å šã«ç¡å¹ã«ããããšããå§ãããŸãã ãããã³ã«ã«é¢ããNginxã®æ£ããæ§æã¯æ¬¡ã®ããã«ãªããŸãã
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
TLSæ¥ç¶ã«äœ¿çšãããæå·ã¹ã€ãŒããŸãã¯æå·ã¹ã€ãŒããšããã·ã¥é¢æ°ã®éžæã«é¢ããŠãWebãµãŒããŒã¯å®å šãªæå·ã®ã¿ã䜿çšããå¿ èŠããããŸãã ããã§ã¯ãã»ãã¥ãªãã£ãé床ãããã©ãŒãã³ã¹ãäºææ§ã®ãã©ã³ã¹ãåãããšãéèŠã§ãã
ã»ãã¥ãªãã£vs. æ§èœ
HTTPSã®äœ¿çšã¯ããµãŒããŒåŽã®ããã©ãŒãã³ã¹ãšãã¯ã©ã€ã¢ã³ãåŽã§ã®ãªãœãŒã¹ã®ããŒãããã³ã¬ã³ããªã³ã°ã®é床ã®äž¡æ¹ã®ç¹ã§éåžžã«ã³ã¹ããããããšäžè¬ã«èããããŠããŸãã ããã¯äžéšçå®ã§ã-HTTPSãæ£ããæ§æãããŠããªããšããã³ãã·ã§ã€ã¯ã«2ïŒãŸãã¯ãã以äžïŒã®åŸåŸ©æéïŒRTTïŒãè¿œå ãããå¯èœæ§ããããŸãã
HTTPSã®å®è£ äžã«çºçããé 延ã軜æžããããã«ã次ã®æ¹æ³ã䜿çšãããŸãã
- ã³ã³ãã³ãé
ä¿¡ãããã¯ãŒã¯ïŒCDNïŒã çµç«¯ç¹ãã¯ã©ã€ã¢ã³ãã®è¿ãã«é
眮ããããšã«ãããRTTãåæžã§ããŸãã ãããã£ãŠãHTTPSã®å®è£
äžã«çºçããé
延ãæç¥ã§ããªãããŸãã Yandex ã¯ãã®ææ³ãããŸã䜿çšã ãååšãããã€ã³ãã®æ°ãåžžã«å¢ãããŠããŸãã
- 蚌ææžã¹ããŒã¿ã¹ãã§ãã¯ã®æé©åã å®å šãªæ¥ç¶ã確ç«ããããšãäžéšã®ãã©ãŠã¶ã¯ãµãŒããŒèšŒææžã®å€±å¹ã¹ããŒã¿ã¹ã確èªããŸãã ãã®ãããªãã§ãã¯ã«ãããææè ã«ãã£ãŠèšŒææžãåãæ¶ãããŠããªãããšã確èªããããšãã§ããŸããµãŒããŒèšŒææžãåãæ¶ãå¿ èŠãããã®ã¯ãããšãã°ãç§å¯éµãå±æ®åããåŸã§ãã ãã®ãããHeartbleedã®è匱æ§ãçºèŠãããåŸã倧é泚æ蚌ææžãåãæ¶ãããŸããã
çŸåšã蚌ææžã®ã¹ããŒã¿ã¹ã確èªããããã«äœ¿çšããã2ã€ã®äž»èŠãªãããã³ã«ããããŸãã
- 蚌ææžå€±å¹ãªã¹ãã ãã®æ¹æ³ã䜿çšããå Žåããã©ãŠã¶ãŒã¯HTTPãããã³ã«ã䜿çšããŠã蚌ææžã§æå®ãããURLãã倱å¹ãã蚌ææžã®ã·ãªã¢ã«çªå·ã®ãªã¹ããããŠã³ããŒãããŸãã ãã®ãªã¹ãã¯ãCAã«ãã£ãŠç®¡çããã³çœ²åãããŠããŸãã ãªã¹ããã¡ã€ã«ã¯å€§ãããªãå¯èœæ§ããããããäžå®æéïŒã»ãšãã©ã®å Žå1é±éïŒãã£ãã·ã¥ãããŸãã
- ãªã³ã©ã€ã³èšŒææžã¹ããŒã¿ã¹ãããã³ã«ã
äž¡æ¹ã®ãããã³ã«ãHTTPãä»ããŠåäœããåæã«èšŒææžã®ã¹ããŒã¿ã¹ããã§ãã¯ããããšã¯ãCRLãŸãã¯OCSPãé åžãããµãŒããŒãé 眮ãããŠããããããã³ã°æé ã§ãããããã¬ã¹ãã³ããŒã¯TLSãã³ãã·ã§ã€ã¯ã®é床ã«çŽæ¥åœ±é¿ããŸãã
ãã©ãŠã¶ãŒããšã«èšŒææžã®ã¹ããŒã¿ã¹ãç°ãªãæ¹æ³ã§ãã§ãã¯ãããŸãã ãããã£ãŠãFirefoxã¯éåžžã®èšŒææžã«OCSPã®ã¿ã䜿çšããŸãããCRLãEVã«å¯ŸããŠãã§ãã¯ãããŸãã IEãšOperaã¯CRLãšOCSPã®äž¡æ¹ããã§ãã¯ããYandex.BrowserãšChromiumãã¡ããªã®ä»ã®ãã©ãŠã¶ã¯ãCRLsetsã«äŸåããåŸæ¥ã®ãããã³ã«ã䜿çšããŸãã-ãã©ãŠã¶ã®æŽæ°ã«äŒŽã人æ°ã®ãããªãœãŒã¹ã®å€±å¹ãã蚌ææžã®ãªã¹ãã
ãã§ãã¯ãæé©åããããã«ã OCSPã¹ããŒãã«ãšåŒã°ããã¡ã«ããºã ãèæ¡ãããŸãããããã«ãããã¯ã©ã€ã¢ã³ãã¯ã蚌ææžãšãšãã«TLSæ¡åŒµã®åœ¢åŒã§OCSPã¬ã¹ãã³ããŒå¿çãéä¿¡ã§ããŸãã ææ°ã®ãã¹ã¯ããããã©ãŠã¶ã¯ãã¹ãŠãOCSPã¹ããŒãã«ããµããŒãããŠããŸãïŒSafariãé€ãïŒã
nginxã§OCSPã¹ããŒãã«ãæå¹ã«ããã«ã¯ã次ã®ãã£ã¬ã¯ãã£ãã䜿çšããŸãïŒ
ssl_stapling on;
ã ãã®å Žåãå¿ ãresolverãæå®ããŠãã ããã
ãã ããéåžžã«å€§ããããŒãããããªãœãŒã¹ãããå Žåã¯ããã£ãã·ã¥ããOCSPå¿çïŒNginxã1æéå¿çããã£ãã·ã¥ããïŒãæ£ããããšã確èªããå¿ èŠããããŸãã
ssl_stapling_verify on; ssl_trusted_certificate /path/to/your_intermediate_CA_and_root_certs;
OCSPã¹ããŒãã«ã䜿çšããå Žåã倧éã®ãªãœãŒã¹ã§ã¯ã©ã€ã¢ã³ãã·ã¹ãã ã®æéãæ£ãããªããªã©ã®åé¡ãçºçããå ŽåããããŸãã ããã¯ãæšæºã«åŸã£ãŠãã¬ã¹ãã³ãã®å¿çæéãæ確ã«å®çŸ©ãããæéééã«å¶éãããã¯ã©ã€ã¢ã³ããã·ã³ã®æéã5ã10ã20åé ããããšãããããã§ãã ãŠãŒã¶ãŒã®ãã®åé¡ã解決ããããã«ããµãŒããŒã«ãããããçæãããŠããçŽ1æ¥åŸã«çããåºãããã«æããå¿ èŠããããŸããïŒæ°ãã蚌ææžãã¬ã€ã¢ãŠããããšããšã»ãŒåãããšã§ãïŒã
ãããã£ãŠãã·ã¹ãã æéã1æ¥ãŸã§ããŠã³ããŠãããŠãŒã¶ãŒã«ãééã£ãæéã«é¢ããèŠåã衚瀺ããæ©äŒããããŸãã OCSPå¿çãã©ã³ãã ã«ããŒããŒã·ã§ã³ããããã«ã ssl_stapling_fileãã£ã¬ã¯ãã£ãã䜿çšãããŸãã OCSPã¹ããŒãã«ããµããŒãããŠããªãã¯ã©ã€ã¢ã³ãã®å ŽåãCDNã®OCSPã¬ã¹ãã³ããŒã®å¿çã®ãã£ãã·ã¥ã䜿çšããŠãå¿çæéãççž®ããŸãã
ãã§ãã¯ãæé©åããå¥ã®å¹æçãªæ¹æ³ã¯ãçåœã®èšŒææžãã€ãŸãã¹ããŒã¿ã¹æ€èšŒãã€ã³ããèšå®ãããŠããªã蚌ææžã䜿çšããããšã§ãã ãããããã®ãããªèšŒææžã®å¯¿åœã¯éåžžã«çãã1ã3ãæã§ãã
èªèšŒå±ã¯ãã®ãããªèšŒææžã䜿çšããäœè£ããããŸãã 蚌ææžã«ã¹ããŒã¿ã¹ãã§ãã¯ãã€ã³ããããå ŽåãInternet Explorerã¯OCSPã¬ã¹ãã³ããŒã®èšŒææžã®ã¹ããŒã¿ã¹ã確èªã§ãããããã»ãšãã©ã®å ŽåãOCSPã¬ã¹ãã³ããŒã«äœ¿çšãããè¿œå ã®é 延ãçºçããŸãã
ãã ããOCSPã¹ããŒãã«ãŸãã¯çåœã®èšŒææžã䜿çšããå Žåã§ããæšæºã®TLSãã³ãã·ã§ã€ã¯ïŒ4ã¹ãããïŒã«ãã2ã€ã®RTTé 延ãè¿œå ãããŸãã
TLS False Startã¡ã«ããºã ã«ããããµãŒããŒã®å¿çãåŸ ããã«3段éåŸã«ã¢ããªã±ãŒã·ã§ã³ããŒã¿ãéä¿¡ã§ããããã1ã€ã®RTTãç¯çŽã§ããŸãã TLS False Startã¯ãChromiumãã¡ããªãŒããã³Yandex.BrowserãIEãSafariãFirefoxã®ãã©ãŠã¶ãŒã§ãµããŒããããŠããŸãã
æ®å¿µãªããããã©ãŠã¶ãšã¯ç°ãªãããã¹ãŠã®WebãµãŒããŒããã®ã¡ã«ããºã ããµããŒãããŠããããã§ã¯ãããŸããã ãããã£ãŠãéåžžã次ã®èŠä»¶ã¯TLS False Startã䜿çšããã·ã°ãã«ã§ãã
- ãµãŒããŒã¯NPN / ALPNãã¢ããŠã³ã¹ããŸãïŒSafariããã³IEã«ã¯å¿ èŠãããŸããïŒã
- ãµãŒããŒã¯Perfect Forward Secrecyæå·ã¹ã€ãŒãã䜿çšããŸãã
å®å šãªç§å¯
SSLv3ããåã¯ããµãŒããŒã®ç§å¯ããŒã«ã¢ã¯ã»ã¹ããæ»æè ã¯ããµãŒããŒãééãããã¹ãŠã®éä¿¡ãååçã«è§£èªã§ããŸããã åŸã«ãããŒããŽã·ãšãŒã·ã§ã³ãããã³ã«ïŒéåžžDiffie-Hellmanã¹ããŒã ã«åºã¥ãïŒã䜿çšããæ»æè ããµãŒããŒã®ç§å¯ããŒã«ã¢ã¯ã»ã¹ããŠãã»ãã·ã§ã³ããŒãå埩ã§ããªãããã«ããForward Secrecyã¡ã«ããºã ãçºæãããŸããïŒPerfectãã¬ãã£ãã¯ã¹ã䜿çšããå ŽåããããŸãïŒã
ãŠãŒã¶ãŒããŒã¿ãæäœãããµãŒãã¹ã®å žåçãªnginxæ§æã¯æ¬¡ã®ããã«ãªããŸãã
ssl_prefer_server_ciphers on; ssl_ciphers kEECDH+AES128:kEECDH:kEDH:-3DES:kRSA+AES128:kEDH+3DES:DES-CBC3-SHA:!RC4:!aNULL:!eNULL:!MD5:!EXPORT:!LOW:!SEED:!CAMELLIA:!IDEA:!PSK:!SRP:!SSLv2;
ãã®æ§æã§ã¯ãæ¥åæ²ç·ãã£ãã£ãŒãã«ãã³ïŒECDHïŒã¢ã«ãŽãªãºã ã«åŸã£ãŠåœ¢æããã128ãããã»ãã·ã§ã³ããŒã䜿çšããŠãAESã®æ倧åªå 床ãèšå®ããŸãã 次ã«ãECDHã䜿çšããä»ã®æå·ãç»å ŽããŸãã ç¥èªã®2çªç®ã®ãEãã¯Ephemeralãè¡šããŸãã åãæ¥ç¶å ã«ååšããã»ãã·ã§ã³ããŒã
次ã«ãéåžžã®Diffie HellmanïŒEDHïŒã®äœ¿çšãèš±å¯ããŸãã ããã§éèŠãªããšã¯ã2048ãããã®ããŒãµã€ãºã§Diffie Hellmanã䜿çšãããšéåžžã«é«äŸ¡ã«ãªãå¯èœæ§ãããããšã§ãã
æ§æã®ãã®éšåã¯ãPFSãµããŒããæäŸããŸãã AES-NIããµããŒãããããã»ããµã䜿çšããŠããå ŽåãAESã¯ãªãœãŒã¹ã®èŠ³ç¹ããç¡æã§ãã 3DESãç¡å¹ã«ããéPFSã¢ãŒãã§AES128ãæå¹ã«ããŸãã éåžžã«å€ã顧客ãšã®äºææ§ã®ããã«ã3DESãšEDHããã³3DESãCBCã¢ãŒãã®ãŸãŸã«ããŸãã å®å šã§ãªãRC4ãªã©ãç¡å¹ã«ããŸãã OpenSSLã®ææ°ããŒãžã§ã³ã䜿çšããããšãéèŠã§ãããã®åŸã AEADæå·ãå«ããAES128ãããããã€ãããŸãã
PFSã«ã¯1ã€ã®æ¬ ç¹ããããŸã-ããã©ãŒãã³ã¹ã®ããã«ãã£ã ææ°ã®WebãµãŒããŒïŒNginxãå«ãïŒã¯ãã€ãã³ãé§ååã¢ãã«ã䜿çšããŸãã åæã«ãé察称æå·åã¯ãWebãµãŒããŒããã»ã¹ããããã¯ãããããããµãŒãã¹ãæäŸããã¯ã©ã€ã¢ã³ããèŠãããããã»ãšãã©ã®å Žåããããã¯æäœã§ãã ãã®å Žæã§äœãæé©åã§ããŸããïŒ
- SPDYã
Mailã§SPDYãå®è£ ããçµéšã«ã€ããŠèªãã å ŽåãSPDYã䜿çšãããšæ¥ç¶ã®æ°ããããã£ãŠãã³ãã·ã§ã€ã¯ã®æ°ãæžããããšãã§ããããšã«æ°ä»ããŸããã nginx 1.5以éã§ã¯ãæ§æã«4æåãè¿œå ããããšã§SPDYãæå¹ã«ãªããŸãïŒãµãŒããŒã¯spdyã¢ãžã¥ãŒã«--with-http_spdy_moduleã§æ§ç¯ããå¿ èŠããããŸãïŒã
listen 443 default spdy ssl;
- æ¥åæå·ã䜿çšããŸãã æ¥åæ²ç·ã䜿çšããé察称æå·åã¢ã«ãŽãªãºã ã¯ãåŸæ¥ã®éç»åãããå¹ççã§ãããããæå·ã¹ã€ãŒããèšå®ããéã«ECDHã®åªå
床ãäžããŠããŸãã åã«æžããããã«ãECDHã®äœ¿çšã«å ããŠãæ¥åæ²ç·ïŒECDSAïŒã®ããžã¿ã«çœ²åä»ãã®èšŒææžã䜿çšã§ããŸããããã«ãããçç£æ§ãåäžããŸãã
æ®å¿µãªããã倧èŠæš¡ãµã€ãã®ã¯ã©ã€ã¢ã³ãéã§ã®ã·ã§ã¢ããŒã以å€ã®Windows XP <SP3ããã³ãã®ä»ã®ãã©ãŠã¶ã¯ãECC蚌ææžããµããŒãããŠããŸããã 解決çã¯ãã¯ã©ã€ã¢ã³ãããšã«ç°ãªã蚌ææžã䜿çšããããšã§ããããã«ãããæ°ããã¯ã©ã€ã¢ã³ãïŒå€§éšåïŒã®ããã«ãªãœãŒã¹ãç¯çŽãããŸãã OpensslããŒãžã§ã³1.0.2ã§ã¯ãã¯ã©ã€ã¢ã³ãèšå®ã«å¿ããŠãµãŒããŒèšŒææžãéžæã§ããŸãã æ®å¿µãªãããNginxã¯ããã®ãŸãŸãã§ã¯åäžã®ãµãŒããŒã«è€æ°ã®èšŒææžã䜿çšã§ããŸããã - ã»ãã·ã§ã³ã®åå©çšã䜿çšããŸãã ã»ãã·ã§ã³ãåå©çšãããšãPFS / False Startæ¥ç¶ã®ãµãŒããŒãªãœãŒã¹ïŒé察称æå·åãé€ãïŒãç¯çŽã§ããã ãã§ãªããéåžžã®æ¥ç¶ã®é 延TLSãã³ãã·ã§ã€ã¯ã1RTTã«æžããããšãã§ããŸãã
çŸåšã2ã€ã®ã»ãã·ã§ã³åå©çšã¡ã«ããºã ããããŸãã
- SSLã»ãã·ã§ã³ãã£ãã·ã¥ã ãã®ã¡ã«ããºã ã¯ãæ¥ç¶ããšã«äžæã®èå¥åãã¯ã©ã€ã¢ã³ãã«äžããããã»ãã·ã§ã³ããŒããã®èå¥åã䜿çšããŠãµãŒããŒã«ä¿åããããšããäºå®ã«åºã¥ããŠããŸãã ãã©ã¹ã¯ãå€ããã©ãŠã¶ãŒãå«ãã»ãŒãã¹ãŠã®ãµããŒãã§ãã æ¬ ç¹ã¯ãç©çãµãŒããŒãšããŒã¿ã»ã³ã¿ãŒéã§éèŠãªããŒã¿ãå«ããã£ãã·ã¥ãåæããå¿
èŠãããããšã§ããããã«ãããã»ãã¥ãªãã£ã®åé¡ãçºçããå¯èœæ§ããããŸãã
Nginxã®å Žåãã»ãã·ã§ã³ãã£ãã·ã¥ã¯ãã¯ã©ã€ã¢ã³ããå ã®SSLãã³ãã·ã§ã€ã¯ãè¡ãããã®ãšåãå®éã®å Žæã«å°éããå Žåã«ã®ã¿æ©èœããŸãã SSLã»ãã·ã§ã³ãã£ãã·ã¥ãæå¹ã«ããããšããå§ãããŸããããã¯ããŠãŒã¶ãŒãåãå®æ°ã«å°éããå¯èœæ§ãé«ãå®æ°ãå°ãªãæ§æã«åœ¹ç«ã€ããã§ãã
nginxã§ã¯ãæ§æã¯æ¬¡ã®ããã«ãªããŸããSOME_UNIQ_CACHE_NAMEã¯ãã£ãã·ã¥åã§ãã蚌ææžããšã«ç°ãªãèå¥åã䜿çšããããšããå§ãããŸãïŒnginx 1.7.5 +ã1.6.2 +ã§ã¯äžèŠïŒã128Mbã¯ãã£ãã·ã¥ãµã€ãºã28æéã¯ã»ãã·ã§ã³ã®æå¹æéã§ãã
ssl_session_cache shared:SOME_UNIQ_CACHE_NAME:128m;
ssl_session_timeout 28h;
ã»ãã·ã§ã³ã®å¯¿åœã延ã°ããšãã¯ããšã©ãŒãã°ã«æ¬¡ã®ãããªãšã³ããªããããšããäºå®ã«åããå¿ èŠããããŸãã
2014/03/18 13:36:08 [crit] 18730#0: ngx_slab_alloc() failed: no memory in SSL session shared cache "SSL"
ã
ããã¯ãnginxã®ã»ãã·ã§ã³ãã£ãã·ã¥ããããŒã¿ãçµãåºãç¹æ§ã®ããã§ããå¶éã«éãããšãã»ãã·ã§ã³ã«ã¡ã¢ãªãå²ãåœãŠãããšããæãå€ãã»ãã·ã§ã³ã®1ã€ã匷å¶çµäºãããæäœãå床繰ãè¿ãããŸãã ã€ãŸããã»ãã·ã§ã³ã¯ãããã¡ã«æ£åžžã«è¿œå ãããŸãããã¢ãã±ãŒã¿ã®é¢æ°ãæåã«åŒã³åºããããšãã«ãšã©ãŒããã°ã«æžã蟌ãŸããŸãã ãã®ãããªãšã©ãŒã¯ç¡èŠã§ããŸã-æ©èœã«åœ±é¿ã¯ãããŸããïŒNginx 1.4.7ã§ä¿®æ£æžã¿ïŒã - TLSã»ãã·ã§ã³ãã±ãã ã ãã®ã¡ã«ããºã ã¯ãYandex.BrowserãFirefoxãå«ãChromiumãã¡ããªã®ãã©ãŠã¶ã§ã®ã¿ãµããŒããããŠããŸãã ãã®å Žåãã¯ã©ã€ã¢ã³ãã«ã¯ããµãŒããŒãèªèããŠããããŒãšããŒèå¥åã§æå·åãããã»ãã·ã§ã³ç¶æ
ãéä¿¡ãããŸãã ãã®å ŽåãããŒã®ã¿ããµãŒããŒéã§å
±æãããŸãã
Nginxã¯ãããŒãžã§ã³1.5.8+ã§ã»ãã·ã§ã³ãã±ããã®éçããŒãµããŒããè¿œå ããŸããã è€æ°ã®ãµãŒããŒã䜿çšããå Žåã®tlsã»ãã·ã§ã³ãã±ããã®ã»ããã¢ããã¯ã次ã®ããã«è¡ãããŸãã
ssl_session_ticket_key current.key; ssl_session_ticket_key prev.key; ssl_session_ticket_key prevprev.key;
ãã®å Žåãcurrent.keyã¯çŸåšäœ¿çšäžã®ããŒã§ãã Prev.keyã¯ãcurrent.keyã䜿çšãããNæéåã«äœ¿çšãããããŒã§ãã Prevprev.key-prev.keyã䜿çšããNæéåã«äœ¿çšãããããŒã Nã®å€ã¯ã ssl_session_timeoutã§æå®ãããå€ãšçãããªããã°ãªããŸããã 28æéããéå§ããããšããå§ãããŸãã
éèŠãªãã€ã³ãã¯ãããŒã®å転æ¹æ³ã§ãã ãã±ããã®æå·åã®ããã«ããŒãçãã æ»æè ã¯ãããŒã®æå¹æéå ã«ãã¹ãŠã®ã»ãã·ã§ã³ïŒPFSãå«ãïŒã解èªã§ããŸãã
Yandexã«ã¯ãããŒãçæããŠãšã³ããµãŒããŒã«å®å šã«é ä¿¡ããããã®ç¹å¥ãªã¡ã«ããºã ããããŸãã
çšé
Csp
ã€ã³ãã©ã¹ãã©ã¯ãã£ã®åé¡ã解決ããããã¢ããªã±ãŒã·ã§ã³ã«æ»ããŸãã æåã«è¡ãå¿ èŠãããã®ã¯ããããã æ··åã³ã³ãã³ãã ããã¯ãã¹ãŠããããžã§ã¯ãã®èŠæš¡ãã³ãŒãã®éãšå質ã«äŸåããŸãã ã©ããã§sedãnginxããŒã«ã䜿çšããŠååŸã§ããŸãããã©ããã§DOMããªãŒã§ããŒãã³ãŒããããhttpã¹ããŒã ãæ¢ãå¿ èŠããããŸãã ã³ã³ãã³ãã»ãã¥ãªãã£ããªã·ãŒã¡ã«ããºã ã¯ç§ãã¡ã®å©ãã«ãªããŸãã;ã¡ãŒã«ã®ååã¯ä»¥åã«ãã®å®è£ ã«ã€ããŠæžããŸãã ã
ãã®ãããªèŠåºãããã¹ããã³ãã«è¿œå ãããšã
data:
ããã³
https:
以å€ã®ãããã³ã«ã䜿çšããŠããŒããããã³ã³ãã³ãã«é¢ããã¬ããŒããåãåã
https:
Content-Security-Policy-Report-Only: default-src https:; script-src https: 'unsafe-eval' 'unsafe-inline'; style-src https: 'unsafe-inline'; img-src https: data:; font-src https: data:; report-uri /csp-report
å®å šãªã¯ãããŒ
æ··åã³ã³ãã³ããåé€ããåŸãCookieã«å¯ŸããŠSecureå±æ§ãèšå®ãããŠããããšã確èªããããšãéèŠã§ãã ãããã®Cookieã¯å®å šã§ãªãæ¥ç¶ãä»ããŠéä¿¡ã§ããªãããšããã©ãŠã¶ã«äŒããŸãã ãã®ãããYandexã«ã¯ãããŸã§2ã€ã®cookieããããŸããsessionid2ãšSession_idã§ã1ã€ã¯å®å šãªæ¥ç¶ãä»ããŠã®ã¿éä¿¡ããããã1ã€ã¯äžäœäºææ§ã®ããã«ãå®å šã§ãªãããŸãŸã§ãã ãå®å šãªãCookieããªããšãã¡ãŒã«ããã£ã¹ã¯ããã®ä»ã®éèŠãªãµãŒãã¹ã«ã¢ã¯ã»ã¹ã§ããŸããã
Set-Cookie: session=1234567890abcdef; HttpOnly; Secure;
Hsts
æåŸã«ãHTTPSãããã³ã«ã䜿çšããŠãµãŒãã¹ãæ£ããæ©èœããããšã確èªããåŸãHTTPããŒãžã§ã³ããHTTPSãžã®ãªãã€ã¬ã¯ããèšå®ããŸããä¿è·ãããŠããªãHTTPãããã³ã«ã䜿çšããŠãã®ãªãœãŒã¹ã«ã¢ã¯ã»ã¹ã§ããªããªãããšããã©ãŠã¶ãŒã«äŒããããšãéèŠã§ãã
ãããè¡ãããã«ãHTTP Strict Transport SecurityããããŒãäœæãããŸããã
Strict-Transport-Security: max-age=31536000; includeSubdomains;
max-ageãã©ã¡ãŒã¿ãŒã¯ãã»ãã¥ã¢ãããã³ã«ã䜿çšããæéïŒ1幎ïŒãèšå®ããŸãã ãªãã·ã§ã³ã®includeSubdomainsãã©ã°ã¯ãç¹å®ã®ãã¡ã€ã³ã®ãã¹ãŠã®ãµããã¡ã€ã³ã«ãæå·åãããæ¥ç¶ãä»ããŠã®ã¿ã¢ã¯ã»ã¹ã§ããããšã瀺ããŸãã
Chromiumããã³Firefoxãã¡ããªãŒã®ãã©ãŠã¶ãŒã®ãŠãŒã¶ãŒãæåã«ã¢ã¯ã»ã¹ãããå Žåã§ããåžžã«å®å šãªæ¥ç¶ã䜿çšã§ããããã«ããã«ã¯ããã©ãŠã¶ãŒã®HSTSããªããŒããªã¹ãã«ãªãœãŒã¹ãè¿œå ã§ããŸãã å®å šæ§ã確ä¿ããããšã«å ããŠãæåã®äœ¿çšæã«1ã€ã®ãªãã€ã¬ã¯ããä¿åããŸãã
ãããè¡ãã«ã¯ãããããŒã«ãããªããŒãããã©ã°ãè¿œå ãã hstspreload.appspot.comã§ãã¡ã€ã³ãæå®ããŸãã
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
ããšãã°ãYandex.Passportã¯ãã©ãŠã¶ã®ããªããŒããªã¹ãã«è¿œå ãããŸãã
ãããã«
åäžã®nginxãµãŒããŒã®æ§æå šäœã¯æ¬¡ã®ããã«ãªããŸãã
http { [...] ssl_stapling on; resolver 77.88.8.1; # 127.0.0.1 keepalive_timeout 120 120; server { listen 443 ssl spdy; server_name yourserver.com; ssl_certificate /etc/nginx/ssl/cert.pem; # ssl_certificate_key /etc/nginx/ssl/key.pem; # ssl_dhparam /etc/nginx/ssl/dhparam.pem; # openssl dhparam 2048 ssl_prefer_server_ciphers on; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers kEECDH+AES128:kEECDH:kEDH:-3DES:kRSA+AES128:kEDH+3DES:DES-CBC3-SHA:!RC4:!aNULL:!eNULL:!MD5:!EXPORT:!LOW:!SEED:!CAMELLIA:!IDEA:!PSK:!SRP:!SSLv2; ssl_session_cache shared:SSL:64m; ssl_session_timeout 28h; add_header Strict-Transport-Security "max-age=31536000; includeSubDomains;"; add_header Content-Security-Policy-Report-Only "default-src https:; script-src https: 'unsafe-eval' 'unsafe-inline'; style-src https: 'unsafe-inline'; img-src https: data:; font-src https: data:; report-uri /csp-report"; location / { ... } }
çµè«ãšããŠãHTTPSã¯åŸã ã«WEBãæäœããããã®äºå®äžã®æšæºã«ãªãã€ã€ããããã©ãŠã¶ã ãã§ãªããã»ãšãã©ã®ã¢ãã€ã«ã¢ããªã±ãŒã·ã§ã³APIãHTTPSãããã³ã«ã䜿çšããŠåäœãéå§ããããšãä»ãå ããŸãã ã¢ãã€ã«ã§HTTPSã䜿çšããããšã®å®å šãªå®è£ ã®ããã€ãã®æ©èœã¯ãããžãããŽãŽããã§ã®ã³ãã¥ããã£äœæ¥ã®æ¥ã®Yuri tracer0tong Leonovich ã«ããã¬ããŒãã«èšèŒãããŠããŸã ã