SSH “Secure shell” adalah protokol jaringan untuk membuat koneksi aman antar host, secara standar melalui port 22 (yang lebih baik diubah). Klien SSH dan server SSH tersedia untuk sebagian besar sistem operasi. Hampir semua protokol jaringan lain berfungsi di dalam SSH, yaitu, Anda dapat bekerja dari jarak jauh di komputer lain, mengirimkan aliran audio atau video melalui saluran terenkripsi, dll. Di samping itu,
Otentikasi dilakukan menggunakan kata sandi, tetapi pengembang dan administrator sistem biasanya menggunakan kunci SSH. Masalahnya adalah kunci pribadi bisa dicuri. Menambahkan frasa sandi secara teoritis melindungi terhadap pencurian kunci pribadi, namun dalam praktiknya, ketika meneruskan dan menyimpan kunci, mereka
Bagaimana menerapkan otentikasi dua faktor
Pengembang dari Honeycomb baru-baru ini menerbitkan
Petunjuknya mengasumsikan bahwa Anda memiliki host dasar tertentu yang terbuka ke Internet (benteng). Anda ingin terhubung ke host ini dari laptop atau komputer melalui Internet, dan mengakses semua perangkat lain yang ada di belakangnya. 2FA memastikan bahwa penyerang tidak dapat melakukan hal yang sama meskipun mereka mendapatkan akses ke laptop Anda, misalnya dengan menginstal malware.
Opsi pertama adalah OTP
OTP - kata sandi digital satu kali, yang dalam hal ini akan digunakan untuk otentikasi SSH bersama dengan kuncinya. Pengembang menulis bahwa ini bukan pilihan ideal, karena penyerang dapat membangun benteng palsu, mencegat OTP Anda dan menggunakannya. Tapi itu lebih baik daripada tidak sama sekali.
Dalam hal ini, di sisi server, baris berikut ditulis ke dalam konfigurasi Chef:
metadata.rb
attributes/default.rb
(dariattributes.rb
)files/sshd
recipes/default.rb
(salinan darirecipe.rb
)templates/default/users.oath.erb
Aplikasi OTP apa pun diinstal di sisi klien: Google Authenticator, Authy, Duo, Lastpass, diinstal brew install oath-toolkit
или apt install oathtool openssl
, lalu string (kunci) base16 acak dihasilkan. Ini dikonversi ke format Base32 yang digunakan oleh pengautentikasi seluler dan diimpor langsung ke dalam aplikasi.
Hasilnya, Anda dapat terhubung ke Bastion dan melihat bahwa Bastion sekarang tidak hanya memerlukan frasa sandi, tetapi juga kode OTP untuk otentikasi:
➜ ssh -A bastion
Enter passphrase for key '[snip]':
One-time password (OATH) for '[user]':
Welcome to Ubuntu 18.04.1 LTS...
Opsi kedua adalah otentikasi perangkat keras
Dalam hal ini, pengguna tidak perlu memasukkan kode OTP setiap saat, karena faktor kedua adalah perangkat keras atau biometrik.
Di sini konfigurasi Chef sedikit lebih rumit, dan konfigurasi klien bergantung pada OS. Namun setelah menyelesaikan semua langkah, klien di MacOS dapat mengonfirmasi otentikasi di SSH menggunakan frasa sandi dan meletakkan jari di sensor (faktor kedua).
Pemilik iOS dan Android mengonfirmasi login
Di Linux/ChromeOS ada opsi untuk bekerja dengan token USB YubiKey. Tentu saja, penyerang dapat mencuri token Anda, tetapi dia masih tidak mengetahui frasa sandinya.
Sumber: www.habr.com