Skip to content

emka.web.id

Menu
  • Home
  • Indeks Artikel
  • Tutorial
  • Tentang Kami
Menu

Cara Mengatur Otentikasi Multi-Faktor Untuk SSH Di Linux

Posted on January 31, 2022 by Syauqi Wiryahasana

Dalam panduan ini, kita akan mempelajari apa itu otentikasi Multi-Faktor dan pentingnya dan akhirnya bagaimana mengatur otentikasi Multi-Faktor untuk SSH di Linux menggunakan aplikasi Google Authenticator. UserConfigure SSH Untuk Otentikasi Multi-FaktorUji Otentikasi Dua Faktor Otentikasi Multi-Faktor Untuk Otentikasi Berbasis KunciLangkah PemulihanKesimpulanPengenalan

Keamanan adalah bisnis yang serius. Jumlah kompromi meningkat secara signifikan dari hari ke hari dan diperkirakan bahwa pada tahun 2025 kejahatan dunia maya akan menyebabkan perusahaan 10,5 triliun USD.

Penting agar lapisan keamanan yang kuat diterapkan di semua lapisan tumpukan teknologi. Pada artikel ini, kita akan melihat salah satu implementasi keamanan untuk ssh menggunakan otentikasi multi-faktor.

SSH, singkatan dari Secure Shell, adalah protokol jaringan yang memungkinkan pengguna untuk terhubung ke mesin jarak jauh (server) dan mengakses sumber daya.

Ssh protokol menerapkan dua jenis keamanan yaitu otentikasi berbasis kata sandi, dan otentikasi berbasis kunci.

Otentikasi berbasis kunci (publik -> pribadi) dianggap lebih aman dibandingkan dengan otentikasi berbasis kata sandi dan sebagian besar instruksi pengerasan SSH direkomendasikan untuk menonaktifkan otentikasi berbasis kata sandi dan hanya mengaktifkan otentikasi berbasis kunci.

Terlepas dari mekanisme otentikasi apa yang Anda pilih, Anda dapat membuat ssh lebih aman dengan menerapkan pengaturan otentikasi multi-faktor.
Apa itu Otentikasi Multi-Faktor?

Otentikasi faktor-mutli (singkatnya MFA) adalah proses aman otentikasi yang membutuhkan lebih dari satu teknik otentikasi yang dipilih dari kategori independen c redentials.

Otentikasi Multi-Faktor kadang-kadang juga disebut sebagai "Otentikasi dua faktor (2FA)".

Ada dua faktor yang terlibat dalam memvalidasi siapa Anda sebenarnya. Faktor pertama adalah kata sandi yang dibuat saat akun pengguna Anda dibuat.

Faktor kedua adalah aplikasi apa pun yang menghasilkan OTP atau protokol apa pun yang mengirimi Anda pesan teks atau melakukan panggilan ke perangkat Anda.

Tergantung pada bagaimana aplikasi diimplementasikan cara Anda mengautentikasi bervariasi. Beberapa alat umum yang Anda gunakan untuk MFA adalah: Aplikasi
diinstal pada perangkat seluler yang menghasilkan token. Perangkat eksternal seperti Yubikey. Sidik Jari. Pengenalan wajah. Pesan Teks atau kata sandi OTP berbasis panggilan.
Untuk mengaktifkan otentikasi multi-faktor untuk ssh, kami akan menggunakan aplikasi "Google Authenticator" yang menggunakan protokol OATH-TOTP. Ada alat alternatif lain seperti Twilio Authy atau FreeOTP yang dapat Anda instal dan coba.

Kita akan mulai dengan menginstal aplikasi Google Authenticator di server dan perangkat seluler dan mencoba mengaktifkan MFA dan memvalidasi.
Instal Google Authenticator

Pertama Instal aplikasi Google Authenticator di perangkat Android atau iOS Anda melalui playstore/Itunes.

Sekarang, instal aplikasi Google Authenticator di sistem Linux Anda.

Tergantung pada distribusi Anda, jalankan perintah instalasi berikut.

Di Ubuntu dan distribusi turunannya jalankan perintah berikut.
$ sudo apt install libpam-google-authenticator

In distribusi berbasis RHEL jalankan perintah berikut.
$ sudo dnf install google-authenticator -y

