SSH "Secure shell" ialah protokol rangkaian untuk mewujudkan sambungan selamat antara hos, secara standard melalui port 22 (yang lebih baik untuk ditukar). Pelanggan SSH dan pelayan SSH tersedia untuk kebanyakan sistem pengendalian. Hampir mana-mana protokol rangkaian lain berfungsi di dalam SSH, iaitu, anda boleh bekerja dari jauh pada komputer lain, menghantar aliran audio atau video melalui saluran yang disulitkan, dsb. selain itu,
Pengesahan berlaku menggunakan kata laluan, tetapi pembangun dan pentadbir sistem secara tradisinya menggunakan kunci SSH. Masalahnya ialah kunci peribadi boleh dicuri. Menambah frasa laluan secara teorinya melindungi daripada kecurian kunci persendirian, tetapi dalam praktiknya, apabila memajukan dan menyimpan kunci, ia
Bagaimana untuk melaksanakan pengesahan dua faktor
Pembangun dari Honeycomb baru-baru ini menerbitkan
Arahan mengandaikan bahawa anda mempunyai hos asas tertentu yang terbuka kepada Internet (benteng). Anda ingin menyambung ke hos ini daripada komputer riba atau komputer melalui Internet dan mengakses semua peranti lain yang terletak di belakangnya. 2FA memastikan bahawa penyerang tidak boleh melakukan perkara yang sama walaupun mereka mendapat akses kepada komputer riba anda, contohnya dengan memasang perisian hasad.
Pilihan pertama ialah OTP
OTP - kata laluan digital sekali, yang dalam kes ini akan digunakan untuk pengesahan SSH bersama-sama dengan kunci. Pembangun menulis bahawa ini bukan pilihan yang ideal, kerana penyerang boleh menaikkan benteng palsu, memintas OTP anda dan menggunakannya. Tetapi ia lebih baik daripada tiada.
Dalam kes ini, pada bahagian pelayan, baris berikut ditulis ke dalam konfigurasi Chef:
metadata.rb
attributes/default.rb
(daripadaattributes.rb
)files/sshd
recipes/default.rb
(salinan daripadarecipe.rb
)templates/default/users.oath.erb
Sebarang aplikasi OTP dipasang pada bahagian klien: Pengesah Google, Authy, Duo, Lastpass, dipasang brew install oath-toolkit
atau apt install oathtool openssl
, maka rentetan (kunci) asas16 rawak dijana. Ia ditukar kepada format Base32 yang digunakan oleh pengesah mudah alih dan diimport terus ke dalam aplikasi.
Akibatnya, anda boleh menyambung ke Bastion dan melihat bahawa ia kini memerlukan bukan sahaja frasa laluan, tetapi juga kod OTP untuk pengesahan:
β ssh -A bastion
Enter passphrase for key '[snip]':
One-time password (OATH) for '[user]':
Welcome to Ubuntu 18.04.1 LTS...
Pilihan kedua ialah pengesahan perkakasan
Dalam kes ini, pengguna tidak perlu memasukkan kod OTP setiap kali, kerana faktor kedua menjadi peranti perkakasan atau biometrik.
Di sini konfigurasi Chef adalah sedikit lebih rumit, dan konfigurasi pelanggan bergantung pada OS. Tetapi selepas melengkapkan semua langkah, pelanggan pada MacOS boleh mengesahkan pengesahan dalam SSH menggunakan frasa laluan dan meletakkan jari pada sensor (faktor kedua).
Pemilik iOS dan Android mengesahkan log masuk
Pada Linux/ChromeOS terdapat pilihan untuk berfungsi dengan token USB YubiKey. Sudah tentu, penyerang boleh mencuri token anda, tetapi dia masih tidak tahu frasa laluan itu.
Sumber: www.habr.com