Чӣ тавр модулҳои PAM-ро барои аутентификатсияи маҳаллӣ истифода бурдан мумкин аст Linux мувофиқи калидҳои ГОСТ-2012 дар Рутокен

Чӣ тавр модулҳои PAM-ро барои аутентификатсияи маҳаллӣ истифода бурдан мумкин аст Linux мувофиқи калидҳои ГОСТ-2012 дар Рутокен

Паролҳои оддӣ бехатар нестанд ва паролҳои мураккабро дар хотир нигоҳ доштан ғайриимкон аст. Ин аст, ки чаро онҳо аксар вақт дар як ёддошти часпанда дар зери клавиатура ё дар монитор қарор мегиранд. Барои он ки паролҳо дар зеҳни корбарони "фаромӯш" боқӣ монад ва эътимоднокии муҳофизат аз даст наояд, аутентификатсияи ду омил (2FA) мавҷуд аст.

Ба туфайли омезиши соҳиби дастгоҳ ва донистани PIN-и он, худи PIN метавонад соддатар ва осонтар дар хотир дошта бошад. Камбудиҳо дар дарозии PIN ё тасодуфӣ аз ҷониби талаботи доштани ҷисмонӣ ва маҳдудиятҳо оид ба қувваи бераҳмонаи PIN ҷуброн карда мешаванд.

Илова бар ин, дар муассисаҳои давлатӣ чунин мешавад, ки онҳо мехоҳанд, ки ҳама чиз мувофиқи ГОСТ кор кунад. Ин варианти 2FA барои ворид шудан ба Linux муҳокима карда мешавад. Ман аз дур сар мекунам.

Модулҳои PAM

Модулҳои васлшавандаи аутентификатсия (PAM) модулҳои дорои API-и стандартӣ ва татбиқи механизмҳои гуногуни аутентификатсия дар барномаҳо мебошанд.
Ҳама хидматҳо ва барномаҳое, ки метавонанд бо PAM кор кунанд, онҳоро гирифта метавонанд ва метавонанд онҳоро барои тасдиқи корбар истифода баранд.
Дар амал, он чунин кор мекунад: фармони воридшавӣ PAM-ро даъват мекунад, ки ҳамаи санҷишҳои заруриро бо истифода аз модулҳои дар файли конфигуратсия нишондодашуда анҷом медиҳад ва натиҷаро ба фармони воридшавӣ бармегардонад.

librtpam

Модули аз ҷониби ширкати Aktiv таҳияшуда аутентификатсияи ду омили корбаронро бо истифода аз кортҳои смарт ё токенҳои USB бо истифода аз калидҳои асимметрӣ тибқи стандартҳои охирини криптографияи ватанӣ илова мекунад.

Биёед ба принсипи кори он назар андозем:

  • Токен сертификати корбар ва калиди махфии онро нигоҳ медорад;
  • Шаҳодатнома дар феҳристи хонагии корбар ҳамчун боэътимод нигоҳ дошта мешавад.

Раванди тасдиқкунӣ ба таври зерин сурат мегирад:

  1. Rutoken сертификати шахсии корбарро ҷустуҷӯ мекунад.
  2. PIN нишона дархост карда мешавад.
  3. Маълумоти тасодуфӣ дар калиди хусусӣ бевосита дар чипи Rutoken имзо карда мешавад.
  4. Имзои натиҷавӣ бо истифода аз калиди ҷамъиятӣ аз сертификати корбар тасдиқ карда мешавад.
  5. Модул натиҷаи санҷиши имзоро ба барномаи зангзананда бармегардонад.

Шумо метавонед бо истифода аз калидҳои GOST R 34.10-2012 (дарозии 256 ё 512 бит) ё GOST R 34.10-2001 кӯҳна тасдиқ карда метавонед.

Ба шумо лозим нест, ки дар бораи амнияти калидҳо хавотир шавед - онҳо мустақиман дар Rutoken тавлид мешаванд ва ҳеҷ гоҳ хотираи онро ҳангоми амалиёти криптографӣ тарк намекунанд.

Чӣ тавр модулҳои PAM-ро барои аутентификатсияи маҳаллӣ истифода бурдан мумкин аст Linux мувофиқи калидҳои ГОСТ-2012 дар Рутокен

Rutoken EDS 2.0 аз ҷониби FSB ва FSTEC мувофиқи NDV 4 тасдиқ карда шудааст, бинобар ин онро дар системаҳои иттилоотие, ки иттилооти махфиро коркард мекунанд, истифода бурдан мумкин аст.

