Jika Anda merasa autentikasi berbasis kata sandi dan dua faktor tidak dapat diandalkan, pertimbangkan untuk menyiapkan autentikasi berbasis perangkat keras di Linux menggunakan YubiKey.
Anda tidak sendirian jika khawatir tentang ancaman peretasan yang terus meningkat. Sementara permintaan otentikasi dan 2FA cukup untuk menangkal sebagian besar calon peretas, ribuan pelanggaran masih berhasil setiap hari.
Salah satu solusi yang paling sering dipuji untuk masalah autentikasi adalah YubiKey. Tapi apa itu YubiKey, dan bagaimana cara kerja otentikasi perangkat keras? Bisakah Anda mengamankan PC Linux Anda dengan YubiKey?
Mengapa Menggunakan YubiKey untuk Otentikasi Perangkat Keras?
Ada banyak jenis autentikasi, termasuk kata sandi, autentikasi SMS, dan bahkan aplikasi autentikator yang dapat Anda gunakan dengan ponsel Anda. Salah satu jenis yang kurang umum adalah autentikasi perangkat keras, yang melibatkan penggunaan perangkat plug-in kecil untuk mengirim token autentikasi saat diminta.
YubiKeys dan perangkat autentikasi perangkat keras lainnya memiliki beberapa keunggulan dibandingkan autentikator lainnya. Mereka lebih mudah digunakan, jauh lebih aman, dan hampir tidak mungkin dikompromikan tanpa akses ke fisik YubiKey itu sendiri.
Memulai Dengan Yubikey
Anda dapat memulai dengan YubiKey hanya dalam beberapa langkah sederhana. Sebagai langkah pertama, Anda harus menggunakan kuis yang dibuat oleh Yubico untuk berbelanja YubiKey terbaik untuk spesifikasi perangkat Anda. Setelah Anda memiliki YubiKey, Anda dapat menggunakannya sebagai perangkat autentikasi untuk situs web dan aplikasi.
Anda bahkan dapat menggunakannya untuk mengautentikasi sudo dan SSH di komputer Linux Anda. Kami akan menjelaskan semua yang perlu Anda ketahui tentang memilih YubiKey yang kompatibel dengan sudo/SSH dan mengonfigurasinya untuk autentikasi.
Memilih YubiKey yang Tepat untuk Sistem Anda
Jika Anda ingin menggunakan YubiKey untuk autentikasi di komputer Linux Anda, ada beberapa YubiKey yang menonjol sebagai opsi unggulan. YubiKey 5 dan YubiKey 5 NFC keduanya klasik yang bekerja dengan baik dengan sistem dengan USB-A dan USB-C.
Jika Anda ingin menggunakan YubiKey dengan komputer Linux dan ponsel Android, Anda harus mempertimbangkan YubiKey 5c NFC. Jika Anda memiliki komputer Linux dan iPhone, Anda harus mempertimbangkan YubiKey 5ci karena mendukung USB-C dan kilat.
Penting untuk diperhatikan bahwa Seri YubiHSM tidak kompatibel dengan autentikasi sudo. Legacy YubiKeys mungkin atau mungkin tidak kompatibel dengan autentikasi sudo/SSH tergantung pada fitur spesifiknya.
Sebelum memulai dengan autentikasi sudo atau SSH, Anda harus menginstal PPA YubiKey. Buka terminal dan masukkan perintah berikut untuk memperbarui paket Anda dan menginstal YubiKey Authenticator dan YubiKey Manager:
sudo add-apt-repository ppa: yubico/stable
sudo apt-get pembaruan
sudo apt install yubikey-manager libpam-yubico libpam-u2f
Selanjutnya, Anda harus memverifikasi bahwa sistem Anda siap bekerja dengan YubiKey Anda. Jalankan perintah berikut di terminal untuk memeriksa versi udev Anda:
sudo udevadm --versi
Terminal akan mengembalikan nomor. Jika angkanya 244 atau lebih tinggi, sistem Anda kompatibel dengan YubiKey. Anda dapat melewati langkah selanjutnya dalam kasus ini.
Jika tidak, Anda perlu mengonfigurasi sistem Anda. Anda harus menggunakan perintah berikut untuk memeriksa apakah udev terinstal di komputer Anda—dan untuk menginstalnya jika belum:
dpkg -s libu2f-udev
sudo apt install libu2f-udev
Selanjutnya, periksa apakah antarmuka U2F YubiKey Anda tidak terkunci. Jika Anda memiliki YubiKey NEO atau YubiKey NEO-n, masukkan YubiKey Anda, buka YubiKey Manager, dan arahkan ke Antarmuka. Aktifkan antarmuka U2F dan tekan Menyimpan.
Atur YubiKey untuk Sudo Authentication di Linux
sudo adalah salah satu perintah paling berbahaya di lingkungan Linux. Di tangan kanan, ini memberikan tingkat akses yang mengesankan yang cukup untuk menyelesaikan sebagian besar pekerjaan. Di tangan yang salah, akses tingkat root yang disediakan sudo dapat memungkinkan pengguna jahat mengeksploitasi atau menghancurkan sistem.
YubiKey sangat baik untuk autentikasi sudo karena autentikasinya hampir tidak mungkin ditiru tanpa akses ke YubiKey itu sendiri. Sebagian besar YubiKey kompatibel dengan autentikasi sudo, termasuk Seri 5 FIP, Seri Kunci, Seri 4 FIP, Seri Bio, Seri 5, dan Seri 4.
Berdasarkan Yubico, langkah pertama yang perlu Anda lakukan untuk mengonfigurasi otentikasi sudo adalah membuat file aturan. Jika versi udev Anda 188 atau lebih tinggi, instal aturan U2F baru dari GitHub dan salin 70-u2f.rules mengajukan ke /etc/udev/rules.d.
Jika versi udev Anda di bawah 188, instal aturan U2F lama dari GitHub dan salin 70-old-u2f.rules mengajukan ke /etc/udev/rules.d.
Jika versi udev Anda 244 atau lebih tinggi atau Anda telah membuat file aturan yang diperlukan, Anda siap menautkan YubiKey dengan akun Anda.
Masukkan YubiKey ke komputer Anda, buka terminal, dan masukkan perintah berikut untuk menautkan YubiKey dengan akun Anda:
mkdir -p ~/.config/Yubicopamu2fcfg > ~/.config/Yubico/u2f_keys
Tunggu beberapa saat hingga lampu indikator di YubiKey Anda mulai berkedip. Sentuh tombol di YubiKey Anda untuk mengonfirmasi tautan perangkat.
Jika Anda memiliki YubiKey lain, Anda harus menambahkannya sebagai perangkat cadangan dengan memasukkan perintah berikut dan menyelesaikan proses yang sama:
pamu2fcfg -n >> ~/.config/Yubico/u2f_keys
Terakhir, Anda harus mengonfigurasi perintah sudo untuk meminta otentikasi YubiKey. Anda harus mulai dengan memasukkan perintah berikut untuk membuka file konfigurasi sudo:
sudo vi /etc/pam.d/sudo
Setelah file konfigurasi terbuka, rekatkan baris berikut tepat di bawah @sertakan autentikasi umum baris untuk mengonfigurasi sudo untuk meminta otentikasi YubiKey:
auth diperlukan pam_u2f.so
Simpan dan keluar dari file dengan menekan Melarikan diri, mengetik : wq, dan menekan Memasuki, tetapi biarkan terminal tetap terbuka. Anda tidak akan dapat membalikkan perubahan yang Anda buat pada autentikasi sudo jika terminal ditutup.
Buka terminal kedua dan jalankan perintah berikut dengan YubiKey Anda dicabut, lalu masukkan kata sandi Anda:
pengujian gema sudo
Proses otentikasi akan gagal. Masukkan YubiKey Anda dan masukkan kembali perintah dan kata sandi Anda. Saat lampu indikator YubiKey mulai berkedip, sentuh tombol di YubiKey Anda. Itu harus mengotentikasi perintah. Jika ya, YubiKey Anda sudah diatur sepenuhnya untuk autentikasi sudo.
Cara Mengatur YubiKey untuk Otentikasi SSH
Anda juga dapat menggunakan YubiKey untuk autentikasi SSH! Beberapa seri YubiKey kompatibel dengan SSH, antara lain Seri 5 FIPS, Seri 5, Seri 4 FIPS, dan Seri 4. Menggunakan YubiKey untuk mengotentikasi koneksi Anda akan memungkinkan Anda melakukannya membuat setiap login SSH jauh lebih aman.
Metode terbaik untuk menyiapkan YubiKey diuraikan oleh pengguna berpengalaman di GitHub. Anda memerlukan SSH 8.2 atau yang lebih baru dan YubiKey dengan firmware 5.2.3 atau yang lebih baru. Anda dapat memeriksa versi OpenSSH Anda—dan memperbaruinya jika perlu—dengan perintah berikut:
ssh -V
sudo apt update && sudo apt upgrade
Selanjutnya, Anda harus mengonfigurasi SSH untuk menerima YubiKey Anda. Masukkan perintah berikut untuk buka editor vi dan edit file konfigurasi:
sudo vi /etc/ssh/sshd_config
Tambahkan baris berikut ke file konfigurasi agar YubiKey Anda diterima:
PubkeyAcceptedKeyTypes [email protected], [email protected]
Simpan dan keluar dari file dengan menekan Melarikan diri, mengetik : wq, dan memukul Memasuki. Terakhir, restart layanan SSH dengan perintah berikut agar konfigurasi baru Anda menjadi aktif:
layanan sudo ssh restart
Terakhir, Anda siap membuat pasangan kunci yang akan Anda gunakan untuk autentikasi SSH. Arahkan ke direktori SSH dan buat kunci SSH baru Anda dengan perintah berikut:
cd rumah/nama pengguna/.ssh
ssh-keygen -t ed25519-sk
Dua file akan dibuat di ~/.ssh/ direktori. Perhatikan bahwa Anda mungkin perlu menggunakan ecdsa-sk alih-alih ed25519-sk jika sistem Anda tidak kompatibel dan terminal meminta pendaftaran kunci gagal.
Selanjutnya, Anda harus menambahkan kunci publik ke server Anda dengan perintah berikut:
ssh-copy-id -i ~/.ssh/id_ed25519_sk.pub namapengguna@server
Anda juga harus menambahkan diri Anda ke file sudoers sehingga Anda mempertahankan izin setelah menonaktifkan login root. Akses file dan buka dengan visudo.
Jangan buka file sudoers dengan editor teks biasa.
Di bawah baris yang berbunyi akar SEMUA = (SEMUA: SEMUA) SEMUA, tambahkan baris berikut:
nama pengguna ALL=(SEMUA: SEMUA) SEMUA
Buka /etc/ssh/ssd_config file dan tambahkan baris berikut untuk menonaktifkan login root dan login berbasis kata sandi:
ChallengeResponseAuthentication noPermitRootLogin no
Terakhir, masukkan perintah berikut untuk memuat kunci Anda ke agen SSH selama durasi sesi:
ssh-tambahkan ~/.ssh/id_ed25519_sk
Anda sekarang dapat menggunakan YubiKey Anda untuk autentikasi SSH. Anda harus memasukkan YubiKey ke komputer saat diminta dan mengetuk tombol saat indikator berkedip. Dengan metode autentikasi baru ini, akses SSH ke server jarak jauh Anda akan jauh lebih aman.
Penggunaan Potensial Lain dari YubiKey
Tidak ada batasan nyata bagaimana Anda dapat menggunakan YubiKey di sistem Linux Anda. Jika Anda ingin menjadikan PC Anda ekstra aman, pertimbangkan untuk menggunakan YubiKey Anda untuk enkripsi disk atau bebas kata sandi. Anda bahkan dapat menggunakannya untuk menandatangani email dan file jika Anda mau.
Amankan Sistem Linux Anda Dengan YubiKey
Anda tidak harus berhenti hanya menggunakan YubiKey untuk otentikasi SSH dan sudo. Anda juga dapat menggunakan YubiKey untuk mengautentikasi akses ke banyak akun Anda di seluruh web. Bagian terbaiknya adalah memulai dengan YubiKey 2FA adalah proses yang sederhana.