Securitate Odoo
Securitatea dumneavoastră este foarte importantă pentru noi! Iată un rezumat a ceea ce facem în fiecare zi pentru a garanta că datele dumneavoastră sunt în siguranță cu Odoo și că aplicăm cele mai bune practici de securitate pe versiunea noastră găzduită, Odoo Cloud.
CSA STAR Nivelul 1
Odoo participă în Programul CSA Security Trust Assurance and Risk (STAR).
View our answers to the CAIQv3.1 questionnaire
— Odoo Cloud (platforma) —
Backup-uri / Recuperarea în caz de dezastru
- Păstrăm 14 copii de rezervă complete ale fiecărei baze de date Odoo timp de cel puțin 3 luni: 1/zi timp de 7 zile, 1/săptămână timp de 4 săptămâni, 1/lună timp de 3 luni.
- Copiile de rezervă sunt replicate în cel puțin 3 centre de date diferite, pe cel puțin 2 continente diferite.
- Locațiile reale ale centrelor noastre de date sunt specificate în documentul nostru Politica de confidențialitate.
- De asemenea, puteți descărca în orice moment copii de rezervă manuale ale datelor dvs. live folosind panoul de control.
- Puteți contacta serviciul nostru de asistență pentru a restabili oricare dintre aceste copii de rezervă în baza de date live (sau în paralel).
- Hardware failover: pentru serviciile găzduite pe bare metal, în cazul în care este posibilă o defecțiune hardware, implementăm o replicare locală hot standby, cu monitorizare și o procedură manuală de failover care durează mai puțin de 5 minute.
- Recuperarea în caz de dezastru: în cazul unui dezastru complet, cu un centru de date întregistrat pentru o perioadă prelungită, , împiedicând comutarea defectuoasă la hot-standby-ul nostru local (nu s-a întâmplat niciodată până acum, acesta este cel mai rău plan), avem următoarele obiective:
- RPO (Recovery Point Objective) = 24h. Aceasta înseamnă că puteți pierde maxim 24 de ore de lucru dacă datele nu pot fi recuperate și trebuie să restabilim cea mai recentă copie de rezervă zilnică.
- RTO (Recovery Time Objective) = 24 de ore pentru abonamentele plătite, 48 de ore pentru probe gratuite, oferta educațională, utilizatorii freemium etc. Acesta este momentul pentru a restabili serviciul într-un alt centru de date dacă are loc un dezastru și un centru de date este complet oprit.
- Cum se realizează acest lucru: monitorizăm în mod activ copiile de rezervă zilnice, iar acestea sunt replicate în mai multe locații de pe diferite continente. Dispunem de un sistem automat de furnizare pentru a ne implementa serviciile într-o nouă locație de găzduire. Restaurarea datelor pe baza copiilor noastre de rezervă din ziua precedentă se poate face apoi în câteva ore (pentru cele mai mari clustere), cu prioritate pentru abonamentele plătite.
Utilizăm în mod obișnuit atât copiile de rezervă zilnice, cât și scripturile de provizionare pentru operațiunile zilnice, astfel încât ambele părți ale procedurii de recuperare în caz de dezastru sunt testate în permanență.
Securitatea Bazei de Date
- Datele clienților sunt stocate într-o bază de date dedicată - nu există partajare de date între clienți.
- Regulile de control al accesului la date pun în aplicare o izolare completă între bazele de date ale clienților care rulează pe același cluster, nefiind posibil accesul de la o bază de date la alta.
Securitate Parolă
- Parolele clienților sunt protejate cu criptare PBKDF2+SHA512 standard din industrie (sărat + întins pentru mii de runde).
- Personalul Odoo nu are acces la parola dvs. și nu o poate recupera pentru dvs., singura opțiune dacă o pierdeți este să o resetați.
- Acreditările de conectare sunt întotdeauna transmise în siguranță prin HTTPS.
- Administratorii bazelor de date ale clienților au inclusiv opțiunea să configurați limitarea vitezei și durata de așteptare pentru încercările repetate de conectare.
- Password policies: database administrators have a built-in setting for enforcing a minimum user password length. Other password policies like required character classes are not supported by default because they have been proven counter-productive. See e.g. [Shay et al. 2016]), la fel ca NIST SP 800-63b.
Acces Staff
- Personalul biroului de asistență Odoo se poate conecta la contul dvs. pentru a accesa setările legate de problema dvs. de asistență. Pentru aceasta, ei folosesc propriile acreditări speciale ale personalului, nu parola dvs. (pe care nu au de unde să o știe).
- Acest acces special al personalului îmbunătățește eficiența și securitatea: aceștia pot reproduce imediat problema pe care o vedeți, nu trebuie să vă împărtășiți parola, iar noi putem audita și controla separat acțiunile personalului!
- Personalul nostru Helpdesk se străduiește să vă respecte pe cât posibil confidențialitatea și să acceseze doar fișierele și setările necesare pentru a diagnostica și rezolva problema dvs.
Securitate Sistem
- Toate serverele Odoo Cloud rulează distribuții Linux întărite cu patch-uri de securitate actualizate.
- Instalațiile sunt ad-hoc și minime pentru a limita numărul de servicii care ar putea conține vulnerabilități (de exemplu, nu există o stivă PHP/MySQL).
- Doar câțiva ingineri Odoo de încredere au autorizație pentru a gestiona serverele de la distanță - iar accesul este posibil numai folosind o pereche de chei SSH personală criptată, de la un computer cu criptare completă a discului.
Securitate Fizică
Serverele Odoo Cloud sunt găzduite în centre de date de încredere din diferite regiuni ale lumii (de exemplu, OVH, Google Cloud) și toate trebuie să depășească criteriile noastre de securitate fizică:
- Perimetru restricționat, accesat fizic numai de către angajații autorizați ai centrelor de date.
- Controlul accesului fizic cu insigne de securitate sau securitate biometrică.
- Camerele de securitate monitorizând locațiile data center 24/7.
- Personal de Securitate la fața locului 24/7.
Siguranța Cardurilor de Credit
- Nu stocăm niciodată informații despre cardul de credit pe propriile noastre sisteme.
- Informațiile cardului dvs. de credit sunt întotdeauna transmise în mod securizat direct între dvs. și compania noastră PCI-Compliant procesatori de plată (vezi lista pe Politica de confidențialitate pagina).
Criptarea Datelor
Datele clienților sunt întotdeauna transferate și stocate în formă criptată (criptare în tranzit și în pauză).- Toate comunicațiile de date către instanțe client sunt protejate cu criptare SSL de 256 de biți (HTTPS) de ultimă generație.
- Toate comunicațiile interne de date între serverele noastre sunt, de asemenea, protejate prin criptare de ultimă generație (SSH).
- Serverele noastre sunt ținute sub o supraveghere strictă de securitate și întotdeauna corectate împotriva celor mai recente vulnerabilități SSL, bucurându-se Nota A Evaluări SSL în orice moment.
- Toate certificatele noastre SSL utilizează un modul robust de 2048 de biți cu lanțuri de certificate SHA-2 complete.
- Toate datele clienților (conținutul bazei de date și fișierele stocate) sunt criptate în repaus, atât în producție, cât și în copiile de rezervă (AES-128 sau AES-256).
Apărare a rețelei
- Toți furnizorii de centre de date folosiți de Odoo Cloud au capacități de rețea foarte mari și și-au proiectat infrastructura pentru a rezista la cele mai mari atacuri DDoS (Distributed Denial of Service). Sistemele lor de atenuare automată și manuală pot detecta și devia traficul de atac la marginea rețelelor lor multicontinentale, înainte ca acesta să aibă șansa de a perturba disponibilitatea serviciilor.
- Firewall-urile și sistemele de prevenire a intruziunilor de pe serverele Odoo Cloud ajută la detectarea și blocarea amenințărilor, cum ar fi atacurile prin forțarea brută a parolei.
- Administratorii bazelor de date ale clienților au inclusiv opțiunea să configurați limitarea vitezei și durata de răcire pentru încercările repetate de conectare.
— Odoo (software-ul) —
Securitate Software
Odoo este open source, astfel încât întreaga bază de cod este în permanență examinată de utilizatorii și colaboratorii Odoo din întreaga lume. Rapoartele de erori ale comunității sunt, prin urmare, o sursă importantă de feedback în ceea ce privește securitatea. Încurajăm dezvoltatorii să auditeze codul și să raporteze problemele de securitate.
Procesele Odoo R&D au pași de revizuire a codului care includ aspecte de securitate, pentru bucăți de cod noi și contribuite.
Proiectat să fie securizat
Odoo este proiectat într-un mod care împiedică introducerea celor mai comune vulnerabilități de securitate:
- Injecțiile SQL sunt prevenite prin utilizarea unui API de nivel superior care nu necesită interogări SQL manuale.
- Atacurile XSS sunt prevenite prin utilizarea unui sistem de modelare de nivel înalt care evită automat datele injectate.
- Cadrul împiedică accesul RPC la metodele private, ceea ce face mai dificilă introducerea vulnerabilităților exploatabile.
Vezi și OWASP Top Vulnerabilități pentru a vedea cum Odoo este proiectat de la zero pentru a preveni apariția unor astfel de vulnerabilități.
Audituri de Securitate Independente
Odoo este auditat în mod regulat de companii independente care sunt angajate de clienții și potențialii noștri pentru a efectua audituri și teste de penetrare. Echipa de securitate Odoo primește rezultatele și ia măsuri corective corespunzătoare ori de câte ori este necesar.
Cu toate acestea, nu putem dezvălui niciunul dintre aceste rezultate, deoarece sunt confidențiale și aparțin comisarilor. Te rog nu intreba ;-)
Odoo are, de asemenea, o comunitate foarte activă de cercetători independenți în domeniul securității, care monitorizează continuu codul sursă și colaborează cu noi pentru a îmbunătăți și întări securitatea Odoo. Programul nostru de securitate este descris pe site-ul nostru Divulgare Responsabilă pagina.
OWASP Top Vulnerabilități
Iată unde se situează Odoo în topul problemelor de securitate pentru aplicațiile web, așa cum sunt enumerate de către Open Web Application Security Project (OWASP):
-
Injection Flaws: Defectele de injecție, în special injecția SQL, sunt frecvente în aplicațiile web. Injectarea are loc atunci când datele furnizate de utilizator sunt trimise către un interpret ca parte a unei comenzi sau interogări. Datele ostile ale atacatorului păcălesc interpretul să execute comenzi neintenționate sau să modifice date.
Odoo se bazează pe un cadru ORM (object-relational-mapping) care abstrage construirea de interogări și previne implicit injecțiile SQL. În mod normal, dezvoltatorii nu creează manual interogări SQL, acestea sunt generate de ORM, iar parametrii sunt întotdeauna scăpați corespunzător.
-
Cross Site Scripting (XSS): Defectele XSS apar ori de câte ori o aplicație preia datele furnizate de utilizator și le trimite unui browser web fără a valida sau codifica mai întâi conținutul respectiv. XSS permite atacatorilor să execute scripturi în browserul victimei, ceea ce poate deturna sesiuni de utilizator, defăima site-uri web, poate introduce viermi etc.
Cadrul Odoo scapă toate expresiile redate în vizualizări și pagini în mod implicit, împiedicând XSS. Dezvoltatorii trebuie să marcheze expresiile ca fiind „sigure” pentru includerea brută în paginile randate.
-
Cross Site Request Forgery (CSRF): Un atac CSRF forțează browserul unei victime conectate să trimită o cerere HTTP falsificată, inclusiv cookie-ul de sesiune al victimei și orice alte informații de autentificare incluse automat, către o aplicație web vulnerabilă. Acest lucru permite atacatorului să forțeze browserul victimei să genereze cereri pe care aplicația vulnerabilă le consideră cereri legitime din partea victimei.
Motorul site-ului Odoo include un mecanism de protecție CSRF încorporat. Împiedică orice controler HTTP să primească o solicitare POST fără simbolul de securitate corespunzător. Aceasta este tehnica recomandată pentru prevenirea CSRF. Acest simbol de securitate este cunoscut și prezent numai atunci când utilizatorul a accesat cu adevărat formularul relevant de site-ul web, iar un atacator nu poate falsifica o solicitare fără el.
-
Malicious File Execution: Codul vulnerabil la includerea fișierelor de la distanță (RFI) permite atacatorilor să includă cod și date ostile, ceea ce duce la atacuri devastatoare, cum ar fi compromisul total al serverului.
Odoo nu expune funcții pentru a efectua includerea fișierelor de la distanță. Cu toate acestea, permite utilizatorilor privilegiați să personalizeze caracteristicile prin adăugarea de expresii personalizate care vor fi evaluate de sistem. Aceste expresii sunt întotdeauna evaluate de un mediu sandbox și igienizat care permite accesul numai la funcțiile permise.
-
Insecure Direct Object Reference: O referință directă la un obiect apare atunci când un dezvoltator expune o referință la un obiect de implementare internă, cum ar fi un fișier, un director, o înregistrare în baza de date sau o cheie, ca URL sau parametru de formular. Atacatorii pot manipula aceste referințe pentru a accesa alte obiecte fără autorizație.
Controlul accesului Odoo nu este implementat la nivel de interfață cu utilizatorul, așa că nu există niciun risc în expunerea referințelor la obiecte interne în URL-uri. Atacatorii nu pot ocoli nivelul de control al accesului manipulând acele referințe, deoarece fiecare solicitare trebuie să treacă prin nivelul de validare a accesului la date.
-
Insecure Cryptographic Storage: Aplicațiile web utilizează rareori funcțiile criptografice în mod corespunzător pentru a proteja datele și acreditările. Atacatorii folosesc datele slab protejate pentru a comite furturi de identitate și alte infracțiuni, cum ar fi fraudele cu cărți de credit.
Odoo folosește hashing securizat standard din industrie pentru parolele utilizatorilor (în mod implicit PBKDF2 + SHA-512, cu extensie cheie) pentru a proteja parolele stocate. De asemenea, este posibil să utilizați sisteme de autentificare externe, cum ar fi OAuth 2.0 sau LDAP, pentru a evita deloc stocarea locală a parolelor utilizatorului.
-
Insecure Communications: Aplicațiile nu reușesc frecvent să cripteze traficul de rețea atunci când este necesar pentru a proteja comunicațiile sensibile.
Odoo Cloud rulează implicit pe HTTPS. Pentru instalări on-premise, este recomandat pentru a rula Odoo în spatele unui server web care implementează cererea de criptare și proxy către Odoo, de exemplu Apache, Lighttpd sau nginx. Ghidul de implementare Odoo include a Checklist Securitate pentru implementări publice mai sigure.
-
Incapacitatea de a restricționa accesul la URL: Adesea, o aplicație protejează funcționalitatea sensibilă doar prin împiedicarea afișării de linkuri sau URL-uri pentru utilizatorii neautorizați. Atacatorii se pot folosi de această slăbiciune pentru a accesa și a efectua operațiuni neautorizate prin accesarea directă a acestor URL-uri.
Controlul accesului Odoo nu este implementat la nivel de interfață cu utilizatorul, iar securitatea nu se bazează pe ascunderea adreselor URL speciale. Atacatorii nu pot ocoli nivelul de control al accesului prin reutilizarea sau manipularea oricărei adrese URL, deoarece fiecare solicitare trebuie să treacă prin stratul de validare a accesului la date. În cazurile rare în care o adresă URL oferă acces neautentificat la date sensibile, cum ar fi adrese URL speciale pe care clienții le folosesc pentru a confirma o comandă, aceste adrese URL sunt semnate digital cu simboluri unice și trimise numai prin e-mail destinatarului vizat.
Raportarea Vulnerabilităților de Securitate
Dacă aveți nevoie să raportați o vulnerabilitate de securitate, vă rugăm să vă îndreptați către site-ul nostru responsible disclosure page. Aceste rapoarte sunt tratate cu prioritate ridicată, problema este imediat evaluată și rezolvată de echipa de securitate Odoo, în colaborare cu raportorul, și apoi dezvăluită într-un mod responsabil clienților și utilizatorilor Odoo.