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.
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:
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ú:
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:
Taifid DNS a chruthú de láimh (ní thacaítear le nuashonrú uathoibríoch)
Taifid DNS a chruthú ag baint úsáide as an bhfreastalaí acme-dns (le haghaidh tuilleadh sonraí, féach anseo.
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ú:
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.
Cruthaímid an iontráil riachtanach, agus déanaimid cinnte go ndearnadh é a chruthú i gceart:
Deimhnímid go bhfuil an iontráil riachtanach cruthaithe againn i winacme, agus leanaimid leis an bpróiseas chun deimhniú a chruthú:
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.