Истифодаи амалӣ

Қариб ҳама гуна Linux муосир кор мекунад, масалан, мо x-ро истифода хоҳем бурдUbuntu 18.10.

1) Бастаҳои заруриро насб кунед

sudo apt-get install libccid pcscd opensc
Агар шумо хоҳед, ки қулфи мизи корӣ бо экрани экран илова кунед, бастаро ба таври иловагӣ насб кунед libpam-pkcs11.

2) Иловаи модули PAM бо дастгирии ГОСТ

Боркунии китобхона аз https://download.rutoken.ru/Rutoken/PAM/
Мундариҷаи ҷузвдони PAM librtpam.so.1.0.0-ро ба ҷузвдони система нусхабардорӣ кунед
/usr/lib/ ё /usr/lib/x86_64-linux-gnu/ё /usr/lib64

3) Бастаро бо librtpkcs11ecp.so насб кунед

Бастаи DEB ё RPM-ро аз пайванд зеркашӣ ва насб кунед: https://www.rutoken.ru/support/download/pkcs/

4) Санҷед, ки Rutoken EDS 2.0 дар система кор мекунад

Дар терминал мо иҷро мекунем
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -T
Агар шумо хатро бинед Rutoken ECP <no label> - ин маънои онро дорад, ки ҳама чиз хуб аст.

5) Шаҳодатномаро хонед

Тафтиши он, ки дастгоҳ дорои сертификат аст
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -O
Агар пас аз сатр:
Using slot 0 with a present token (0x0)

  • маълумот нишон дода мешавад дар бораи калидҳо ва сертификатҳо, шумо бояд сертификатро хонед ва онро дар диск захира кунед. Барои ин, фармони зеринро иҷро кунед, ки дар он ба ҷои {id} шумо бояд ID сертификатеро, ки дар баромади фармони қаблӣ дидаед, иваз кунед:
    $ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -r -y cert --id {id} --output-file cert.crt
    Агар файли cert.crt сохта шуда бошад, ба қадами 6 гузаред).
  • ҳеҷ чиз нест, пас дастгоҳ холӣ аст. Бо администратори худ тамос гиред ё худатон калидҳо ва сертификатро бо иҷрои қадами оянда созед.

5.1) Шаҳодатномаи санҷишро эҷод кунед

Диққат! Усулҳои тавсифшуда барои эҷоди калидҳо ва сертификатҳо барои озмоиш мувофиқанд ва барои истифода дар ҳолати ҷангӣ пешбинӣ нашудаанд. Барои ин, шумо бояд калидҳо ва сертификатҳоеро истифода баред, ки аз ҷониби мақомоти боэътимоди сертификатсияи ташкилоти шумо ё мақомоти аккредитатсияшудаи сертификатсия дода шудаанд.
Модули PAM барои ҳифзи компютерҳои маҳаллӣ пешбинӣ шудааст ва барои кор дар созмонҳои хурд пешбинӣ шудааст. Азбаски шумораи ками корбарон, Администратор метавонад бозхонди сертификатҳоро назорат кунад ва ҳисобҳоро дастӣ маҳкам кунад, инчунин мӯҳлати эътибори сертификатҳо. Модули PAM ҳанӯз намедонад, ки чӣ гуна тасдиқи сертификатҳоро бо истифода аз CRL ва сохтани занҷирҳои эътимод.

Роҳи осон (тавассути браузер)

Барои гирифтани шаҳодатномаи санҷиш, истифода баред хадамоти интернетии "Маркази бақайдгирии Rutoken". Раванд на бештар аз 5 дақиқа мегирад.

Роҳи Geek (тавассути консол ва эҳтимолан компилятор)

Версияи OpenSC-ро санҷед
$ opensc-tool --version
Агар версия камтар аз 0.20 бошад, пас навсозӣ ё созед Филиали pkcs11-асбоб бо дастгирии ГОСТ-2012 аз GitHub мо (дар вақти интишори ин мақола, версияи 0.20 ҳанӯз нашр нашудааст) ё аз филиали асосии лоиҳаи асосии OpenSC на дертар 8cf1e6f ухдадор шавад

Бо параметрҳои зерин ҷуфти калидӣ эҷод кунед:
--key-type: GOSTR3410-2012-512:А (ГОСТ-2012 512 бит c парамсетом А), GOSTR3410-2012-256:A (ГОСТ-2012 256 бит с парамсетом A)