Untuk distribusi berbasis Arch jalankan perintah berikut langkah dalam mengatur MFA, Anda harus menjalankan yang berikut ing perintah dari terminal Anda. Ini akan menangani pengaturan awal dengan membuat kunci TOTP. Kunci ini untuk pengguna yang menjalankan perintah dan tidak berlaku untuk semua pengguna di sistem.
$ google-authenticator

Ada beberapa urutan langkah di mana Anda akan diminta dengan opsi (y/n).

LANGKAH 1 - Ini akan meminta Anda untuk memilih token autentikasi berbasis waktu. Token otentikasi berbasis waktu akan menghasilkan kode baru setiap 30 detik. Tekan "y" untuk melanjutkan.

STEP 2 - Token rahasia akan dibuat bersama dengan kode QR. Buka aplikasi seluler Google Authenticator dan pindai kode QR atau ketikkan kunci rahasia secara manual untuk mendaftarkan perangkat. Setelah selesai, sekarang aplikasi akan mulai menghasilkan token setiap 30 detik.

LANGKAH 3 - Pada langkah ini, Anda akan diminta untuk memperbarui file .google_authenticator di bawah direktori home Anda. Semua kunci rahasia, kode verifikasi, kode gores darurat disimpan dalam file ini. Tekan "y" untuk melanjutkan.

STEP 4 - Memilih "y" pada langkah ini akan segera membuat token kedaluwarsa setelah Anda menggunakannya untuk mengautentikasi. Dalam hal ini, bahkan jika beberapa peretas mendapatkan token Anda, token itu akan kedaluwarsa.

LANGKAH 5 - Langkah ini memutuskan berapa banyak token yang diizinkan dan jangka waktunya. Ketika saya memilih "n", itu akan memungkinkan 3 token dalam jendela 90 detik. Jika saya menekan "y", itu akan memungkinkan 17 token dalam jendela waktu 240 detik.

STEP 6 - Langkah ini akan meminta Anda untuk mengaktifkan pembatasan kecepatan. Pembatasan kecepatan memungkinkan penyerang untuk mencoba hanya 3 upaya login setiap 30 detik. Jika token salah maka mereka harus menunggu N kali untuk mencoba lagi.

Kami telah menyelesaikan langkah pertama. Buka file ~/.google_authenticator dan Anda dapat menemukan semua pengaturan dan kode rahasia yang kami buat melalui semua langkah ini.
$ cat ~/.google_authenticator

Anda juga dapat meneruskan argumen ke perintah google-authenticator yang akan membuat kunci dan pengaturan lainnya tanpa melalui urutan langkah ini.
$ google-authenticator -q -t -d -f -r 3 -R 30 -w 3

Lihat bagian bantuan autentikator Google untuk menemukan apa yang akan dilakukan argumen tersebut.
$ google-authenticator –- help
Konfigurasi SSH Untuk Multi-Factor Authentication

Kita harus membuat beberapa perubahan konfigurasi pada openSSH sehingga kita dapat mulai menggunakan MFA.

Catatan:
Sebagai praktik terbaik, selalu buat cadangan file konfigurasi Anda sebelum melakukan perubahan apa pun. Jika ada yang kacau, perubahan dapat dikembalikan. Karena Anda membuat perubahan pada file konfigurasi SSH, pastikan Anda memiliki sesi yang dibuka secara terpisah, sehingga Anda tidak akan terkunci dari diri sendiri secara tidak sengaja.
Jalankan perintah berikut untuk mundur up file konfigurasi SSH.
$ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup$ sudo cp /etc/pam.d/sshd /etc/pam.d/sshd.backup
Pertama, aktifkan SSH untuk digunakan MFA dengan mengatur opsi ChallengeResponseAuthentication ke "yes".

Selanjutnya, edit file /etc/pam.d/sshd:
$ sudo vi /etc/pam.d/sshd

Dan tambahkan baris berikut ke bagian bawah file.
auth diperlukan pam_google_authenticator.so nullok auth diperlukan pam_permit.so

Jika Anda ingin membuat MFA wajib untuk semua pengguna, hilangkan kata "nullok".

Mulai ulang layanan ssh untuk membuat perubahan efektif.
$ sudo systemctl restart sshd
Test Two Factor Authentication's Two Factor Authentication jika perubahan yang kita buat a re efektif.

Hubungkan ke server melalui SSH dan Anda akan dimintai kata sandi sebagai faktor pertama diikuti dengan kode verifikasi sebagai otentikasi faktor kedua seperti yang ditunjukkan pada gambar di bawah ini.
$ ssh [email protected]/IPaddress

