E lebisa ho automation ea tlhahiso ea SSL

Hangata re tlameha ho sebetsa le litifikeiti tsa SSL. A re hopoleng mokhoa oa ho theha le ho kenya setifikeiti (ka kakaretso bakeng sa ba bangata).

  • Fumana mofani (sebaka seo re ka rekang SSL ho sona).
  • Hlahisa CSR.
  • E romelle ho mofani oa hau.
  • Netefatsa beng ba domain.
  • Fumana setifikeiti.
  • Fetolela setifikeiti ho foromo e hlokahalang (ka boikhethelo). Ka mohlala, ho tloha pem ho ea PKCS #12.
  • Kenya setifikeiti ho seva sa tepo.

E batla e potlakile, ha e rarahane ebile e utloahala. Khetho ena e loketse haholo haeba re na le merero e ka bang leshome. Ho thoe'ng haeba ho na le tse ngata tsa tsona, 'me bonyane li na le libaka tse tharo? Classic dev - sethaleng - tlhahiso. Tabeng ena, ho bohlokoa ho nahana ka ho iketsetsa mokhoa ona. Ke etsa tlhahiso ea ho teba haholoanyane bothateng le ho fumana tharollo e tla fokotsa nako e sebelisoang ho theha le ho boloka litifikeiti. Sengoliloeng se tla ba le tlhahlobo ea bothata le tataiso e nyane ea ho pheta-pheta.

E-re ke etse pehelo esale pele: tsebo e ka sehloohong ea k'hamphani ea rona ke .net, 'me ho latela IIS le lihlahisoa tse ling tse amanang le Windows. Ka hona, moreki oa ACME le liketso tsohle tsa eona le tsona li tla hlalosoa ho latela pono ea ho sebelisa Windows.

Sena se bohlokoa ho mang le lintlha tse ling tsa pele

Company K e emetsoeng ke mongoli. URL (mohlala): company.tld

Project X ke e 'ngoe ea merero ea rona, ha ke ntse ke sebetsa moo ke fihletseng qeto ea hore re ntse re hloka ho fetela pele ho boloka nako e ngata ha re sebetsa ka litifikeiti. Morero ona o na le maemo a mane: dev, liteko, sethala le tlhahiso. Dev le liteko li ka lehlakoreng la rona, sethala le tlhahiso li ka lehlakoreng la bareki.

Ntho e ikhethang ea morero ke hore e na le palo e kholo ea li-module tse fumanehang e le li-subdomain.

Ke hore, re na le setšoantšo se latelang:

Dev
mamella teko
Ho senya
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

Bakeng sa tlhahiso, ho sebelisoa setifikeiti sa wildcard se rekiloeng, ha ho lipotso tse hlahang mona. Empa e akaretsa feela boemo ba pele ba subdomain. Ka hona, haeba ho na le setifikeiti sa *.projectX.tld, se tla sebetsa bakeng sa staging.projectX.tld, empa eseng bakeng sa module1.staging.projectX.tld. Empa ka tsela e itseng ha ke batle ho reka e arohaneng.

'Me sena se itšetlehile feela ka mohlala oa morero o le mong oa k'hamphani e le' ngoe. 'Me, ho hlakile, ho na le merero e fetang bonngoe.

Mabaka a tloaelehileng a hore motho e mong le e mong a rarolle bothata bona a shebahala tjena:

  • Haufinyane tjena Google e sisintse ho fokotsa nako ea ho sebetsa ea litifikeiti tsa SSL. Ka liphello tsohle.
  • Ho tsamaisa ts'ebetso ea ho fana le ho boloka SSL bakeng sa litlhoko tsa ka hare tsa merero le k'hamphani ka kakaretso.
  • Polokelo e bohareng ea lirekoto tsa setifikeiti, e rarollang bothata ba netefatso ea domain ho sebelisa DNS le nchafatso ea othomathiki e latelang, hape e rarolla taba ea ts'epo ea bareki. Leha ho le joalo, CNAME ho seva sa k'hamphani ea molekane / ea sebetsang e tšepahala ho feta mohloling oa motho oa boraro.
  • Qetellong, tabeng ena poleloana "ho molemo ho ba le ho ba le ho se be le" e lumellana hantle.

Ho khetha Mofani oa SSL le Mehato ea Boitokisetso

Har'a likhetho tse fumanehang bakeng sa setifikeiti sa mahala sa SSL, cloudflare le letsencrypt li ile tsa nkoa. DNS bakeng sa sena (le merero e meng) e tsamaisoa ke cloudflare, empa ha ke motho ea ratang ho sebelisa litifikeiti tsa bona. Ka hona, ho ile ha etsoa qeto ea ho sebelisa letsencrypt.
Ho theha setifikeiti sa wildcard SSL, o hloka ho netefatsa beng ba domain. Mokhoa ona o kenyelletsa ho theha rekoto ea DNS (TXT kapa CNAME), ebe oa e netefatsa ha o fana ka setifikeiti. Linux e na le lisebelisoa - netefatso, e u lumellang hore u iketsetse mokhoa ona ka mokhoa o itseng (kapa ka ho feletseng bakeng sa bafani ba bang ba DNS). Bakeng sa Windows ho tloha e fumanweng le ho netefatswa Likhetho tsa bareki ba ACME tseo ke ileng ka lula ho tsona WinACME.

