Bagaimana cara saya mengatur otentikasi kartu pintar SSH?

9

Saya ingin dapat SSH ke mesin saya menggunakan Gemalto .NET Smart Card sebagai metode otentikasi. Bagaimana ini bisa dilakukan pada mesin Fedora 13 (atau gaya Red Hat generik)?

Ini adalah langkah kasar yang saya pikir diperlukan:

  1. Sertifikat pemberian kartu pintar (dan mungkin CA untuk menerbitkannya?)
  2. Dapatkan sertifikat ke kartu pintar
  3. Konfigurasikan server SSH untuk memungkinkan otentikasi kartu pintar dan mengkonfigurasinya untuk menggunakan sertifikat / CA tertentu
  4. Klien SSH yang memiliki dukungan kartu pintar (poin tambahan untuk yang berbasis Windows gratis)
Geoff Childs
sumber

Jawaban:

2

Driver Gemalto sekarang open source, saya percaya. Mereka memiliki kode sumber di situs web mereka.

Anda perlu mengkonfigurasi pammodul (saya tidak yakin bagaimana melakukan ini, tetapi kode itu pasti ada). Saya membayangkan pamkonfigurasi akan memerlukan pemetaan prinsip sertifikat ke id pengguna lokal.

GDM Saya percaya mendukung kartu pintar sekarang, tapi saya tidak yakin bagaimana mendeteksi itu. Saya akan mencoba mencari ini nanti (cara termudah mungkin hanya dengan mengintip gdmkode sumbernya).

Tentu saja ini semua membutuhkan pcscddan libpcsclitediinstal. Anda juga harus menyalin libgtop11dotnet.soke /usr/lib.

vwduder
sumber
Terima kasih! Itu membuat saya di jalur yang benar. Ada juga beberapa info yang sangat berguna di sini jika ada yang melihat pengaturan berbasis RedHat: centos.org/docs/5/html/Deployment_Guide-en-US/sso-ov.html
Geoff Childs
Di mana Anda menemukan file libgtop11dotnet.so?
user568021
2

Saya akan merekomendasikan kerberos. MIT menghasilkan klien & server krb5.

vwduder, dapatkah Anda merekomendasikan pembaca kartu pintar dan sumber kartu yang kompatibel dengan FIPS-201?

http://csrc.nist.gov/publications/fips/fips201-1/FIPS-201-1-chng1.pdf

Saya memiliki salinan di server saya sendiri, tetapi saya tidak cukup populer di stacktrace ini saat ini untuk membagikannya kepada Anda. Di atas hanya sedikit kurang dapat diandalkan daripada server kami sendiri, sehingga Anda mungkin akan bisa mendapatkannya dari mereka;)

[sunting] Saya sekarang cukup populer!

http://www.colliertech.org/state/FIPS-201-1-chng1.pdf

cjac
sumber
@vwduder mencoba membalas, tetapi dia belum menjadi bagian dari beta yang ditutup
cjac
Terima kasih cjac! Digabungkan dengan kontribusi vwduder, saya pikir saya sudah menjilatnya.
Geoff Childs
Keren! Satu lagi sementara aku memikirkannya. Ayah saya mendapat pujian karena menemukan ini. smartcardworld.com
cjac
1

Ketika menggunakan kunci RSA, 1) dan 2) sepele, karena seperti yang akan kita lihat dalam 3) sertifikat yang sebenarnya tidak relevan dalam konteks ini. Pergi saja ke cacert.org atau buat sertifikat yang ditandatangani sendiri dan Anda sudah siap.

Untuk 3) Anda harus mengekstrak kunci publik dan menginstalnya di $ HOME / .ssh / official_keys. Perhatikan kepemilikan dan izin file! (700 untuk .ssh, 600 untuk berwenang_kunci). Otentikasi kunci publik seluruh host tidak disarankan tetapi dibiarkan sebagai latihan untuk pikiran ingin tahu.

Adapun 4) Anda harus melihat ke Putty SC ( http://www.joebar.ch/puttysc/ ) atau -terutama-PuTTY-CAC ( http://www.risacher.org/putty-cac/ ) yang membaik setelah Putty SC dengan algoritma ekstraksi kunci publik yang lebih baik dan juga termasuk dukungan Kerberos-GSSAPI dari cabang pengembangan Putty.

kepala kode
sumber
0

Saya membuat video untuk ditampilkan menggunakan kartu pintar dengan server Linux menggunakan PuttySC dan SecureCRT . Anda dapat melihatnya di sini: Cara SSH dengan Kartu Cerdas Anda

Saya tidak menjelaskan bagaimana cara memberikan sertifikat dalam kartu, tetapi jika Anda melakukannya, ingat kunci admin kartu harus diubah menggunakan Sistem Manajemen Kartu. Akan jauh lebih mudah bagi Anda jika perusahaan Anda memberi Anda kartu pintar sehingga Anda tidak perlu khawatir tentang bagian ini.

Setelah kartu disediakan, Anda perlu mengekstrak kunci publik, lalu menambahkannya ke ~ / .sshd / otor_key.

Untuk terhubung ke server, Anda dapat menggunakan alat seperti PuttySC atau SecureCRT. Anda harus mendapatkan pustaka PSKC # 11 untuk kartu (baik dari produsen kartu pintar atau versi open source). Konfigurasikan alat SSH dengan perpustakaan, itu harus dapat membacanya dan menemukan sertifikat.

Saat Anda mengautentikasi, alat akan meminta Anda untuk PIN kartu cerdas.

Matthias Buchner
sumber