Di mana perusahaan biasanya menyimpan sertifikat SSL untuk digunakan di masa mendatang?

26

Kami baru-baru ini membeli sertifikat wildcard SSL untuk domain kami. Kami mengonversi semua sertifikat ke Java keystore, tetapi sekarang kami bertanya pada diri sendiri di mana kami harus menyimpan ini untuk digunakan nanti.

Apakah orang menggunakan kontrol sumber seperti BitBucket untuk jenis file ini atau hanya menghasilkan setiap kali diperlukan, atau sesuatu yang lain?

Kami ingin tahu apakah ada solusi standar atau "praktik terbaik" seputar penyimpanan sertifikat ini untuk digunakan di masa mendatang.

AmericanKryptonite
sumber
Cadangkan mereka yang dienkripsi ke solusi cadangan tradisional Anda. Jangan menyimpan kunci pribadi yang tidak dienkripsi dengan penyedia eksternal apa pun. Saya biasanya memasukkan masalah dan tanggal kedaluwarsa dalam sertifikat dan nama file utama untuk diferensiasi.
Andrew Domaszek

Jawaban:

22

Ada beberapa solusi:

One avenue adalah brankas kunci khusus baik perangkat berbasis perangkat keras, modul keamanan perangkat keras, atau perangkat lunak berbasis perangkat lunak.

Cara lain adalah dengan hanya mencabut kunci lama dan menghasilkan kunci-pasangan kunci publik / publik ketika situasinya muncul. Itu agak menggeser masalah dari menjaga keamanan utama menjadi mengamankan nama pengguna / kata sandi akun dengan penyedia sertifikat dan prosedur mereka untuk diterbitkan kembali. Keuntungannya adalah bahwa sebagian besar organisasi sudah memiliki solusi manajemen akun istimewa misalnya 1 2

Ada beberapa cara penyimpanan off-line, mulai dari mencetak hard-copy dari kunci-publik dan pasangan termasuk kata sandi (tetapi itu akan menjadi anjing betina untuk dipulihkan) hingga hanya menyimpannya di media digital yang dinilai untuk penyimpanan lama. .

Tempat-tempat yang benar-benar buruk adalah GitHub, tim Anda WiKi atau jaringan berbagi (dan Anda mendapatkan ide).

Pembaruan 2015/4/29: Keywhiz juga tampaknya pendekatan yang menarik.

HBruijn
sumber
Saya ingin tahu, apa yang Anda maksud dengan "perangkat lunak berbasis setara" untuk HSM?
Beberapa vendor alat perangkat keras saat ini menjual peralatan mereka juga dalam bentuk alat virtual, VM. Ada juga hal-hal seperti Oracle key vault dan SoftHSM open source untuk beberapa nama.
HBruijn
Jadi pada dasarnya itu memungkinkan untuk mengubah komputer standar menjadi HSM ...
1
"Tapi itu akan menjadi anjing betina untuk dipulihkan" -> Yang ini membuat hariku! Selain lelucon, Anda harus mengenkripsi itu sebelum menyimpan.
Ismael Miguel
Menurut definisi Anda akan mengekspos kunci publik Anda kepada semua orang. Tidak ada alasan untuk mengenkripsi itu. Tapi itu juga bukan alasan untuk ceroboh dengannya. Keamanan terutama untuk kunci pribadi, yang biasanya memang harus dienkripsi / dilindungi kata sandi. Anda harus memiliki salinan sebanyak mungkin.
HBruijn
21

Tidak, sertifikat SSL tidak masuk kontrol sumber, setidaknya bukan bagian kunci pribadi.

Perlakukan mereka seperti Anda menggunakan kata sandi. Kami benar-benar disimpan dengan cara yang persis sama dengan kata sandi kami - di KeePass. Ini memungkinkan Anda untuk melampirkan file, dan dienkripsi.

Hibah
sumber
3

Jika Anda meletakkan kunci pribadi di kontrol sumber, siapa pun yang memiliki akses ke sana akan dapat menyamar sebagai server Anda. Jika server web Anda tidak menggunakan PFS (kerahasiaan ke depan yang sempurna), maka mungkin juga untuk mendekripsi setiap lalu lintas SSL yang ditangkap dengan alat sumber terbuka yang umum tersedia seperti Wireshark.

Anda dapat melindungi kunci dengan DES atau AES yang mengenkripsinya dengan frasa sandi menggunakan OpenSSL. OpenSSL tersedia untuk Linux, OSX dan Windows.

