Saya ingin merahasiakan kunci SSL kami untuk situs web kami. Ini disimpan di 2 stik USB, satu di brankas dan yang saya jaga tetap aman. Dan saya satu-satunya yang menerapkannya ke server web sehingga benar-benar aman.
Kecuali...
Setidaknya pada IIS, Anda dapat mengekspor kunci. Jadi siapa pun yang menjadi admin kemudian bisa mendapatkan salinan kunci. Apakah ada cara untuk mengatasi ini? Atau menurut definisi apakah semua admin memiliki akses penuh ke semua kunci?
Pembaruan: Saya memiliki sysadmin yang saya percaya sepenuhnya. Apa yang menyebabkan ini adalah salah satu dari mereka berhenti (mereka memiliki satu jam perjalanan ke perusahaan kami, 5 menit perjalanan ke yang baru). Sementara saya mempercayai orang ini, sama seperti kita menonaktifkan akun Active Directory mereka ketika seseorang pergi, saya pikir kita harus memiliki cara untuk memastikan mereka tidak mempertahankan kemampuan untuk menggunakan SSL kami.
Dan yang menurut saya paling mudah adalah jika saya satu-satunya yang memilikinya. Sertifikat kami kedaluwarsa pada bulan Januari jadi ini saatnya untuk mengubah praktik jika kami bisa. Berdasarkan jawaban, sepertinya kita tidak bisa.
Jadi ini mengarah ke pertanyaan baru - ketika seseorang yang memiliki akses ke sertifikat pergi, apakah itu praktik standar untuk mendapatkan sertifikat baru dan mencabut yang sudah ada. Atau jika orang yang pergi dapat dipercaya, maka apakah kita melanjutkan dengan sertifikat yang kita miliki?
sumber
Jawaban:
Seseorang dengan akses administratif (atau sering bahkan fisik) ke server akan dapat mengekstrak kunci pribadi. Baik melalui ekspor, mengendus memori, atau tipu daya semacam itu.
Administrator Anda memiliki akses ke kunci pribadi server web Anda. Terimalah ini sebagai fakta, dan atasi itu. Jika sysadmin Anda tidak dapat dipercaya, maka Anda mungkin perlu sysadmin yang lebih baik atau setidaknya sysadmin yang lebih sedikit dengan akses ke server web. Jika itu masalah paranoia keamanan manajemen, maka mungkin ada masalah yang lebih dalam mengenai kemampuan mereka untuk mempercayai sysadmin.
Ini bukan untuk mengatakan bahwa Anda harus membiarkan semua orang memiliki akses ke kunci pribadi. Harus selalu ada kebutuhan untuk akses sebelum akses diberikan. Dengan mengingat hal itu, apakah Anda akan mengambil langkah-langkah ekstrem untuk memastikan bahwa sysadmin dengan kontrol penuh terhadap situs web tidak dapat mengekspor kunci pribadi, tetapi masih dapat memanipulasi situs web itu sendiri dalam sejumlah cara yang hampir tidak dapat dilacak? Kami kembali percaya di sini, dan saya pikir itulah inti dari masalah yang perlu ditangani.
sumber
Saat Anda mengimpor kunci, Anda memiliki opsi untuk menandainya sebagai tidak dapat diekspor. Ini akan mencegah Anda menggunakan IIS atau MMC sertifikat untuk mengekspornya. Setidaknya, itu membuatnya sedikit lebih sulit.
Namun, jika mereka memiliki akun administrator di mesin, atau memiliki akses fisik ke sana - mereka masih bisa mendapatkan kunci melalui cara lain.
sumber
Di sinilah "perantara CA" dapat membantu.
"Root CA" dalam contoh di bawah ini adalah salah satu yang dimiliki oleh perusahaan SSL dan bukan Anda.
Anda tidak memiliki kontrol langsung atas kunci yang dibuat oleh Root CA, jadi jika kunci yang ditandatangani oleh Root CA terganggu, Anda harus melalui mereka untuk mencabutnya.
Tapi:
Jika Anda menempatkan CA lain di tengah, dan meminta sertifikat SSL yang dibeli menandatangani sertifikat CA Anda sendiri alih-alih langsung menandatangani sertifikat server Anda, Anda dapat mempertahankan kendali sertifikat server di bawah ini dan mengeluarkan sertifikat pencabutan atau melakukan apa pun jika hal-hal di bawah ini dikompromikan. .
Anda menyimpan kunci pribadi CA Menengah untuk diri sendiri dan admin tidak perlu melihatnya.
Anda juga dapat melakukan ini:
Anda dapat bersiap untuk kompromi, dan menghasilkan sertifikat sebelumnya, sehingga Anda dapat beralih dengan cepat jika ada kunci individu yang dicabut. Admin tidak mendapatkan kunci untuk 2 atau 3 hingga kompromi 1. Anda dapat menaruh pemberitahuan di situs Anda tentang skema ini, dan ini juga akan menyampaikan kepada admin Anda bahwa Anda siap jika terjadi kompromi dan bisnis lucu pada mereka end tidak akan menghancurkan situs Anda.
sumber
Ada banyak artikel yang menyarankan untuk menyimpan kunci privat di tempat lain selain dari server tetapi kunci privat itu untuk sertifikat penandatanganan kode . Bayangkan Anda memiliki kunci pada komputer offline yang hanya Anda miliki aksesnya, beberapa perangkat lunak ditulis, Anda mendapatkan kunci pribadi dari server offline, menandatangani kode dan kemudian Anda tidak memerlukan kunci pribadi lagi sampai Anda perlu menandatangani beberapa kode lagi.
Baca lebih lanjut di: https://www.thesslstore.com/blog/heres-what-happens-when-your-private-key-gets-compromised/
Sebaliknya, sertifikat SSL untuk situs web untuk mengaktifkan komunikasi HTTPS: Kunci pribadi diperlukan selama masing-masing dan setiap jabat tangan oleh server web. Karenanya, menyimpannya secara offline tidak akan berfungsi.
sumber