CUSTOMIZE Are you using TLS older than 1.2? It’s ok, maintenance update delays happen to everyone. We get it. However, it is time to move on.
Business in a box.
Temukan solusi kami.
Bicaralah kepada tim penjualan kami
Apakah Anda menggunakan TLS yang lebih lama dari 1.2? Tidak apa-apa, keterlambatan pembaruan pemeliharaan terjadi pada semua orang. Kami mengerti. Namun, sekarang saatnya untuk beralih.
Ingat kembali pada Juni 2018 ketika kami menghentikan penggunaan TLS 1.0? Jika Anda tidak ingat, itu tidak apa-apa, Anda dapat membaca semua tentangnya di posting ini. Nah, di sini kita sekarang, 2 tahun kemudian dan versi berikutnya akan dihentikan jadi kami ingin Anda siap dan menghindari gangguan dalam layanan. Pos ini adalah tentang mempersiapkan Anda untuk berjalan tanpa menggunakan TLS1.1 sehingga kami dapat membatasi akses hanya ke TLS1.2. Kami akan membimbing Anda tentang cara memeriksa versi Anda saat ini dan cara memperbarui ke versi terbaru. Untuk hiburan, kami sangat ingin mendengar masukan Anda dan menambahkan Anda ke “dinding kehebatan” yang menampilkan semua perusahaan yang peduli keamanan yang melakukan perubahan lebih awal.
Apakah ini memengaruhi saya?
Kembali pada tahun 2018 kami meminta pelanggan kami untuk meningkatkan, dan TLS 1.2 telah menjadi rekomendasi untuk beberapa waktu, jadi kemungkinan besar Anda TIDAK terpengaruh. Namun, jika Anda menggunakan metode apa pun untuk menyuntikkan pesan (SMTP atau REST API) atau mengumpulkan data (metrik atau webhooks, dll), maka Anda benar-benar harus memeriksa sekarang untuk memastikan sistem Anda dapat mendukung TLS 1.2. Pastikan Anda menjalankan tes berikut di server yang benar-benar terhubung ke SparkPost.
Mengapa itu penting
SparkPost tidak akan menerima koneksi pada TLS 1.1 setelah September 2020
Versi lama tidak aman
TLS 1.2 telah direkomendasikan sebagai protokol selama lebih dari satu dekade
Semua anak keren melakukannya
Mengapa sekarang?
Sebenarnya, pertanyaannya seharusnya adalah “mengapa Anda masih mendukungnya?” TLS 1.2 telah menjadi standar aman yang direkomendasikan selama lebih dari satu dekade dan kita sudah berada pada titik di mana tidak ada yang benar-benar menawarkan dukungan apa pun untuk apa pun yang kurang dari TLS1.2. Sudah saatnya dukungan HTTPS yang lemah berakhir untuk selamanya. Jika Anda masih menggunakan TLS 1.1 setelah Maret 2020, Anda akan mengalami kesulitan menghubungkan ke sebagian besar layanan. SparkPost telah memberikan cukup waktu untuk memperbarui ini dan sekarang kami mengirimkan pemberitahuan terakhir untuk meningkatkan ini sebelum September ketika kami benar-benar menghapusnya.
Tetapi bagaimana, tolong beri tahu, bisa Anda memperbaikinya?
Sangat mungkin bahwa IT SysAdmin atau WebAdmin Anda telah melakukan ini untuk Anda sebagai bagian dari pemeliharaan normal mereka. Jika demikian, Anda harus membelikan mereka bir dan mengucapkan terima kasih. Jika tidak, Anda dapat mengikuti beberapa langkah di bawah ini untuk menyelesaikannya di Linux, Windows, dan Mac.
Perhatikan bahwa sepanjang dokumen ini kita akan menguji dengan end-point US SparkPost.
Jika Anda biasanya menggunakan deployment Eropa, Anda harus menggunakan end-point EU sebagai gantinya.
Bagaimana Anda dapat memeriksa? (versi Linux)
Pertama, mari kita periksa apakah SysAdmin lingkungan Anda sudah mengurus ini untuk Anda. Ini sebenarnya adalah bagian dari konfigurasi SSL sehingga dapat dikelola dalam konfigurasi sistem Anda. Dengan asumsi Anda menggunakan Linux, metode yang paling deskriptif adalah menggunakan nmap tetapi Anda juga dapat menggunakan openssl. Anda dapat menggunakan nmap dengan Linux, Windows dan Mac, tetapi kami akan mengeksplorasi metode lain untuk Windows dan Mac juga jika Anda tidak ingin menginstal perangkat lunak baru.
Untuk melakukan ini dengan nmap, uji algoritma pengkodean terhadap host HTTPS yang dikenal. Karena tujuannya adalah untuk memastikan kami terhubung ke SparkPost secara aman, mari kita uji terhadap endpoint tersebut. Pastikan Anda menjalankan tes berikut pada server yang benar-benar terhubung ke SparkPost.
nmap --script ssl-enum-ciphers -p 443 api.sparkpost.com
Ini dilakukan pada server pengembangan saya sendiri dan Anda dapat dengan mudah melihat konfigurasi saya mendukung TLS 1.1 dan 1.2 tetapi tidak 1.3. Penting untuk dicatat pada titik ini bahwa AWS ALBs, dan oleh karena itu koneksi SparkPost, belum mendukung TLS1.3, tetapi ada dalam roadmap AWS.
Memulai Nmap 6.40 ( http://nmap.org ) pada 2020-05-06 22:41 UTC Laporan scan Nmap untuk api.sparkpost.com (52.13.246.255) Host aktif (0.00059s latency). Alamat lain untuk api.sparkpost.com (tidak dipindai): 34.211.102.211 52.43.22.201 54.213.185.174 100.20.154.199 52.43.110.79 52.40.215.39 52.40.175.169 catatan rDNS untuk 52.13.246.255: ec2-52-13-246-255.us-west-2.compute.amazonaws.com PORT STATE SERVICE 443/tcp open https | pengecekan-ssl-cipher: | TLSv1.1: | algoritma: | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - kuat | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - kuat | TLS_RSA_WITH_AES_128_CBC_SHA - kuat | TLS_RSA_WITH_AES_256_CBC_SHA - kuat | kompresor: | NULL | TLSv1.2: | algoritma: | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - kuat | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 - kuat | TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - kuat | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - kuat | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 - kuat | TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - kuat | TLS_RSA_WITH_AES_128_CBC_SHA - kuat | TLS_RSA_WITH_AES_128_CBC_SHA256 - kuat | TLS_RSA_WITH_AES_128_GCM_SHA256 - kuat | TLS_RSA_WITH_AES_256_CBC_SHA - kuat | TLS_RSA_WITH_AES_256_CBC_SHA256 - kuat | TLS_RSA_WITH_AES_256_GCM_SHA384 - kuat | kompresor: | NULL |_ kekuatan paling sedikit: kuat Nmap selesai: 1 alamat IP (1 host aktif) dipindai dalam 0.11 detik
Pada titik ini, Anda sebenarnya bisa berhenti jika Anda mau karena intinya adalah memastikan Anda bisa terhubung ke SparkPost menggunakan TLS 1.2. Jika koneksi Anda mendukung TLS 1.2 itulah yang kita perlukan saat ini jadi kita baik-baik saja di sini. Pergilah beli bir untuk SysAdmin itu dan katakan terima kasih.
Kirim kami sebuah email dan beri tahu kami apakah Anda berhasil.
Memeriksa dukungan di Mac Anda
Alasan paling umum Anda mungkin perlu memeriksa dukungan pada Mac Anda adalah karena Anda menggunakannya untuk pengembangan lokal, jadi mari kita asumsikan itu dan periksa dukungan Anda.
Metode paling tidak invasif adalah menggunakan curl yang seharusnya sudah ada di setiap Mac. Jalankan aplikasi Terminal dan gunakan protokol flag untuk menguji secara spesifik untuk TLS1.2.
curl https://api.sparkpost.com/ --tlsv1.2 --verbose * Mencoba 54.213.185.174... * TCP_NODELAY diatur * Terhubung ke api.sparkpost.com (54.213.185.174) port 443 (#0) * ALPN, menawarkan h2 * ALPN, menawarkan http/1.1 * Pemilihan cipher: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH * berhasil mengatur lokasi verifikasi sertifikat: * CAfile: /etc/ssl/cert.pem CApath: none * TLSv1.2 (OUT), Jabat tangan TLS, Client hello (1): * TLSv1.2 (IN), Jabat tangan TLS, Server hello (2): * TLSv1.2 (IN), Jabat tangan TLS, Sertifikat (11): * TLSv1.2 (IN), Jabat tangan TLS, Pertukaran kunci Server (12): * TLSv1.2 (IN), Jabat tangan TLS, Server selesai (14): * TLSv1.2 (OUT), Jabat tangan TLS, Pertukaran kunci Client (16): * TLSv1.2 (OUT), Perubahan cipher TLS, Client hello (1): * TLSv1.2 (OUT), Jabat tangan TLS, Selesai (20): * TLSv1.2 (IN), Perubahan cipher TLS, Client hello (1): * TLSv1.2 (IN), Jabat tangan TLS, Selesai (20): * Koneksi SSL menggunakan TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256 * ALPN, server menerima untuk menggunakan h2 * Sertifikat server: * subjek: CN=*.sparkpost.com * tanggal mulai: Jan 30 00:00:00 2020 GMT * tanggal kedaluwarsa: Feb 28 12:00:00 2021 GMT * subjectAltName: host "api.sparkpost.com" cocok dengan cert "*.sparkpost.com" * penerbit: C=US; O=Amazon; OU=Server CA 1B; CN=Amazon * verifikasi sertifikat SSL ok. * Menggunakan HTTP2, server mendukung multi-penggunaan * Status koneksi berubah (HTTP/2 dikonfirmasi) * Menyalin data HTTP/2 di buffer aliran ke buffer koneksi setelah pembaruan: len=0 * Menggunakan ID Stream: 1 (easy handle 0x7fbd69805200) > GET / HTTP/2 > Host: api.sparkpost.com > User-Agent: curl/7.54.0 > Accept: */* > * Status koneksi berubah (MAX_CONCURRENT_STREAMS diperbarui)! < HTTP/2 200 < date: Thu, 07 May 2020 15:14:30 GMT < content-type: text/plain < content-length: 95 < server: msys-http < * Koneksi #0 ke host api.sparkpost.com dibiarkan tetap Oh hey! Anda harus bekerja dengan kami dan membangun hal-hal keren!
Jika Anda ingin menguji menggunakan koneksi SMTP, Anda juga dapat melakukannya dengan perintah ini:
openssl s_client -crlf -starttls smtp -tls1_2 -connect smtp.sparkpostmail.com:587
Mengembalikan banyak data termasuk:
SSL-Session: Protokol : TLSv1.2 Cipher : ECDHE-RSA-AES256-GCM-SHA384
Memeriksa dukungan di Windows
Similar to the Mac use case, the most common reason you may need to check for support in your Windows is that you use it for local development, so let’s assume that and check for your support.
Windows 7 and Windows 10 use basically the same process. If you are using something earlier, please upgrade as prior versions do not support TLS 1.2.
Start by clicking START in the bottom left corner (usually).
Type “Internet Options” and select the match from the resulting list.
Click on the Advanced tab and from there scroll down to the very bottom. If TLS 1.2 is checked you are already all set. If it is not, please check the box adjacent to Use TLS 1.2 and then Apply.
Wait, what? No 1.2?
Aduh, teman. Pekerjaan Anda belum selesai.
Jika Anda hanya memiliki TLS1.1, maka Anda harus memperbarui pengaturan Cipher Anda.
Dengan asumsi Anda menggunakan Linux dan Apache untuk manajemen koneksi TLS, Anda dapat memperbarui konfigurasi SSL dengan memodifikasi baris ini untuk menambahkan “+TLSv1.2 ”:
SSLProtocol -all +TLSv1 +TLSv1.1 +TLSv1.2
(Catatan samping: Karena mereka tidak benar-benar didukung di mana pun lagi, masuk akal juga untuk menghapus pengaturan 1.0 dan 1.1 saat Anda ada di sini.)
Konfigurasi itu biasanya terletak di /etc/httpd/conf.d/ssl.conf
Mulai ulang Apache dan Anda siap untuk melanjutkan.
service httpd restart
Jika Anda menggunakan Nginx, Anda ingin memodifikasi baris ini dengan cara yang sama:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
Konfigurasi itu biasanya terletak di /etc/nginx/conf.d/
Mulai ulang Nginx dan Anda siap untuk melanjutkan.
service nginx restart
Jika Anda mengalami pesan kesalahan dengan restart, Anda mungkin memiliki perpustakaan SSL yang sudah usang. Pastikan Anda menggunakan setidaknya openssl v1.0.1g.
Jika Anda menggunakan Windows, instruksi untuk mengatur TLS1.2 ada di bagian “Memeriksa dukungan di Windows” di atas.
Semua selesai sekarang? Kirimkan kami sebuah email dan beri tahu kami Anda berhasil.
Melangkah satu langkah lebih jauh
Mengapa berhenti di TLS 1.2 ketika Anda tahu – Anda hanya tahu – bahwa kita semua harus meningkatkan ke TLS 1.3 dalam setahun atau lebih ke depan. Mengapa tidak langsung tingkatkan ke TLSv1.3 selagi kita melakukannya?
Sayangnya, AWS ALBs belum mendukung TLS1.3, jadi jika Anda meningkatkan konfigurasi Anda, koneksi Anda ke SparkPost dan layanan AWS lainnya yang menggunakan lapisan ALB masih akan terbatas pada TLS1.2. Secara pribadi, saya masih berpikir adalah ide yang baik untuk melakukan langkah maju dan meningkatkan ke 1.3 selagi Anda melakukan perubahan.
Jika Anda ingin menambahkan dukungan TLS 1.3, Anda mungkin harus memperbarui perpustakaan OpenSSL Anda terlebih dahulu ke V1.1.1 atau yang lebih baru dan kemudian menambahkan +TLSv1.3 ke baris protokol yang disebutkan di atas. Instruksi serupa dapat ditemukan di sini untuk Nginx dan Cloudflare juga.
Tetap aman di luar sana
Akhirnya, akan sangat bagus jika Anda bisa mengirimkan kami email singkat untuk memberi tahu kami bahwa Anda telah memverifikasi bahwa Anda mendukung TLS 1.2. Kami benar-benar tidak ingin memutuskan siapa pun dan tanggal putus akhir adalah September 2020. Jika kami tahu Anda semua berada di zona aman, kami akan merasa jauh lebih baik tentang mematikan dukungan lama.