ืื™ืžื•ืช ื“ื•-ื’ื•ืจืžื™ ื‘ืืชืจ ื‘ืืžืฆืขื•ืช ืืกื™ืžื•ืŸ USB. ืขื›ืฉื™ื• ื’ื ืœืœื™ื ื•ืงืก

ืื™ืžื•ืช ื“ื•-ื’ื•ืจืžื™ ื‘ืืชืจ ื‘ืืžืฆืขื•ืช ืืกื™ืžื•ืŸ USB. ืขื›ืฉื™ื• ื’ื ืœืœื™ื ื•ืงืก
ะ’ ืื—ื“ ืžื”ืžืืžืจื™ื ื”ืงื•ื“ืžื™ื ืฉืœื ื• ื“ื™ื‘ืจื ื• ืขืœ ื”ื—ืฉื™ื‘ื•ืช ืฉืœ ืื™ืžื•ืช ื“ื•-ื’ื•ืจืžื™ ื‘ืคื•ืจื˜ืœื™ื ืืจื’ื•ื ื™ื™ื ืฉืœ ื—ื‘ืจื•ืช. ื‘ืคืขื ื”ืื—ืจื•ื ื” ื”ื“ื’ืžื ื• ื›ื™ืฆื“ ืœื”ื’ื“ื™ืจ ืื™ืžื•ืช ืžืื•ื‘ื˜ื— ื‘ืฉืจืช ื”ืื™ื ื˜ืจื ื˜ ืฉืœ IIS.

ื‘ื”ืขืจื•ืช ื”ืชื‘ืงืฉื ื• ืœื›ืชื•ื‘ ื”ื•ืจืื•ืช ืœืฉืจืชื™ ื”ืื™ื ื˜ืจื ื˜ ื”ื ืคื•ืฆื™ื ื‘ื™ื•ืชืจ ืœืœื™ื ื•ืงืก - nginx ื•-Apache.

ืฉืืœืช - ื›ืชื‘ื ื•.

ืžื” ืืชื” ืฆืจื™ืš ื›ื“ื™ ืœื”ืชื—ื™ืœ?

  • ื›ืœ ื”ืคืฆืช ืœื™ื ื•ืงืก ืžื•ื“ืจื ื™ืช. ืขืฉื™ืชื™ ื”ื’ื“ืจืช ื‘ื“ื™ืงื” ื‘-MX Linux 18.2_x64. ื–ื• ื›ืžื•ื‘ืŸ ืœื ื”ืคืฆืช ืฉืจืช, ืื‘ืœ ืœื ืกื‘ื™ืจ ืฉื™ื”ื™ื• ื”ื‘ื“ืœื™ื ืขื‘ื•ืจ ื“ื‘ื™ืืŸ. ืขื‘ื•ืจ ื”ืคืฆื•ืช ืื—ืจื•ืช, ื”ื ืชื™ื‘ื™ื ืœืกืคืจื™ื•ืช ื”ืชืฆื•ืจื” ืขืฉื•ื™ื™ื ืœื”ืฉืชื ื•ืช ืžืขื˜.
  • ืึฒืกึดื™ืžื•ึนืŸ. ืื ื• ืžืžืฉื™ื›ื™ื ืœื”ืฉืชืžืฉ ื‘ืžื•ื“ืœ Rutoken EDS PKI, ืฉื”ื•ื ืื™ื“ื™ืืœื™ ืžื‘ื—ื™ื ืช ืžืืคื™ื™ื ื™ ืžื”ื™ืจื•ืช ืœืฉื™ืžื•ืฉ ืืจื’ื•ื ื™.
  • ื›ื“ื™ ืœืขื‘ื•ื“ ืขื ืืกื™ืžื•ืŸ ื‘ืœื™ื ื•ืงืก, ืขืœื™ืš ืœื”ืชืงื™ืŸ ืืช ื”ื—ื‘ื™ืœื•ืช ื”ื‘ืื•ืช:
    libccid libpcsclite1 pcscd pcsc-tools opensc

ืื™ืžื•ืช ื“ื•-ื’ื•ืจืžื™ ื‘ืืชืจ ื‘ืืžืฆืขื•ืช ืืกื™ืžื•ืŸ USB. ืขื›ืฉื™ื• ื’ื ืœืœื™ื ื•ืงืก