'Me rekoto ea sebaka sa marang-rang e se e entsoe, ha re tsoeleng pele ho theha setifikeiti:

E lebisa ho automation ea tlhahiso ea SSL

Re khahliloe ke sephetho sa ho qetela, e leng, likhetho tse fumanehang tsa ho netefatsa beng ba sebaka sa ho fana ka setifikeiti sa wildcard:

  1. Theha lirekoto tsa DNS ka letsoho (ntlafatso ea othomathiki ha e tšehetsoe)
  2. Ho theha lirekoto tsa DNS ho sebelisa seva ea acme-dns (o ka bala haholoanyane ka mona.
  3. Ho theha lirekoto tsa DNS u sebelisa sengoloa sa hau (se ts'oanang le plugin ea cloudflare bakeng sa certbot).

Ha u sheba ka lekhetlo la pele, ntlha ea boraro e nepahetse, empa ho thoe'ng haeba mofani oa DNS a sa tšehetse ts'ebetso ee? Empa re hloka nyeoe e akaretsang. 'Me nyeoe e akaretsang ke lirekoto tsa CNAME, kaha bohle ba li tšehetsa. Ka hona, re emisa ntlha ea 2 ebe re ea ho lokisa seva sa rona sa ACME-DNS.

Ho theha seva ea ACME-DNS le ts'ebetso ea ho fana ka setifikeiti

Ka mohlala, ke thehile domain name 2nd.pp.ua, 'me ke tla e sebelisa nakong e tlang.

Tlhokahalo e tlamang E le hore seva se sebetse ka nepo, hoa hlokahala ho theha lirekoto tsa NS le A bakeng sa sebaka sa eona. 'Me motsotso oa pele o sa thabiseng oo ke ileng ka kopana le oona ke hore cloudflare (bonyane ka mokhoa oa tšebeliso ea mahala) ha e u lumelle hore ka nako e le' ngoe u thehe tlaleho ea NS le A bakeng sa moamoheli ea tšoanang. Eseng hore hona ke bothata, empa ka tlamo hoa khoneha. Tšehetso e ile ea araba ka hore sehlopha sa bona ha se lumelle ho etsa sena. Ha ho bothata, ha re theheng lirekoto tse peli:

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

Mothating ona, moamoheli oa rona o lokela ho etsa qeto acmens.2nd.pp.ua.

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

Empa acme.2nd.pp.ua e ke ke ea rarolla, kaha seva ea DNS e e sebeletsang ha e so sebetse.

Lirekoto li entsoe, re tsoela pele ho theha le ho qala seva sa ACME-DNS. E tla phela ho seva sa ka sa ubuntu ho docker setshelo, empa o ka e tsamaisa kae kapa kae moo golang e fumanehang teng. Windows le eona e nepahetse, empa ke ntse ke khetha seva ea Linux.

Theha li-directory le lifaele tse hlokahalang:

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

Ha re sebeliseng vim le mohlophisi oa mongolo oo u o ratang 'me u behe sampole ho config.cfg tlhophiso.

Bakeng sa ts'ebetso e atlehileng, ho lekane ho lokisa likarolo tse akaretsang le tsa 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"
…

Hape, haeba re lakatsa, re tla theha faele ea "docker-compose" bukeng ea mantlha ea litšebeletso:

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

E lokile. U ka e matha.

$ docker-compose up -d

Tabeng ena, mokuli o lokela ho qala ho nosetsa acme.2nd.pp.ua, 'me 404 e hlaha ho 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

Haeba sena se sa bonahale - docker logs -f <container_name> ho thusa, ka lehlohonolo, li-logs li baleha haholo.

Re ka qala ho theha setifikeiti. Bula powershell e le motsamaisi 'me u tsamaise winacme. Re khahlehela likhetho tse latelang:

  • M: Theha setifikeiti se secha (likhetho tse felletseng)
  • 2:Ho kenya letsoho
  • 2: [dns-01] Etsa lirekoto tsa netefatso ka acme-dns (https://github.com/joohoi/acme-dns)
  • Ha u botsoa ka sehokelo ho seva sa ACME-DNS, kenya URL ea seva e entsoeng (https) karabong. URL ea seva ea acme-dns: https://acme.2nd.pp.ua

Ha ho buloa, moreki o fana ka rekoto e lokelang ho eketsoa ho seva e teng ea DNS (mokhoa oa nako e le 'ngoe):

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

E lebisa ho automation ea tlhahiso ea SSL

Re theha rekoto e hlokahalang mme re etsa bonnete ba hore e entsoe ka nepo:

E lebisa ho automation ea tlhahiso ea SSL

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

Re netefatsa hore re thehile mokhoa o hlokahalang oa ho kena ka har'a winacme, 'me re tsoelapele ka mokhoa oa ho etsa setifikeiti:

E lebisa ho automation ea tlhahiso ea SSL

Mokhoa oa ho sebelisa certbot joalo ka moreki o hlalositsoe mona.

Sena se phethela tšebetso ea ho theha setifikeiti; o ka se kenya ho seva sa marang-rang mme oa se sebelisa. Haeba, ha u theha setifikeiti, u boetse u theha mosebetsi ho kemiso, joale nakong e tlang ts'ebetso ea ho nchafatsa setifikeiti e tla etsahala ka bo eona.

Source: www.habr.com

Eketsa ka tlhaloso