GNU/Linux >> Belajar Linux >  >> Linux

Cara mengatur alat OTP Anda dengan privacyIDEA


oleh Nemo @ pixabay

Dalam cara ini kami akan menyiapkan sistem yang dapat bertindak sebagai alat OTP pribadi Anda, mengelola semua perangkat otentikasi di jaringan Anda. Anda kemudian dapat mengonfigurasi layanan Anda untuk mengautentikasi terhadap mesin ini. Ini adalah ide yang baik untuk menggunakan beberapa mekanisme virtualisasi. Jika Anda memiliki perangkat keras lama, ini sama baiknya.

Kami akan menginstal privacyIDEA pada sistem Ubuntu 14.04 LTS, yang mungkin telah Anda lihat sebelumnya di sini atau di sini. Tapi kali ini kita akan melakukannya dengan lebih halus dan elegan!

Instalasi dasar

Penafian: Saya berasumsi Anda adalah root pengguna dalam skenario ini. Jika tidak, Anda harus menambahkan "sudo" di depan setiap perintah.

Jadi pertama-tama kita menginstal server ubuntu biasa 14.04 LTS tanpa apa-apa. Harap jangan menginstal database atau server web apa pun. Anda hanya harus memilih openssh untuk dijalankan sebagai layanan di mesin ini.

Instal privacyIDEA

privacyIDEA 1.3.3 hadir dengan sekumpulan paket debian baru di repositori launchpad, yang membuatnya lebih mudah untuk diatur.

Pertama kita perlu menambahkan repositori ke sistem:

apt-get install software-properties-common
add-apt-repository ppa:privacyidea/privacyidea
apt-get update

Sekarang setelah kami menambahkan repositori privacyidea, Anda dapat melihat apa yang tersedia:

[dilindungi email]:~# apt-cache search privacyidea
privacyidea - sistem autentikasi dua faktor mis. untuk perangkat OTP
privacyideaadm - klien admin untuk privacyIDEA
privacyidea-radius - modul FreeRADIUS untuk privacyIDEA, otentikasi OTP
privacyidea-all - sistem otentikasi dua faktor. Ini adalah metapackage untuk menginstal semuanya.
privacyidea-otrs - modul OTRS untuk privacyIDEA, otentikasi OTP
privacyidea-nginx - sistem otentikasi dua faktor. Ini adalah paket meta untuk menginstal privacyidea dengan nginx
privacyidea-appliance - sistem otentikasi dua faktor. Ini adalah alat penyiapan untuk penyiapan sistem yang mudah.

Ada paket (meta) yang berbeda untuk skenario yang berbeda. Seperti yang disebutkan, kami ingin memasang semacam "alat". Jadi mari kita lakukan:

apt-get install privacyidea-appliance privacyidea-radius

Ini akan menginstal server web Nginx, database MySQL, server FreeRADIUS dan privacyIDEA dengan semua dependensi python.

Anda akan diminta untuk memasukkan kata sandi root MySQL. Pilih yang bagus - kita tidak membutuhkannya nanti!;-)

Setelah instalasi Anda siap untuk mengkonfigurasi alat Anda.

Konfigurasikan peralatan Anda

Ada alat untuk mengonfigurasi semua sarana yang diperlukan alat Anda. Mulai di baris perintah sebagai root pengguna.

privacyidea-setup-tui


Ini adalah alat UI teks berbasis dialog, yang memungkinkan Anda melakukan semua tugas yang relevan pada tingkat sistem operasi seperti mengelola administrator token Anda, mengatur tingkat log, membuat ulang enkripsi dan kunci penandatanganan, mengatur layanan web dan layanan RADIUS yang tepat, serta mengelola klien RADIUS Anda.

Setidaknya kita perlu melakukan tugas-tugas berikut:

  • buat setidaknya satu administrator token
  • membuat database MySQL
  • buat klien RADIUS
Pergi melalui alat untuk membiasakan diri, apa yang bisa dilakukan.

Alat ini didasarkan pada logika parser untuk file klien FreeRADIUS, file privacyIDEA ini, dan file nginx. Jadi Anda juga dapat mengedit file di baris perintah, perubahan akan dipertahankan.

Catatan: Alat penyiapan tidak akan menyimpan komentar apa pun dalam file, jika Anda mengedit file tersebut secara manual!

