Starije izmjene na obje strane
Starija izmjena
Novija izmjena
|
Starija izmjena
|
racfor_wiki:forenzika_mikroservisa_baziranih_na_spremnicima [2021/01/14 11:09] tbaric [Forenzika spremnika] |
racfor_wiki:forenzika_mikroservisa_baziranih_na_spremnicima [2024/12/05 12:24] (trenutno) |
{{ :racfor_wiki:scaling-microservices.png?600 |}} | {{ :racfor_wiki:scaling-microservices.png?600 |}} |
| |
* Decentralizirani podaci. Svaka usluga može koristiti posebnu bazu podataka. Ako se uzme primjer sa slike iznad, za korisničke usluge, podaci se mogu spremati u bazi s jednostavnom ključ-vrijednost formatom, usluge plaćanja mogu koristiti klasičnu relacijsku bazu poput MySQL baze, a usluge dostave neku drugu NoSQL bazu. | * Decentralizirani podaci. Svaka usluga može koristiti posebnu bazu podataka. Ako se uzme primjer sa slike iznad, za korisničke usluge, podaci se mogu spremati u bazi s jednostavnim ključ-vrijednost formatom, usluge plaćanja mogu koristiti klasičnu relacijsku bazu poput MySQL baze, a usluge dostave neku drugu NoSQL bazu. |
* **Izolirani ispadi.** Greška u jednom mikroservisu ne ruši cijeli sustav. Kada se aplikacija koja se sastoji od slabo spojenih komponenata i mikrouservisa javi grešku, manja je vjerojatnost da će to utjecati na druge usluge jer se nalaze u vlastitim spremnicima i međusobno ne ovise u potpunosti. Monolitna aplikacija može srušiti cijeli proces aplikacije ako pogreška nije ispravno riješena. | * **Izolirani ispadi.** Greška u jednom mikroservisu ne ruši cijeli sustav. Kada se aplikacija koja se sastoji od slabo povezanih usluga javi grešku, manja je vjerojatnost da će to utjecati na druge usluge jer se nalaze u vlastitim spremnicima i međusobno nisu ovisne. Monolitna aplikacija može srušiti cijeli proces aplikacije ako pogreška nije ispravno riješena. |
===== Sigurnost mikroservisa ===== | ===== Sigurnost mikroservisa ===== |
| |
* **//Cloud//** - Računalna obrada u oblaku sa sobom donosi veliki broj sigurnosnih problema, uglavnom vezanih uz činjenicu da pružatelj usluga u oblaku ima neograničenu kontrolu nad svime što pokreće. | * **//Cloud//** - Računalna obrada u oblaku sa sobom donosi veliki broj sigurnosnih problema, uglavnom vezanih uz činjenicu da pružatelj usluga u oblaku ima neograničenu kontrolu nad svime što pokreće. |
* **Komunikacija** - Problem sigurnosti komunikacije svodi se na klasične mrežne napade. Oni uključuju: prisluškivanje (//sniffing//), lažno predstavljanje, otmica sesije, uskraćivanje usluge ([[racfor_wiki:mrezna_forenzika:dos_i_ddos_napadi|DoS]]), //Man in the middle// (MITM) napad i //Heartbleed// napad na TLS. | * **Komunikacija** - Problem sigurnosti komunikacije svodi se na klasične mrežne napade. Oni uključuju: prisluškivanje (//sniffing//), lažno predstavljanje, otmica sesije, uskraćivanje usluge ([[racfor_wiki:mrezna_forenzika:dos_i_ddos_napadi|DoS]]), //Man in the middle// (MITM) napad i //Heartbleed// napad na TLS. |
* **Usluga/Aplikacija** - Tipični i još uvijek vrlo česti sigurnosni problemi na razini aplikacije su ubrizgavanja SQL koda, neispravna provjera autentičnosti i kontrola pristupa, izloženost osjetljivih podataka, //Cross site scripting// (XSS), nesigurna deserijalizacija, pogrešna konfiguracija opće sigurnosti. OWASP svake godine objavljuje deset najkritičnijih sigurnosnih rizika web aplikacija. | * **Usluga/Aplikacija** - Tipični i još uvijek vrlo česti sigurnosni problemi na razini aplikacije su ubrizgavanja SQL koda, neispravna provjera autentičnosti i kontrola pristupa, izloženost osjetljivih podataka, //Cross site scripting// (XSS), nesigurna deserijalizacija, pogrešna konfiguracija opće sigurnosti. OWASP svakih par godina objavljuje deset najkritičnijih sigurnosnih rizika web aplikacija. |
* **Orkestracija** - Orkestracija podrazumijeva upravljanje, koordinaciju i automatizaciju zadataka povezanih s uslugama, uključujući raspoređivanje i grupiranje usluga. Struktura mreže mikroservisa može se kontinuirano mijenjati zbog zaustavljanja, pokretanja i premještanja usluga. Otkrivanje usluga (//Service discovery//) pruža središnju točku lociranja usluga nalik DNS-u. Napadi uključuju: ugrožavanje usluge otkrivanja, registriranje zlonamjernih čvorova u sustavu i preusmjeravanje komunikacije na njih. | * **Orkestracija** - Orkestracija podrazumijeva upravljanje, koordinaciju i automatizaciju zadataka povezanih s uslugama, uključujući raspoređivanje i grupiranje usluga. Struktura mreže mikroservisa može se kontinuirano mijenjati zbog zaustavljanja, pokretanja i premještanja usluga. Otkrivanje usluga (//Service discovery//) pruža središnju točku lociranja usluga nalik DNS-u. Napadi uključuju: ugrožavanje usluge otkrivanja, registriranje zlonamjernih čvorova u sustavu i preusmjeravanje komunikacije na njih. |
===== Upravljanje i kontrola mikroservisa ===== | ===== Upravljanje i kontrola mikroservisa ===== |
{{ :racfor_wiki:kubernetes_structure.png?600 |}} | {{ :racfor_wiki:kubernetes_structure.png?600 |}} |
| |
Već iz prvih par osnovnih definicija radne strukture Kuberentesa, vidljivo je koliko je ta struktura slojevita i komplicirana, pogotovo u poslovnim okruženjima gdje gdje postoje klasteri s puno čvorova koji nose puno podova. Iz tog razloga potreban je dodatan alat koji će prikupljati metričke i analitičke podatke sa svih objekata strukture u svrhu praćenja performansi, ali i kontrole sigurnosti. Za tu namjenu koristi se vrlo moćan, //open-source// alat koji se lako integrira s Kubernetesom, zvan Prometheus. Prometheus je sustav koji šalje HTTP zahtjeve, takozvano struganje (//scrape//), na temelju konfiguracije definirane u datoteci za postavljanje. Odgovor na ovaj zahtjev za struganjem pohranjuje se i parsira u memoriji zajedno s metričkim podacima za samo struganje. Podaci se pohranjuju u prilagođenu bazu podataka na Prometheus poslužitelju i može obrađivati masovni priljev podataka. Moguće je istovremeno pratiti tisuće strojeva s jednim poslužiteljem. Kubernetes klaster već ima oznake i anotacije te izvrstan mehanizam za praćenje promjena i statusa svojih elemenata. Stoga Prometheus koristi Kubernetes API za otkrivanje ciljeva za struganje. | Već iz prvih par osnovnih definicija radne strukture Kuberentesa, vidljivo je koliko je ta struktura slojevita i komplicirana, pogotovo u poslovnim okruženjima gdje gdje postoje klasteri s puno čvorova koji nose puno podova. Iz tog razloga potreban je dodatan alat koji će prikupljati metričke i analitičke podatke sa svih objekata strukture u svrhu praćenja performansi, ali i kontrole sigurnosti. Za tu namjenu koristi se vrlo moćan, //open-source// alat koji se lako integrira s Kubernetesom, zvan Prometheus. Prometheus je sustav koji šalje HTTP zahtjeve, takozvano struganje (//scrape//), na temelju konfiguracije definirane u datoteci za postavljanje. Odgovor na ovaj zahtjev za struganjem pohranjuje se i parsira u memoriji zajedno s metričkim podacima za samo struganje. Podaci se pohranjuju u prilagođenu bazu podataka na Prometheus poslužitelju koji može obrađivati masovni priljev podataka. Moguće je istovremeno pratiti tisuće strojeva s jednim poslužiteljem. Kubernetes klaster već ima oznake i anotacije te izvrstan mehanizam za praćenje promjena i statusa svojih elemenata. Stoga Prometheus koristi Kubernetes API za otkrivanje ciljeva za struganje. |
| |
{{ :racfor_wiki:prometheus.png?600 |}} | {{ :racfor_wiki:prometheus.png?600 |}} |