Cara mengaktifkan TLS 1.1 dan 1.2 dengan OpenSSL dan Apache

33

Mengingat semakin banyak masalah keamanan, seperti Browser Exploit Against SSL / TLS (BEAST) yang baru diumumkan, saya ingin tahu bagaimana kita bisa mengaktifkan TLS 1.1 dan 1.2 dengan OpenSSL dan Apache untuk memastikan bahwa kita tidak akan rentan. untuk vektor ancaman seperti itu.

John
sumber

Jawaban:

25

TLS1.2 sekarang tersedia untuk apache, untuk menambahkan TLSs1.2 Anda hanya perlu menambahkan konfigurasi virtual host https Anda:

SSLProtocol -all +TLSv1.2

-all menghapus protokol ssl lainnya (SSL 1,2,3 TLS1)

+TLSv1.2 menambahkan TLS 1.2

untuk lebih banyak kompatibilitas browser yang dapat Anda gunakan

SSLProtocol -all +TLSv1 +TLSv1.1 +TLSv1.2

omong-omong Anda dapat meningkatkan suite Cipher juga menggunakan:

SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-GCM-SHA256:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GC$

Anda dapat menguji keamanan situs web https Anda dengan pemindai online seperti: https://www.ssllabs.com/ssltest/index.html

Froggiz
sumber
2
Saya tidak yakin mengapa pos ini ditandai sebagai "kedaluwarsa". Saya menggunakan solusi yang disarankan, dan situs pelanggan saya beralih dari peringkat "C" pada Qualsys SSL Labs ke "A".
Michael Sobczak
Hai, saya menghapus peringatan yang sudah ketinggalan zaman untuk mencegah kesalahpahaman, itu tautan ke jawaban yang benar lama. Saya senang keamanan Anda meningkat;)
Froggiz
Di situs-available / 000-default.conf saya menambahkan ke host virtual 'SSLProtocol -all + TLSv1.2' dan mendapat: AH00526: Kesalahan sintaks pada baris 31 dari /etc/apache2/sites-enabled/000-default.conf : Perintah 'SSLProtocol' tidak valid, mungkin salah eja atau ditentukan oleh modul yang tidak disertakan dalam konfigurasi server Tindakan 'configtest' gagal.
Elia Weiss
Apakah Anda mengaktifkan mod_ssl? (command: a2enmod ssl)
Froggiz
"SSLProtocol: Protokol ilegal 'TLSv1.2'" "(OS X 10.10.5)
Michael
10

Menurut changelog OpenSSL , dukungan untuk TLS 1.2 telah ditambahkan ke cabang pengembangan OpenSSL 1.0.1, tetapi versi ini belum dirilis. Mungkin beberapa perubahan juga akan diperlukan dalam kode mod_ssl untuk benar-benar mengaktifkan TLS 1.2 untuk Apache.

Pustaka SSL / TLS lain yang umum digunakan adalah NSS ; ini digunakan oleh mod_nss modul Apache yang kurang terkenal ; Sayangnya, rilis NSS saat ini juga tidak mendukung TLS 1.2.

Namun perpustakaan SSL / TLS lainnya adalah GnuTLS , dan perpustakaan itu berpura-pura mendukung TLS 1.2 yang sudah ada dalam rilisnya saat ini. Ada modul Apache menggunakan GnuTLS: mod_gnutls , yang juga mengklaim mendukung TLS 1.2. Namun, modul ini tampaknya agak baru, dan mungkin tidak terlalu stabil; Saya tidak pernah mencoba menggunakannya.

Sergey Vlasov
sumber
1
@ Sergey, terima kasih atas tautan dan informasinya. Saya masih sedih bahwa kita tidak dapat memanfaatkan standar-standar ini mengingat usia mereka. Rasanya aneh bagi saya bahwa kita perlu menjadi pembela sistem dan jaringan kita, tetapi kita tidak dapat menggunakan alat yang akan membantu meningkatkan postur keamanan kita. Juga, sepertinya orang-orang browser web memiliki cara untuk pergi untuk membantu mengaktifkan dukungan untuk standar-standar ini di samping orang-orang server seperti Apache dan mungkin IIS.
John
2
Apakah jawaban ini masih akurat, setahun kemudian?
Ben Walther
2
@BenWalther OpenSSL 1.0.1 dirilis pada Maret 2012 dengan dukungan TLS 1.2. Versi terbaru seperti yang sekarang adalah 1.0.1c. Saya tidak yakin berapa banyak sisa postingan yang masih valid.
Burhan Ali
6

Anda tidak bisa, OpenSSL belum menawarkan rilis untuk TLS 1.1.

Satu komentar terkait pada /. untuk masalah ini:

Akankah Anda menjelaskan kepada massa yang belum dicuci bagaimana Anda akan mengimplementasikan dukungan TLS 1.1 dan 1.2 di dunia di mana perpustakaan dominan OpenSSL belum mendukung salah satu protokol dalam rilis stabilnya? Tentu, Anda dapat menggunakan GnuTLS dan mod_gnutls, dan saya telah mencobanya, tetapi tidak ada gunanya, karena tidak ada browser selain Opera yang mendukungnya dan ada beberapa gangguan aneh pada modul. IE 8/9 seharusnya mendukung mereka di bawah Vista dan 7, tetapi gagal mengakses situs yang dilayani oleh mod_gnutls ketika 1.1 dan 1.2 diaktifkan di sisi klien. Saya mencobanya lagi kemarin hanya karena penasaran, dan sekarang bahkan Opera 11.51 tersedak TLS 1.1 dan 1.2. Jadi disana. Tidak ada yang benar-benar mendukung protokol. Harus menunggu OpenSSL 1.0.1 untuk TLS 1.1 dan tidak ada yang tahu kapan itu akan mengenai repos.

http://it.slashdot.org/comments.pl?sid=2439924&cid=37477890

Steve-o
sumber
1
@ Steve-o, terima kasih atas informasinya. Ini agak mengecewakan bahwa TLS 1.1 telah keluar sejak April 2006 dan TLS 1.2 telah keluar sejak Agustus 2008 dengan pembaruan pada Maret 2011 dan kami masih belum memiliki kemampuan untuk menggunakannya.
John
4

Adam Langley, seorang insinyur Google Chrome, menunjukkan bahwa TLS 1.1 tidak akan menyelesaikan masalah ini karena masalah implementasi dengan SSLv3 yang harus dihadapi semua orang: browser harus menurunkan versi ke SSLv3 untuk mendukung server kereta, dan penyerang dapat memulai ini downgrade.

http://www.imperialviolet.org/2011/09/23/chromeandbeast.html

cjc
sumber
3

Gnu_tls bekerja seperti pesona dan juga menerapkan SNI (Server Name Identification), yang sangat berguna dalam hosting virtual ....

Tidak masalah juga untuk menemukan paket bin untuk mod_gnutls di distro linux, saya menggunakannya sejak 2 tahun dan tidak ada masalah, itu juga lebih performan daripada openssl imho.

Tetapi masalahnya juga bahwa sebagian besar browser tidak mendukung tls 1.1 atau 1.2, jadi mulailah untuk meredakan gagasan tentang peningkatan peramban yang diatur secara resmi kepada orang-orang.

rastrano
sumber
@ Rastrano - apakah Anda memiliki saran atau tautan tentang cara menerapkan ini? Terima kasih atas informasinya dan sayangnya browser "modern" belum mendukungnya.
John