OpenSSL juga dapat menghapus frasa sandi saat frasa sandi tidak nyaman (mis. Pada server web yang dimulai secara otomatis tetapi tidak mendukung entri frasa sandi otomatis).

Menambahkan frasa sandi menggunakan enkripsi AES (lebih aman daripada DES): -

openssl rsa -aes256 -in private.key -out encrypted.private.key

Menghapus passphrase (Anda akan diminta untuk passphrase): -

openssl rsa -in encrypted.private.key -out decrypted.private.key
Rumit
sumber
1
Jika Anda melakukan hal-hal dengan benar maka bahkan pemaparan kunci pribadi tidak boleh mengarah pada kompromi lalu lintas di masa lalu, meskipun tentu akan membuat MITM'ing untuk mengkompromikan lalu lintas masa depan jauh lebih mudah.
CVn
Hai @Michael, Secara teori, tapi sayangnya saya sudah bisa mendekripsi banyak tangkapan Apache dan IIS jadi saya hanya bisa menganggap PFS tidak aktif secara default. Bahkan banyak IPSEC VPN yang dimatikan.
Tricky
PFS tidak terlalu aktif secara default karena tidak didukung oleh banyak cipher suites. Coba uji server SSL Labs beberapa waktu; itu menunjukkan cipher suites mana yang mendukung FS. Tentu saja, menonaktifkan semua cipher suite non-FS cenderung membuat banyak klien menjadi dingin karena mereka tidak mendukung suite cipher FS. Namun, memberikan perawatan khusus pada suites FS suite (tapi saya sangat menyarankan agar Anda tidak memesan suites secara manual kecuali Anda tahu apa yang Anda lakukan dan kekuatan serta kelemahan relatif mereka).
CVn
Terima kasih atas rekomendasi di Lab SSL @Michael. Sayangnya server saya tidak menghadap internet tetapi saya bermain-main dengan cipher yang diaktifkan dan seperti yang Anda sarankan PFS tampaknya hanya didukung oleh beberapa cipher. PFS memang mencegah saya mendekodekan jejak paket. Saya akan memperbarui jawaban saya sesuai.
Tricky
1

Pilihan lain, setelah membaca tentang KeyWhiz, adalah HashiCorp's Vault. Ini bukan hanya manajer kata sandi, tetapi toko Rahasia, saya percaya agak mirip dengan KeyWhiz. Ini ditulis dalam GO, dan klien berfungsi sebagai server juga, dan menghubungkan ke banyak backend, dan metode otentikasi. Vault juga open-source, dengan opsi Enterprise juga.

Karena Kunci dan Sertifikat SSL hanyalah file teks, Anda dapat mendandani64 mereka, dan menyimpannya sebagai string di Vault, atau bahkan hanya teks di Vault juga. Tidak ada WebUI, atau GUI, semua baris perintah, atau skrip yang digerakkan, dan memiliki API web yang sangat bagus dan stabil untuk di-boot.

  1. https://www.vaultproject.io/
  2. https://github.com/hashicorp/vault
Pred
sumber
0

Saya akan merekomendasikan untuk melihat ke HSM offline (seperti token enkripsi perangkat keras atau CAC) untuk menyimpan kunci pribadi dan sertifikat. Ini tidak hanya melindungi kunci pribadi dari kompromi yang tidak disengaja, tetapi juga menyediakan beberapa pembongkaran kriptografi dasar.

Jika Anda memiliki lebih banyak aset kriptografi untuk dikelola, saya akan merekomendasikan untuk melihat ke perangkat lunak Enterprise Key & Certificate Management, yang dapat mengotomatiskan pembaruan, melacak siklus hidup, mengotomatisasi penyediaan ke titik akhir, dll. Sebagian besar menyimpan aset yang dienkripsi saat istirahat sebagai CLOB dalam database.

DTK
sumber
Mengapa downvotes? Tidak mengeluh; ingin tahu apa yang salah dengan jawaban ini.
Matt
Tidak yakin mengapa itu dipilih. HSM secara khusus dirancang untuk penyimpanan kunci yang aman dan enkripsi kecepatan tinggi. Saya hanya bisa menebak ini terkait dengan pengeluaran atau manajemen yang lebih kompleks. Semua bank besar menggunakan HSM untuk operasi utama dalam hal-hal seperti transaksi Chip & Pin.
Tricky