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.
Pokrenuti sledeće komande:
Napraviti rezervnu kopiju fajla CentOS-Base.repo.
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.