В
Дар шарҳҳо аз мо хоҳиш карда шуд, ки дастурҳоро барои веб-серверҳои маъмултарин барои Linux - nginx ва Apache нависем.
Барои оғоз кардан ба шумо чӣ лозим аст?
- Ҳама гуна тақсимоти муосири Linux. Ман дар MX Linux 18.2_x64 насби санҷишӣ кардам. Ин албатта тақсимоти сервер нест, аммо барои Debian ҳеҷ гуна фарқият вуҷуд надорад. Барои тақсимоти дигар, роҳҳо ба китобхонаҳои конфигуратсия метавонанд каме фарқ кунанд.
- Токен. Мо истифода бурдани моделро идома медиҳем
Rutoken EDS PKI , ки аз рӯи хусусиятҳои суръат барои истифодаи корпоративӣ беҳтарин аст. - Барои кор бо токен дар Linux шумо бояд бастаҳои зеринро насб кунед:
libccid libpcsclite1 pcscd pcsc-tools opensc
Додани шаҳодатномаҳо
Дар мақолаҳои қаблӣ, мо ба он такя кардем, ки сертификатҳои сервер ва муштарӣ бо истифода аз Microsoft CA дода мешаванд. Аммо азбаски мо ҳама чизро дар Linux насб карда истодаем, мо инчунин ба шумо дар бораи роҳи алтернативии додани ин сертификатҳо - бе тарк кардани Linux нақл мекунем.
Мо XCA-ро ҳамчун CA истифода хоҳем кард (
саршавӣ
- Насб кунед:
$ apt-get install xca
- Ва мо медавидем:
$ xca
- Мо пойгоҳи додаи худро барои CA эҷод мекунем - /root/CA.xdb
Мо тавсия медиҳем, ки махзани Сертификати Сертификатсияро дар ҷузвдоне нигоҳ дорем, ки дар он танҳо маъмур дастрасӣ дорад. Ин барои ҳифзи калидҳои махфии шаҳодатномаҳои реша, ки барои имзои ҳама шаҳодатномаҳои дигар истифода мешаванд, муҳим аст.
Калидҳо ва шаҳодатномаи решаи CA эҷод кунед
Инфрасохтори калиди оммавӣ (PKI) ба системаи иерархӣ асос ёфтааст. Чизи асосӣ дар ин система мақомоти сертификатсияи реша ё CA реша аст. Шаҳодатномаи он бояд аввал эҷод карда шавад.
- Мо барои CA калиди хусусии RSA-2048 эҷод мекунем. Барои ин, дар ҷадвал Калидҳои хусусӣ Тела Калиди нав ва навъи мувофиқро интихоб кунед.
- Барои ҷуфти нави калид ном таъин кунед. Ман онро CA Key номида будам.
- Мо худи сертификати CA-ро бо истифода аз ҷуфти калидҳои сохташуда мебарорем. Барои ин, ба ҷадвал равед Шаҳодатномаҳо ва клик кунед Шаҳодатномаи нав.
- Ҳатман интихоб кунед ША-256, зеро истифодаи SHA-1 дигар бехатар ҳисобида намешавад.
- Боварӣ ҳосил кунед, ки ҳамчун қолаб интихоб кунед [пешфарз] CA. Фаромӯш накунед, ки пахш кунед Ҳамаро татбиқ кунед, вагарна шаблон татбиқ карда намешавад.
- Дар ҷадвал фан ҷуфти калиди моро интихоб кунед. Дар он ҷо шумо метавонед ҳамаи майдонҳои асосии сертификатро пур кунед.
Эҷоди калидҳо ва сертификати сервери https
- Ба ҳамин монанд, мо барои сервер калиди хусусии RSA-2048 эҷод мекунем, ман онро калиди сервер номидам.
- Ҳангоми сохтани сертификат, мо интихоб мекунем, ки сертификати сервер бояд бо сертификати CA имзо карда шавад.
- Фаромӯш накунед, ки интихоб кунед ША-256.
- Мо ҳамчун қолаб интихоб мекунем [пешфарз] HTTPS_server. -ро клик кунед Ҳамаро татбиқ кунед.
- Сипас дар ҷадвал фан калиди моро интихоб кунед ва майдонҳои заруриро пур кунед.
Барои корбар калидҳо ва сертификат эҷод кунед
- Калиди хусусии корбар дар нишонаи мо нигоҳ дошта мешавад. Барои кор бо он, шумо бояд китобхонаи PKCS # 11-ро аз вебсайти мо насб кунед. Барои тақсимоти маъмул, мо бастаҳои тайёрро тақсим мекунем, ки дар ин ҷо ҷойгиранд -
https://www.rutoken.ru/support/download/pkcs/ . Мо инчунин анборҳо барои arm64, armv7el, armv7hf, e2k, mipso32el дорем, ки онҳоро аз SDK мо зеркашӣ кардан мумкин аст -https://www.rutoken.ru/developers/sdk/ . Илова ба ассамблеяҳо барои Linux, инчунин ассамблеяҳо барои macOS, freebsd ва android мавҷуданд. - Илова кардани провайдери нави PKCS # 11 ба XCA. Барои ин, ба меню гузаред Имконот ба ҷадвал Таъминкунандаи PKCS # 11.
- пахш мекунем илова кардан ва роҳ ба PKCS интихоб # 11 китобхона. Дар ҳолати ман он usrliblibrtpkcs11ecp.so аст.
- Ба мо аломати форматшудаи Rutoken EDS PKI лозим мешавад. Барномаи rtAdmin -ро зеркашӣ кунед -
https://dev.rutoken.ru/pages/viewpage.action?pageId=7995615 - Мо иҷро мекунем
$ rtAdmin -f -q -z /usr/lib/librtpkcs11ecp.so -u <PIN-код пользователя>
- Мо калиди RSA-2048-ро барои Rutoken EDS PKI ҳамчун навъи калид интихоб мекунем. Ман ин калидро Калиди муштарӣ номидаам.
- Рамзи PIN-ро ворид кунед. Ва мо интизори анҷоми тавлиди сахтафзори ҷуфти калид ҳастем
- Мо барои корбар аз рӯи шабеҳи сертификати сервер сертификат эҷод мекунем. Ин дафъа мо як қолабро интихоб мекунем [пешфарз] HTTPS_client ва пахш карданро фаромӯш накунед Ҳамаро татбиқ кунед.
- Дар ҷадвал фан маълумотро дар бораи корбар ворид кунед. Мо ба дархост дар бораи захира кардани сертификат барои нишона ҷавоби мусбат медиҳем.
Дар натиҷа, дар ҷадвал Сертификатҳо дар XCA шумо бояд чунин чизе гиред.
Ин маҷмӯи ҳадди ақали калидҳо ва сертификатҳо барои оғоз кардани насби худи серверҳо кифоя аст.
Барои танзим, мо бояд сертификати CA, сертификати сервер ва калиди хусусии серверро содир кунем.
Барои ин, вуруди дилхоҳро дар ҷадвали мувофиқ дар XCA интихоб кунед ва клик кунед содирот.
Nginx
Ман наменависам, ки чӣ гуна сервери nginx-ро насб кардан ва идора кардан мумкин аст - дар Интернет мақолаҳои кофӣ мавҷуданд, на дар бораи ҳуҷҷатҳои расмӣ. Биёед мустақиман ба танзими HTTPS ва аутентификатсияи ду-омилӣ бо истифода аз нишона гузарем.
Сатрҳои зеринро ба бахши сервер дар nginx.conf илова кунед:
server {
listen 443 ssl;
ssl_verify_depth 1;
ssl_certificate /etc/nginx/Server.crt;
ssl_certificate_key /etc/nginx/ServerKey.pem;
ssl_client_certificate /etc/nginx/CA.crt;
ssl_verify_client on;
}
Тавсифи муфассали ҳамаи параметрҳои марбут ба танзими ssl дар nginx дар ин ҷо пайдо мешавад -
Ман танҳо он чизеро, ки аз худ пурсидам, ба таври мухтасар тавсиф мекунам:
- ssl_verify_client - муайян мекунад, ки занҷири эътимод барои сертификат бояд тафтиш карда шавад.
- ssl_verify_depth - умқи ҷустуҷӯро барои сертификати решаи боэътимод дар занҷир муайян мекунад. Азбаски сертификати муштарии мо фавран дар сертификати реша имзо мешавад, амиқ ба 1 муқаррар карда мешавад. Агар сертификати корбар дар CA-и фосилавӣ имзо шуда бошад, пас дар ин параметр бояд 2 нишон дода шавад ва ғайра.
- ssl_client_certificate - роҳро ба сертификати решаи боэътимод муайян мекунад, ки ҳангоми санҷиши эътимод ба сертификати корбар истифода мешавад.
- ssl_certificate/ssl_certificate_key - нишон додани роҳ ба сертификати сервер/калиди хусусӣ.
Фаромӯш накунед, ки nginx -t -ро иҷро кунед, то тафтиш кунед, ки дар конфигуратсия хатогиҳои ҳарф вуҷуд надоранд ва ҳама файлҳо дар ҷои дуруст ҷойгиранд ва ғайра.
Ва ин ҳама! Тавре ки шумо мебинед, танзим хеле содда аст.
Тафтиши он дар Firefox кор мекунад
Азбаски мо ҳама чизро дар Linux комилан иҷро мекунем, мо тахмин мекунем, ки корбарони мо низ дар Linux кор мекунанд (агар онҳо Windows дошта бошанд, пас
- Биёед Firefox-ро оғоз кунем.
- Биёед кӯшиш кунем, ки аввал бе нишона ворид шавем. Мо ин тасвирро мегирем:
- Мо идома медиҳем дар бораи: афзалиятҳо # махфият, ва мо ба он меравем Таҷҳизоти амниятӣ…
- пахш мекунем сарборӣБарои илова кардани драйвери дастгоҳи PKCS # 11 ва роҳро ба librtpkcs11ecp.so мо муайян кунед.
- Барои санҷидани он, ки шаҳодатнома намоён аст, шумо метавонед ба Мудири шаҳодатнома. Аз шумо хоҳиш карда мешавад, ки PIN-и худро ворид кунед. Пас аз вуруди дуруст, шумо метавонед он чизеро, ки дар ҷадвал мавҷуд аст, тафтиш кунед Шаҳодатномаҳои шумо сертификати мо аз нишона пайдо шуд.
- Акнун биёед бо нишона равем. Firefox аз шумо хоҳиш мекунад, ки сертификатеро интихоб кунед, ки барои сервер интихоб карда мешавад. Шаҳодатномаи моро интихоб кунед.
- ФАҚАТ!
Насбкунӣ як маротиба анҷом дода мешавад ва тавре ки шумо дар равзанаи дархости сертификат мебинед, мо метавонем интихоби худро захира кунем. Пас аз ин, ҳар дафъае, ки мо ба портал ворид мешавем, мо танҳо бояд токен ворид кунем ва рамзи PIN-и корбарро, ки ҳангоми форматкунӣ муайян карда шуда буд, ворид кунем. Пас аз чунин аутентификатсия, сервер аллакай медонад, ки кадом корбар ворид шудааст ва шумо дигар наметавонед ягон тирезаи иловагӣ барои тафтиш эҷод кунед, аммо фавран корбарро ба ҳисоби шахсии худ иҷозат диҳед.
Apache
Мисли nginx, ҳеҷ кас набояд дар насб кардани apache мушкилот дошта бошад. Агар шумо намедонед, ки чӣ тавр ин веб-сервер насб кунед, танҳо ҳуҷҷатҳои расмиро истифода баред.
Ва мо ба танзими HTTPS ва аутентификатсияи ду омили худ шурӯъ мекунем:
- Аввал шумо бояд mod_ssl -ро фаъол созед:
$ a2enmod ssl
- Ва он гоҳ танзимоти пешфарзи HTTPS-и сайтро фаъол созед:
$ a2ensite default-ssl
- Ҳоло мо файли конфигуратсияро таҳрир мекунем: /etc/apache2/sites-enabled/default-ssl.conf:
SSLEngine on SSLProtocol all -SSLv2 SSLCertificateFile /etc/apache2/sites-enabled/Server.crt SSLCertificateKeyFile /etc/apache2/sites-enabled/ServerKey.pem SSLCACertificateFile /etc/apache2/sites-enabled/CA.crt SSLVerifyClient require SSLVerifyDepth 10
Тавре ки шумо мебинед, номҳои параметрҳо амалан бо номҳои параметрҳо дар nginx мувофиқат мекунанд, бинобар ин ман онҳоро шарҳ намедиҳам. Боз ҳам, ҳар касе, ки ба тафсилот таваҷҷӯҳ дорад, ба ҳуҷҷатҳо хуш омадед.
Ҳоло мо сервери худро бозоғоз мекунем:$ service apache2 reload $ service apache2 restart
Тавре ки шумо мебинед, насб кардани аутентификатсияи ду-омил дар ҳама гуна серверҳои веб, хоҳ дар Windows ё Linux, ҳадди аксар як соатро мегирад. Ва насб кардани браузерҳо тақрибан 5 дақиқа вақтро мегирад. Бисёр одамон фикр мекунанд, ки таъсис ва кор бо аутентификатсияи ду-омил душвор ва норавшан аст. Ман умедворам, ки мақолаи мо ҳадди аққал каме ин афсонаро рад мекунад.
Танҳо корбарони сабтиномшуда метавонанд дар пурсиш иштирок кунанд.
Оё ба шумо дастур оид ба танзими TLS бо сертификатҳо мувофиқи ГОСТ 34.10-2012 лозим аст:
-
Бале, TLS-GOST хеле зарур аст
-
Не, танзим бо алгоритмҳои ГОСТ ҷолиб нест
44 корбар овоз доданд. 9 корбар худдорӣ карданд.
Манбаъ: will.com