Nova verzija DBMS Redis 7.0 je već objavljena, Redis pruža značajke za pohranu podataka u formatu ključ/vrijednost, proširene podrškom za strukturirane formate podataka kao što su popisi, hashovi i skupovi, kao i mogućnost pokretanja Lua drajvera skripte na strani poslužitelja.
Za razliku od sustava za pohranu u memoriji kao što je Memcached, Redis osigurava trajnu pohranu podataka na disku i osigurava sigurnost baze podataka u slučaju nenormalnog isključivanja. Izvorni tekstovi projekta distribuiraju se pod BSD licencom.
Klijentske biblioteke dostupne su za najpopularnije jezike, uključujući Perl, Python, PHP, Java, Ruby i Tcl. Redis podržava transakcije koje vam omogućuju izvršavanje grupe naredbi u jednom koraku, osiguravajući konzistentnost i dosljednost (naredbe iz drugih zahtjeva ne mogu blokirati) izvršenje zadanog skupa naredbi, a u slučaju problema omogućuje vam vraćanje unatrag promjene. Svi podaci su u potpunosti pohranjeni u RAM-u.
Redis 7.0 Ključne nove značajke
U ovoj novoj verziji DBMS-a koja je predstavljena dodana podrška za funkcije na strani poslužitelja, za razliku od prethodno podržanih Lua skripti, funkcije nisu specifične za aplikaciju i namijenjene su implementaciji dodatne logike koji proširuje mogućnosti poslužitelja.
Funkcije se obrađuju neodvojivo s podacima iu odnosu na bazu podataka, a ne na aplikaciju, uključujući replikaciju i trajnu pohranu.
Još jedan novitet koji se ističe u Redisu 7.0 je ACL drugo izdanje, koji vam omogućuje kontrolu pristupa podacima na temelju ključeva i omogućuje vam definiranje različitih skupova pravila pristupa za naredbe s mogućnošću vezanja više selektora (skupova dopuštenja) za svakog korisnika. Svaki ključ može se identificirati s određenim dopuštenjima, na primjer možete ograničiti pristup samo za čitanje ili pisanje određenom podskupu ključeva.
Uz to se napominje da Redis 7.0 pruža u fragmentirana implementacija paradigme distribucije poruka Objavi-Pretplati se, koji radi na klasteru, gdje se poruka šalje određenom čvoru na koji je priključen kanal za poruke, nakon čega se ova poruka preusmjerava na preostale čvorove uključene u trup. Klijenti mogu primati poruke pretplatom na kanal, spajanjem na primarni čvor i na sekundarne čvorove sekcije.
Također je istaknuto da pruža mogućnost rukovanja s više konfiguracija odjednom u jednom pozivu CONFIG SET/GET i da su opcije “–json”, “-2”, “–scan”, “–functions-rdb” dodane uslužnom programu redis-cli.
Prema zadanim postavkama, onemogućen je pristup postavkama i naredbama koje utječu na sigurnost za klijente (na primjer, naredbe DEBUG i MODULE su onemogućene, mijenjanje konfiguracija sa zastavicom PROTECTED_CONFIG je zabranjeno). Redis-cli je prestao slati naredbe koje sadrže osjetljive podatke u datoteku povijesti.
S druge strane, ističe se dae napravio velik dio optimizacija usmjerenih na poboljšanje performansi i smanjiti potrošnju memorije. Na primjer, potrošnja memorije je značajno smanjena kada je omogućen način rada klastera, kada se izvode operacije kopiranja na upisivanje i kada se radi s ključevima hash i zset, plus je poboljšana logika za izbacivanje podataka na disk (nazvana fsync).
Ispravljena ranjivost CVE-2022-24735 u okruženju izvršavanja Lua skripte, što vam omogućuje da nadjačate svoj vlastiti Lua kod i pokrenete ga u kontekstu drugog korisnika, uključujući one s višim privilegijama.
Nadalje, možemo ukazati na ranjivost (CVE-2022-0543) u paketima s Redisom za Ubuntu i Debian (problem je specifičan za pojedinačne sklopove i nije povezan sa samim Redisom), što dopušta izvršavanje proizvoljnog Lua koda na udaljenom poslužitelju i zaobilaženje mehanizma izolacije okruženja u sandboxu za pokretanje skripti u Redisu.
Riješena je ranjivost CVE-2022-24736 koja bi mogla dopustiti da se proces redis poslužitelja sruši zbog dereferenciranja nulte pokazivača. Napad se izvodi učitavanjem posebno izrađenih Lua skripti.
konačno ako jesi zainteresirani za saznanje više o tome, Detalje možete provjeriti u nastavku veza.