ื”ื ืคืงืช ืชืขื•ื“ื•ืช

ื‘ืžืืžืจื™ื ืงื•ื“ืžื™ื ื”ืกืชืžื›ื ื• ืขืœ ื”ืขื•ื‘ื“ื” ืฉืชืขื•ื“ื•ืช ืฉืจืช ื•ืœืงื•ื— ื™ื•ื ืคืงื• ื‘ืืžืฆืขื•ืช Microsoft CA. ืื‘ืœ ืžื›ื™ื•ื•ืŸ ืฉืื ื• ืžื’ื“ื™ืจื™ื ื”ื›ืœ ื‘ืœื™ื ื•ืงืก, ื ืกืคืจ ืœื›ื ื’ื ืขืœ ื“ืจืš ื—ืœื•ืคื™ืช ืœื”ื ืคื™ืง ืื™ืฉื•ืจื™ื ืืœื” - ืžื‘ืœื™ ืœืขื–ื•ื‘ ืืช ืœื™ื ื•ืงืก.
ื ืฉืชืžืฉ ื‘-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. ืื ื• ื™ื•ืฆืจื™ื ืžืคืชื— ืคืจื˜ื™ RSA-2048 ืขื‘ื•ืจ ื”-CA. ื›ื“ื™ ืœืขืฉื•ืช ื–ืืช, ื‘ื›ืจื˜ื™ืกื™ื™ื” ืžืคืชื—ื•ืช ืคืจื˜ื™ื™ื ืœึดื“ื—ื•ึนืฃ ืžืคืชื— ื—ื“ืฉ ื•ื‘ื—ืจ ืืช ื”ืกื•ื’ ื”ืžืชืื™ื.
  2. ื”ื’ื“ืจ ืฉื ืœื–ื•ื’ ื”ืžืคืชื—ื•ืช ื”ื—ื“ืฉ. ืงืจืืชื™ ืœื–ื” CA Key.
  3. ืื ื• ืžื ืคื™ืงื™ื ืืช ืื™ืฉื•ืจ ื”-CA ืขืฆืžื•, ื‘ืืžืฆืขื•ืช ืฆืžื“ ื”ืžืคืชื—ื•ืช ืฉื ื•ืฆืจ. ื›ื“ื™ ืœืขืฉื•ืช ื–ืืช, ืขื‘ื•ืจ ืืœ ื”ื›ืจื˜ื™ืกื™ื™ื” ืชืขื•ื“ื•ืช ื•ืœื—ืฅ ืชืขื•ื“ื” ื—ื“ืฉื”.
  4. ื”ืงืคื“ ืœื‘ื—ื•ืจ SHA-256, ื›ื™ ื”ืฉื™ืžื•ืฉ ื‘-SHA-1 ื›ื‘ืจ ืœื ื™ื›ื•ืœ ืœื”ื™ื—ืฉื‘ ื‘ื˜ื•ื—.
  5. ื”ืงืคื“ ืœื‘ื—ื•ืจ ื›ืชื‘ื ื™ืช [ื‘ืจื™ืจืช ืžื—ื“ืœ]CA. ืืœ ืชืฉื›ื— ืœืœื—ื•ืฅ ืขืœ ื”ื—ืœ ื”ื›ืœ, ืื—ืจืช ื”ืชื‘ื ื™ืช ืœื ืžื™ื•ืฉืžืช.
  6. ื›ืจื˜ื™ืกื™ื™ื” ื ื•ืฉื ื‘ื—ืจ ืืช ื–ื•ื’ ื”ืžืคืชื—ื•ืช ืฉืœื ื•. ืฉื ืชื•ื›ืœื• ืœืžืœื ืืช ื›ืœ ื”ืฉื“ื•ืช ื”ืขื™ืงืจื™ื™ื ืฉืœ ื”ืชืขื•ื“ื”.

ืื™ืžื•ืช ื“ื•-ื’ื•ืจืžื™ ื‘ืืชืจ ื‘ืืžืฆืขื•ืช ืืกื™ืžื•ืŸ USB. ืขื›ืฉื™ื• ื’ื ืœืœื™ื ื•ืงืก

