Obzirom da AOSI web servis komunicira SOAP/HTTPS protokolom, umjesto self signed certifikata koji standardno dolazi s paketom aosi-aai za kriptiranje HTTPS prometa potrebno je postaviti valjani javno vjerodostojan certifikat. Postavljanje takvog certifikata omogućit će klijentima koji se spajaju na AOSI da automatski provjere ispravnost certifikata i budu sigurni da pripada ustanovi na čiji se AOSI spajaju.
Javno vjerodostojan certifikat je svaki certifikat koji je izdan od izdavatelja certifikata koji se nalaze na popisu javnih izdavatelja u obliku Trusted Certification Authorities datoteke koja je pridodana svim preglednicima, a održava ga Certification Authority Browser Forum.
Jedan od takvih izdavatelja je i CARNET servis pod nazivom TCS. Upute za dobivanje takvog certifikata navedene su na web stranici https://certifikati.carnet.hr
Izrada certifikata
Prije primjene novog certifikata potrebno je posjedovati certifikat izdan za poslužitelj na kojem se nalazi AOSI web servis.
Da bi certifikat bio valjan, u polju subject, u atributu CN (ili u ekstenziji Subject Alternative Name) mora imati ispravan hostname.
Ta vrijednost trebala bi biti jednaka vrijednosti koju vraća naredba:
hostname --fqdn
izvršena na poslužitelju na kojem se nalazi AOSI web servis (npr. mario.inst.hr).
Debian 11 (bullseye) - postavljanje certifikata
Za primjenu certifikata AOSI web servisa potrebne su tri datoteke (ekstenzija nije bitna, bitno je da su PEM enkodirani) u prvoj se nalazi serverski certifikat (obično ima nastavak .crt, .cer, .pem) , u drugoj intermediate certifikati (obično ima nastavak .pem), a u trećoj se nalazi ključ certifikata (obično ima nastavak .key, .pem) .
Dobra praksa je smjestiti navedene datoteke na sljedeća mjesta :
- serverski certifikat
- putanja:
/etc/ssl/certs/
- naziv datoteke:
<hostname>.crt
(npr mario_inst_hr.crt)
- putanja:
- intermidiet certifikati
- putanja:
/etc/ssl/certs/
- naziv datoteke:
<kratki_naziv_izdavatelja>.pem
(npr harica.pem)
- putanja:
- ključ
- putanja:
/etc/ssl/private/
- naziv datoteke:
<hostname>.key
(npr mario_inst_hr.key)
- putanja:
VAŽNO: aosi web servis se izvršava pod korisnikom aosi. Bitno je osigurati da korisnik aosi smije čitati datoteke s certifikatom i ključem. Korisnik aosi je u grupi aosi, pa je jedan od načina da to postignete da postavite da je direktorij i datoteke s certifikatom u vlasništvu grupa aosi i da grupa ima pravo čitanja datoteka s ključem i certifikatima / ulaska u direktorij.
Pokrenuti naredbu za dohvat informacija o najnovijim paketima:
# apt-get update
Pokrenuti instalaciju naredbom:
# apt-get install certs-aai
Ako paket ne postoji u postupku instalacije treba:
- Na prvoj formi odabrati Yes/Da
- U drugoj formi unijeti cijelu putanju do datoteke s certifikatom (postavljen prije). Na primjer, putanja će izgledati ovako: /etc/ssl/certs/mario_inst_hr.crt
- u trećoj formi unijeti cijelu putanju do datoteke s intermediate certifikatima (postavljen prije). Na primjer, putanja će izgledati ovako: /etc/ssl/certs/harica.pem
- U četvrtoj formi unijeti cijelu putanju do datoteke s ključem (postavljen prije). Na primjer, putanja će izgledati ovako: /etc/ssl/private/mario_inst_hr.key
Pokrenuti rekonfiguraciju paketa, ako u predhodnom koraku nije pitano za certifikate
# dpkg-reconfigure certs-aai
U postupku zamjene postojećih certifikata treba:
- Na prvoj formi odabrati Yes/Da
- U drugoj formi unijeti cijelu putanju do datoteke s certifikatom (postavljen prije). Na primjer, putanja će izgledati ovako: /etc/ssl/certs/mario_inst_hr.crt
- u trećoj formi unijeti cijelu putanju do datoteke s intermediate certifikatima (postavljen prije). Na primjer, putanja će izgledati ovako: /etc/ssl/certs/harica.pem
- U četvrtoj formi unijeti cijelu putanju do datoteke s ključem (postavljen prije). Na primjer, putanja će izgledati ovako: /etc/ssl/private/mario_inst_hr.key
Debian 12 (bookworm) - postavljanje certifikata
Za primjenu certifikata AOSI web servisa potrebne su dvije datoteke (ekstenzija nije bitna, bitno je da su PEM enkodirani) u prvoj se nalazi serverski certifikat s pripadajućim intermediate certifikatima (obično ima nastavak .crt, .cer, .pem), a u drugoj se nalazi ključ certifikata (obično ima nastavak .key, .pem) .
Dobra praksa je smjestiti navedene datoteke na sljedeća mjesta :
- serverski certifikat
- putanja:
/etc/ssl/certs/
- naziv datoteke:
<hostname>.crt
(npr mario_inst_hr.crt)
- putanja:
- ključ
- putanja:
/etc/ssl/private/
- naziv datoteke:
<hostname>.key
(npr mario_inst_hr.key)
- putanja:
VAŽNO: aosi web servis se izvršava pod korisnikom aosi. Bitno je osigurati da korisnik aosi smije čitati datoteke s certifikatom i ključem. Korisnik aosi je u grupi aosi, pa je jedan od načina da to postignete da postavite da je direktorij i datoteke s certifikatom u vlasništvu grupa aosi i da grupa ima pravo čitanja datoteka / ulaska u direktorij.
Pokrenuti naredbu za dohvat informacija o najnovijim paketima:
# apt-get update
Pokrenuti instalaciju naredbom:
# apt-get install certs-aai
Ako paket ne postoji u postupku instalacije treba:
- Na prvoj formi odabrati Yes/Da
- U drugoj formi unijeti cijelu putanju do datoteke s certifikatom i pripadajućim intermediate certifikatima (postavljen prije). Na primjer, putanja će izgledati ovako: /etc/ssl/certs/mario_inst_hr.crt
- U trećoj formi unijeti cijelu putanju do datoteke s ključem (postavljen prije). Na primjer, putanja će izgledati ovako: /etc/ssl/private/mario_inst_hr.key
Pokrenuti rekonfiguraciju paketa, ako u predhodnom koraku nije pitano za certifikate
# dpkg-reconfigure certs-aai
U postupku zamjene postojećih certifikata treba:
- Na prvoj formi odabrati Yes/Da
- U drugoj formi unijeti cijelu putanju do datoteke s certifikatom i pripadajućim intermediate certifikatima (postavljen prije). Na primjer ona će izgledati ovako: /etc/ssl/certs/mario_inst_hr.crt
- U trećoj formi unijeti cijelu putanju do datoteke s ključem (postavljen prije). Na primjer ona će izgledati ovako: /etc/ssl/private/mario_inst_hr.key
Primjena certifikata
Nakon postavljanja novih certifikata, AOSI web servis treba primijeniti novi cerifikat. Primijena novih certifikata provodi se izvođenjem slijedećih naredbi:
Prije pokretanja naredbi
Prilikom pokretanja naredbe dpkg-reconfigure aosi-aai
potrebno je unijeti zaporku LDAP administratorskog (sistemskog) korisnika čiji je dn: cn=admin, dc=<domena>, dc=hr
(npr. cn=admin, dc=inst, dc=hr) , ne radi se o fizičkoj osobi/korisniku sa ovlastima ažuriranja podataka putem web sučelja već o "sistemskom korisniku". Ta je zaporka zapisana u datoteci /etc/aosi/ldap_pwd
.
Rekonfiguracija aosi-aai paketa
# dpkg-reconfigure aosi-aai
Restartati AOSI web servis naredbom
# systemctl restart aosi-aai