የዩኤስቢ ማስመሰያ በመጠቀም በጣቢያው ላይ ባለ ሁለት ደረጃ ማረጋገጫ። አሁን ደግሞ ለሊኑክስ

የዩኤስቢ ማስመሰያ በመጠቀም በጣቢያው ላይ ባለ ሁለት ደረጃ ማረጋገጫ። አሁን ደግሞ ለሊኑክስ
В ከቀደምት ጽሑፎቻችን አንዱ በድርጅታዊ የኩባንያዎች መግቢያዎች ላይ ስለ ባለ ሁለት ደረጃ ማረጋገጫ አስፈላጊነት ተነጋገርን. ባለፈው ጊዜ በ IIS ድር አገልጋይ ውስጥ ደህንነቱ የተጠበቀ ማረጋገጫ እንዴት ማዋቀር እንደሚቻል አሳይተናል።

በአስተያየቶቹ ውስጥ ለሊኑክስ በጣም የተለመዱ የድር አገልጋዮች መመሪያዎችን እንድንጽፍ ተጠየቅን - nginx እና Apache።

ጠይቀሃል - ጻፍን።

ለመጀመር ምን ያስፈልግዎታል?

  • ማንኛውም ዘመናዊ የሊኑክስ ስርጭት. በኤምኤክስ ሊኑክስ 18.2_x64 ላይ የሙከራ ዝግጅት አድርጌያለሁ። ይህ በእርግጥ የአገልጋይ ስርጭት አይደለም፣ ነገር ግን ለዴቢያን ምንም ልዩነቶች ሊኖሩ አይችሉም። ለሌሎች ስርጭቶች፣ ወደ ውቅር ቤተ-መጻሕፍት የሚወስዱት ዱካዎች ትንሽ ሊለያዩ ይችላሉ።
  • ማስመሰያ ሞዴሉን መጠቀሙን እንቀጥላለን Rutoken EDS PKI, ለድርጅቶች አጠቃቀም የፍጥነት ባህሪያት ተስማሚ ነው.
  • በሊኑክስ ውስጥ ካለው ማስመሰያ ጋር ለመስራት የሚከተሉትን ጥቅሎች መጫን ያስፈልግዎታል።
    libccid libpcsclite1 pcscd pcsc-tools opensc

የዩኤስቢ ማስመሰያ በመጠቀም በጣቢያው ላይ ባለ ሁለት ደረጃ ማረጋገጫ። አሁን ደግሞ ለሊኑክስ

የምስክር ወረቀቶችን መስጠት

በቀደሙት ጽሁፎች፣ የአገልጋይ እና የደንበኛ ሰርተፊኬቶች የማይክሮሶፍት ሲኤ በመጠቀም እንደሚሰጡ ላይ ተመስርተናል። ነገር ግን ሁሉንም ነገር በሊኑክስ ውስጥ እያዘጋጀን ስለሆነ እነዚህን የምስክር ወረቀቶች ስለመስጠት አማራጭ መንገድ እንነግርዎታለን - ሊኑክስን ሳይለቁ።
XCA እንደ CA እንጠቀማለንhttps://hohnstaedt.de/xca/) በማንኛውም ዘመናዊ የሊኑክስ ስርጭት ላይ ይገኛል። በ XCA ውስጥ የምናደርጋቸው ሁሉም ድርጊቶች በትእዛዝ መስመር ሁነታ OpenSSL እና pkcs11-tool መገልገያዎችን በመጠቀም ሊከናወኑ ይችላሉ, ነገር ግን ለበለጠ ቀላልነት እና ግልጽነት, በዚህ ጽሑፍ ውስጥ አናቀርባቸውም.