--id: идентификатори объект (CKA_ID) ҳамчун рақамҳои ду рақами аломати шонздаҳӣ аз ҷадвали ASCII. Барои аломатҳои чопшаванда танҳо рамзҳои ASCII-ро истифода баред, зеро... id бояд ба OpenSSL ҳамчун сатр интиқол дода шавад. Масалан, рамзи ASCII "3132" ба сатри "12" мувофиқат мекунад. Барои роҳат, шумо метавонед истифода баред хидмати онлайн барои табдил додани сатрҳо ба рамзҳои ASCII.

$ ./pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --keypairgen --key-type GOSTR3410-2012-512:A -l --id 3132

Минбаъд мо сертификат эҷод мекунем. Ду роҳ дар зер тавсиф карда мешаванд: якум тавассути CA (мо CA-ҳои санҷиширо истифода хоҳем бурд), дуюмаш худ имзо карда мешавад. Барои ин, шумо аввал бояд версияи OpenSSL 1.1 ё дертарро насб кунед ва танзим кунед, то бо Rutoken тавассути модули махсуси rtengine бо истифода аз дастур кор кунед Насб ва конфигуратсияи OpenSSL.
Масалан: барои '--id 3132' дар OpenSSL шумо бояд муайян кунед "pkcs11:id=12".

Шумо метавонед аз хидматҳои CA-и санҷишӣ истифода баред, ки аз онҳо бисёранд, масалан, инак, инак и инак, барои ин мо дархост барои сертификат эҷод мекунем

Варианти дигар ин аст, ки ба танбалӣ дода шавад ва худ имзо кунад
$ openssl req -utf8 -new -keyform engine -key "pkcs11:id=12" -engine rtengine -out req.csr

Боркунии сертификат ба дастгоҳ
$ openssl req -utf8 -x509 -keyform engine -key "pkcs11:id=12" -engine rtengine -out cert.cer

6) Шаҳодатномаро дар система ба қайд гиред

Боварӣ ҳосил кунед, ки сертификати шумо ба файли base64 монанд аст:

Чӣ тавр модулҳои PAM-ро барои аутентификатсияи маҳаллӣ истифода бурдан мумкин аст Linux мувофиқи калидҳои ГОСТ-2012 дар Рутокен

Агар шаҳодатномаи шумо чунин бошад:

Чӣ тавр модулҳои PAM-ро барои аутентификатсияи маҳаллӣ истифода бурдан мумкин аст Linux мувофиқи калидҳои ГОСТ-2012 дар Рутокен

пас шумо бояд сертификатро аз формати DER ба формати PEM (base64) табдил диҳед

$ openssl x509 -in cert.crt -out cert.pem -inform DER -outform PEM
Мо бори дигар тафтиш мекунем, ки ҳоло ҳама чиз дуруст аст.

Шаҳодатномаро ба рӯйхати шаҳодатномаҳои боэътимод илова кунед
$ mkdir ~/.eid
$ chmod 0755 ~/.eid
$ cat cert.pem >> ~/.eid/authorized_certificates
$ chmod 0644 ~/.eid/authorized_certificates

Сатри охирин рӯйхати шаҳодатномаҳои боэътимодро аз тасодуфан ё дидаю дониста аз ҷониби корбарони дигар тағир додан муҳофизат мекунад. Ин имкон намедиҳад, ки касе шаҳодатномаи худро дар ин ҷо илова кунад ва аз номи шумо ворид шавад.

7) Аутентификатсияро насб кунед

Насб кардани модули PAM-и мо комилан стандартӣ аст ва маҳз ҳамон тавре ки насб кардани модулҳои дигар анҷом дода мешавад. Барои файл эҷод кунед /usr/share/pam-configs/rutoken-gost-pam дорои номи пурраи модул, ки оё он бо нобаёнӣ фаъол аст,, афзалияти модул ва параметрҳои аутентификатсия.
Параметрҳои аутентификатсия талаботро барои муваффақияти амалиёт дар бар мегиранд:

  • талаб карда мешавад: Чунин модулҳо бояд ҷавоби мусбат баргардонанд. Агар натиҷаи занги модул ҷавоби манфӣ дошта бошад, ин боиси хатогии аутентификатсия мегардад. Дархост қатъ карда мешавад, аммо модулҳои боқимонда даъват карда мешаванд.
  • зарурӣ: Монанд ба талаб, вале дарҳол аутентификатсияро ноком мекунад ва модулҳои дигарро нодида мегирад.
  • кифоя: Агар ҳеҷ яке аз модулҳои зарурӣ ё кофӣ пеш аз чунин модул натиҷаи манфӣ баргардонид, он гоҳ модул ҷавоби мусбат бармегардад. Модулҳои боқимонда сарфи назар карда мешаванд.
  • ихтиёрӣ: Агар дар стек модулҳои зарурӣ вуҷуд надошта бошанд ва ҳеҷ яке аз модулҳои кофӣ натиҷаи мусбӣ надиҳанд, пас ҳадди аққал яке аз модулҳои ихтиёрӣ бояд натиҷаи мусбӣ баргардонад.

