ACME protokolas

ACME protokolo naudojimas SSL sertifikatų užsakymui

Vienas iš SSL sertifikatų užsakymo automatizavimo  būdų yra ACME (ang. The Automated Certificate Management Environment) protokolo panaudojimas. ACME protokolas automatizuoja sąveiką tarp žiniatinklio serverio ir sertifikavimo institucijos, įskaitant sertifikatų diegimą, atnaujinimą ir domeno patvirtinimą. Įdiegus šią  SSL sertifikatų valdymo technologiją, SSL sertifikatai yra atnaujinami be žmogaus įsikišimo, todėl sumažėja rizika praleisti SSL galiojimo laiką, be to, įsigaliojus 90 dienų SSL sertifikatų galiojimui, palengvintų jų atnaujinimo procesą.

Žemiau pateikiama instrukcija kaip Sectigo SCM  portale užsisakyti SSL sertifikatus ACME protokolu.

1. Kad galima būtų SSL sertifikatus užsisakyti ACME protokolu, organizacija ir jos valdomas/i domenas/ai turi atitikti tokius kriterijus:
- Sectigo portale organizacijos patikra įvykdyta ir yra galiojanti;
- Sectigo portale organizacijos domenas yra validuotas ir priskirtas organizacijai.

2. Jeigu organizacija ir jos domenas atitinka aukščiau išvardintus kriterijus, reikia sukurti ACME paskyrą, tai gali atlikti tik organizacijos įgaliotas administratorius (RAO). Paskyra yra sukuriama šoniniame meniu pasirinkus Enrollment > ACME, tada pažymėjus „https://acme.sectigo.com/v2/GEANTOV“ ir paspausdus „Accounts“ (Pav. 1).

 

Accounts lange paspausti „+“ (Create ACME Account), atsidariusiame "Create ACME Account" lange  įvesti paskyros pavadinimą, pasirinkti savo organizaciją  ir organizacijai priklausantį domeną ir išsaugoti (Pav. 2). Pasirinkus "Add all" bus pridėti visi organizacijos domenai, registruoti Sectigo SCM portale.

Pastaba: ACME paskyrą galima kurti atskiram ar keliems skirtingiems organizacijos domenams. Jei ACME paskyra bus naudojama nelabai patikimoje tarnybinėje stotyje, geriau nepridėkite į paskyrą visų subdomenų (*.domenas.lt), nes tokiu atveju bet kas su root teisėmis galės užsakyti sertifikatą/us bet kokiam organizacijos subdomenui. Institucijos SSL sertifikatų valdymui galima skirti dedikuotą, tinkamai apsaugotą  tarnybinę stotį, kuri bus naudojama skaitmeninių sertifikatų užsakymui  įvairioms sistemoms (ypač toms sistemoms, kuriose ACME protokolo niekaip negalima panaudoti). Tuo atveju SSL sertifikatų  įkėlimui į  sistemas galima naudoti SSH programą ar kitus  būdus.

 

 Sukūrus ACME paskyrą sukuriamas paskyros ID (Account ID), rakto ID (Key ID),  HMAC raktas (HMAC key, Hash-Based Message Authentication Code key).  Juos galima rasti pažymėjus sukurtą ACME paskyrą ir pasirinkus „Details“ opciją (Pav. 3).

Rakto ID (Key ID) ir HMAC raktas (HMAC key) yra pagrįsti atitinkamo išorinio paskyros susiejimo (External Account Binding – EAB) raktu ir veikia panašiai kaip vartotojo vardo ir slaptažodžio pora. Jie kartu su ACME URL reikalingi norint pasiekti Sectigo ACME paslaugą, SSL sertifikatų išdavimui. "ACME Account Details" lango apačioje taip pat pateikiamas Cerbot komandos, naudojamos užsakyti SSL sertifikatui, pavyzdys.

Priklausomai nuo ACME kliento, EAB raktas gali būti reikalingas, arba tik iš pradžių ACME registracijai, arba kaskart išduodant naują sertifikatą.

3.  SSL sertifikato/ų užsakymui tarnybinėje stotyje reikia įdiegti Certbot programą (certbot.eff.org). Certbot leidžia registruoti, įdiegti ir valdyti SSL sertifikatus per ACME protokolą.

Certbot komandos pavyzdys:

certbot certonly --server https://acme.sectigo.com/v2/GEANTOV --eab-kid "KEY_ID" --eab-hmac-key "HMAC_KEY" \ --agree-tos --email Šis el.pašto adresas yra apsaugotas nuo šiukšlių. Jums reikia įgalinti JavaScript, kad peržiūrėti jį. --no-eff-email --manual -d domenas.lt -d www.domenas.lt

Pastaba: Užsakant sertifikatą --email  patariame nurodyti institucijos bendrinį el. pašto adresą, kuris yra  naudojamas informacijos apie SSL sertifikatus (išdavimas, atnaujininas ir pan.) gavimui.

Certbot užsakytas ir išduotas SSL sertifikatas yra išsaugojamas į /etc/letsencrypt/live/<Domenas> katalogą.

 

Naudojant Certbot, periodinį atnaujinimą galima vykdyti arba per cron, arba per systemd .

Pridedame sertifikato atnaujinimo pavyzdį:


/etc/cron.d/certbot 0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(43200))' && certbot -q renew
root@test:/etc/cron.d# cd /etc/letsencrypt/renewal
root@test:/etc/letsencrypt/renewal# ls cert-test.litnet.lt.conf root@test:/etc/letsencrypt/renewal# cat cert-test.litnet.lt.conf #renew_before_expiry = 30 days version = 0.40.0 archive_dir = /etc/letsencrypt/archive/cert-test.litnet.lt cert = /etc/letsencrypt/live/cert-test.litnet.lt/cert.pem privkey = /etc/letsencrypt/live/cert-test.litnet.lt/privkey.pem chain = /etc/letsencrypt/live/cert-test.litnet.lt/chain.pem fullchain = /etc/letsencrypt/live/cert-test.litnet.lt/fullchain.pem # Options used in the renewal process [renewalparams] account = 07c156570d57e569132f3530f199999 authenticator = apache installer = apache server = https://acme-v02.api.letsencrypt.org/directory

Daugiau informacijos:

KTU

KUVDUVGTUVU