ssl 보안을 B에서 A+까지 올리기
지난번 certbot을 이용해 SSL 인증을 취득한 단계에서는 SSL Server Test의 보안 평가는 B였습니다. 이것을 A+로 하는 것이 이번 목표입니다.
나중에 깨달았지만 평가 기준은 여기 SSL 서버 등급 가이드에 명시되어있었습니다. 80점 이상으로 A군요.
우선 점수가 낮은 keyexchange parameters. Qualys의 평가 세부 사항을 아래까지 살펴보면 Forward Secrecy가 약한 것으로 나타났습니다.
그래서 PFS(Perfect Forward Secrecy)로 개선할 수 없는지 시도합니다.
htps : // rms ぢぎせ rt. 네. jp / 호 w 및 / 가시 s / 후 r와 rd_ 세 cy_ 아파치 ぇ _ x. HTML
nginx.conf
server {
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS";
ssl_prefer_server_ciphers on;
}
Forward Secrecy에 관한 경고문은 없어졌다.
단순히 DH를 비활성화
참고: htps //w w. 사인 쓰는 th. 네 t/bぉg/사후 ty-오-sl-r ngin x-to-t-ranka p-s-f-m-sl-r r-r-st /
ssl_ciphers "ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS:!DH";
마지막으로! DH를 추가했을 뿐입니다.
이것만으로 A가 되었습니다.
ssl_ciphers "ALL:!DSS:!DH";
이때가 되어 전의 엉망진창은 필요없이 ALL로 하면 좋다는 것을 깨달았습니다. 이것도 A로 지나갑니다.
단, 두 WEAK과 불평을 받기 때문에 이것을 무효화합니다.
이름 지정 참고: htps //w w. 오뎅 sl. rg/do cs/만마 s r/만 1/시 p에 rs. HTML
ssl_ciphers "ALL:!IDEA:!DSS:!DH";
A+로 하려면 어떻게 하면 좋을까.
GitHub.com의 평가를 보면 평가점 자체는 변하지 않지만, 분명히 가점 항목이 있는 것 같습니다.
HPKP와 HSTS를 구현하면 좋을 것 같다.
HSTS는 HTTP 리퀘스트를 HTTPS에 하라고 전해 주는 것 같다. 이것을 추가합니다.
추기:HSTS의 해설: htps : // 그럼.ぃきぺぢ아. rg / uki / Ht tP_Stri ct_T rans port_sekuri ty
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains";
했어!
Reference
이 문제에 관하여(ssl 보안을 B에서 A+까지 올리기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/qqhann/items/2b9d46ca927f428e4a4d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)