저는 Apache2 버전을 실행하고 있습니다:
Server version: Apache/2.4.29 (Ubuntu)
Server built: 2018-04-25T11:38:24
TLSv1.3을 활성화하고 싶지만 파일을 넣으면 Apache2에서 다음 SSLProtocol TLSv1.2 TLSv1.3
오류가 발생합니다 ssl.conf
.
# apachectl configtest
AH00526: Syntax error on line 79 of /etc/apache2/mods-enabled/ssl.conf:
SSLProtocol: Illegal protocol 'TLSv1.3'
Action 'configtest' failed.
The Apache error log may have more information.
여전히 Apache2에서 TLSv1.3을 활성화할 수 없습니까?
Nginx가 할 수 있다는 것을 알고 있지만 이 질문은 Apache2에 대한 것입니다.
답변1
데비안 버스터 = TLSv1.3 지원
Debian Buster(현재 테스트 중)에서는 TLSv1.3이 이미 지원됩니다.
다음 정보에 날짜가 나와 있습니다.
# date -I
2019-02-24
아파치 2 버전:
# apache2 -v
서버 버전: Apache/2.4.38(데비안)
서버 설정: 2019-01-31시간 20:54:05
활성화할 위치
전 세계적으로:
/etc/apache2/mods-enabled/ssl.conf
로컬 대상:
귀하의 웹 호스트는 다음 위치에 있습니다:
/etc/apache2/sites-enabled/
활성화 방법
현재 TLSv1.1은 더 이상 사용되지 않습니다. 따라서 TLSv1.2 및 TLSv1.3만 필요합니다.
이렇게 하려면 위 파일에 다음 줄을 넣으세요.
SSLProtocol -all +TLSv1.3 +TLSv1.2
암호 제품군
암호화 제품군은 이제 SSL
(TLSv1.3 이하) 및 의 두 가지 범주로 구분됩니다 TLSv1.3
. 예를 들어 자체 암호화 세트를 사용할 수 있습니다.
SSLCipherSuite TLSv1.3 TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256
SSLCipherSuite SSL ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256
곡선
마지막에 중요한 참고 사항:
새 곡선을 활성화할 수 있거나 활성화해야 합니다.X25519.
다음과 같이 할 수 있습니다. 다시 예를 들면 다음과 같습니다.
SSLOpenSSLConfCmd Curves X25519:secp521r1:secp384r1:prime256v1
SSLLabs의 도메인 테스트 예
실험적: 이 서버는 TLS 1.3(RFC 8446)을 지원합니다.
답변2
Apache2 버전 2.4.36 및 OpenSSL 1.1.1은 이제 TLSv1.3을 지원합니다.원천.
답변3
Apache 2.4는 아직 TLSv1.3을 지원하지 않습니다.
OpenSSL이 지원되는 경우(여기에서 정보를 확인하세요), Apache 2.4에도 이 기능이 있어야 합니다.
답변4
OpenSSL 1.1.1로 업데이트하는 것만으로는 충분하지 않은 것으로 나타났습니다. 아파치는 반드시변경됨게다가. 그 변화는백포트버전 2.4.29 기준. 그럼 월요일부터2.4.29-1우분투4.12, Ubuntu 18.04 LTS는 이제 TLS 1.3을 지원합니다. 이는 원본 포스터에서 언급한 구성입니다.
Stack Exchange가 최근 TLS 1.0을 더 이상 사용하지 않기 때문에 TLS 버전, 암호 제품군 및 곡선은 여전히 뜨거운 논쟁으로 남아 있습니다.보여주다.테스트sl.sh3.0 Apache 2.4.29 및 OpenSSL 1.1.1의 기본 설정에 매우 만족합니다. 따라서 Curve X448 또는 TLS 1.3과 같은 새로운 기술을 실수로 비활성화했는지 다시 확인해야 합니다. 예를 들어 를 사용하면 SSLProtocol -all
향후 모든 프로토콜 버전이 비활성화됩니다. 예를 들어 를 사용하면 SSLOpenSSLConfCmd Curves
앞으로 나오는 모든 곡선이 비활성화됩니다.
따라서 이러한 기본값을 한 번 조정한 다음 잊어버리는 것이 좋은 생각인지 잘 모르겠습니다. 대신 기본 설정을 변경하고 유지 관리 구성을 찾는 사람들을 위해 Mozilla를 사용합니다.발전기출발점으로. 오늘이 끝나면 내일 다시 확인하고 이미 언급한 곡선 구성 접근 방식 때문에 선택했습니다.SSL_Conf_Cmd완전한 API:
SSLEngine on
#SSLOpenSSLConfCmd MinProtocol TLSv1 # commented because current default in Ubuntu 18.04 LTS
SSLOpenSSLConfCmd Ciphersuites TLS_AES_128_GCM_SHA256 # if you have the computing resources, consider not to tweak this
SSLOpenSSLConfCmd CipherString ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA:AES128-SHA
SSLOpenSSLConfCmd Curves X25519:secp256r1:secp384r1 # if you have the computing resources, consider not to tweak this
SSLOpenSSLConfCmd Options ServerPreference,-SessionTicket
Sectigo의 ECC 및 RapidSSL의 RSA와 같은 이중 ECDSA+RSA 기반 인증서 설치를 선택하면 위 요구 사항이 충족됩니다.보안 레벨 3, 아주 오래된 클라이언트와도 여전히 이전 버전과 호환됩니다.