Si ọna adaṣiṣẹ ti ipinfunni SSL

Nigbagbogbo a ni lati ṣiṣẹ pẹlu awọn iwe-ẹri SSL. Jẹ ki a ranti ilana ti ṣiṣẹda ati fifi ijẹrisi sii (ninu ọran gbogbogbo fun pupọ julọ).

  • Wa olupese kan (ojula kan nibiti a ti le ra SSL).
  • Ṣẹda CSR.
  • Firanṣẹ si olupese rẹ.
  • Daju nini-ašẹ.
  • Gba ijẹrisi kan.
  • Yi ijẹrisi pada si fọọmu ti a beere (aṣayan). Fun apẹẹrẹ, lati pem si PKCS #12.
  • Fi ijẹrisi naa sori olupin wẹẹbu.

Ni ibatan yara, kii ṣe idiju ati oye. Aṣayan yii dara dara ti a ba ni awọn iṣẹ akanṣe mẹwa ti o pọju. Kini ti wọn ba wa diẹ sii, ati pe wọn ni o kere ju agbegbe mẹta? Classic dev - idasile - gbóògì. Ni idi eyi, o tọ lati ronu nipa ṣiṣe adaṣe ilana yii. Mo daba lati ṣawari diẹ jinlẹ sinu iṣoro naa ki o wa ojutu kan ti yoo dinku akoko ti o lo lori ṣiṣẹda ati mimu awọn iwe-ẹri. Nkan naa yoo ni itupalẹ ti iṣoro naa ati itọsọna kekere kan si atunwi.

Jẹ ki n ṣe ifiṣura ni ilosiwaju: pataki pataki ti ile-iṣẹ wa ni .net, ati, gẹgẹbi, IIS ati awọn ọja miiran ti o ni ibatan Windows. Nitorinaa, alabara ACME ati gbogbo awọn iṣe fun rẹ yoo tun ṣe apejuwe lati oju wiwo ti lilo Windows.

Fun tani eyi jẹ pataki ati diẹ ninu awọn data ibẹrẹ

Ile-iṣẹ K ni aṣoju nipasẹ onkọwe. URL (fun apẹẹrẹ): company.tld

Project X jẹ ọkan ninu awọn iṣẹ akanṣe wa, lakoko ti o n ṣiṣẹ lori eyiti Mo wa si ipari pe a tun nilo lati lọ si awọn ifowopamọ akoko ti o pọju nigbati o n ṣiṣẹ pẹlu awọn iwe-ẹri. Ise agbese yii ni awọn agbegbe mẹrin: dev, idanwo, iṣeto ati iṣelọpọ. Dev ati idanwo wa ni ẹgbẹ wa, iṣeto ati iṣelọpọ wa ni ẹgbẹ alabara.

Ẹya pataki ti iṣẹ akanṣe ni pe o ni nọmba nla ti awọn modulu ti o wa bi awọn subdomains.

Iyẹn ni, a ni aworan atẹle:

dev
igbeyewo
Iṣeto
Production

projectX.dev.company.tld
projectX.test.company.tld
staging.projectX.tld
projectX.tld

module1.projectX.dev.company.tld
module1.projectX.test.company.tld
module1.staging.projectX.tld
module1.projectX.tld

module2.projectX.dev.company.tld
module2.projectX.test.company.tld
module2.staging.projectX.tld
module2.projectX.tld

...
...
...
...

moduleN.projectX.dev.company.tld
moduleN.projectX.test.company.tld
moduleN.staging.projectX.tld
moduleN.projectX.tld

Fun iṣelọpọ, iwe-ẹri wildcard ti o ra ti lo, ko si awọn ibeere ti o dide nibi. Ṣugbọn o kan ipele akọkọ ti subdomain nikan. Nitorinaa, ti ijẹrisi ba wa fun * .projectX.tld, lẹhinna yoo ṣiṣẹ fun staging.projectX.tld, ṣugbọn kii ṣe fun module1.staging.projectX.tld. Sugbon bakan Emi ko fẹ lati ra lọtọ.

Ati pe eyi da lori apẹẹrẹ ti iṣẹ akanṣe kan ti ile-iṣẹ kan. Ati pe, dajudaju, iṣẹ akanṣe diẹ sii ju ọkan lọ.