ቢያስቆጥርም ገና መጀመሩ ነው

  1. ጫን ፦
    $ apt-get install xca
  2. እና እንሮጣለን:
    $ xca
  3. የመረጃ ቋታችንን ለCA - /root/CA.xdb እንፈጥራለን
    የምስክር ወረቀት ባለስልጣን ዳታቤዝ አስተዳዳሪው ብቻ በሚደርስበት አቃፊ ውስጥ እንዲያከማች እንመክራለን። ይህ ሁሉንም ሌሎች የምስክር ወረቀቶች ለመፈረም የሚያገለግሉትን የስር የምስክር ወረቀቶችን የግል ቁልፎች ለመጠበቅ አስፈላጊ ነው.

ቁልፎችን ይፍጠሩ እና የ CA ሰርቲፊኬት ይፍጠሩ

የህዝብ ቁልፍ መሠረተ ልማት (PKI) በተዋረድ ስርዓት ላይ የተመሰረተ ነው። በዚህ ስርዓት ውስጥ ዋናው ነገር የስር የምስክር ወረቀት ባለስልጣን ወይም ስርወ CA ነው. የምስክር ወረቀቱ መጀመሪያ መፈጠር አለበት።

  1. ለ CA RSA-2048 የግል ቁልፍ እንፈጥራለን። ይህንን ለማድረግ, በትሩ ላይ የግል ቁልፎች መግፋት አዲስ ቁልፍ እና ተገቢውን አይነት ይምረጡ.
  2. ለአዲሱ ቁልፍ ጥንድ ስም ያዘጋጁ። CA Key ብዬ ጠራሁት።
  3. የተፈጠረውን የቁልፍ ጥንድ በመጠቀም የCA ሰርተፍኬትን እራሱ እንሰጣለን። ይህንን ለማድረግ ወደ ትሩ ይሂዱ ሰርቲፊኬቶች እና ጠቅ ያድርጉ አዲስ የምስክር ወረቀት.
  4. መምረጥዎን እርግጠኛ ይሁኑ SHA-256ምክንያቱም SHA-1 መጠቀም ከአሁን በኋላ ደህንነቱ የተጠበቀ ተደርጎ ሊወሰድ አይችልም።
  5. እንደ አብነት መምረጥዎን እርግጠኛ ይሁኑ [ነባሪ] CA. ላይ ጠቅ ማድረግን አይርሱ ሁሉንም ይተግብሩ, አለበለዚያ አብነት አልተተገበረም.
  6. በትሩ ውስጥ ያስተያየትዎ ርዕስ የእኛን ቁልፍ ጥንድ ይምረጡ. እዚያም ሁሉንም የምስክር ወረቀቶች ዋና መስኮች መሙላት ይችላሉ.

የዩኤስቢ ማስመሰያ በመጠቀም በጣቢያው ላይ ባለ ሁለት ደረጃ ማረጋገጫ። አሁን ደግሞ ለሊኑክስ

ቁልፎችን እና የ https አገልጋይ ሰርተፍኬት መፍጠር

  1. በተመሳሳይ መልኩ ለአገልጋዩ RSA-2048 የግል ቁልፍ እንፈጥራለን፣ የአገልጋይ ቁልፍ ብዬዋለሁ።
  2. የምስክር ወረቀት ስንፈጥር የአገልጋይ ሰርተፍኬት በCA ሰርተፍኬት መፈረም እንዳለበት እንመርጣለን።
  3. መምረጥን አይርሱ SHA-256.
  4. እንደ አብነት እንመርጣለን [ነባሪ] HTTPS_አገልጋይ. ላይ ጠቅ ያድርጉ ሁሉንም ይተግብሩ.
  5. ከዚያ በትሩ ላይ ያስተያየትዎ ርዕስ ቁልፋችንን ይምረጡ እና አስፈላጊዎቹን መስኮች ይሙሉ።

የዩኤስቢ ማስመሰያ በመጠቀም በጣቢያው ላይ ባለ ሁለት ደረጃ ማረጋገጫ። አሁን ደግሞ ለሊኑክስ