Мундариҷаи пурраи файл /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

Чӣ тавр модулҳои PAM-ро барои аутентификатсияи маҳаллӣ истифода бурдан мумкин аст Linux мувофиқи калидҳои ГОСТ-2012 дар Рутокен

файлро захира кунед ва сипас иҷро кунед
$ sudo pam-auth-update
дар равзанаи пайдошуда дар паҳлӯи он ситорача гузоред Rutoken PAM ГОСТ ва клик кунед OK

Чӣ тавр модулҳои PAM-ро барои аутентификатсияи маҳаллӣ истифода бурдан мумкин аст Linux мувофиқи калидҳои ГОСТ-2012 дар Рутокен

8) Танзимотҳоро санҷед

Барои фаҳмидани он ки ҳама чиз танзим шудааст, аммо дар айни замон қобилияти ворид шудан ба системаро аз даст надиҳед, фармонро ворид кунед
$ sudo login
Номи корбарии худро ворид кунед. Ҳама чиз дуруст танзим карда мешавад, агар система рамзи PIN-и дастгоҳро талаб кунад.

Чӣ тавр модулҳои PAM-ро барои аутентификатсияи маҳаллӣ истифода бурдан мумкин аст Linux мувофиқи калидҳои ГОСТ-2012 дар Рутокен

9) Компютерро, ки ҳангоми истихроҷ кардани нишона баста мешавад, танзим кунед

Ба баста дохил карда шудааст libpam-pkcs11 коммуналӣ дохил карда шудааст pkcs11_eventmgr, ки ба шумо имкон медиҳад, ки амалҳои гуногун ҳангоми рӯйдодҳои PKCS # 11.
Барои танзимот pkcs11_eventmgr ҳамчун файли конфигуратсия хизмат мекунад: /etc/pam_pkcs11/pkcs11_eventmgr.conf
Барои тақсимоти гуногуни Linux, фармоне, ки боиси баста шудани ҳисоб мегардад, вақте ки корти смарт ё токен хориҷ карда мешавад, фарқ мекунад. См. event card_remove.
Намунаи файли конфигуратсия дар зер нишон дода шудааст:

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";
    }
}

Пас аз он, барномаро илова кунед pkcs11_eventmgr ба оғоз. Барои ин, файли .bash_profile -ро таҳрир кунед:
$ nano /home/<имя_пользователя>/.bash_profile
Сатри pkcs11_eventmgr -ро ба охири файл илова кунед ва аз нав оғоз кунед.

Қадамҳои тавсифшуда барои насби системаи амалиётӣ метавонанд ҳамчун дастурҳо дар ҳама гуна паҳнкунии муосир истифода шаванд. Linux, аз ҷумла ватанӣ.

Чӣ тавр модулҳои PAM-ро барои аутентификатсияи маҳаллӣ истифода бурдан мумкин аст Linux мувофиқи калидҳои ГОСТ-2012 дар Рутокен

хулоса

Компютер бо Linux дар мақомоти давлатии Русия торафт маъмултар мешаванд, аммо насб кардани аутентификатсияи ду омилии амн дар ин системаи амалиётӣ ҳамеша осон нест. Мо бо хурсандӣ ба шумо дар ҳалли "мушкили парол" бо ин дастур кӯмак мерасонем ва дастрасии компютери шуморо бе сарф кардани вақти зиёд бехатар муҳофизат мекунем.

Манбаъ: will.com

Хостинги боэътимодро барои сайтҳо бо муҳофизати DDoS, серверҳои VPS VDS харед 🔥 Харидани хостинги боэътимоди вебсайт бо муҳофизати DDoS, серверҳои VPS VDS | ProHoster