Uputstvo za automatizovanu zamenu TCS sertifikata¶
Softver koji će biti instaliran¶
Softver koji će biti instaliran:
- certbot
- python2-certbot-apache (Ovaj paket se integriše sa Certbot-om uz Python 2. Ukoliko koristite Python 3 koristi se paket python3-certbot-apache)
- mod_ssl
Kreiranje ACME naloga na Sectigo portalu¶
Potrebno je ulogovati se na zvaničan Sectigo portal :
https://cert-manager.com/customer/AMRES
U sekciji Enrollment, izabrati polje ACME nakon čega će se prikazati svi dostupni Sectigo Public ACME nalozi:
Izabrati https://acme.sectigo.com/v2/GEANTOV Sectigo Public ACME nalog i nakon toga kliknuti na dugme Accounts:
Za kreiranje novog ACME naloga kliknuti na opciju + :
Uneti proizvoljan naziv ACME naloga:
Zatim je potrebno dodati odgovarajući domen sertifikata, pretraživanjem i odabirom sertifikata iz liste:
Sačuvajte nalog klikom na SAVE.
Nakon toga dobićete prikaz dva bitna parametra: Key ID i HMAC Key. Oni će biti potrebni u postupku registracije Certbot agenta. Ukoliko ih u tom momentu ne sačuvate, možete ih pronaći kasnije klikom na opciju Details u okviru kreiranog ACME naloga:
Napomena: Može se kreirati nalog za svaki server.
CentOS 7 End of Life - instalacija paketa iz arhiviranog repozitorijuma¶
Pošto su zvanični repozitorijumi za instaliranje softverskih paketa na CentOS 7 ugašeni, moguće je instalirati softverske pakete korišćenjem arhiviranog repozitorijuma. Da bi to bilo moguće, potrebno je ažurirati 'yum' konfiguraciju tako da koristi arhivirani repozitorijum za CentOS 7.
Otvoriti konfiguracionu datoteku repozitorijuma za uređivanje:
U svakoj sekciji [base], [updates], [extras], i [centosplus], promeniti URL-ove u arhivirani repozitorijum. Zakomentarisati linije koje počinju sa mirrorlist= sa sledećim:
Za [base] sekciju, koristiti: baseurl=http://vault.centos.org/7.9.2009/os/$basearch/
Za [updates] sekciju, koristiti: baseurl=http://vault.centos.org/7.9.2009/updates/$basearch/
Za [extras] sekciju, koristiti: baseurl=http://vault.centos.org/7.9.2009/extras/$basearch/
Očistiti yum keš:
Instalacija paketa je sada moguća iz arhiviranog repozitorijuma.
Instalacija potrebnih softverskih paketa¶
Napomena: Ovde je prikazan slučaj kada je na serveru dostupan Python 2, pa se samim tim koristi paket python2-certbot-apache. Međutim, ako koristite Python 3, potrebno je da instalirate paket python3-certbot-apache
Instalirati potrebne pakete:
Registracija Certbot agenta¶
Prilikom korišćenja naredne komande potrebno je navesti označene podatke.
<EMAIL>
podatak po izboru<ACME URL>
podatak koji ste dobili prilikom kreiranja naloga na portalu<AKEY ID>
podatak koji ste dobili prilikom kreiranja naloga na portalu<HMAC KEY>
podatak koji ste dobili prilikom kreiranja naloga na portalu
Komanda za registraciju certbot agenta u uopštenom obliku:
Primer korišćenja komande:Izveštaj uspešne registracije certbot agenta:
Napomena: Na prvi zahtev potrebno je odgovoriti potvrdno sa Y, a na drugi odrično sa N.
Kreiranje novih sertifikata putem certbot agenta¶
U ovom postupku potrebno je kreirati nov sertifikat putem certbot agenta, a svaki sledeći sertifikat će biti obnovljen automatski.
Prilikom korišćenja naredne komande potrebno je navesti označene podatke.
<EMAIL>
podatak<ACME URL>
podatak koji ste dobili prilikom kreiranja naloga na portalu<DOMEN_SERTIFIKATA>
podatak o domenu sertifikata<NAZIV>
direktorijuma u kom će biti smešteni sertifikati
Komanda za registraciju certbot agenta u uopštenom obliku:
certbot certonly --standalone --email <EMAIL> --server <ACME URL> --domain <DOMEN_SERTIFIKATA> --key-type rsa --rsa-key-size 3072 --cert-name <NAZIV>
Primer korišćenja komande:
Izveštaj uspešnog izdavanja sertifikata:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Requesting a certificate for test_domen.institucija.ac.rs
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/test_domen.institucija.ac.rs/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/test_domen.institucija.ac.rs/privkey.pem
Your certificate will expire on 2025-01-31. To obtain a new or
tweaked version of this certificate in the future, simply run
certbot again. To non-interactively renew *all* of your
certificates, run "certbot renew"
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
Sertifikati su dostupni na putanji: /etc/letsencrypt/live/test_domen.institucija.ac.rs/
Napomena: Direktorijum u kom su sertifikati će imati naziv domena sertifikata.
lrwxrwxrwx 1 root root 48 Feb 5 03:02 cert.pem -> ../../archive/test_domen.institucija.ac.rs/cert.pem
lrwxrwxrwx 1 root root 49 Feb 5 03:02 chain.pem -> ../../archive/test_domen.institucija.ac.rs/chain.pem
lrwxrwxrwx 1 root root 53 Feb 5 03:02 fullchain.pem -> ../../archive/test_domen.institucija.ac.rs/fullchain.pem
lrwxrwxrwx 1 root root 51 Feb 5 03:02 privkey.pem -> ../../archive/test_domen.institucija.ac.rs/privkey.pem
-rw-r--r-- 1 root root 692 Feb 1 14:24 README
Proveriti validnost sertifikata:
U istu svrhu može se iskoristiti i komanda: certbot certificates
Izveštaj:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Found the following certs:
Certificate Name: test_domen.institucija.ac.rs
Serial Number: 6axxxxxxxxxxxxxxxxxxxxxxxxx
Key Type: RSA
Domains: test_domen.institucija.ac.rs
Expiry Date: 2025-02-04 23:59:59+00:00 (VALID: 365 days)
Certificate Path: /etc/letsencrypt/live/test_domen.institucija.ac.rs/fullchain.pem
Private Key Path: /etc/letsencrypt/live/test_domen.institucija.ac.rs/privkey.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Promena konfiguracije Apache servera¶
Simboličkim linkom prebaciti sertifikate na odgovarajuću putanju sa koje Apache WEB server može da ih usvoji (/etc/ssl/certs/ i /etc/ssl/private/):
ln -s /etc/letsencrypt/live/test_domen.institucija.ac.rs/privkey.pem /etc/pki/tls/private/privkey.pem
Izmeniti konfiguraciju Apache servera, tako da budu uneti novi sertifikati na gore navedenim putanjama.
Zatim treba restartovati Apache proces:
Podešavanje termina sledeće obnove sertifikata¶
Konfiguracioni fajl koji sadrži opciju specifikacije termina je /etc/letsencrypt/renewal/test_domen.institucija.ac.rs.conf, a čiji naziv zavisi od domena sertifikata, u ovom slučaju to je test_domen.institucija.ac.rs:
Otkomentarisati prvu liniju i zatim specificirati broj dana pred istek sertifikata kada će sertifikat biti obnovljen (naša preporuka bi bila 14 dana):
Crontab podešavanje
Potrebno je da se podesi da komanda za obnovu serifikata pokreće svaki dan (u 03 ujutru) uz proveru validnosti serifikata. Napomena: Navedena komanda neće obnavljati sertifikat svaki dan već će ga obnoviti tek kada dođe do navedenog broja dana pred njegov istek.
Uneti navedenu liniju:
Sačuvati izmene i izaći iz crontab alata.Ovim je proces podešavanja automatske obnove sertifikata završen.