Kunci SSH disalin atau agen diteruskan? Dua risiko berbeda
Tanda tangan bukan berkas kunci, dan agen yang didelegasikan bukan pengungkapan. Pisahkan fakta protokol dari pertanyaan kepercayaan titik akhir, lalu bertindaklah.
Login yang memakai kunci SSH melalui VPN tidak berarti kunci privat telah diserahkan kepada operator jaringan, dan jaminan itu lebih sempit daripada yang didengar orang. Autentikasi kunci publik mengirim kunci publik dan tanda tangan yang dibuat klien secara lokal. Penerusan agen adalah pengaturan berbeda dengan paparan berbeda, dan dapat meninggalkan kemampuan autentikasi yang bisa dipakai di mesin yang tidak Anda kendalikan. Respons yang Anda utangi bergantung pada mana dari keduanya yang benar-benar terjadi.
Apa yang dikirim autentikasi kunci publik
Dalam metode kunci publik standar klien menawarkan kunci publik, server memutuskan apakah menerima kunci itu, dan klien menandatangani tantangan dengan kunci privat, yang tetap di berkasnya atau agennya. Yang melintasi jaringan adalah kunci publik dan tanda tangan yang dihasilkan. Tidak ada dalam pertukaran itu yang menuntut server, terowongan, atau siapa pun di jalur memegang materi privat.
Spesifikasi autentikasi mendefinisikan bukti itu, dan kunci privat bukan bidang dalam permintaan.
Itu pernyataan tentang protokol, bukan rujukan watak untuk setiap titik akhir yang terlibat. Pemeriksaan identitas host tetap harus utuh, karena server yang tidak dapat membuktikan siapa dirinya mungkin mengumpulkan tanda tangan untuk tujuan yang tidak Anda maksudkan. VM sewaan, bastion warisan, dan laptop yang menjalankan ekstensi asing adalah tiga pertanyaan kepercayaan yang terpisah. Jauhkan mereka dari pertanyaan kriptografis, yang benar-benar sudah selesai.
Apa yang didelegasikan penerusan agen
Penerusan agen membuka kanal dari host jauh kembali ke agen di mesin Anda, sehingga proses di host itu dapat meminta agen menandatangani tanpa pernah memegang kunci privat. Kunci tetap di tempatnya, dan kemampuannya tidak. Apa pun yang dapat menjangkau soket yang diteruskan itu di host jauh, selama masa sesi, dapat meminta operasi autentikasi sebagai salah satu identitas yang dimuat. Itu wewenang yang didelegasikan, sebab itu penerusan layak mendapat kebijakan yang lebih sempit daripada menyerahkan kunci publik.
Berkas kunci yang disalin adalah pengungkapan. Agen yang diteruskan adalah izin, dan keduanya perlu jawaban berbeda.
Aktifkan penerusan untuk kebutuhan bernama dan host bernama, dan periksa apa yang benar-benar dilakukan klien, bukan apa yang tampaknya dikatakan konfigurasi. Pengaturan efektiflah yang penting, karena blok host diam-diam menimpa nilai bawaan global. Alasan yang sama berlaku di sisi server, yang dapat menolak penerusan sepenuhnya ketika penerapan tidak pernah membutuhkannya.
Baca buktinya sebelum memilih respons
Jika berkas kunci privat atau identitas penandatanganan yang setara diyakini telah terekspos, responsnya adalah penggantian dan pencabutan melalui proses organisasi Anda, ditambah penghapusan penerimaannya dari setiap layanan yang memercayainya. Menghapus satu salinan lokal tidak membatalkan salinan yang tidak Anda lihat.
Jika kekhawatirannya adalah akses agen sementara, responsnya lebih sempit: hentikan pendelegasian yang tidak perlu, tinjau sesi dan identitas yang terlibat, dan biarkan pemilik insiden memutuskan apakah penggantian beralasan. Bukti penting di sini, karena tidak adanya ekspor yang teramati tidak membuktikan tidak ada autentikasi yang disalahgunakan, dan perubahan jalur saja bukan diagnosis kunci yang dicuri. Catat komponen mana yang dipercaya, apakah penerusan diaktifkan, dan apa yang benar-benar teramati. Lalu pilih respons yang cocok dengan catatan itu, bukan yang paling dramatis yang tersedia.
ssh-add -l
ssh -G host.example | grep -i forwardagent
Jalankan keduanya sebelum dan sesudah perubahan agar perbandingannya bermakna. Sesi yang didirikan lebih awal mempertahankan pendelegasian yang diberikan kepadanya, apa pun yang dikatakan pengaturan sekarang.
Dua kontrol yang tidak dapat ditukar
Melindungi materi privat, membatasi siapa yang dapat meminta tanda tangannya, dan memverifikasi identitas pihak lain adalah tiga kontrol terkait, dan tidak satu pun menggantikan yang lain. Tim yang mencabut penerusan tanpa memeriksa kunci host telah memperbaiki separuh masalah. Tim yang merotasi kunci karena jalur berubah tidak memperbaiki apa pun.
Titik akhir yang terkompromi adalah pertanyaan keempat, karena perangkat lunak berhak istimewa di mesin Anda sendiri dapat melakukan jauh lebih banyak daripada mengamati paket.
Urutkan insiden ke dalam kategori itu sebelum menyentuh apa pun, dan beri masing-masing satu pemilik. Simpan catatan singkat tentang apa yang dipercaya, apa yang didelegasikan, dan apa yang diverifikasi, karena catatan itulah yang membuat tinjauan berikutnya murah alih-alih perdebatan lain. Jika ada kategori yang tidak diketahui, tulis tidak diketahui alih-alih menganggap kasus jinak. Perbedaannya praktis, bukan akademis: itu menentukan apakah Anda mengganti kredensial, mencabut sesi, atau sekadar berhenti meneruskan.