ื™ืฆื™ืจืช ืžืคืชื—ื•ืช ื•ืชืขื•ื“ืช ืฉืจืช https

  1. ื‘ืื•ืคืŸ ื“ื•ืžื”, ืื ื• ื™ื•ืฆืจื™ื ืžืคืชื— ืคืจื˜ื™ RSA-2048 ืœืฉืจืช, ืงืจืืชื™ ืœื• Server Key.
  2. ื‘ืขืช ื™ืฆื™ืจืช ืื™ืฉื•ืจ, ืื ื• ื‘ื•ื—ืจื™ื ืฉืชืขื•ื“ืช ื”ืฉืจืช ื—ื™ื™ื‘ืช ืœื”ื™ื•ืช ื—ืชื•ืžื” ื‘ืื™ืฉื•ืจ CA.
  3. ืืœ ืชืฉื›ื— ืœื‘ื—ื•ืจ SHA-256.
  4. ืื ื• ื‘ื•ื—ืจื™ื ื›ืชื‘ื ื™ืช [ื‘ืจื™ืจืช ืžื—ื“ืœ] HTTPS_server. ืœื—ืฅ ืขืœ ื”ื—ืœ ื”ื›ืœ.
  5. ื•ืื– ื‘ื›ืจื˜ื™ืกื™ื™ื” ื ื•ืฉื ื‘ื—ืจ ืืช ื”ืžืคืชื— ืฉืœื ื• ื•ืžืœื ืืช ื”ืฉื“ื•ืช ื”ื ื“ืจืฉื™ื.

ืื™ืžื•ืช ื“ื•-ื’ื•ืจืžื™ ื‘ืืชืจ ื‘ืืžืฆืขื•ืช ืืกื™ืžื•ืŸ USB. ืขื›ืฉื™ื• ื’ื ืœืœื™ื ื•ืงืก