ለተጠቃሚው ቁልፎችን እና የምስክር ወረቀት ይፍጠሩ

  1. የተጠቃሚው የግል ቁልፍ በእኛ ማስመሰያ ላይ ይከማቻል። ከእሱ ጋር ለመስራት PKCS#11 ላይብረሪ ከድረ-ገጻችን መጫን ያስፈልግዎታል። ለታዋቂ ስርጭቶች, እዚህ የሚገኙትን ዝግጁ የሆኑ ፓኬጆችን እናሰራጫለን - https://www.rutoken.ru/support/download/pkcs/. እንዲሁም ለ arm64, armv7el, armv7hf, e2k, mipso32el, ከእኛ ኤስዲኬ ሊወርዱ የሚችሉ ስብሰባዎች አሉን - https://www.rutoken.ru/developers/sdk/. ለሊኑክስ ከስብሰባዎች በተጨማሪ ለማክሮስ፣ ፍሪብስድ እና አንድሮይድ ስብሰባዎችም አሉ።
  2. አዲስ PKCS#11 አቅራቢ ወደ XCA ማከል። ይህንን ለማድረግ ወደ ምናሌው ይሂዱ አማራጮች ወደ ትር PKCS # 11 አቅራቢ.
  3. እኛ ይጫኑ አክል እና ወደ PKCS # 11 ቤተ-መጽሐፍት የሚወስደውን መንገድ ይምረጡ። በእኔ ሁኔታ usrliblibrtpkcs11ecp.so ነው።
  4. ቅርጸት የተሰራ Rutoken EDS PKI token እንፈልጋለን። የrtAdmin መገልገያውን ያውርዱ - https://dev.rutoken.ru/pages/viewpage.action?pageId=7995615
  5. እኛ እንሰራለን
    $ rtAdmin -f -q -z /usr/lib/librtpkcs11ecp.so -u <PIN-код пользователя>
  6. እንደ ቁልፍ አይነት የ RSA-2048 ቁልፍን ለ Rutoken EDS PKI እንመርጣለን. ይህንን ቁልፍ የደንበኛ ቁልፍ ደወልኩለት።

    የዩኤስቢ ማስመሰያ በመጠቀም በጣቢያው ላይ ባለ ሁለት ደረጃ ማረጋገጫ። አሁን ደግሞ ለሊኑክስ

  7. የፒን ኮዱን ያስገቡ። እና የቁልፍ ጥንድ ሃርድዌር ማመንጨት እስኪጠናቀቅ እንጠብቃለን።

    የዩኤስቢ ማስመሰያ በመጠቀም በጣቢያው ላይ ባለ ሁለት ደረጃ ማረጋገጫ። አሁን ደግሞ ለሊኑክስ

  8. ለተጠቃሚው የምስክር ወረቀት ከአገልጋዩ የምስክር ወረቀት ጋር በማመሳሰል እንፈጥራለን። በዚህ ጊዜ አብነት እንመርጣለን [ነባሪ] HTTPS_ደንበኛ እና ጠቅ ማድረግን አይርሱ ሁሉንም ይተግብሩ.
  9. በትሩ ውስጥ ያስተያየትዎ ርዕስ ስለ ተጠቃሚው መረጃ አስገባ. የምስክር ወረቀቱን ለትክንያቱ ለማስቀመጥ ለሚጠየቀው ጥያቄ አዎንታዊ መልስ እንሰጣለን.

በውጤቱም, በትሩ ላይ የምስክር ወረቀቶች በ XCA ውስጥ እንደዚህ ያለ ነገር ማግኘት አለብዎት።

የዩኤስቢ ማስመሰያ በመጠቀም በጣቢያው ላይ ባለ ሁለት ደረጃ ማረጋገጫ። አሁን ደግሞ ለሊኑክስ
አገልጋዮቹን እራሳቸው ማዋቀር ለመጀመር ይህ አነስተኛ የቁልፍ እና የምስክር ወረቀቶች ስብስብ በቂ ነው።

ለማዋቀር የCA ሰርተፍኬት፣ የአገልጋይ ሰርተፍኬት እና የአገልጋይ የግል ቁልፍ ወደ ውጭ መላክ አለብን።

