이 주제와 관련된 몇 가지 질문이 있다는 것을 알고 있습니다. 하지만 내가 무엇을 더 할 수 있는지 정말 모르겠습니다.
요점은 다음과 같습니다.
- OpenSuse 12.3에서 Apache 2.2.22를 사용하고 있습니다.
- SSLProtocol 옵션은 내 ssl.conf에 있습니다.
나는 다음 옵션을 모두 시도했습니다.
SSLProtocol ALL -SSLv2 -SSLv3 ---------- SSLProtocol +TLSv1 -SSLv2 -SSLv3 ---------- SSLProtocol TLSv1 ---------- SSLProtocol -ALL TLSv1 ----------
하지만 무엇을 시도하든 모든 프로토콜을 여전히 사용할 수 있습니다.
왜 비활성화할 수 없나요?
편집: 그래서 많은 노력을 했기 때문에 요약하고 싶습니다.
SSLProtocol 선언은 하나만 있고 어디에 두는지는 중요하지 않습니다(vhost conf 또는 ssl-default conf).
모든 프로토콜을 거부하기 위해 "-all" 옵션을 사용하면 제대로 작동하기 때문에 로드된 것으로 알고 있습니다. 특수 프로토콜을 거부해도 효과가 없습니다(예: -SSLv3 옵션). 프로토콜이 허용되면 모든 프로토콜을 사용할 수 있습니다(예: "SSLProtocol TLSv1 -SSLv2 -SSLv3" 또는 "SSLProtocol -all TLSv1"을 사용하면 모든 프로토콜을 사용할 수 있습니다!).
어떤 생각?
답변1
방금 POODLE 익스플로잇을 사용하여 이 문제를 직접 해결했습니다.
OpenSuSE의 경우에만 다음을/etc/apache2/ssl-global.conf
<IfDefine SSL>
<IfDefine !NOSSL>
<IfModule mod_ssl.c>
#Your other stuff
SSLProtocol All -SSLv2 -SSLv3
</IfModule>
</IfDefine>
</IfDefine>
다음 명령을 사용하여 Apache를 저장하고 종료하고 다시 시작하십시오.rcapache2 restart
아직 궁금한 점이 있으면 알려주시기 바랍니다.
답변2
로드 SSLProtocol ...
후의 모습입니다.SSL 사이트.
다음을 통해 이러한 경우인지 확인할 수 있습니다.
strace httpd -t 2>&1 | egrep 'open\("\/etc\/(apache(2|)|httpd)\/.*\.conf'
opensuse가 apache2를 어떻게 구현하는지 잘 모르겠습니다 . apache2 -t
대신 사용할 수도 있습니다 httpd -t
.
만약 당신의SSL 프로토콜너보다 낮아현장 회의또는 귀하의 구성을 포함하십시오사이트 정의, 이 구성은 귀하의 제품에는 적용되지 않습니다.현장 회의.
그런 다음 두 가지 옵션이 있습니다.
- 확실하게 하다SSL 프로토콜당신보다 먼저 로드하세요현장 회의.
SSLProtocol ...
당신의 구현현장 회의/사이트 정의.
답변3
이 시도
SSLProtocol -ALL +TLSv1
바꾸다
SSLProtocol ALL -SSLv2 -SSLv3
----------
SSLProtocol +TLSv1 -SSLv2 -SSLv3
----------
SSLProtocol TLSv1
----------
SSLProtocol -ALL TLSv1