Buat administrator token Anda

Untuk mengelola administrator token Anda, buka privacyidea ? kelola admin .

Di sana Anda dapat memilih Tambahkan admin baru .

Anda akan diminta untuk:

  • Nama pengguna, tempat saya memilih admin dan
  • sandi (dua kali!) yang tidak bergema di layar.
Setelah itu, Anda akan melihat admin token baru dalam daftar. Anda dapat mengulangi langkah ini sesering yang Anda inginkan. Anda dapat menghapus administrator atau mengubah kata sandi, dengan memilih administrator dari daftar.


Sekarang Anda membuat admin Anda (atau admin), Anda dapat menekan batal dan batal dan kembali ke menu utama.

Buat database MySQL

Anda juga mungkin melewatkan langkah ini. privacyIDEA kemudian akan dijalankan dengan database SQLite di /var/lib/privacyidea/. Tapi kami memilih untuk menggunakan database MySQL dalam skenario ini.

Jadi, buka privacyIDEA ? basis data ...


Di sana Anda dapat memilih reset secara lokal , yang akan membuat database MySQL, membuat pengguna dan mengatur tabel database.


Ya, kami melakukannya!


Akhirnya Anda melihat konfigurasi baru, menggunakan database MySQL.

Buat klien RADIUS Anda


Di menu utama pilih FreeRADIUS ? konfigurasi klien untuk mengelola klien RADIUS Anda. /etc/freeradius/clients.conf default dilengkapi dengan klien localhost, inilah mengapa Anda sudah melihat satu klien dalam daftar.

Catatan: Anda tidak dapat menghapus klien terakhir, jadi kami membuat klien baru!

Kami akan membuat jaringan klien untuk mengatasi semua kemungkinan klien di jaringan Anda dan klien lokalhost, untuk menjalankan tes terhadap sistem. Jadi saya memilih nilai-nilai ini - Anda harus menyesuaikan jaringan yang sesuai:

  1. jaringansaya
      nama:jaringansaya
      ip:172.16.20.0
      netmask:24
      rahasia:topSecret4All
      nama pendek:kosong
  2. localhost
      nama:localhost
      ip:127.0.0.1
      netmask:32
      rahasia:topSecretOnce
      nama pendek:kosong

Kami memilih Tambahkan klien baru untuk membuat klien baru "mynetwork" dan dialog akan menanyakan nilai di atas kepada kami. Jadi semua klien di jaringan 172.16.200.0/24 akan dapat mengeluarkan permintaan RADIUS dengan rahasia RADIUS "topSecret4All".


Nama konfigurasi klien


Alamat IP


Netmask


Rahasia bersama


Nama pendek boleh dikosongkan

Anda dapat memilih klien "localhost" dan menghapusnya. Setelah itu Anda dapat membuat klien baru "localhost" sesuai dengan pengaturan di atas.

Selesai mengkonfigurasi

Sekarang Anda selesai mengkonfigurasi sistem dasar. Alat penyiapan harus menyadari, bahwa Anda mengubah data penting dan memulai ulang layanan. Tetapi untuk memastikan Anda dapat melakukannya secara manual:

service uwsgi restart
service freeradius restart

Daftarkan Token Anda

Anda sekarang dapat mendaftarkan perangkat autentikasi Anda, yang dilakukan menggunakan UI Web manajemen. Arahkan browser Anda ke https://your-server, terima peringatan sertifikat dari sertifikat yang ditandatangani sendiri dan Anda akan mendapatkan layar login:

Pada layar login ini Anda dapat login sebagai administrator token. Semua administrator token yang Anda buat perlu menambahkan "@admin" ke nama mereka, untuk menunjukkan, bahwa mereka adalah administrator.

UI web memberi Anda tampilan token, pengguna, kebijakan, mesin, dan log audit.

Hubungkan ke sumber pengguna

Karena privacyIDEA tidak mengelola pengguna itu sendiri, kami perlu membaca pengguna dari beberapa sumber. Kami akan menggunakan file /etc/passwd.

Klik konfigurasi privacyIDEA ? useridresolver , klik tombol Baru dan pilih Flatfile .

Klik simpan untuk menyimpan definisi resolver dengan nama "local".

