TLSv1.2 미만의 액세스를 제어할 때의 메모

2937 단어 SSL아파치PHPTLS1.2

개요



여러가지로 낮은 SSL버전으로의 액세스는 연주하게 되었습니다.
뭐 뭐 지금 갱감이 있습니다만, 겨우 있던 편이 좋은 것 같은 생각은 하지요.
Apache의 설정으로 쵸쵸이의 쵸이입니다만, 의외로 정중하게 하고 있는 기사가 적었기 때문에 메모.

평범한 방법



TLS 버전을보고 액세스를 연주합니다. 우선 이것으로 가자고 생각하네요.

httpd.conf
SSLProtocol +TLSv1.2

그러나 실제로 이 대응을 하고 서버에 액세스하면 아래의 화상과 같이 표시되어 그럼 어떻게 하면 에네라고 하는 것을 알기 어렵다.

지금 TLS1.2 대응하지 않는 브라우저로 액세스하려고 하는 사람은 거의 없을 것이며 별로 좋은 생각도 듭니다만, 만약 고대의 아티팩트를 계속 사용하고 있는 분들이 이 화면을 보았을 때 어떻게 하면 좋을지는 절대로 모르겠다고 생각하네요.
만약 표시된 대로 「웹 사이트의 소유자에게 문의」따위 받은 날에는 어디에서 설명하면 좋을까 w

덧붙여서 참고로 하려고 생각한 모 야호나 모 쥐 랜드의 사이트에서는 (아마) 이 대응이 이루어지고 있습니다.

정중하고 좋은 방법



 .htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{SSL:SSL_PROTOCOL} !^TLSv1\.2$
RewriteRule ^(.*) 遷移させたいURL [R=301,L]
</IfModule>

TLS 버전을 보고 다른 URL로 리디렉션합니다.
이것이라면 어떻게 하면 좋을지를 안내할 수 있네요. 실제로 이것으로 구현하려고 생각했는데 어쨌든 결국 채용하지 않았습니다만.
아니 보통은 이 설정으로 좋은 생각이 듭니다.

(아마) 00 카드맨! 의 사이트에서는 이 대응을 해 그렇네요. 어쩐지 잡잡한 인상이 있었으므로 솔직히 검토했습니다.

이번에 채용한 방법



들었던 2건으로 전혀 실장할 수 있다고 생각합니다만, 프록시의 설정이나 무엇인가가 경쟁? 나는 잘 움직이지 않았고 매우 귀찮았기 때문에
이번에는 SSL_PROTOCOL을 PHP의 환경 변수에서 얻고 거기에서 끓여서 굽고 좋아하게하기로했습니다.
<?php
    echo $_SERVER['SSL_PROTOCOL'];
?>

우리 서버는 외부 액세스는 HTTPS로, 서버 간의 통신은 HTTP로 하고 있으므로 아래 설정을 하지 않으면 SSL 환경 변수가 빠져 버려 참조할 수 없었습니다.

프록시 설정.conf
RequestHeader set X-Forwarded-SSL-Protocol %{SSL_PROTOCOL}s

이것으로 막혔습니다만, 냉정하게 생각하면 당연하네요...

요약



이번은 도선을 확실히 시키기 위해 정중하게 했습니다만, 솔직히 필요가 있을까라고 하면 별로 필요하지 않은 생각도 합니다.
해당하는 인원수도 이제 꽤 적고.
실제로 TLSv1.1의 통신으로 보안 소프트의 사이트를 몇 개 열람했습니다만, 연주되는 곳도 있었습니다만 보통에 액세스 할 수 있는 곳도 있었습니다.
토큰 등 포함한 개인정보조차 통신하지 않으면 기본적으로는 문제가 되지 않습니다.

만약 지금 곧바로 대응할 필요가 나온 사람의 참고가 되면 다행입니다.

참고로 한 사이트



PHP에서 SSL 버전을 결정하는 방법
https에서 받은 SSL 버전을 http에서 다른 서버로 전달할 때 전달하고 싶습니다.
Apache 모듈 mod_headers
[Apache] TLS 버전으로 처리 변경
Apache httpd에서 연결을 허용하는 SSL / TLS 버전을 제한하는 방법

좋은 웹페이지 즐겨찾기