Nid yw cyfrineiriau syml yn ddiogel, ac mae'n amhosibl cofio rhai cymhleth. Dyna pam eu bod mor aml yn dod i ben ar nodyn gludiog o dan y bysellfwrdd neu ar y monitor. Er mwyn sicrhau bod cyfrineiriau yn aros ym meddyliau defnyddwyr “anghofus” ac nad yw dibynadwyedd amddiffyniad yn cael ei golli, mae yna ddilysiad dau ffactor (2FA).
Oherwydd y cyfuniad o fod yn berchen ar ddyfais a gwybod ei PIN, gall y PIN ei hun fod yn symlach ac yn haws i'w gofio. Mae anfanteision o ran hyd PIN neu hap yn cael eu gwrthbwyso gan y gofyniad meddiant corfforol a chyfyngiadau ar rym ysbeidiol PIN.
Yn ogystal, mae'n digwydd mewn asiantaethau'r llywodraeth eu bod am i bopeth weithio yn unol â GOST. Bydd yr opsiwn 2FA hwn ar gyfer mewngofnodi i Linux yn cael ei drafod. Dechreuaf o bell.
modiwlau PAM
Mae Modiwlau Dilysu Plygadwy (PAM) yn fodiwlau gydag API safonol a gweithrediad amrywiol fecanweithiau dilysu mewn cymwysiadau.
Mae pob cyfleustodau a chymhwysiad a all weithio gyda PAM yn eu codi a gallant eu defnyddio ar gyfer dilysu defnyddwyr.
Yn ymarferol, mae'n gweithio rhywbeth fel hyn: mae'r gorchymyn mewngofnodi yn galw PAM, sy'n perfformio'r holl wiriadau angenrheidiol gan ddefnyddio'r modiwlau a nodir yn y ffeil ffurfweddu ac yn dychwelyd y canlyniad yn ôl i'r gorchymyn mewngofnodi.
librtpam
Mae'r modiwl a ddatblygwyd gan y cwmni Aktiv yn ychwanegu dilysu dau-ffactor o ddefnyddwyr gan ddefnyddio cardiau smart neu docynnau USB gan ddefnyddio allweddi anghymesur yn unol â safonau diweddaraf cryptograffeg domestig.
Edrychwn ar egwyddor ei weithrediad:
- Mae'r tocyn yn storio tystysgrif y defnyddiwr a'i allwedd breifat;
- Mae'r dystysgrif yn cael ei chadw yng nghyfeirlyfr cartref y defnyddiwr fel y gellir ymddiried ynddo.
Mae'r broses ddilysu yn digwydd fel a ganlyn:
- Mae Rutoken yn chwilio am dystysgrif bersonol y defnyddiwr.
- Gofynnir am y PIN tocyn.
- Mae data ar hap wedi'i lofnodi ar yr allwedd breifat yn uniongyrchol yn y sglodyn Rutoken.
- Mae'r llofnod canlyniadol yn cael ei wirio gan ddefnyddio'r allwedd gyhoeddus o dystysgrif y defnyddiwr.
- Mae'r modiwl yn dychwelyd y canlyniad dilysu llofnod i'r rhaglen ffonio.
Gallwch ddilysu gan ddefnyddio allweddi GOST R 34.10-2012 (hyd 256 neu 512 did) neu'r hen GOST R 34.10-2001.
Nid oes rhaid i chi boeni am ddiogelwch yr allweddi - maent yn cael eu cynhyrchu'n uniongyrchol yn Rutoken a byth yn gadael ei gof yn ystod gweithrediadau cryptograffig.
Mae Rutoken EDS 2.0 wedi'i ardystio gan yr FSB a FSTEC yn ôl NDV 4, felly gellir ei ddefnyddio mewn systemau gwybodaeth sy'n prosesu gwybodaeth gyfrinachol.
Defnydd ymarferol
Bydd bron unrhyw Linux modern yn ei wneud, er enghraifft byddwn yn defnyddio xUbuntu 18.10.
1) Gosodwch y pecynnau angenrheidiol
sudo apt-get install libccid pcscd opensc
Os ydych chi am ychwanegu clo bwrdd gwaith gydag arbedwr sgrin, gosodwch y pecyn hefyd libpam-pkcs11
.
2) Ychwanegu modiwl PAM gyda chefnogaeth GOST
Llwytho'r llyfrgell o
Copïwch gynnwys y ffolder PAM librtpam.so.1.0.0 i ffolder y system
/usr/lib/
neu /usr/lib/x86_64-linux-gnu/
neu /usr/lib64
3) Gosodwch y pecyn gyda librtpkcs11ecp.so
Lawrlwythwch a gosodwch y pecyn DEB neu RPM o'r ddolen:
4) Gwiriwch fod Rutoken EDS 2.0 yn gweithio yn y system
Yn y derfynell rydym yn gweithredu
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -T
Os gwelwch y llinell Rutoken ECP <no label>
- mae'n golygu bod popeth yn iawn.
5) Darllenwch y dystysgrif
Gwirio bod gan y ddyfais dystysgrif
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -O
Os ar ôl y llinell:
Using slot 0 with a present token (0x0)
- gwybodaeth yn cael ei harddangos am allweddi a thystysgrifau, mae angen i chi ddarllen y dystysgrif a'i chadw ar ddisg. I wneud hyn, rhedeg y gorchymyn canlynol, lle yn lle {id} mae angen i chi amnewid yr ID tystysgrif a welsoch yn allbwn y gorchymyn blaenorol:
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -r -y cert --id {id} --output-file cert.crt
Os yw'r ffeil cert.crt wedi'i chreu, ewch ymlaen i gam 6). - Does dim byd, yna mae'r ddyfais yn wag. Cysylltwch â'ch gweinyddwr neu crëwch yr allweddi a thystysgrif eich hun trwy ddilyn y cam nesaf.
5.1) Creu tystysgrif prawf
Sylw! Mae'r dulliau a ddisgrifir ar gyfer creu allweddi a thystysgrifau yn addas i'w profi ac nid ydynt wedi'u bwriadu i'w defnyddio yn y modd ymladd. I wneud hyn, mae angen i chi ddefnyddio allweddi a thystysgrifau a gyhoeddwyd gan awdurdod ardystio dibynadwy eich sefydliad neu awdurdod ardystio achrededig.
Mae'r modiwl PAM wedi'i gynllunio i amddiffyn cyfrifiaduron lleol ac mae wedi'i gynllunio i weithio mewn sefydliadau bach. Gan nad oes llawer o ddefnyddwyr, gall y Gweinyddwr fonitro diddymiad tystysgrifau a blocio cyfrifon â llaw, yn ogystal â chyfnod dilysrwydd tystysgrifau. Nid yw'r modiwl PAM yn gwybod eto sut i ddilysu tystysgrifau gan ddefnyddio CRLs ac adeiladu cadwyni ymddiriedaeth.
Y ffordd hawdd (trwy borwr)
I gael tystysgrif prawf, defnyddiwch
Ffordd y geek (trwy'r consol ac o bosibl y casglwr)
Gwiriwch y fersiwn OpenSC
$ opensc-tool --version
Os yw'r fersiwn yn llai na 0.20, yna diweddarwch neu adeiladwch
Cynhyrchu pâr allweddol gyda'r paramedrau canlynol:
--key-type: GOSTR3410-2012-512:А (ГОСТ-2012 512 бит c парамсетом А), GOSTR3410-2012-256:A (ГОСТ-2012 256 бит с парамсетом A)
--id:
dynodwr gwrthrych (CKA_ID) fel rhifau nodau hecs dau ddigid o'r tabl ASCII. Defnyddiwch godau ASCII yn unig ar gyfer nodau argraffadwy, oherwydd... bydd angen trosglwyddo id i OpenSSL fel llinyn. Er enghraifft, mae'r cod ASCII “3132” yn cyfateb i'r llinyn “12”. Er hwylustod, gallwch ddefnyddio
$ ./pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --keypairgen --key-type GOSTR3410-2012-512:A -l --id 3132
Nesaf byddwn yn creu tystysgrif. Disgrifir dwy ffordd isod: y cyntaf yw trwy CA (byddwn yn defnyddio CAs prawf), mae'r ail yn hunan-lofnodi. I wneud hyn, yn gyntaf mae angen i chi osod a ffurfweddu fersiwn OpenSSL 1.1 neu ddiweddarach i weithio gyda Rutoken trwy fodiwl rtengine arbennig gan ddefnyddio'r llawlyfr
Er enghraifft: ar gyfer '--id 3132
' yn OpenSSL mae angen i chi nodi "pkcs11:id=12
".
Gallwch ddefnyddio gwasanaethau CA prawf, y mae llawer ohonynt, er enghraifft,
Opsiwn arall yw ildio i ddiogi a chreu hunan-lofnod
$ openssl req -utf8 -new -keyform engine -key "pkcs11:id=12" -engine rtengine -out req.csr
Wrthi'n uwchlwytho'r dystysgrif i'r ddyfais
$ openssl req -utf8 -x509 -keyform engine -key "pkcs11:id=12" -engine rtengine -out cert.cer
6) Cofrestrwch y dystysgrif yn y system
Sicrhewch fod eich tystysgrif yn edrych fel ffeil base64:
Os yw eich tystysgrif yn edrych fel hyn:
yna mae angen i chi drosi'r dystysgrif o fformat DER i fformat PEM (base64)
$ openssl x509 -in cert.crt -out cert.pem -inform DER -outform PEM
Rydyn ni'n gwirio eto bod popeth mewn trefn nawr.
Ychwanegwch y dystysgrif at y rhestr o dystysgrifau dibynadwy
$ mkdir ~/.eid
$ chmod 0755 ~/.eid
$ cat cert.pem >> ~/.eid/authorized_certificates
$ chmod 0644 ~/.eid/authorized_certificates
Mae'r llinell olaf yn amddiffyn y rhestr o dystysgrifau dibynadwy rhag cael eu newid yn ddamweiniol neu'n fwriadol gan ddefnyddwyr eraill. Mae hyn yn atal rhywun rhag ychwanegu eu tystysgrif yma a gallu mewngofnodi ar eich rhan.
7) Sefydlu dilysu
Mae sefydlu ein modiwl PAM yn gwbl safonol ac fe'i gwneir yn union yr un ffordd â sefydlu modiwlau eraill. Creu i ffeil /usr/share/pam-configs/rutoken-gost-pam
yn cynnwys enw llawn y modiwl, p'un a yw wedi'i alluogi yn ddiofyn, blaenoriaeth y modiwl, a pharamedrau dilysu.
Mae'r paramedrau dilysu yn cynnwys gofynion ar gyfer llwyddiant y gweithrediad:
- gofynnol: Rhaid i fodiwlau o'r fath roi ymateb cadarnhaol. Os yw canlyniad galwad modiwl yn cynnwys ymateb negyddol, bydd hyn yn arwain at wall dilysu. Bydd y cais yn cael ei ollwng, ond bydd y modiwlau sy'n weddill yn cael eu galw.
- gofynnol: Yn debyg i'r angen, ond yn methu â dilysu ar unwaith ac yn anwybyddu modiwlau eraill.
- digonol: Os nad oedd yr un o'r modiwlau gofynnol neu ddigonol cyn modiwl o'r fath yn dychwelyd canlyniad negyddol, yna bydd y modiwl yn dychwelyd ymateb cadarnhaol. Bydd gweddill y modiwlau yn cael eu hanwybyddu.
- dewisol: Os nad oes unrhyw fodiwlau gofynnol ar y pentwr ac nad oes yr un o'r modiwlau digonol yn dychwelyd canlyniad cadarnhaol, yna mae'n rhaid i o leiaf un o'r modiwlau dewisol ddychwelyd canlyniad cadarnhaol.
Cynnwys ffeil llawn /usr/share/pam-configs/rutoken-gost-pam
:
Name: Rutoken PAM GOST
Default: yes
Priority: 800
Auth-Type: Primary
Auth: sufficient /usr/lib/librtpam.so.1.0.0 /usr/lib/librtpkcs11ecp.so
arbed y ffeil, yna gweithredu
$ sudo pam-auth-update
yn y ffenestr sy'n ymddangos, rhowch seren wrth ei ymyl Rutoken PAM GOST a chlicio OK
8) Gwiriwch y gosodiadau
I ddeall bod popeth wedi'i ffurfweddu, ond ar yr un pryd heb golli'r gallu i fewngofnodi i'r system, rhowch y gorchymyn
$ sudo login
Rhowch eich enw defnyddiwr. Mae popeth wedi'i ffurfweddu'n gywir os oes angen cod PIN dyfais ar y system.
9) Ffurfweddu'r cyfrifiadur i'w rwystro pan fydd y tocyn yn cael ei dynnu
Wedi'i gynnwys yn y pecyn libpam-pkcs11
cyfleustodau wedi'u cynnwys pkcs11_eventmgr,
sy'n eich galluogi i berfformio gweithredoedd amrywiol pan fydd digwyddiadau PKCS#11 yn digwydd.
Ar gyfer gosodiadau pkcs11_eventmgr
yn gwasanaethu fel ffeil ffurfweddu: /etc/pam_pkcs11/pkcs11_eventmgr.conf
Ar gyfer gwahanol ddosbarthiadau Linux, bydd y gorchymyn sy'n achosi i gyfrif gael ei gloi pan fydd cerdyn smart neu docyn yn cael ei dynnu yn wahanol. Cm. event card_remove
.
Dangosir enghraifft o ffeil ffurfweddu isod:
pkcs11_eventmgr
{
# Запуск в бэкграунде
daemon = true;
# Настройка сообщений отладки
debug = false;
# Время опроса в секундах
polling_time = 1;
# Установка тайм-аута на удаление карты
# По-умолчанию 0
expire_time = 0;
# Выбор pkcs11 библиотеки для работы с Рутокен
pkcs11_module = usr/lib/librtpkcs11ecp.so;
# Действия с картой
# Карта вставлена:
event card_insert {
# Оставляем значения по умолчанию (ничего не происходит)
on_error = ignore ;
action = "/bin/false";
}
# Карта извлечена
event card_remove {
on_error = ignore;
# Вызываем функцию блокировки экрана
# Для GNOME
action = "dbus-send --type=method_call --dest=org.gnome.ScreenSaver /org/gnome/ScreenSaver org.gnome.ScreenSaver.Lock";
# Для XFCE
# action = "xflock4";
# Для Astra Linux (FLY)
# action = "fly-wmfunc FLYWM_LOCK";
}
# Карта долгое время извлечена
event expire_time {
# Оставляем значения по умолчанию (ничего не происходит)
on_error = ignore;
action = "/bin/false";
}
}
Ar ôl hynny ychwanegwch y cais pkcs11_eventmgr
i gychwyn. I wneud hyn, golygwch y ffeil .bash_profile:
$ nano /home/<имя_пользователя>/.bash_profile
Ychwanegwch y llinell pkcs11_eventmgr at ddiwedd y ffeil ac ailgychwyn.
Gellir defnyddio'r camau a ddisgrifir ar gyfer sefydlu'r system weithredu fel cyfarwyddiadau mewn unrhyw ddosbarthiad Linux modern, gan gynnwys rhai domestig.
Casgliad
Mae cyfrifiaduron Linux yn dod yn fwyfwy poblogaidd mewn asiantaethau llywodraeth Rwsia, ac nid yw sefydlu dilysiad dau ffactor dibynadwy yn yr OS hwn bob amser yn hawdd. Byddwn yn hapus i'ch helpu i ddatrys y “broblem cyfrinair” gyda'r canllaw hwn a diogelu mynediad i'ch cyfrifiadur yn ddibynadwy heb dreulio llawer o amser arno.
Ffynhonnell: hab.com