Jak włączyć TLS 1.1 i 1.2 dla połączeń SSL na moim serwerze Ubuntu 12.04? Korzystam z następującej wersji biblioteki nginx i openssl.
$ ./nginx -v
nginx version: nginx/1.2.3
$ openssl version -a
OpenSSL 1.0.1 14 Mar 2012
built on: Tue Jun 4 07:26:06 UTC 2013
platform: debian-amd64
options: bn(64,64) rc4(16x,int) des(idx,cisc,16,int) blowfish(idx)
compiler: cc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DOPENSSL_NO_TLS1_2_CLIENT -DOPENSSL_MAX_TLS1_2_CIPHER_LENGTH=50 -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
OPENSSLDIR: "/usr/lib/ssl"
Odpowiedzi:
Najpierw musisz aktywować SSL / TLS w
nginx.conf
:Dwie
listen
linie obsługują protokół SSL w połączeniu IPv4 i IPv6. Jeśli nie masz IPv6, możesz pominąć drugąlisten
linię.Zakładam, że masz certyfikat serwera
/etc/ssl
. Jeśli użyjesz innej ścieżki, zmień dwie ostatnie linie.Umożliwia to różne wersje TLS. Wszystkie obecne przeglądarki mogą korzystać z TLS1.2. Dla starszych przeglądarek napisałem małe jak włączyć bezpieczne ustawienia .
Pierwszy wiersz ustawia szyfry, których powinien używać twój nignx. Druga linia preferuje zestawy szyfrów po stronie serwera (a nie klienta). Możesz więc używać silnych (er) szyfrów.
Jeśli skończysz, twój nginx powinien użyć TLS1.2. Jeśli chcesz, możesz dodać swoją stronę do galerii sław TLS1.2 i być dumnym. ;)
Istnieje jednak kilka metod poprawy ustawień. Postępuję zgodnie z tym niemieckim przewodnikiem dotyczącym bezpiecznej konfiguracji Nginx .
źródło
Istnieje wiele porad dotyczących bezpieczeństwa, które zostały rozwiązane w kolejnych wersjach nginx. Jeśli nadal jesteś (6 miesięcy nieaktualny?), Poważnie zastanów się nad aktualizacją; Ustawienia TLS nie będą miały znaczenia, jeśli sam serwer WWW jest niepewny. Szczegółowe informacje można znaleźć na stronie http://nginx.org/en/security_advisories.html .
Jeśli z jakiegoś powodu MUSISZ uruchomić tę wersję nginx, informacje dostępne na temat włączania silnych zestawów szyfrów w nginx (lub Apache) tutaj prawdopodobnie pomogą: https://community.qualys.com/blogs/securitylabs/2013/08/ 05 / configuring-apache-nginx-and-openssl-for-forward-secretrecy
źródło
Wierzę, że są trzy możliwości.
Po pierwsze, nic nie rób i korzystaj z wersji OpenSSL Ubuntu 12. Uważam, że TLS 1.1 jest teraz obsługiwany, ale nadal nie będziesz mieć TLS 1.2.
Po drugie, zbuduj i utrzymuj własne PPA . Czy są takie instrukcje w Override Distro Package with Custom Package? Dla kompletności nie istnieją żadne osobiste archiwa pakietów dla Ubuntu i OpenSSL, które oferowałyby pełne protokoły.
Trzecia to aktualizacja do nowszej wersji Ubuntu, takiej jak Ubuntu 14. Próbuję ustalić, czy Ubuntu 14 włącza je wszystkie w tym momencie. Zobacz protokoły Ubuntu 14, OpenSSL i TLS? .
źródło