ืฆื•ืจ ืžืคืชื—ื•ืช ื•ืื™ืฉื•ืจ ืขื‘ื•ืจ ื”ืžืฉืชืžืฉ

  1. ื”ืžืคืชื— ื”ืคืจื˜ื™ ืฉืœ ื”ืžืฉืชืžืฉ ื™ื™ืฉืžืจ ืขืœ ื”ืืกื™ืžื•ืŸ ืฉืœื ื•. ื›ื“ื™ ืœืขื‘ื•ื“ ืื™ืชื”, ืขืœื™ืš ืœื”ืชืงื™ืŸ ืืช ืกืคืจื™ื™ืช PKCS#11 ืžื”ืืชืจ ืฉืœื ื•. ืœื”ืคืฆื•ืช ืคื•ืคื•ืœืจื™ื•ืช, ืื ื• ืžืคื™ืฆื™ื ื—ื‘ื™ืœื•ืช ืžื•ื›ื ื•ืช, ืฉื ืžืฆืื•ืช ื›ืืŸ - https://www.rutoken.ru/support/download/pkcs/. ื™ืฉ ืœื ื• ื’ื ืžื›ืœื•ืœื™ื ืขื‘ื•ืจ arm64, armv7el, armv7hf, e2k, mipso32el, ืื•ืชื ื ื™ืชืŸ ืœื”ื•ืจื™ื“ ืžื”-SDK ืฉืœื ื• - https://www.rutoken.ru/developers/sdk/. ื‘ื ื•ืกืฃ ืœืžื›ืœื•ืœื™ื ืขื‘ื•ืจ ืœื™ื ื•ืงืก, ื™ืฉ ื’ื ืžื›ืœื•ืœื™ื ืขื‘ื•ืจ macOS, freebsd ื•ืื ื“ืจื•ืื™ื“.
  2. ื”ื•ืกืคืช ืกืคืง PKCS#11 ื—ื“ืฉ ืœ-XCA. ื›ื“ื™ ืœืขืฉื•ืช ื–ืืช, ืขื‘ื•ืจ ืœืชืคืจื™ื˜ ืืคืฉืจื•ื™ื•ืช ืœื›ืจื˜ื™ืกื™ื™ื” ืกืคืง PKCS#11.
  3. ืื ื—ื ื• ืœื•ื—ืฆื™ื ืœื”ื•ืกื™ืฃ ื•ื‘ื—ืจ ืืช ื”ื ืชื™ื‘ ืœืกืคืจื™ื™ืช PKCS#11. ื‘ืžืงืจื” ืฉืœื™ ื–ื” usrliblibrtpkcs11ecp.so.
  4. ื ืฆื˜ืจืš ืืกื™ืžื•ืŸ Rutoken EDS PKI ืžืขื•ืฆื‘. ื”ื•ืจื“ ืืช ื›ืœื™ ื”ืฉื™ืจื•ืช 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 ื›ืกื•ื’ ื”ืžืคืชื—. ืงืจืืชื™ ืœืžืคืชื— ื”ื–ื” Client Key.

    ืื™ืžื•ืช ื“ื•-ื’ื•ืจืžื™ ื‘ืืชืจ ื‘ืืžืฆืขื•ืช ืืกื™ืžื•ืŸ USB. ืขื›ืฉื™ื• ื’ื ืœืœื™ื ื•ืงืก

  7. ื”ื–ืŸ ืืช ืงื•ื“ ื”-PIN. ื•ืื ื—ื ื• ืžื—ื›ื™ื ืœื”ืฉืœืžืช ื™ื™ืฆื•ืจ ื”ื—ื•ืžืจื” ืฉืœ ืฆืžื“ ื”ืžืคืชื—ื•ืช

    ืื™ืžื•ืช ื“ื•-ื’ื•ืจืžื™ ื‘ืืชืจ ื‘ืืžืฆืขื•ืช ืืกื™ืžื•ืŸ USB. ืขื›ืฉื™ื• ื’ื ืœืœื™ื ื•ืงืก

  8. ืื ื• ื™ื•ืฆืจื™ื ืชืขื•ื“ื” ืขื‘ื•ืจ ื”ืžืฉืชืžืฉ ื‘ืื ืœื•ื’ื™ื” ืœืชืขื•ื“ืช ื”ืฉืจืช. ื”ืคืขื ื ื‘ื—ืจ ืชื‘ื ื™ืช [ื‘ืจื™ืจืช ืžื—ื“ืœ] HTTPS_client ื•ืืœ ืชืฉื›ื— ืœืœื—ื•ืฅ ื”ื—ืœ ื”ื›ืœ.
  9. ื›ืจื˜ื™ืกื™ื™ื” ื ื•ืฉื ืœื”ื–ื™ืŸ ืžื™ื“ืข ืขืœ ื”ืžืฉืชืžืฉ. ืื ื• ืขื•ื ื™ื ื‘ื—ื™ื•ื‘ ืœื‘ืงืฉื” ืœืฉืžื•ืจ ืืช ื”ืชืขื•ื“ื” ืขื‘ื•ืจ ื”ืืกื™ืžื•ืŸ.

ื›ืชื•ืฆืื” ืžื›ืš, ื‘ื›ืจื˜ื™ืกื™ื™ื” ืชืขื•ื“ื•ืช ื‘-XCA ืืชื” ืืžื•ืจ ืœืงื‘ืœ ืžืฉื”ื• ื›ื–ื”.

ืื™ืžื•ืช ื“ื•-ื’ื•ืจืžื™ ื‘ืืชืจ ื‘ืืžืฆืขื•ืช ืืกื™ืžื•ืŸ USB. ืขื›ืฉื™ื• ื’ื ืœืœื™ื ื•ืงืก
ืงื‘ื•ืฆื” ืžื™ื ื™ืžืœื™ืช ื–ื• ืฉืœ ืžืคืชื—ื•ืช ื•ืื™ืฉื•ืจื™ื ืžืกืคื™ืงื” ื›ื“ื™ ืœื”ืชื—ื™ืœ ื‘ื”ื’ื“ืจืช ื”ืฉืจืชื™ื ืขืฆืžื.

