Cara Masuk ke Desktop Linux Anda Dengan Google Authenticator
Untuk keamanan tambahan, Anda dapat memerlukan token otentikasi berbasis waktu serta kata sandi untuk masuk ke PC Linux Anda. Solusi ini menggunakan Google Authenticator dan aplikasi TOTP lainnya.
Proses ini dilakukan pada Ubuntu 14.04 dengan desktop Unity standar dan manajer login LightDM, tetapi prinsip-prinsipnya sama pada sebagian besar distribusi dan desktop Linux.
Kami sebelumnya menunjukkan kepada Anda cara meminta Google Authenticator untuk akses jarak jauh melalui SSH, dan proses ini serupa. Ini tidak memerlukan aplikasi Google Authenticator, tetapi bekerja dengan aplikasi apa pun yang kompatibel yang mengimplementasikan skema otentikasi TOTP, termasuk Authy.
Instal PAM Google Authenticator
Seperti ketika mengatur ini untuk akses SSH, pertama-tama kita harus menginstal perangkat lunak PAM ("modul otentikasi-pluggable") yang sesuai. PAM adalah sistem yang memungkinkan kita untuk menghubungkan berbagai jenis metode otentikasi ke sistem Linux dan membutuhkannya.
Di Ubuntu, perintah berikut akan menginstal PAM Google Authenticator. Buka jendela Terminal, ketik perintah berikut, tekan Enter, dan berikan kata sandi Anda. Sistem akan mengunduh PAM dari repositori perangkat lunak distribusi Linux Anda dan menginstalnya:
sudo apt-get install libpam-google-authenticator
Distribusi Linux lain semoga juga menyediakan paket ini untuk kemudahan instalasi - buka repositori perangkat lunak distribusi Linux Anda dan lakukan pencarian untuk itu. Dalam skenario kasus terburuk, Anda dapat menemukan kode sumber untuk modul PAM di GitHub dan mengompilasinya sendiri.
Seperti yang kami tunjukkan sebelumnya, solusi ini tidak bergantung pada "menelepon ke rumah" ke server Google. Ini mengimplementasikan algoritma TOTP standar dan dapat digunakan bahkan ketika komputer Anda tidak memiliki akses Internet.
Buat Kunci Otentikasi Anda
Anda sekarang harus membuat kunci autentikasi rahasia dan memasukkannya ke dalam aplikasi Google Authenticator (atau yang serupa) di ponsel Anda. Pertama, masuk sebagai akun pengguna Anda di sistem Linux Anda. Buka jendela terminal dan jalankan google-authenticator perintah. Mengetik y dan ikuti petunjuknya di sini. Ini akan membuat file khusus di direktori akun pengguna saat ini dengan informasi Google Authenticator.
Anda juga akan menjalani proses memasukkan kode verifikasi dua faktor ke Google Authenticator atau aplikasi TOTP serupa di ponsel cerdas Anda. Sistem Anda dapat menghasilkan kode QR yang dapat Anda pindai, atau Anda dapat mengetiknya secara manual.
Pastikan untuk mencatat kode awal darurat Anda, yang dapat Anda gunakan untuk login jika Anda kehilangan ponsel.
Ikuti proses ini untuk setiap akun pengguna yang menggunakan komputer Anda. Misalnya, jika Anda adalah satu-satunya orang yang menggunakan komputer Anda, Anda bisa melakukannya sekali saja di akun pengguna normal Anda. Jika Anda memiliki orang lain yang menggunakan komputer Anda, Anda akan ingin mereka masuk ke akun mereka sendiri dan menghasilkan kode dua faktor yang sesuai untuk akun mereka sendiri sehingga mereka dapat masuk.
Aktifkan Otentikasi
Di sinilah segalanya menjadi sedikit dicy. Ketika kami menjelaskan cara mengaktifkan dua faktor untuk login SSH, kami hanya membutuhkannya untuk login SSH. Ini memastikan Anda masih bisa masuk secara lokal jika Anda kehilangan aplikasi otentikasi Anda atau jika ada kesalahan.
Karena kami akan mengaktifkan otentikasi dua faktor untuk login lokal, ada masalah potensial di sini. Jika terjadi kesalahan, Anda mungkin tidak dapat masuk. Mengingat hal itu, kami akan memandu Anda mengaktifkannya hanya untuk login grafis saja. Ini memberi Anda jalan keluar darurat jika Anda membutuhkannya.
Aktifkan Google Authenticator untuk Login Grafis di Ubuntu
Anda selalu dapat mengaktifkan otentikasi dua langkah hanya untuk login grafis, melewatkan persyaratan saat Anda masuk dari prompt teks. Ini artinya Anda dapat dengan mudah beralih ke terminal virtual, masuk ke sana, dan mengembalikan perubahan Anda sehingga Gogole Authenciator tidak akan diperlukan jika Anda mengalami masalah.
Tentu, ini membuka lubang di sistem otentikasi Anda, tetapi seorang penyerang dengan akses fisik ke sistem Anda sudah dapat mengeksploitasinya. Itu sebabnya otentikasi dua faktor sangat efektif untuk login jarak jauh melalui SSH.
Berikut cara melakukannya untuk Ubuntu, yang menggunakan manajer login LightDM. Buka file LightDM untuk diedit dengan perintah seperti berikut:
sudo gedit /etc/pam.d/lightdm
(Ingat, langkah-langkah khusus ini hanya akan berfungsi jika distribusi dan desktop Linux Anda menggunakan manajer login LightDM.)
Tambahkan baris berikut ke akhir file, lalu simpan:
auth diperlukan pam_google_authenticator.so nullok
Bit "nullok" di bagian akhir memberitahu sistem untuk membiarkan pengguna masuk walaupun mereka belum menjalankan perintah google-authenticator untuk mengatur otentikasi dua faktor. Jika mereka telah mengaturnya, mereka harus memasukkan kode waktu-baesd - jika tidak, mereka tidak akan melakukannya. Hapus "nullok" dan akun pengguna yang belum membuat kode Google Authenticator tidak akan dapat masuk secara grafis.
Kali berikutnya seorang pengguna log in secara grafis, mereka akan dimintai kata sandi dan kemudian diminta kode verifikasi saat ini ditampilkan di ponsel mereka. Jika mereka tidak memasukkan kode verifikasi, mereka tidak akan diizinkan masuk.
Prosesnya harus serupa untuk distribusi dan desktop Linux lainnya, karena sebagian besar manajer sesi desktop Linux menggunakan PAM. Anda mungkin harus mengedit file lain dengan sesuatu yang mirip untuk mengaktifkan modul PAM yang sesuai.
Jika Anda Menggunakan Enkripsi Direktori Rumah
Rilis Ubuntu yang lebih lama menawarkan opsi "enkripsi folder rumah" yang mudah yang mengenkripsi seluruh direktori home Anda hingga Anda memasukkan kata sandi Anda. Secara khusus, ini menggunakan ecryptfs. Namun, karena perangkat lunak PAM bergantung pada file Google Authenticator yang tersimpan di direktori home Anda secara default, enkripsi mengganggu PAM membaca file kecuali Anda memastikan itu tersedia dalam bentuk tidak terenkripsi ke sistem sebelum Anda login. Konsultasikan README untuk lebih informasi tentang menghindari masalah ini jika Anda masih menggunakan opsi enkripsi direktori home yang sudah tidak digunakan lagi.
Versi modern Ubuntu menawarkan enkripsi disk penuh, yang akan berfungsi dengan baik dengan opsi di atas. Anda tidak perlu melakukan sesuatu yang istimewa
Tolong, Itu Rusak!
Karena kami baru saja mengaktifkan ini untuk login grafis, itu harus mudah dinonaktifkan jika menyebabkan masalah. Tekan kombinasi tombol seperti Ctrl + Alt + F2 untuk mengakses terminal virtual dan masuk dengan nama pengguna dan kata sandi Anda. Anda kemudian dapat menggunakan perintah seperti sudo nano /etc/pam.d/lightdm untuk membuka file untuk diedit di editor teks terminal. Gunakan panduan kami untuk Nano untuk menghapus baris dan menyimpan file, dan Anda akan dapat masuk kembali secara normal.
Anda juga dapat memaksa Google Authenticator untuk meminta jenis login lainnya - bahkan mungkin semua login sistem - dengan menambahkan baris “auth required pam_google_authenticator.so” ke file konfigurasi PAM lainnya. Hati-hati jika Anda melakukan ini. Dan ingat, Anda mungkin ingin menambahkan "nullok" sehingga pengguna yang belum melalui proses pengaturan masih bisa masuk.
Dokumentasi lebih lanjut tentang cara menggunakan dan mengatur modul PAM ini dapat ditemukan di file README perangkat lunak di GitHub.