ይህንን ለማድረግ በ XCA ውስጥ ባለው ተዛማጅ ትር ላይ የሚፈለገውን ግቤት ይምረጡ እና ጠቅ ያድርጉ ወደ ውጪ ላክ.

እም

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

በ nginx ውስጥ ssl ን ከማዋቀር ጋር የተዛመዱ የሁሉም መለኪያዎች ዝርዝር መግለጫ እዚህ ይገኛል - https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_client_certificate

ለራሴ የጠየቅኳቸውን ባጭሩ እገልጻለሁ፡-

  • ssl_verify_client - የምስክር ወረቀቱ የእምነት ሰንሰለት መረጋገጥ እንዳለበት ይገልጻል።
  • ssl_verify_depth - በሰንሰለቱ ውስጥ ያለውን የታመነ ስርወ ሰርተፍኬት ፍለጋ ጥልቀት ይገልጻል። የእኛ የደንበኛ ሰርተፊኬት ወዲያውኑ በስሩ ሰርተፍኬት ላይ የተፈረመ በመሆኑ ጥልቀቱ ወደ 1. የተጠቃሚ ምስክር ወረቀት በመካከለኛ CA ላይ ከተፈረመ 2 በዚህ ግቤት ውስጥ መገለጽ አለበት እና ወዘተ.
  • ssl_client_certificate - ወደ የታመነው ስርወ ሰርተፍኬት የሚወስደውን መንገድ ይገልጻል፣ ይህም በተጠቃሚው የምስክር ወረቀት ላይ እምነትን ሲፈትሽ ጥቅም ላይ ይውላል።
  • ssl_certificate/ssl_certificate_key - ወደ አገልጋይ ሰርተፍኬት/የግል ቁልፍ የሚወስደውን መንገድ ያመልክቱ።

በማዋቀሪያው ውስጥ ምንም የፊደል አጻጻፍ አለመኖሩን እና ሁሉም ፋይሎች በትክክለኛው ቦታ ላይ መሆናቸውን እና የመሳሰሉትን ለማረጋገጥ nginx -t ን ማሄድን አይርሱ።

እና ያ ብቻ ነው! እንደሚመለከቱት, ማዋቀሩ በጣም ቀላል ነው.

በፋየርፎክስ ውስጥ እየሰራ መሆኑን ማረጋገጥ