ื›ื“ื™ ืœื”ื’ื“ื™ืจ, ืขืœื™ื ื• ืœื™ื™ืฆื ืืช ืื™ืฉื•ืจ ื”-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 ื ื™ืชืŸ ืœืžืฆื•ื ื›ืืŸ - 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. ื‘ื•ืื• ืœื”ืคืขื™ืœ ืืช Firefox.
  2. ืชื—ื™ืœื” ื ื ืกื” ืœื”ื™ื›ื ืก ืœืœื ืืกื™ืžื•ืŸ. ืื ื—ื ื• ืžืงื‘ืœื™ื ืืช ื”ืชืžื•ื ื” ื”ื–ืืช:

    ืื™ืžื•ืช ื“ื•-ื’ื•ืจืžื™ ื‘ืืชืจ ื‘ืืžืฆืขื•ืช ืืกื™ืžื•ืŸ USB. ืขื›ืฉื™ื• ื’ื ืœืœื™ื ื•ืงืก

  3. ืœืš ืœ ืื•ื“ื•ืช: ื”ืขื“ืคื•ืช # ืคืจื˜ื™ื•ืช, ื•ืื ื—ื ื• ื”ื•ืœื›ื™ื ืœ ืžื›ืฉื™ืจื™ ืื‘ื˜ื—ื”...
  4. ืื ื—ื ื• ืœื•ื—ืฆื™ื ืœึดื˜ืขื•ึนืŸื›ื“ื™ ืœื”ื•ืกื™ืฃ ืžื ื”ืœ ื”ืชืงืŸ PKCS#11 ื—ื“ืฉ ื•ืœืฆื™ื™ืŸ ืืช ื”ื ืชื™ื‘ ืœ-librtpkcs11ecp.so ืฉืœื ื•.
  5. ื›ื“ื™ ืœื‘ื“ื•ืง ืฉื”ืชืขื•ื“ื” ื’ืœื•ื™ื”, ื ื™ืชืŸ ืœืขื‘ื•ืจ ืืœ ืžื ื”ืœ ืื™ืฉื•ืจื™ื. ืชืชื‘ืงืฉ ืœื”ื–ื™ืŸ ืืช ื”-PIN ืฉืœืš. ืœืื—ืจ ืงืœื˜ ื ื›ื•ืŸ, ืืชื” ื™ื›ื•ืœ ืœื‘ื“ื•ืง ืžื” ื™ืฉ ื‘ื›ืจื˜ื™ืกื™ื™ื” ื”ืื™ืฉื•ืจื™ื ืฉืœืš ื”ืื™ืฉื•ืจ ืฉืœื ื• ืžื”ืืกื™ืžื•ืŸ ื”ื•ืคื™ืข.
  6. ืขื›ืฉื™ื• ื‘ื•ื ื ืœืš ืขื ื”ืืกื™ืžื•ืŸ. Firefox ืžื‘ืงืฉ ืžืžืš ืœื‘ื—ื•ืจ ืื™ืฉื•ืจ ืฉื™ื™ื‘ื—ืจ ืขื‘ื•ืจ ื”ืฉืจืช. ื‘ื—ืจ ืืช ื”ืชืขื•ื“ื” ืฉืœื ื•.

    ืื™ืžื•ืช ื“ื•-ื’ื•ืจืžื™ ื‘ืืชืจ ื‘ืืžืฆืขื•ืช ืืกื™ืžื•ืŸ USB. ืขื›ืฉื™ื• ื’ื ืœืœื™ื ื•ืงืก

  7. ืจื•ื•ื—!

    ืื™ืžื•ืช ื“ื•-ื’ื•ืจืžื™ ื‘ืืชืจ ื‘ืืžืฆืขื•ืช ืืกื™ืžื•ืŸ USB. ืขื›ืฉื™ื• ื’ื ืœืœื™ื ื•ืงืก

