Bisa jadi? Server OpenVPN yang membutuhkan login berbasis sertifikat dan kata sandi (melalui firmware router Tomat)


8

Saya telah menggunakan Shibby build of Tomato (versi NVRAM 64k) pada router Asus N66U saya untuk menjalankan server OpenVPN.

Saya ingin tahu apakah mungkin untuk menyiapkan server OpenVPN ini untuk memerlukan sertifikat DAN nama pengguna / kata sandi sebelum pengguna diizinkan mengakses.

Saya perhatikan ada entri "kata sandi tantangan" ketika mengisi rincian sertifikat, tetapi semua orang mengatakan untuk membiarkannya kosong "atau yang lain"; Saya tidak tahu mengapa, dan saya tidak dapat menemukan penjelasan. Selain itu, saya sudah banyak membahas masalah ini di Google dan telah memperhatikan orang-orang berbicara tentang modul PAM untuk OpenVPN untuk mengautentikasi melalui nama pengguna / kata sandi, tetapi itu tampaknya merupakan opsi salah satu atau /; dengan kata lain, saya dapat memaksa otentikasi melalui nama pengguna / kata sandi ATAU sertifikat. Saya ingin meminta keduanya.

Apakah ini mungkin? Jika ya, bagaimana caranya?

Jawaban:


4

Fitur OpenVPN Anda cari, yang akan memungkinkan server untuk klien mengotentikasi berdasarkan kedua sertifikat dan credential, apakah auth-user-pass-verify. Fitur ini memungkinkan server untuk meneruskan nama pengguna / kata sandi yang disediakan oleh pengguna jarak jauh ke skrip yang melakukan otentikasi. Pada titik itu Anda dapat memvalidasi kredensial terhadap apa pun yang Anda inginkan - PAM, RADIUS, LDAP, sinyal asap, dll.

Saya tidak tahu apa-apa tentang firmware "Tomat", jadi saya bahkan tidak akan mencoba memberi Anda selangkah demi selangkah di sini. Saya melakukan pencarian cepat dan saya curiga Anda bisa menggunakan opsi "Konfigurasi Kustom" OpenVPN untuk memasukkan auth-user-pass-verifyreferensi. Anda akan memerlukan skrip untuk melakukan otentikasi.

Lakukan pencarian dan saya kira Anda akan menemukan "Tomat" - referensi khusus.


2

Kata sandi tantangan adalah frasa sandi yang digunakan untuk memungkinkan dekripsi kunci. Itulah satu-satunya cara Anda benar-benar dapat melakukan "kata sandi" dan kunci.

Anda benar-benar hanya dapat memverifikasi dengan kata sandi atau kunci, bukan keduanya. Jika kedua metode ini diaktifkan, ia akan mencoba otentikasi kunci terlebih dahulu, dan jika gagal, itu akan kembali ke otentikasi kata sandi.

Tidak memiliki frasa sandi pada kunci membuatnya lebih mudah bagi seseorang untuk meniru identitas Anda jika mereka mendapatkan kunci tersebut.

Saya sarankan mencari tahu mengapa interwebz mengatakan Anda tidak boleh menggunakan kata sandi pada kunci dan melihat apakah itu benar-benar masalah.


Ya itu yang saya sudah kesulitan menjawab. Semoga orang lain bisa mencerahkan kita dalam hal itu; sepertinya saran yang berlawanan dengan intuisi.
Eric

Sementara itu, apakah ada cara terukur untuk membandingkan kekuatan persyaratan sertifikat + hanya dengan kombo nama pengguna / kata sandi? Saya berasumsi bahwa urutan besarnya lebih sulit untuk dipecahkan, tetapi itu hanya asumsi berdasarkan pengetahuan mendalam saya.
Eric

Ini adalah jawaban lama tapi ... Bukan itu kata sandi tantangan dan apa yang dilakukan. Anda dapat menggunakan kata sandi untuk melindungi kunci, seperti dijelaskan di atas, tetapi kata sandi tantangan adalah sesuatu yang tidak terkait. Itu tidak disimpan di sertifikat atau kunci, tetapi disimpan dengan CA. Ini dimaksudkan untuk digunakan saat menggunakan CA untuk mencabut kunci atau mengeluarkan pengganti.
Jack B

2

auth-user-pass-memverifikasi adalah hal yang benar untuk dilakukan. Selain itu Anda dapat memaksa pengguna auth-user harus menjadi CN bersertifikat. Anda juga dapat memaksa openvpn untuk membuat hanya satu koneksi setiap sertifikat pada satu waktu.

Dengan cara itu "mimic" harus memiliki pengguna yang tepat dibandingkan dengan certc CN dan pass yang tepat dan dia harus masuk pada saat pemilik sebenarnya melakukan

Selain itu Anda mungkin berpikir tentang IDS, tergantung mana yang Anda pilih, Anda bahkan dapat mempersempitnya di sana seperti rentang ip eksternal yang diizinkan, waktu masuk dan sebagainya.

Sertifikat yang terbuka harus segera dicabut. Server penandatanganan harus tidak aktif - kunci transfer oleh usb - maka Anda memiliki akses aman yang sangat ketat.

dan tidak, Anda seharusnya tidak membuat kata sandi sertifikat.

  1. Mudah bruteforce.
  2. Anda tidak dapat mengunci pengguna (sertifikat lulus hanya offline).
  3. Orang-orang kehilangan kata sandi mereka setiap saat memaksa Anda untuk mencabut dan membuat ulang sertifikat setiap kali - risiko besar memiliki banyak sertifikat di luar sana di mana Anda mungkin kadang-kadang lupa mencabutnya.

Tetapi jika Anda benar-benar mau, Anda dapat menggunakan auth-user dan kata sandi cert pada saat yang sama tidak akan ada fallback atau sesuatu.

Openvpn pertama akan menggunakan kata sandi cert untuk mendekripsi kunci privat untuk membuat koneksi - kemudian auth-pengguna menendang serveridly - jika kredensial salah Anda keluar.

Namun, jika seorang penyerang mendapatkan kredensial reguler, Anda sudah dalam kesulitan dan kemungkinan besar ia juga mendapatkan kata sandi sertifikat.

Jadi saya tidak melihat manfaat nyata di sini hanya banyak kerugian dan perasaan lebih aman yang salah.


0

Saya mengikuti tutorial ini (dengan TomatoUSB Shibby 1.28 pada Asus N66U saya): http://www.dd-wrt.com/wiki/index.php/OpenVPN Ini mungkin banyak membantu Anda.


2
AndyZ - selamat datang di SF, tapi kami senang jawaban di sini mengandung lebih banyak substansi daripada sekadar tautan (yang dapat membusuk seiring bertambahnya usia). Jika Anda bisa merombak jawaban ini untuk mengandung bit-bit penting dari metode yang telah Anda ikuti serta tautan ke artikel, itu bisa menjadi jawaban yang sangat bagus.
MadHatter
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.