ሁሉንም ነገር በሊኑክስ ውስጥ ሙሉ በሙሉ ስለሠራን ተጠቃሚዎቻችንም በሊኑክስ ውስጥ እንደሚሠሩ እንገምታለን (ዊንዶውስ ካላቸው ፣ ከዚያ በቀደመው መጣጥፍ ውስጥ አሳሾችን ለማቀናበር መመሪያዎችን ይመልከቱ.

  1. ፋየርፎክስን እናስጀምር።
  2. መጀመሪያ ያለ ማስመሰያ ለመግባት እንሞክር። ይህንን ምስል እናገኛለን:

    የዩኤስቢ ማስመሰያ በመጠቀም በጣቢያው ላይ ባለ ሁለት ደረጃ ማረጋገጫ። አሁን ደግሞ ለሊኑክስ

  3. እንቀጥላለን ስለ: ምርጫዎች # ግላዊነት።, እና ወደ እኛ እንሄዳለን የደህንነት መሳሪያዎች…
  4. እኛ ይጫኑ ሸክምአዲስ PKCS#11 መሳሪያ ሾፌር ለመጨመር እና ወደ librtpkcs11ecp.so የሚወስደውን መንገድ ይግለጹ።
  5. የምስክር ወረቀቱ የሚታይ መሆኑን ለማረጋገጥ ወደ መሄድ ይችላሉ። የምስክር ወረቀት አስተዳዳሪ. ፒንዎን እንዲያስገቡ ይጠየቃሉ። ከትክክለኛ ግቤት በኋላ, በትሩ ላይ ያለውን ነገር ማረጋገጥ ይችላሉ የምስክር ወረቀቶችዎ የእኛ የምስክር ወረቀት ከቶከን ታየ.
  6. አሁን በቶከን እንሂድ። ፋየርፎክስ ለአገልጋዩ የሚመረጥ የምስክር ወረቀት እንዲመርጡ ይጠይቅዎታል። የእኛን የምስክር ወረቀት ይምረጡ።

    የዩኤስቢ ማስመሰያ በመጠቀም በጣቢያው ላይ ባለ ሁለት ደረጃ ማረጋገጫ። አሁን ደግሞ ለሊኑክስ

  7. ትርፍ!

    የዩኤስቢ ማስመሰያ በመጠቀም በጣቢያው ላይ ባለ ሁለት ደረጃ ማረጋገጫ። አሁን ደግሞ ለሊኑክስ

ማዋቀሩ አንድ ጊዜ ተከናውኗል, እና በእውቅና ማረጋገጫ ጥያቄ መስኮት ላይ እንደሚታየው, ምርጫችንን ማስቀመጥ እንችላለን. ከዚህ በኋላ ወደ ፖርታል በገባን ቁጥር ቶከን ማስገባት እና በቅርጸት ወቅት የተገለፀውን የተጠቃሚውን ፒን ኮድ ማስገባት ብቻ አለብን። ከእንደዚህ አይነት ማረጋገጫ በኋላ አገልጋዩ የትኛው ተጠቃሚ እንደገባ አስቀድሞ ያውቃል እና ምንም ተጨማሪ የማረጋገጫ መስኮቶችን መፍጠር አይችሉም ፣ ግን ወዲያውኑ ተጠቃሚውን ወደ የግል መለያው ያስገቡ።

Apache

ልክ እንደ nginx፣ ማንም ሰው apache ሲጭን ምንም አይነት ችግር ሊገጥመው አይገባም። ይህንን የድር አገልጋይ እንዴት እንደሚጭኑ ካላወቁ ኦፊሴላዊውን ሰነድ ብቻ ይጠቀሙ።

እና የእኛን HTTPS እና ባለ ሁለት ደረጃ ማረጋገጫ ማዋቀር እንጀምራለን፡

  1. በመጀመሪያ mod_ssl ን ማግበር ያስፈልግዎታል፡-
    $ a2enmod ssl
  2. እና ከዚያ የጣቢያው ነባሪ HTTPS ቅንብሮችን አንቃ፡-
    $ a2ensite default-ssl
  3. አሁን የማዋቀሪያውን ፋይል እናስተካክላለን፡ /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

  4. እንደሚመለከቱት ፣ በዊንዶውስ ወይም ሊኑክስ ላይ በማንኛውም የድር አገልጋይ ላይ ባለ ሁለት ደረጃ ማረጋገጫን ማዋቀር ቢበዛ አንድ ሰዓት ይወስዳል። እና አሳሾችን ማዋቀር 5 ደቂቃ ያህል ይወስዳል። ብዙ ሰዎች በሁለት-ደረጃ ማረጋገጫ ማቀናበር እና መስራት አስቸጋሪ እና ግልጽ ያልሆነ ነው ብለው ያስባሉ. ጽሑፋችን ይህንን ተረት ቢያንስ በትንሹም ቢሆን ያወግዛል ብዬ ተስፋ አደርጋለሁ።

በዳሰሳ ጥናቱ ውስጥ የተመዘገቡ ተጠቃሚዎች ብቻ መሳተፍ ይችላሉ። ስግን እንእባክህን።

በ GOST 34.10-2012 መሠረት TLSን ከእውቅና ማረጋገጫዎች ጋር ለማዋቀር መመሪያዎችን ያስፈልግዎታል

  • አዎ፣ TLS-GOST በጣም አስፈላጊ ነው።

  • አይ, በ GOST ስልተ ቀመሮች ማስተካከል አስደሳች አይደለም

44 ተጠቃሚዎች ድምጽ ሰጥተዋል። 9 ተጠቃሚዎች ድምፀ ተአቅቦ አድርገዋል።

ምንጭ: hab.com

አስተያየት ያክሉ