I dtreo eisiúint SSL a uathoibriú

Go minic ní mór dúinn oibriú le deimhnithe SSL. Déanaimis cuimhneamh ar an bpróiseas a bhaineann le deimhniú a chruthú agus a shuiteáil (sa chás ginearálta don chuid is mó).

  • Aimsigh soláthraí (láithreán inar féidir linn SSL a cheannach).
  • Gin CSR.
  • Seol chuig an soláthraí é.
  • Fíoraigh úinéireacht fearainn.
  • Faigh teastas.
  • Tiontaigh an deimhniú go dtí an fhoirm atá ag teastáil (roghnach). Mar shampla, ó pem go PKCS #12.
  • Suiteáil an deimhniú ar an bhfreastalaí gréasáin.

Réasúnta tapa, éasca agus intuigthe. Tá an rogha seo oiriúnach go leor má tá uasmhéid de dhosaen tionscadal againn. Cad a tharlaíonn má tá níos mó acu, agus go bhfuil ar a laghad trí thimpeallacht acu? Classic dev - stáitse - táirgeadh. Sa chás seo, is fiú smaoineamh ar an bpróiseas seo a uathoibriú. Tá sé beartaithe agam dul beagán níos doimhne isteach ar an bhfadhb agus teacht ar réiteach a íoslaghdóidh tuilleadh an t-am a chaitear ar dheimhnithe a chruthú agus a chothabháil. Beidh anailís ar an bhfadhb agus treoir bheag ar athrá san alt.

Déanfaidh mé áirithint roimh ré: is é príomh-speisialtóireacht ár gcuideachta ná .net, agus, dá réir sin, IIS agus cinn eile a bhaineann le scriúnna. Mar sin, déanfar cur síos freisin ar an gcliant ACME agus ar na gníomhartha go léir ar a shon maidir le húsáid fuinneoga.

Cé dó a bhfuil sé ábhartha agus roinnt sonraí cúlra

Cuideachta K arna ionadú ag an údar. URL (mar shampla): company.tld

Tá Tionscadal X ar cheann dár dtionscadail, inar tháinig mé ar an tátal go gcaithfimid bogadh i dtreo an t-uasmhéid coigiltis ama fós agus muid ag obair le deimhnithe. Tá ceithre thimpeallacht ag an tionscadal seo: dev, tástáil, stáitsiú agus táirgeadh. Tá forbairt agus tástáil ar ár taobh, tá stáitsiú agus táirgeadh ar thaobh an chliaint.

Gné den tionscadal ná go bhfuil líon mór modúl aige atá ar fáil mar fhofhearainn.

Is é sin, tá an pictiúr seo a leanas againn:

dev
Tástáil
Staging
táirgeadh

tionscadalX.dev.company.tld
tionscadalX.test.cuideachta.tld
staging.projectX.tld
tionscadalX.tld

modúl1.projectX.dev.company.tld
modúl1.projectX.test.company.tld
modúl1.staging.projectX.tld
modúl1.projectX.tld

modúl2.projectX.dev.company.tld
modúl2.projectX.test.company.tld
modúl2.staging.projectX.tld
modúl2.projectX.tld

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

modúlN.projectX.dev.company.tld
modúlN.projectX.test.cuideachta.tld
modúlN.staging.projectX.tld
modúlN.projectX.tld

Le haghaidh táirgeadh, úsáidtear teastas saoróg ceannaithe, níl aon cheisteanna anseo. Ach ní chlúdaíonn sé ach an chéad leibhéal den fhofhearann. Dá réir sin, má tá teastas le haghaidh *.projectX.tld, oibreoidh sé do staging.projectX.tld, ach ní oibreoidh sé do module1.staging.projectX.tld. Níl mé ag iarraidh ceann ar leith a cheannach.

Agus níl sé seo ach ar shampla tionscadal amháin de chuid cuideachta amháin. Agus an tionscadal, ar ndóigh, nach bhfuil, ina n-aonar.

Breathnaíonn na cúiseanna ginearálta chun dul i ngleic leis an gceist seo rud éigin mar seo:

  • Le déanaí Mhol Google uastréimhse bailíochta na ndeimhnithe SSL a laghdú. Leis na hiarmhairtí go léir.
  • Chun an próiseas a bhaineann le SSL a eisiúint agus a chothabháil a éascú do riachtanais inmheánacha na dtionscadal agus na cuideachta ina iomláine.
  • Stóráil láraithe taifead deimhnithe, a réitíonn go páirteach an fhadhb a bhaineann le bailíochtú fearainn ag baint úsáide as DNS agus athnuachan uathoibríoch ina dhiaidh sin, agus réitíonn sé ceist iontaobhais na gcliant freisin. Mar sin féin, tá CNAME níos iontaofa ar fhreastalaí na cuideachta comhpháirtíochta/seiceadóra ná ar acmhainn tríú páirtí.
  • Bhuel, ar deireadh, sa chás seo, luíonn an frása “is fearr a bheith agat ná gan a bheith” go foirfe.

Roghnú Soláthraí SSL agus Céimeanna Ullmhúcháin

De na roghanna atá ar fáil le haghaidh deimhnithe SSL saor in aisce, breithníodh cloudflare agus letsencrypt. Tá an DNS le haghaidh seo (agus roinnt tionscadal eile) á óstáil ag cloudflare, ach níl aon lucht leanúna agam as a gcuid deimhnithe a úsáid. Mar sin, socraíodh letsencrypt a úsáid.
Chun teastas SSL saoróg a chruthú, ní mór duit úinéireacht an fhearainn a fhíorú. Is éard atá i gceist leis an nós imeachta seo ná roinnt taifead DNS (TXT nó CNAME) a ​​chruthú, agus é a fhíorú ina dhiaidh sin nuair a bhíonn teastas á eisiúint. Tá fóntais ag Linux - certbot, a ligeann duit go páirteach (nó go hiomlán do roinnt soláthraithe DNS) an próiseas seo a uathoibriú. Le haghaidh Windows céanna ó aimsithe agus tástáladh roghanna do chliaint ACME ar shocraigh mé orthu WinACME.