Sekali Anda memasukkan kata sandi SSH dan kode verifikasi, Anda akan dapat masuk.

Apakah Anda ingat bahwa kami belum mengaktifkan MFA sebagai kewajiban untuk semua pengguna? Mari kita uji dan lihat apakah saya dapat terhubung dengan pengguna lain di mana saya tidak membuat dan menyiapkan tokens.

Saya memiliki pengguna penguji dan saya dapat terhubung dengan sukses tanpa meminta kode verifikasi.

See? Saya dapat masuk tanpa kode verifikasi juga.
Otentikasi Multi-Faktor Untuk Otentikasi Berbasis Kunci

Jika Anda telah menyiapkan otentikasi berbasis kunci, maka Anda tidak akan dipromosikan untuk kata sandi atau kode verifikasi. Mengapa?

Karena, secara default ssh menggunakan otentikasi kunci publik terlebih dahulu dan jika ada kunci yang ditemukan maka akan diautentikasi menggunakan itu. Jika kunci tidak ditemukan, itu akan menggunakan otentikasi berbasis kata sandi.

Anda dapat menggunakan mode verbose untuk memeriksa ini.
$ ssh -v[email protected]/IPaddress ## Dengan verbose

Tambahkan baris berikut ke bawah /etc/ ssh/sshd_config file:
AuthenticationMethods publickey,password publickey,keyboard-interactive

Selanjutnya buka /etc/pam.d/sshd dan beri komentar pada baris berikut.

Jika Anda tidak berkomentar "@include common-auth", maka itu akan mengaktifkan lebih banyak dari dua faktor untuk mengotentikasi. Ini pertama-tama akan mengautentikasi menggunakan kunci diikuti dengan kata sandi dan token. Yang saya butuhkan hanyalah kunci dan token untuk otentikasi saya, jadi saya menonaktifkannya.

Mulai ulang layanan sshd dan uji apakah perubahannya berfungsi dengan baik. faktor pertama dan kode verifikasi sebagai faktor kedua untuk mengautentikasi. Langkah Pemulihan


Mungkin ada skenario di mana Anda mungkin kehilangan atau mengubah perangkat seluler Anda. Dalam hal ini, Anda harus menginstal ulang aplikasi google-authenticator dan mendaftarkan kunci rahasia untuk mulai membuat token.

Jika Anda terkunci dari sistem, maka Anda harus menghubungi administrator sistem untuk memberi Anda kunci rahasia baru untuk mendaftar dan menggunakannya. Tetapi ada pendekatan alternatif di mana Anda dapat masuk dan membuat kunci sendiri.

Ingat kode yang dihasilkan selama langkah awal? Anda dapat menggunakan kode gores darurat sebagai token untuk masuk. Setiap kode gores hanya dapat digunakan sekali. Simpan di tempat yang aman sehingga dapat digunakan saat dibutuhkan.

Kode disimpan di ~/.google_authenticator file.
$ cat ~/.google_authenticator

Sekarang Anda dapat membuat ulang kunci Anda sendiri lagi dengan menjalankan perintah berikut.
$ google- authenticator
Conclusion

Dalam artikel ini, saya telah menunjukkan kepada Anda cara menginstal google authenticator dan mengaktifkan Otentikasi Multi-faktor untuk SSH dengan konfigurasi yang berbeda.

Sebagai administrator, Anda juga dapat menulis skrip bash untuk mengotomatiskan proses pembuatan kunci rahasia dan membaginya dengan pengguna . Anda juga harus mengeraskan ssh sebelum mengatur MFA, sehingga sistem Anda lebih aman. Kami berencana untuk membahasnya dalam artikel terpisah. Tetap disini!

Baca Terkait:
Cara Mengonfigurasi Otentikasi Berbasis Kunci SSH Di LinuxTemukan Jika Seorang Pengguna Menggunakan Otentikasi SSH Berbasis Kata Sandi Atau Berbasis KunciCara Mengizinkan Atau Menolak Akses SSH Ke Pengguna Atau Grup Tertentu Di LinuxNonaktifkan Otentikasi Kata Sandi SSH Untuk Tertentu Pengguna Atau Grup
Seedbacklink

Recent Posts

TENTANG EMKA.WEB>ID

EMKA.WEB.ID adalah blog seputar teknologi informasi, edukasi dan ke-NU-an yang hadir sejak tahun 2011. Kontak: kontak@emka.web.id.

©2024 emka.web.id Proudly powered by wpStatically