Uputstvo za automatizovanu zamenu TCS sertifikata na CentOS 7 serverima: kompletna instalacija Certbota i registracija na HARICA portal ili promena registracije postojećeg Certbota sa Sectigo na HARICA portal¶
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
Napomena¶
Ovo uputstvo možete primeniti na serverima koji koriste CentOS 7. Ukoliko na takvom serveru već imate instaliran Certbot i povezan je sa Sectigo portalom, možete iskoristiti ovde prikazanu proceduru da postojeću Certbot instalaciju preregistrujete na novi HARICA portal. Na taj način zadržavate postojeću konfiguraciju na serverima, a ujedno omogućavate automatizovanu zamenu sertifikata putem HARICA portala, bez potrebe za potpunom reinstalacijom ili ručnim podešavanjima.
Ukoliko Certbot nije instaliran na vašem CentOS serveru, uputstvo takođe obuhvata kompletan postupak instalacije Certbota, kao i njegovo inicijalno povezivanje (registraciju) sa HARICA portalom, čime omogućavate potpuno automatizovano upravljanje i obnavljanje komercijalnih OV sertifikata.
Kreiranje ACME naloga na HARICA portalu¶
Napomena: Ako ste ranije kreirali ACME nalog na Sectigo portalu, on sada više nije funkcionalan. Zbog toga je neophodno da napravite novi nalog na HARICA portalu prema prikazanom uputstvu. Prilikom kreiranja naloga, dobićete jedinstvene parametre: Key ID, HMAC Key i Server URL, koje ćete moći da koristite za jednostavno i sigurno povezivanje Certbota sa HARICA portalom na bilo kojem serveru, bilo da je u pitanju Debian ili CentOS.
Potrebno je ulogovati se na zvaničan Harica portal :
U glavnom meniju odabrati opciju Enterpise, a zatim u meniju drugog nivoa opciju Admin, i potražiti tab ACME:

Kreiranje ACME naloga, korak 1
Koristiti Create polje:

Kreiranje ACME naloga, korak 2
Neophodno je izabrati Vašu organizaciju iz padajućeg menija, a zatim će se domeni u okviru te organizacije sami izlistati. Izabrati SSL OV tip sertifikata, i uneti proizvoljan naziv ACME EAB naloga. Složiti se sa uslovima korišćenja i kliknuti na dugme Create.

Kreiranje ACME naloga, korak 3
Nakon kreiranje ACME naloga u tabu Domains neophodno je definisati domene na koje se nalog odnosi. To se vrši klikom na Allow All Domains.

Kreiranje ACME naloga, korak 4
Na ovaj način ćete dodati sve domene u okviru Vaše institucije.

Kreiranje ACME naloga, korak 5
Ukoliko želite da imate drugačija pravila za različite domene, uvek možete da kliknete na ikonicu + kod domene i definišete posebna pravila.
Kreiranje ACME naloga, korak 6
Nalog je sačuvan!
Nakon toga dobićete prikaz tri bitna parametra: Key ID i HMAC Key i Server URL. Oni će biti potrebni u postupku registracije Certbot agenta. Ovi parametri se nalaze u Detail segment u okviru kreiranog ACME naloga:

Kreiranje ACME naloga, korak 7
Napomena: Nije potrebno kreirati nalog za svaki server.
CentOS 7 End of Life - instalacija paketa iz arhiviranog repozitorijuma¶
Ukoliko ste ranije već instalirali Certbot prema prethodnom uputstvu, možete preskočiti korak instalacije i odmah preći na sekciju „Registracija Certbot agenta“. Ovaj postupak omogućava da postojeća instalacija Certbota, koja je prethodno bila povezana sa Sectigo portalom, bude sigurno preregistrovana na HARICA portal i da se time obezbedi automatizovana zamena sertifikata bez ponovne instalacije ili gubitka postojeće konfiguracije.
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¶
Ukoliko ste ranije instalirali Certbot i povezali ga sa Sectigo portalom, možete koristiti sledeće dve komande da obrišete taj postojeći nalog. Ipak, ovo nije obavezno, jer postojeći nalog više nije aktivan i neće predstavljati problem prilikom preregistracije na HARICA portal.
cd /etc/letsencrypt/accounts/
rm -rf /etc/letsencrypt/accounts/acme.sectigo.com
Prilikom korišćenja naredne komande potrebno je navesti označene podatke.
<EMAIL>podatak po izboru<Server URL>podatak koji ste dobili prilikom kreiranja ACME naloga na HARICA portalu<Key ID>podatak koji ste dobili prilikom kreiranja ACME naloga na HARICA portalu<HMAC KEY>podatak koji ste dobili prilikom kreiranja ACME naloga na HARICA 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<Server 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 <Server 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. Ukoliko je potrebna dodatna pomoć ili konsultacija kontaktirajte nas na helpdesk@amres.ac.rs.