Agus an taifead don fhearann ​​cruthaithe, bogaimis ar aghaidh chuig teastas a chruthú:

I dtreo eisiúint SSL a uathoibriú

Tá suim againn sa chonclúid dheireanach, eadhon, na roghanna atá ar fáil chun úinéireacht fearainn a fhíorú chun deimhniú saoróg a eisiúint:

  1. Taifid DNS a chruthú de láimh (ní thacaítear le nuashonrú uathoibríoch)
  2. Taifid DNS a chruthú ag baint úsáide as an bhfreastalaí acme-dns (le haghaidh tuilleadh sonraí, féach anseo.
  3. Taifid DNS a chruthú ag baint úsáide as do script féin (cosúil leis an mbreiseán cloudflare le haghaidh certbot).

Ar an gcéad amharc, tá an tríú pointe oiriúnach go leor, ach mura dtacaíonn an soláthraí DNS leis an bhfeidhmiúlacht seo? Agus ní mór dúinn cás ginearálta. Agus is é an cás ginearálta ná taifid CNAME, tacaíonn gach duine leo. Mar sin, stopaimid ag pointe 2, agus téigh go dtí ár bhfreastalaí ACME-DNS a chumrú.

Socrú freastalaí ACME-DNS agus próiseas eisiúna deimhnithe

Mar shampla, chruthaigh mé an fearann ​​2nd.pp.ua, agus úsáidfidh mé é sa todhchaí.

Riachtanas éigeantach ar mhaithe le hoibriú ceart an fhreastalaí cruthaítear taifid NS agus A dá fhearann. Agus is é an chéad nóiméad míthaitneamhach a bhuail mé ná nach gceadaíonn cloudflare (ar a laghad i mód saor in aisce) duit taifead NS agus A a chruthú ag an am céanna don óstach céanna. Ní gur fadhb é seo, ach is féidir é a cheangal. D'fhreagair Tacaíocht nach gceadaíonn a bpainéal é seo a dhéanamh. Is cuma, déanaimis dhá iontráil a chruthú:

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

Ag an gcéim seo, ba cheart dúinn an t-óstach a réiteach acmens.2nd.pp.ua.

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

agus anseo acme.2nd.pp.ua ní réiteoidh sé, ós rud é nach bhfuil an freastalaí DNS a fhreastalaíonn air ag rith go fóill.

Cruthaíodh na taifid, bogaimis ar aghaidh go dtí an freastalaí ACME-DNS a bhunú agus a thosú. Mairfidh mé é ar fhreastalaí ubuntu i docker coimeádán, ach is féidir leat é a rith áit ar bith go bhfuil golang. Tá Windows ceart go leor freisin, ach is fearr liom fós freastalaí Linux.

Cruthaigh na heolairí agus na comhaid riachtanacha:

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

Bainimis úsáid as vim leis an eagarthóir téacs is fearr leat agus greamaigh an sampla isteach i config.cfg cumraíocht.

Le haghaidh obair rathúil, is leor na hailt ghinearálta agus api a cheartú:

[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"
…

Chomh maith leis sin, go roghnach, cruthaigh comhad cumadóireachta docker i bpríomheolaire na seirbhíse:

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

Réidh. Is féidir leat rith.

$ docker-compose up -d

Ag an gcéim seo, ba chóir go dtosódh an t-óstach ar réiteach acme.2nd.pp.ua, agus le feiceáil 404 ar 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

Mura bhfuil sé seo le feiceáil - docker logs -f <container_name> chun cabhrú, maith, tá na logs inléite go leor.

Is féidir linn tosú ar dheimhniú a chruthú. Oscail powershell mar riarthóir agus rith winacme. Tá suim againn sna toghcháin:

  • M: Cruthaigh teastas nua (roghanna iomlána)
  • 2: Ionchur láimhe
  • 2: [dns-01] Cruthaigh taifid fíorúcháin le acme-dns (https://github.com/joohoi/acme-dns)
  • Nuair a chuirtear ceist ort faoi nasc chuig an bhfreastalaí ACME-DNS, cuir isteach URL an fhreastalaí cruthaithe (https) mar fhreagra. URL an fhreastalaí acme-dns: https://acme.2nd.pp.ua

Mar fhreagra air sin, eisíonn an cliant taifead a chaithfear a chur leis an bhfreastalaí DNS atá ann cheana féin (nós imeachta aonuaire):

[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.

I dtreo eisiúint SSL a uathoibriú

Cruthaímid an iontráil riachtanach, agus déanaimid cinnte go ndearnadh é a chruthú i gceart:

I dtreo eisiúint SSL a uathoibriú

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

Deimhnímid go bhfuil an iontráil riachtanach cruthaithe againn i winacme, agus leanaimid leis an bpróiseas chun deimhniú a chruthú:

I dtreo eisiúint SSL a uathoibriú

Déantar cur síos ar conas certbot a úsáid mar chliant anseo.

Críochnaíonn sé seo an próiseas chun deimhniú a chruthú, is féidir leat é a shuiteáil ar fhreastalaí gréasáin agus é a úsáid. Más rud é, agus deimhniú á chruthú agat, go gcruthóidh tú tasc sa sceidealóir freisin, ansin sa todhchaí tarlóidh an próiseas chun an deimhniú a nuashonrú go huathoibríoch.

Foinse: will.com

Add a comment