Awọn idi ti o wọpọ fun gbogbo eniyan lati koju ọrọ yii dabi nkan bi eyi:

  • Laipe Google daba lati dinku akoko iwulo ti o pọju ti awọn iwe-ẹri SSL. Pẹlu gbogbo awọn abajade.
  • Ṣe irọrun ilana ti ipinfunni ati mimu SSL fun awọn iwulo inu ti awọn iṣẹ akanṣe ati ile-iṣẹ lapapọ.
  • Ibi ipamọ aarin ti awọn igbasilẹ ijẹrisi, eyiti o yanju iṣoro ti ijẹrisi agbegbe ni apakan nipa lilo DNS ati isọdọtun adaṣe atẹle, ati tun yanju ọran ti igbẹkẹle alabara. Sibẹsibẹ, CNAME kan lori olupin ti alabaṣepọ / ile-iṣẹ oniṣẹ jẹ igbẹkẹle diẹ sii ju awọn orisun ẹni-kẹta lọ.
  • O dara, nikẹhin, ninu ọran yii gbolohun naa "o dara lati ni ju ki o ko ni" ni ibamu daradara.

Yiyan Olupese SSL ati Awọn Igbesẹ Igbaradi

Lara awọn aṣayan ti o wa fun awọn iwe-ẹri SSL ọfẹ, cloudflare ati letsencrypt ni a gbero. DNS fun eyi (ati diẹ ninu awọn iṣẹ akanṣe) ti gbalejo nipasẹ cloudflare, ṣugbọn emi kii ṣe afẹfẹ ti lilo awọn iwe-ẹri wọn. Nitorinaa, o pinnu lati lo letsencrypt.
Lati ṣẹda ijẹrisi SSL wildcard, o nilo lati jẹrisi nini-ašẹ. Ilana yii pẹlu ṣiṣẹda diẹ ninu igbasilẹ DNS (TXT tabi CNAME), ati rii daju nigba fifun ijẹrisi kan. Lainos ni ohun elo kan - ijẹrisi, eyiti o fun ọ laaye lati ni apakan (tabi patapata fun diẹ ninu awọn olupese DNS) ṣe adaṣe ilana yii. Fun Windows lati ri ati wadi Awọn aṣayan alabara ACME ti mo yanju lori WinACME.

Ati igbasilẹ fun agbegbe naa ti ṣẹda, jẹ ki a tẹsiwaju si ṣiṣẹda ijẹrisi kan:

Si ọna adaṣiṣẹ ti ipinfunni SSL

A nifẹ si ipari ti o kẹhin, eyun, awọn aṣayan ti o wa fun ifẹsẹmulẹ nini nini agbegbe fun ipinfunni iwe-ẹri egan kan:

  1. Ṣẹda awọn igbasilẹ DNS pẹlu ọwọ (imudojuiwọn aifọwọyi ko ni atilẹyin)
  2. Ṣiṣẹda awọn igbasilẹ DNS nipa lilo olupin acme-dns (o le ka diẹ sii nipa nibi.
  3. Ṣiṣẹda awọn igbasilẹ DNS ni lilo iwe afọwọkọ tirẹ (bii ohun itanna cloudflare fun certbot).

Ni wiwo akọkọ, aaye kẹta jẹ ohun ti o dara, ṣugbọn kini ti olupese DNS ko ba ṣe atilẹyin iṣẹ yii? Ṣugbọn a nilo ọran gbogbogbo. Ati ọran gbogbogbo jẹ awọn igbasilẹ CNAME, nitori gbogbo eniyan ṣe atilẹyin wọn. Nitorinaa, a da duro ni aaye 2 ati lọ lati tunto olupin ACME-DNS wa.

Ṣiṣeto olupin ACME-DNS ati ilana ipinfunni ijẹrisi

Fun apẹẹrẹ, Mo ṣẹda ibugbe 2nd.pp.ua, ati pe yoo lo ni ọjọ iwaju.

Ibeere dandan Fun olupin naa lati ṣiṣẹ ni deede, o jẹ dandan lati ṣẹda awọn igbasilẹ NS ati A fun agbegbe rẹ. Ati pe akoko aibanujẹ akọkọ ti Mo pade ni pe cloudflare (o kere ju ni ipo lilo ọfẹ) ko gba ọ laaye lati ṣẹda NS ati igbasilẹ kan fun agbalejo kanna. Kii ṣe pe eyi jẹ iṣoro, ṣugbọn ni dipọ o ṣee ṣe. Atilẹyin naa dahun pe nronu wọn ko gba laaye ṣiṣe eyi. Ko si iṣoro, jẹ ki a ṣẹda awọn igbasilẹ meji:

acmens.2nd.pp.ua. IN A 35.237.128.147
acme.2nd.pp.ua. IN NS acmens.2nd.pp.ua.

Ni ipele yii, agbalejo wa yẹ ki o yanju acmens.2nd.pp.ua.

$ ping acmens.2nd.pp.ua
PING acmens.2nd.pp.ua (35.237.128.147) 56(84) bytes of data

Ṣugbọn acme.2nd.pp.ua kii yoo yanju, nitori pe olupin DNS ti o nṣe iranṣẹ rẹ ko ti ṣiṣẹ.

Awọn igbasilẹ ti ṣẹda, a tẹsiwaju lati ṣeto ati ifilọlẹ olupin ACME-DNS. Yoo gbe lori olupin ubuntu mi ninu docker eiyan, ṣugbọn o le ṣiṣe awọn ti o nibikibi ibi ti golang wa. Windows tun dara, ṣugbọn Mo tun fẹran olupin Linux kan.

Ṣẹda awọn ilana pataki ati awọn faili:

$ mkdir config
$ mkdir data
$ touch config/config.cfg

Jẹ ki a lo vim pẹlu ayanfẹ ọrọ olootu ki o si lẹẹmọ awọn ayẹwo sinu config.cfg iṣeto ni.

Fun iṣẹ ṣiṣe aṣeyọri, o to lati ṣe atunṣe gbogbogbo ati awọn apakan api:

[general]
listen = "0.0.0.0:53"
protocol = "both"
domain = "acme.2nd.pp.ua"
nsname = "acmens.2nd.pp.ua" 
nsadmin = "admin.2nd.pp.ua" 
records = 
    "acme.2nd.pp.ua. A 35.237.128.147",
    "acme.2nd.pp.ua. NS acmens.2nd.pp.ua.",                                                                                                                                                                                                  ]