ื”ื”ื’ื“ืจื” ืžืชื‘ืฆืขืช ืคืขื ืื—ืช, ื•ื›ืคื™ ืฉื ื™ืชืŸ ืœืจืื•ืช ื‘ื—ืœื•ืŸ ื‘ืงืฉืช ื”ืื™ืฉื•ืจ, ืื ื• ื™ื›ื•ืœื™ื ืœืฉืžื•ืจ ืืช ื”ื‘ื—ื™ืจื” ืฉืœื ื•. ืœืื—ืจ ืžื›ืŸ, ื‘ื›ืœ ืคืขื ืฉื ื™ื›ื ืก ืœืคื•ืจื˜ืœ, ื ืฆื˜ืจืš ืจืง ืœื”ื›ื ื™ืก ืืกื™ืžื•ืŸ ื•ืœื”ื–ื™ืŸ ืืช ืงื•ื“ ื”-PIN ืฉืœ ื”ืžืฉืชืžืฉ ืฉืฆื•ื™ืŸ ื‘ืžื”ืœืš ื”ืขื™ืฆื•ื‘. ืœืื—ืจ ืื™ืžื•ืช ื›ื–ื”, ื”ืฉืจืช ื›ื‘ืจ ื™ื•ื“ืข ืื™ื–ื” ืžืฉืชืžืฉ ื ื›ื ืก ื•ืœื ื ื™ืชืŸ ืขื•ื“ ืœื™ืฆื•ืจ ื—ืœื•ื ื•ืช ื ื•ืกืคื™ื ืœืื™ืžื•ืช, ืืœื ืœื”ื›ื ื™ืก ืžื™ื“ ืืช ื”ืžืฉืชืžืฉ ืœื—ืฉื‘ื•ืŸ ื”ืื™ืฉื™ ืฉืœื•.

ืึทืคึธึผืฉื

ื‘ื“ื™ื•ืง ื›ืžื• ืขื nginx, ืœืืฃ ืื—ื“ ืœื ืืžื•ืจื” ืœื”ื™ื•ืช ื‘ืขื™ื•ืช ื‘ื”ืชืงื ืช ืืคืืฆ'ื™. ืื ืื™ื ืš ื™ื•ื“ืข ื›ื™ืฆื“ ืœื”ืชืงื™ืŸ ืฉืจืช ืื™ื ื˜ืจื ื˜ ื–ื”, ืคืฉื•ื˜ ื”ืฉืชืžืฉ ื‘ืชื™ืขื•ื“ ื”ืจืฉืžื™.

ื•ืื ื—ื ื• ืžืชื—ื™ืœื™ื ืœื”ื’ื“ื™ืจ ืืช ื”-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. ื›ืคื™ ืฉืืชื” ื™ื›ื•ืœ ืœืจืื•ืช, ื”ื’ื“ืจืช ืื™ืžื•ืช ื“ื•-ื’ื•ืจืžื™ ื‘ื›ืœ ืฉืจืช ืื™ื ื˜ืจื ื˜, ื‘ื™ืŸ ืื ื‘-Windows ืื• ืœื™ื ื•ืงืก, ืื•ืจื›ืช ืฉืขื” ืœื›ืœ ื”ื™ื•ืชืจ. ื•ื”ื’ื“ืจืช ื“ืคื“ืคื ื™ื ืื•ืจื›ืช ื›-5 ื“ืงื•ืช. ืื ืฉื™ื ืจื‘ื™ื ื—ื•ืฉื‘ื™ื ืฉื”ื”ื’ื“ืจื” ื•ื”ืขื‘ื•ื“ื” ืขื ืื™ืžื•ืช ื“ื•-ื’ื•ืจืžื™ ื”ื™ื ืงืฉื” ื•ืœื ื‘ืจื•ืจื”. ืื ื™ ืžืงื•ื•ื” ืฉื”ืžืืžืจ ืฉืœื ื• ืžืคืจื™ืš ืืช ื”ืžื™ืชื•ืก ื”ื–ื”, ืœืคื—ื•ืช ื‘ืžืขื˜.

ืจืง ืžืฉืชืžืฉื™ื ืจืฉื•ืžื™ื ื™ื›ื•ืœื™ื ืœื”ืฉืชืชืฃ ื‘ืกืงืจ. ืœื”ืชื—ื‘ืจื‘ื‘ืงืฉื”.

ื”ืื ืืชื” ืฆืจื™ืš ื”ื•ืจืื•ืช ืœื”ื’ื“ืจืช TLS ืขื ืื™ืฉื•ืจื™ื ืœืคื™ GOST 34.10-2012:

  • ื›ืŸ, TLS-GOST ื ื—ื•ืฅ ืžืื•ื“

  • ืœื, ื›ื•ื•ื ื•ืŸ ืขื ืืœื’ื•ืจื™ืชืžื™ GOST ืื™ื ื• ืžืขื ื™ื™ืŸ

44 ืžืฉืชืžืฉื™ื ื”ืฆื‘ื™ืขื•. 9 ืžืฉืชืžืฉื™ื ื ืžื ืขื•.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”