Difference between revisions of "Karty"
(→Podpisy v aplikaci PES na linuxu) |
|||
(14 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
Tato stránka obsahuje různé informace k použití ČVUT karet resp. certifikátů, které na ní mohou být uloženy. | Tato stránka obsahuje různé informace k použití ČVUT karet resp. certifikátů, které na ní mohou být uloženy. | ||
+ | |||
+ | =[http://it.fjfi.cvut.cz/digisign.html Oficiální FJFI návod]= | ||
=Zpřístupnění informací na ČVUT kartě= | =Zpřístupnění informací na ČVUT kartě= | ||
Line 7: | Line 9: | ||
Na linuxu budete potřebovat konkrétně [http://www.oksystem.com/cz/produkty/oksmart libokpkcs11.so], jejíž základní funkce v aktuální verzi knihovny 3.0.0 fungovaly minimálně na RHEL7 a Fedora 22. Podporována je ale pouze 64bitová varianta linuxu resp. aplikací, které jsou na něm provozovány (tj. např. v 32bit Adobe Acrobatu si na linuxu nic nepodepíšete). | Na linuxu budete potřebovat konkrétně [http://www.oksystem.com/cz/produkty/oksmart libokpkcs11.so], jejíž základní funkce v aktuální verzi knihovny 3.0.0 fungovaly minimálně na RHEL7 a Fedora 22. Podporována je ale pouze 64bitová varianta linuxu resp. aplikací, které jsou na něm provozovány (tj. např. v 32bit Adobe Acrobatu si na linuxu nic nepodepíšete). | ||
− | + | Na Mac OS X se dají smart karty používat prakticky stejným způsobem jako v linuxu jen je nutné použít libokpkcs11.dylib (místo linuxové libokpkcs11.so) | |
=Použítí certifikátů z ČVUT karty= | =Použítí certifikátů z ČVUT karty= | ||
− | ==SSH | + | ==Připojení přes SSH== |
+ | |||
+ | ===Linux=== | ||
Certifikát na kartě lze použít pro přihlášení k serveru pomocí SSH. Využívá se principu běžných uživatelských klíčů (privátní+veřejný), kde jako privátní klíč se místo <tt>~/.ssh/id_algroritmus</tt> použije přímo privátní klíč uložený na kartě. Pro přihlášení pak nutně potřebujete fyzicky vlastnit konkrétní kartu pro níž jste na serveru přidali do <tt>~/.ssh/authorized_keys</tt> odpovídající veřejné klíče z karty. | Certifikát na kartě lze použít pro přihlášení k serveru pomocí SSH. Využívá se principu běžných uživatelských klíčů (privátní+veřejný), kde jako privátní klíč se místo <tt>~/.ssh/id_algroritmus</tt> použije přímo privátní klíč uložený na kartě. Pro přihlášení pak nutně potřebujete fyzicky vlastnit konkrétní kartu pro níž jste na serveru přidali do <tt>~/.ssh/authorized_keys</tt> odpovídající veřejné klíče z karty. | ||
Line 24: | Line 28: | ||
Po zadání tohoto příkazů budete dotázání na PIN pro "OKsmart 3.0 MiniOs" a po jeho správném zadání dojde k přihlášení. | Po zadání tohoto příkazů budete dotázání na PIN pro "OKsmart 3.0 MiniOs" a po jeho správném zadání dojde k přihlášení. | ||
+ | |||
+ | ===Windows=== | ||
+ | |||
+ | Windows přístup pomocí karty funguje na stejném principu použití privátního a veřejného klíče jako je tomu na linuxu. Je jen potřeba použít SSH klienta s podporou karet, jako je například [https://risacher.org/putty-cac PuTTY-CAC]. To je standardní aktuální verze putty, která v možnostech konfigurace SSH autentizace nabízí další položku CAPI, kde lze vybrat certifikát uložený na kartě a po nahrání zobrazeného veřejného klíče do <tt>~/.ssh/authorized_keys</tt> na server je možné pro přihlášení použít ČVUT kartu a PIN. | ||
+ | |||
+ | ==Podpora smartcard v OpenSSL knihovně== | ||
+ | |||
+ | Přístup přímo z CLI | ||
+ | |||
+ | openssl | ||
+ | OpenSSL> engine dynamic -pre SO_PATH:/usr/lib64/openssl/engines/engine_pkcs11.so -pre ID:pkcs11 -pre LIST_ADD:1 -pre LOAD -pre MODULE_PATH:/plna/cesta/k/libokpkcs11.so -pre PIN:1234 | ||
+ | OpenSSL> ... | ||
+ | |||
+ | Přístup s konfiguračním souborem openssl.conf | ||
+ | |||
+ | openssl_conf = openssl_def | ||
+ | |||
+ | [openssl_def] | ||
+ | engines = engine_section | ||
+ | |||
+ | [engine_section] | ||
+ | pkcs11 = pkcs11_section | ||
+ | |||
+ | [pkcs11_section] | ||
+ | engine_id = pkcs11 | ||
+ | dynamic_path = /usr/lib64/openssl/engines/engine_pkcs11.so | ||
+ | MODULE_PATH = /plna/cesta/k/libokpkcs11.so | ||
+ | PIN = 1234 | ||
+ | init = 0 | ||
+ | |||
+ | # použití konfiguračního souboru | ||
+ | OPENSSL_CONF=openssl.conf | ||
+ | openssl ... | ||
+ | |||
+ | ==Práce s certifikáty pomoci <tt>pkcs11-tool</tt>== | ||
+ | |||
+ | pkcs11-tool --module /plna/cesta/k/libokpkcs11.so ... | ||
+ | |||
+ | ==Práce s certifikáty pomoci <tt>p11tool</tt>== | ||
+ | |||
+ | export GNUTLS_PIN=1234 | ||
+ | p11tool --provider /plna/cesta/k/libokpkcs11.so ... | ||
+ | |||
+ | ==Podpora smartcard pro obecné NSS úložiště certifikátů== | ||
+ | |||
+ | Aplikacím používajícím k práci s certifikáty knihovnu NSS lze (pravděpodobně) přidat podporu práce s certifikáty na kartě i ručně pomocí CLI rozhraní | ||
+ | |||
+ | # kořenové certifikáty CESNETu jsou dostupné na https://pki.cesnet.cz | ||
+ | certutil -N -d /directory/with/your/nssdb | ||
+ | certutil -A -d /directory/with/your/nssdb -i CESNET_CA_Root.pem -n 'CESNET CA Root' -t 'TC,,' | ||
+ | certutil -A -d /directory/with/your/nssdb -i PersonalSigning.pem -n 'CESNET Personal Signing CA' -t 'TC,,' | ||
+ | certutil -L -d sql:/directory/with/your/nssdb -h all | ||
+ | certutil -L -d sql:/directory/with/your/nssdb -n 'CESNET CA Root' | ||
+ | certutil -L -d sql:/directory/with/your/nssdb -n 'CESNET Personal Signing CA' | ||
+ | modutil -add "OKsmart 3.0 PKCS#11 Module" -dbdir /directory/with/your/nssdb -libfile /path/to/oksystems/library/libokpkcs11.so | ||
+ | modutil -list -dbdir /directory/with/your/nssdb | ||
==Úložiště certifikátů pro Firefox== | ==Úložiště certifikátů pro Firefox== | ||
Line 54: | Line 114: | ||
**cmd: <tt>xfreerdp /sec:nla /u:username /smartcard /v:jmeno_ts_serveru.fjfi.cvut.cz</tt> | **cmd: <tt>xfreerdp /sec:nla /u:username /smartcard /v:jmeno_ts_serveru.fjfi.cvut.cz</tt> | ||
**pouziti karty: windows 7 OK, w2k12r2 podpis OK (nefunkcni vydavani noveho certifikatu) | **pouziti karty: windows 7 OK, w2k12r2 podpis OK (nefunkcni vydavani noveho certifikatu) | ||
+ | **<strike>vylepseny cmd: <tt>xfreerdp /size:1500x1100 /bpp:32 /smart-sizing /compression /decorations /clipboard /auto-reconnect /fonts /microphone:sys:alsa /sound:sys:alsa /multimedia:sys:alsa /sec:nla /cert-ignore /drive:work,/home/username/work /drive:mnt,/mnt /smartcard /u:username /v:jmeno_ts_serveru</tt></strike> | ||
*rdesktop-1.8.3 (default package in Fedora 23) | *rdesktop-1.8.3 (default package in Fedora 23) | ||
Line 59: | Line 120: | ||
**pouziti karty: windows 7 OK, w2k12r2 nelze pripojit (FJFI konfigurace nepodporuje starou "rdp" autentizaci a rdesktop neumi ani "tls" ani "nla") | **pouziti karty: windows 7 OK, w2k12r2 nelze pripojit (FJFI konfigurace nepodporuje starou "rdp" autentizaci a rdesktop neumi ani "tls" ani "nla") | ||
− | == | + | ==Podpisy v aplikaci PES na linuxu== |
− | * | + | *použití karty přímo v linuxu (podpora pouze x86_64) |
**instalace: Oracle java (http://java.com/en/download/manual.jsp) | **instalace: Oracle java (http://java.com/en/download/manual.jsp) | ||
**knihovna: | **knihovna: | ||
Line 67: | Line 128: | ||
***http://static.oksystem.com/source/OKsmart/oksmart-debian-3.0.0-0.amd64.deb | ***http://static.oksystem.com/source/OKsmart/oksmart-debian-3.0.0-0.amd64.deb | ||
**konfigurace: about:preferences#advanced -> security devices -> Load -> zadat cestu k libokpkcs11.so | **konfigurace: about:preferences#advanced -> security devices -> Load -> zadat cestu k libokpkcs11.so | ||
− | ** | + | **použití karty: podpis OK (nefunkční vydávání nového certifikátu) |
+ | ===Troubleshooting=== | ||
+ | |||
+ | * použijte nový čisty profil firefoxu | ||
+ | * smažte Java cache (např. odstraňte celý <tt>`rm -rf ~/.java`</tt> adresář) | ||
+ | ** z neznámého důvodu firefox resp. java applet začal hlásit, že nemůže načíst neexistující knihovnu <tt>libeatpkss.so</tt> | ||
==Přihlašování do Windows v doméně== | ==Přihlašování do Windows v doméně== | ||
− | zatím neotestováno | + | zatím neotestováno, [https://blogs.msdn.microsoft.com/spatdsg/2008/04/17/smartcard-in-2008-and-vista-national-id-card-no-upn-no-eku-no-problem/ návod] |
==Získání kerberos ticketu v linuxu== | ==Získání kerberos ticketu v linuxu== | ||
− | + | Zatím nezprovozněno (nutné provést odpovídající konfigurace na straně AD)!!! | |
+ | |||
+ | # zjištění certid pro odpovídající certifikát na smartcard | ||
+ | pkcs11-tool --module /plna/cesta/k/libokpkcs11.so --list-objects | ||
+ | # získání kerberos ticketu | ||
+ | kinit -X X509_user_identity=PKCS11:module_name=/plna/cesta/k/libokpkcs11.so:slotid=0:certid=a0aa370d68e55f27db19c07878326062 \ | ||
+ | -X X509_anchors=FILE:ca-chain.crt username@FJFI.CVUT.CZ | ||
+ | # výše uvedené parametry je možné specifikovat v konfiguraci kerbera /etc/krb5.conf | ||
+ | [realms] | ||
+ | FJFI.CVUT.CZ = { | ||
+ | kdc = krb1.fjfi.cvut.cz:88 | ||
+ | kdc = krb2.fjfi.cvut.cz:88 | ||
+ | kdc = krb3.fjfi.cvut.cz:88 | ||
+ | admin_server = krb.fjfi.cvut.cz:749 | ||
+ | default_domain = fjfi.cvut.cz | ||
+ | pkinit_anchors = FILE:/etc/pki/tls/certs/cesnet-ca-chain.crt | ||
+ | pkinit_identities = PKCS11:/plna/cesta/k/libokpkcs11.so | ||
+ | pkinit_eku_checking = kpServerAuth | ||
+ | pkinit_kdc_hostname = wc.fjfi.cvut.cz | ||
+ | pkinit_cert_match =&&<EKU>msScLogin,<KU>digitalSignature | ||
+ | } | ||
+ | |||
+ | |||
+ | ==Přihlašování pomocí smartcard do linuxu (CentOS7)== | ||
+ | |||
+ | Instalace potřebných balíčků (předem musí být zprovozněn <tt>pcscd</tt> daemon, který zprostředkovává přístup ke smartcard) | ||
+ | |||
+ | yum install pam_pkcs11 | ||
+ | |||
+ | Konfigurace PKCS11 PAM modulu | ||
+ | |||
+ | # /etc/pam_pkcs11/pam_pkcs11.conf | ||
+ | pam_pkcs11 { | ||
+ | ... | ||
+ | use_pkcs11_module = oksmart; | ||
+ | ... | ||
+ | pkcs11_module oksmart { | ||
+ | module = /plna/cesta/k/libokpkcs11.so | ||
+ | slot_num = 0; | ||
+ | nss_dir = /etc/pki/nssdb; | ||
+ | cert_policy = ca, signature; | ||
+ | } | ||
+ | ... | ||
+ | # až bude zprovozněno získávání kerberos ticketů pomocí smartcard | ||
+ | # pak bude vyhédnější použít mapování na kerberos principal a nebude | ||
+ | # tím pádem nutné udržovat mapování subjektu certifikátu na jméno | ||
+ | use_mappers = subject; | ||
+ | ... | ||
+ | mapper subject { | ||
+ | module = internal; | ||
+ | ignorecase = false; | ||
+ | mapfile = file:///etc/pam_pkcs11/subject_mapping; | ||
+ | } | ||
+ | ... | ||
+ | } | ||
+ | |||
+ | # /etc/pam_pkcs11/subject_mapping | ||
+ | DC=cz,DC=cesnet-ca,DC=personal-signing,O=CTU in Prague,CN=Ing. Petr Vokáč,serialNumber=252509@cvut.cz -> vokacpet | ||
+ | |||
+ | # /etc/pam_pkcs11/pkcs11_eventmgr.conf | ||
+ | # v tomto souboru lze zkonfigurovat aktivaci screensaveru při vytažení | ||
+ | # karty ze čtečky ... netestováno, protože způsob zalockování obrazovky | ||
+ | # se v linuxu každou chvíli měni | ||
+ | |||
+ | Konfigurace NSS | ||
+ | |||
+ | # kořenové certifikáty CESNETu jsou dostupné na https://pki.cesnet.cz | ||
+ | certutil -N -d /etc/pki/nssdb | ||
+ | chmod +r /etc/pki/nssdb/* | ||
+ | certutil -A -d /etc/pki/nssdb -i CESNET_CA_Root.pem -n 'CESNET CA Root' -t 'TC,,' | ||
+ | certutil -A -d /etc/pki/nssdb -i PersonalSigning.pem -n 'CESNET Personal Signing CA' -t 'TC,,' | ||
+ | |||
+ | Konfigurace přihlašování pomocí PAMu | ||
+ | |||
+ | # /etc/pam.d/system-auth | ||
+ | auth required pam_env.so | ||
+ | auth [success=1 default=ignore] pam_succeed_if.so service notin login:gdm:xdm:kdm:xscreensaver:gnome-screensaver:kscreensaver quiet use_uid | ||
+ | auth sufficient pam_pkcs11.so card_only | ||
+ | auth sufficient pam_unix.so nullok try_first_pass | ||
+ | auth requisite pam_succeed_if.so uid >= 1000 quiet_success | ||
+ | auth required pam_deny.so | ||
+ | |||
+ | Testování konfigurace | ||
+ | |||
+ | pkcs11_setup list_modules | ||
+ | pkcs11_setup use_module | ||
+ | pkcs11_inspect debug | ||
+ | pkcs11_listcerts debug | ||
+ | # otestování <tt>pam_pkcs11.conf</tt> včetně mapování na lokální účet | ||
+ | pklogin_finder debug |
Latest revision as of 11:04, 29 June 2016
Tato stránka obsahuje různé informace k použití ČVUT karet resp. certifikátů, které na ní mohou být uloženy.
Contents
- 1 Oficiální FJFI návod
- 2 Zpřístupnění informací na ČVUT kartě
- 3 Použítí certifikátů z ČVUT karty
- 3.1 Připojení přes SSH
- 3.2 Podpora smartcard v OpenSSL knihovně
- 3.3 Práce s certifikáty pomoci pkcs11-tool
- 3.4 Práce s certifikáty pomoci p11tool
- 3.5 Podpora smartcard pro obecné NSS úložiště certifikátů
- 3.6 Úložiště certifikátů pro Firefox
- 3.7 Úložiště certifikátů pro Thunderbird
- 3.8 Podepisování PDF dokumentu v Acrobat Readeru
- 3.9 Podepisování dokumentu v LibreOffice
- 3.10 Vzdálené podepisovaní z linuxu na Windows Terminal Serveru
- 3.11 Podpisy v aplikaci PES na linuxu
- 3.12 Přihlašování do Windows v doméně
- 3.13 Získání kerberos ticketu v linuxu
- 3.14 Přihlašování pomocí smartcard do linuxu (CentOS7)
Oficiální FJFI návod
Zpřístupnění informací na ČVUT kartě
Pro práci s certifikáty na ČVUT kartě je potřeba knihovna od OKSystems, která komunikuje s aplikací na kartě starající se o správu certifikátů a poskytující PKCS11 rozhraní.
Na linuxu budete potřebovat konkrétně libokpkcs11.so, jejíž základní funkce v aktuální verzi knihovny 3.0.0 fungovaly minimálně na RHEL7 a Fedora 22. Podporována je ale pouze 64bitová varianta linuxu resp. aplikací, které jsou na něm provozovány (tj. např. v 32bit Adobe Acrobatu si na linuxu nic nepodepíšete).
Na Mac OS X se dají smart karty používat prakticky stejným způsobem jako v linuxu jen je nutné použít libokpkcs11.dylib (místo linuxové libokpkcs11.so)
Použítí certifikátů z ČVUT karty
Připojení přes SSH
Linux
Certifikát na kartě lze použít pro přihlášení k serveru pomocí SSH. Využívá se principu běžných uživatelských klíčů (privátní+veřejný), kde jako privátní klíč se místo ~/.ssh/id_algroritmus použije přímo privátní klíč uložený na kartě. Pro přihlášení pak nutně potřebujete fyzicky vlastnit konkrétní kartu pro níž jste na serveru přidali do ~/.ssh/authorized_keys odpovídající veřejné klíče z karty.
# vypsání seznamu všech public klíčů na kartě ssh-keygen -D /plna/cesta/k/libokpkcs11.so
Vypsaný a vybraný veřejný klíč uložte na server kam se chcete přihlašovat pomocí ČVUT karty do ~/.ssh/authorized_keys stejně, jako se to dělá při práci s lokálními SSH klíči vygenerovanými příkazem ssh-keygen.
# přihlášení na server pomocí privátního klíče na kartě ssh -I /plna/cesta/k/libokpkcs11.so username@nazev.pocitace.cz
Po zadání tohoto příkazů budete dotázání na PIN pro "OKsmart 3.0 MiniOs" a po jeho správném zadání dojde k přihlášení.
Windows
Windows přístup pomocí karty funguje na stejném principu použití privátního a veřejného klíče jako je tomu na linuxu. Je jen potřeba použít SSH klienta s podporou karet, jako je například PuTTY-CAC. To je standardní aktuální verze putty, která v možnostech konfigurace SSH autentizace nabízí další položku CAPI, kde lze vybrat certifikát uložený na kartě a po nahrání zobrazeného veřejného klíče do ~/.ssh/authorized_keys na server je možné pro přihlášení použít ČVUT kartu a PIN.
Podpora smartcard v OpenSSL knihovně
Přístup přímo z CLI
openssl OpenSSL> engine dynamic -pre SO_PATH:/usr/lib64/openssl/engines/engine_pkcs11.so -pre ID:pkcs11 -pre LIST_ADD:1 -pre LOAD -pre MODULE_PATH:/plna/cesta/k/libokpkcs11.so -pre PIN:1234 OpenSSL> ...
Přístup s konfiguračním souborem openssl.conf
openssl_conf = openssl_def [openssl_def] engines = engine_section [engine_section] pkcs11 = pkcs11_section [pkcs11_section] engine_id = pkcs11 dynamic_path = /usr/lib64/openssl/engines/engine_pkcs11.so MODULE_PATH = /plna/cesta/k/libokpkcs11.so PIN = 1234 init = 0
# použití konfiguračního souboru OPENSSL_CONF=openssl.conf openssl ...
Práce s certifikáty pomoci pkcs11-tool
pkcs11-tool --module /plna/cesta/k/libokpkcs11.so ...
Práce s certifikáty pomoci p11tool
export GNUTLS_PIN=1234 p11tool --provider /plna/cesta/k/libokpkcs11.so ...
Podpora smartcard pro obecné NSS úložiště certifikátů
Aplikacím používajícím k práci s certifikáty knihovnu NSS lze (pravděpodobně) přidat podporu práce s certifikáty na kartě i ručně pomocí CLI rozhraní
# kořenové certifikáty CESNETu jsou dostupné na https://pki.cesnet.cz certutil -N -d /directory/with/your/nssdb certutil -A -d /directory/with/your/nssdb -i CESNET_CA_Root.pem -n 'CESNET CA Root' -t 'TC,,' certutil -A -d /directory/with/your/nssdb -i PersonalSigning.pem -n 'CESNET Personal Signing CA' -t 'TC,,' certutil -L -d sql:/directory/with/your/nssdb -h all certutil -L -d sql:/directory/with/your/nssdb -n 'CESNET CA Root' certutil -L -d sql:/directory/with/your/nssdb -n 'CESNET Personal Signing CA' modutil -add "OKsmart 3.0 PKCS#11 Module" -dbdir /directory/with/your/nssdb -libfile /path/to/oksystems/library/libokpkcs11.so modutil -list -dbdir /directory/with/your/nssdb
Úložiště certifikátů pro Firefox
V menu zvolte "Preferences" -> "Advanced" -> "Security devices" a v zobrazeném dialogu klikněte na tlačítko "load". Zobrazí se další dialog a v něm musíte vyplnit jméno modulu (libovolně) a hlavně cestu ke knihovně sloužící pro vytvoření PKCS11 rozhraní pro ČVUT kartu (tj. např. /plna/cesta/k/libokpkcs11.so). Po přidání tohoto nového bezpečnostního zařízení budete moci začít používat (všechny) certifikáty uložené na ČVUT kartě podobně jako ty, které máte uloženy v lokalním úložišti certifikatů. Před prvním použitím privátního klíče z karty budete muset zadat PIN.
TODO: info o podepisování v PES
Úložiště certifikátů pro Thunderbird
Konfiguruje se prakticky stejně jako Firefox, certifikáty lze poté používat k podepisování mailů. Tento use-case bych ale moc nedporučoval, protože když vám někdo pošle odpověď zašifrovanou Vaším veřejným klíčem z ČVUT karty (veřejný klíč je součástí Vámi podepsaných mailů), tak pro přečtení takového mailu samozřejmě budete opět potřebovat privátní klíč z Vaší ČVUT karty. Ten si ale nemužete (z principu fungovaní těchto karet) nikam zálohovat, takže když o kartu přijdete, tak se k takto zašifrovaným mailům už nikdy nedostanete.
Podepisování PDF dokumentu v Acrobat Readeru
Na Windows lze v Akrobatu jednoduše otestovat, jestli máte na počítači korektní instlaci driverů a ČVUT karta funguje. Stačí zvolit menu "View" -> "Fill & Sign" a v zobrazeném panelu vybrat "Sign with Certificate" a postupovat dle informací v zobrazeném dialogu.
Podepisování dokumentu v LibreOffice
LibreOffice používá pro podepisování úložiště certifikátů z Firefoxu, který je nejprve nutné zkonfigurovat podle výše uvedeného návodu. Potom lze dokukmenty podepisovat přes "File" -> "Digital Signatures...". Pří výběru "signature" budete dotázáni na heslo, kterým máte zabezpečeno uložiště certifikátů Firefoxu.
Vzdálené podepisovaní z linuxu na Windows Terminal Serveru
Jak rdesktop tak i xfreerdp mají podporu redirectu pro smartcards (hlavně to nehledejte pod redirectem USB zařízení, což nebude fungovat, jelikož tyto aplikace maji implemenovan specialní způsob práce přímo se smartcards). V praxi bohužel (ne)funkčnost zavisí nejen na verzi klientů, ale i na verzi terminál serveru k němuž se připojujete. Zde je stručný přehled stavu z konce roku 2015.
- freerdp-1.0.2 (default package in RHEL7)
- cmd: xfreerdp --plugin rdpdr --data scard: -- jmeno_ts_serveru.fjfi.cvut.cz
- pouziti karty: windows 7 OK, ani tuk s w2k12r2 (kompletne nefunkcni redirect?)
- freerdp-1.2 (GIT be8f8f72387e7878717b6f04c9a87f999449d20d, CentOS7 balicky http://yum.fjfi.cvut.cz/clean-epel-7-x86_64)
- cmd: xfreerdp /sec:nla /u:username /smartcard /v:jmeno_ts_serveru.fjfi.cvut.cz
- pouziti karty: windows 7 OK, w2k12r2 podpis OK (nefunkcni vydavani noveho certifikatu)
vylepseny cmd: xfreerdp /size:1500x1100 /bpp:32 /smart-sizing /compression /decorations /clipboard /auto-reconnect /fonts /microphone:sys:alsa /sound:sys:alsa /multimedia:sys:alsa /sec:nla /cert-ignore /drive:work,/home/username/work /drive:mnt,/mnt /smartcard /u:username /v:jmeno_ts_serveru
- rdesktop-1.8.3 (default package in Fedora 23)
- cmd: rdesktop -r scard jmeno_ts_serveru.fjfi.cvut.cz
- pouziti karty: windows 7 OK, w2k12r2 nelze pripojit (FJFI konfigurace nepodporuje starou "rdp" autentizaci a rdesktop neumi ani "tls" ani "nla")
Podpisy v aplikaci PES na linuxu
- použití karty přímo v linuxu (podpora pouze x86_64)
- instalace: Oracle java (http://java.com/en/download/manual.jsp)
- knihovna:
- konfigurace: about:preferences#advanced -> security devices -> Load -> zadat cestu k libokpkcs11.so
- použití karty: podpis OK (nefunkční vydávání nového certifikátu)
Troubleshooting
- použijte nový čisty profil firefoxu
- smažte Java cache (např. odstraňte celý `rm -rf ~/.java` adresář)
- z neznámého důvodu firefox resp. java applet začal hlásit, že nemůže načíst neexistující knihovnu libeatpkss.so
Přihlašování do Windows v doméně
zatím neotestováno, návod
Získání kerberos ticketu v linuxu
Zatím nezprovozněno (nutné provést odpovídající konfigurace na straně AD)!!!
# zjištění certid pro odpovídající certifikát na smartcard pkcs11-tool --module /plna/cesta/k/libokpkcs11.so --list-objects # získání kerberos ticketu kinit -X X509_user_identity=PKCS11:module_name=/plna/cesta/k/libokpkcs11.so:slotid=0:certid=a0aa370d68e55f27db19c07878326062 \ -X X509_anchors=FILE:ca-chain.crt username@FJFI.CVUT.CZ # výše uvedené parametry je možné specifikovat v konfiguraci kerbera /etc/krb5.conf [realms] FJFI.CVUT.CZ = { kdc = krb1.fjfi.cvut.cz:88 kdc = krb2.fjfi.cvut.cz:88 kdc = krb3.fjfi.cvut.cz:88 admin_server = krb.fjfi.cvut.cz:749 default_domain = fjfi.cvut.cz pkinit_anchors = FILE:/etc/pki/tls/certs/cesnet-ca-chain.crt pkinit_identities = PKCS11:/plna/cesta/k/libokpkcs11.so pkinit_eku_checking = kpServerAuth pkinit_kdc_hostname = wc.fjfi.cvut.cz pkinit_cert_match =&&<EKU>msScLogin,<KU>digitalSignature }
Přihlašování pomocí smartcard do linuxu (CentOS7)
Instalace potřebných balíčků (předem musí být zprovozněn pcscd daemon, který zprostředkovává přístup ke smartcard)
yum install pam_pkcs11
Konfigurace PKCS11 PAM modulu
# /etc/pam_pkcs11/pam_pkcs11.conf pam_pkcs11 { ... use_pkcs11_module = oksmart; ... pkcs11_module oksmart { module = /plna/cesta/k/libokpkcs11.so slot_num = 0; nss_dir = /etc/pki/nssdb; cert_policy = ca, signature; } ... # až bude zprovozněno získávání kerberos ticketů pomocí smartcard # pak bude vyhédnější použít mapování na kerberos principal a nebude # tím pádem nutné udržovat mapování subjektu certifikátu na jméno use_mappers = subject; ... mapper subject { module = internal; ignorecase = false; mapfile = file:///etc/pam_pkcs11/subject_mapping; } ... }
# /etc/pam_pkcs11/subject_mapping DC=cz,DC=cesnet-ca,DC=personal-signing,O=CTU in Prague,CN=Ing. Petr Vokáč,serialNumber=252509@cvut.cz -> vokacpet
# /etc/pam_pkcs11/pkcs11_eventmgr.conf # v tomto souboru lze zkonfigurovat aktivaci screensaveru při vytažení # karty ze čtečky ... netestováno, protože způsob zalockování obrazovky # se v linuxu každou chvíli měni
Konfigurace NSS
# kořenové certifikáty CESNETu jsou dostupné na https://pki.cesnet.cz certutil -N -d /etc/pki/nssdb chmod +r /etc/pki/nssdb/* certutil -A -d /etc/pki/nssdb -i CESNET_CA_Root.pem -n 'CESNET CA Root' -t 'TC,,' certutil -A -d /etc/pki/nssdb -i PersonalSigning.pem -n 'CESNET Personal Signing CA' -t 'TC,,'
Konfigurace přihlašování pomocí PAMu
# /etc/pam.d/system-auth auth required pam_env.so auth [success=1 default=ignore] pam_succeed_if.so service notin login:gdm:xdm:kdm:xscreensaver:gnome-screensaver:kscreensaver quiet use_uid auth sufficient pam_pkcs11.so card_only auth sufficient pam_unix.so nullok try_first_pass auth requisite pam_succeed_if.so uid >= 1000 quiet_success auth required pam_deny.so
Testování konfigurace
pkcs11_setup list_modules pkcs11_setup use_module pkcs11_inspect debug pkcs11_listcerts debug # otestování pam_pkcs11.conf včetně mapování na lokální účet pklogin_finder debug