...
[api]
...
tls = "letsencrypt"
…

Paapaa, ti o ba fẹ, a yoo ṣẹda faili docker-compose ni itọsọna iṣẹ akọkọ:

version: '3.7'
services:
  acmedns:
    image: joohoi/acme-dns:latest
    ports:
      - "443:443"
      - "53:53"
      - "53:53/udp"
      - "80:80"
    volumes:
      - ./config:/etc/acme-dns:ro
      - ./data:/var/lib/acme-dns

Ṣetan. O le ṣiṣe rẹ.

$ docker-compose up -d

Ni ipele yii, agbalejo yẹ ki o bẹrẹ lati yanju acme.2nd.pp.ua, ati 404 kan han lori https://acme.2nd.pp.ua

$ ping acme.2nd.pp.ua
PING acme.2nd.pp.ua (35.237.128.147) 56(84) bytes of data.

$ curl https://acme.2nd.pp.ua
404 page not found

Ti eyi ko ba han - docker logs -f <container_name> lati ran, da, awọn àkọọlẹ wa ni oyimbo ṣeékà.

A le bẹrẹ ṣiṣẹda ijẹrisi naa. Ṣii powershell bi alakoso ati ṣiṣe winacme. A nifẹ ninu awọn idibo:

  • M: Ṣẹda titun ijẹrisi (awọn aṣayan kikun)
  • 2:Afọwọṣe titẹ sii
  • 2: [dns-01] Ṣẹda awọn igbasilẹ ijẹrisi pẹlu acme-dns (https://github.com/joohoi/acme-dns)
  • Nigbati o ba beere nipa ọna asopọ kan si olupin ACME-DNS, tẹ URL ti olupin ti o ṣẹda (https) ni idahun. URL ti olupin acme-dns: https://acme.2nd.pp.ua

Ni ṣiṣi, alabara ṣe igbasilẹ igbasilẹ kan ti o nilo lati ṣafikun si olupin DNS ti o wa (ilana akoko kan):

[INFO] Creating new acme-dns registration for domain 1nd.pp.ua

Domain:              1nd.pp.ua
Record:               _acme-challenge.1nd.pp.ua
Type:                   CNAME
Content:              c82a88a5-499f-464f-96e4-be7f606a3b47.acme.2nd.pp.ua.
Note:                   Some DNS control panels add the final dot automatically.
                           Only one is required.

Si ọna adaṣiṣẹ ti ipinfunni SSL

A ṣẹda igbasilẹ pataki ati rii daju pe o ṣẹda ni deede:

Si ọna adaṣiṣẹ ti ipinfunni SSL

$ dig CNAME _acme-challenge.1nd.pp.ua +short
c82a88a5-499f-464f-96e4-be7f606a3b47.acme.2nd.pp.ua.

A jẹrisi pe a ti ṣẹda titẹsi ti o nilo ni winacme, ati tẹsiwaju ilana ti ṣiṣẹda ijẹrisi kan:

Si ọna adaṣiṣẹ ti ipinfunni SSL

Bii o ṣe le lo certbot bi alabara jẹ apejuwe nibi.

Eyi pari ilana ti ṣiṣẹda ijẹrisi; o le fi sii sori olupin wẹẹbu ki o lo. Ti, nigbati o ba ṣẹda ijẹrisi kan, o tun ṣẹda iṣẹ-ṣiṣe ni oluṣeto, lẹhinna ni ọjọ iwaju ilana isọdọtun ijẹrisi yoo waye laifọwọyi.

orisun: www.habr.com

Fi ọrọìwòye kun