Catatan: Kapan saja Anda dapat mengklik tanda tanya putih di lingkaran hijau yang akan membawa Anda ke bantuan online konteks di jendela browser lain. Sebenarnya ada baiknya membaca sesuatu tentang resolver dan alam;-).

Ketika Anda menutup jendela resolver, Anda akan dibawa secara otomatis ke jendela ranah atau Anda dapat mengklik privacyIDEA Config ? alam untuk menciptakan dunia baru. Dalam dialog ini Anda perlu mengklik Baru .

Masukkan nama ranah ("realm1") dan pilih resolver ("local") dan klik Simpan .

Kemudian Anda akan melihat ranah baru di daftar ranah Anda.

Anda dapat menutup jendela dan mengklik tab Tampilan Pengguna .

Daftarkan token ke pengguna

Di bagian bawah Anda dapat mencari pengguna dengan memasukkan "r*" dan mengklik cari tombol. Anda akan melihat root pengguna. Pilih pengguna dengan mengkliknya. Pengguna akan disebutkan di bilah sisi kiri sebagai pengguna yang dipilih. Sekarang Anda dapat mengklik tombol daftar di bilah sisi kiri.

Kemudian dialog pendaftaran akan terbuka. Pilih jenis token "HMAC eventbased" dan pilih buat kunci HMAC .

Klik tombol Daftar . Server akan membuat kunci rahasia dan merender kode QR yang dapat dipindai dengan Aplikasi Google Authenticator. Aplikasi Google Authenticator ini sekarang akan berfungsi sebagai perangkat otentikasi.

Setelah Anda memindai kode QR, Anda dapat mengklik OK dan akhirnya atur PIN - kata sandi yang hanya Anda yang tahu - untuk token ini.

Sekarang Anda memiliki dua faktor untuk mengautentikasi - PIN dan nilai OTP yang dihasilkan oleh perangkat autentikasi Anda.

Uji sistem Anda

Sekarang kita dapat memeriksa sistem dengan mengeluarkan permintaan RADIUS ke alat ini. Saya akan melakukannya dari sistem itu sendiri yang login sebagai root melalui ssh dengan perintah seperti:

echo "Nama Pengguna=root, Sandi=PIN+OTP" | radclient -s 127.0.0.1 auth topSecretOnce

Kata Sandi yang digabungkan dari PIN dan nilai OTP dan "topSecretOnce" menjadi rahasia bersama untuk localhost.

[dilindungi email]:~# echo "Nama Pengguna=root, Sandi=test570391" | radclient -s 127.0.0.1 auth topSecretOnce
Received response ID 209, code 3, length =55
Reply-Message ="server privacyIDEA ditolak aksesnya!"

Total autentikasi yang disetujui:0
Total autentikasi yang ditolak:1
Total autentikasi yang hilang:0

[email protected]:~# echo "User-Name=root, Password=test137634" | radclient -s 127.0.0.1 auth topSecretOnce
Received response ID 180, code 2, length =48
Reply-Message ="privacyIDEA akses diberikan"

Total autentikasi yang disetujui:1
Total autentikasi yang ditolak:0
Total autentikasi yang hilang:0

Catatan: Karena penghitung awal yang berbeda di Aplikasi dan di server, otentikasi pertama akan gagal.

Sekarang Anda dapat mengambil semua aplikasi berkemampuan RADIUS (Firewall, OpenVPN) dan mengonfigurasinya untuk mengautentikasi terhadap privacyIDEA menggunakan rahasia bersama yang telah ditentukan sebelumnya.

Selamat mengautentikasi!


Linux
  1. Amankan wadah Anda dengan SELinux

  2. Memecahkan masalah jaringan Anda dengan tcpdump

  3. Cara Menginstal Nextcloud dengan Docker di Server Linux Anda

  1. Bagaimana Menginstal dan Mengonfigurasi Bind untuk Mengatur Server DNS Anda?

  2. Cara Menginstal dan Mengatur Stack MERN dengan Nginx di Ubuntu 20.04

  3. Cara Menginstal atau Memigrasi WordPress dengan EasyEngine Setup

  1. Instal aplikasi di Linux dengan Flatpak

  2. Instal Linux dengan LVM

  3. Kelola koneksi SSH Anda dengan alat open source ini