Adatkezelési Tájékoztató
Szolgáltatás jellege
A SabeeApp tervezésénél fő szempont volt a minél egyszerűbb használat, ezért web alapú szoftverként valósítottuk meg. Mindez azt jelenti, hogy használatához internet kapcsolat, egy böngésző és egy aktív SabeeApp fiók kell. Ez a telepített szoftverek működéséhez képest bizonyos különbségeket jelent.
A SabeeApp működtetése az AWS (Amazon Web Services) felhő infrastruktúrájában történik, ami egy teljes értékű SAAS (Software as a Service) platform, melynek részleteit a továbbiakban olvashatod.
A SabeeApp úgynevezett osztott adatbázist és kódbázist, más néven több-bérlős (multi-tenant) infrastruktúrát használ. Ez azt jelenti, hogy egy adatbázishoz több ügyfél kapcsolódik, valamint egy kódbázist üzemeltetünk így minden ügyfelünk ezt a kódbázist vagy telepítést használja. Ennek egyik nagy előnye, hogy ügyfelünknél a legfrissebb szoftver verzió fut, a biztonság megóvása mellett. Több, különböző szintű felhasználói jogosultságot kezelünk egy osztott, több-bérlős rendszerben, így egy ügyfél úgy is értelmezhető, mint egy külön felhasználói jogosultság.
SabeeApp infrastruktúra
A SabeeApp szoftver az AWS (Amazon Web Services) felhő rendszerében üzemel, az Amazon írországi adatközpontjaiban. Minden AWS-től igénybevett szolgáltatás többzónás, annak érdekében, hogy ha az egyik zóna kiesik, a rendszer többi része át tudja venni az egész terhelést. A következő lista - a teljesség igénye nélkül - a SabeeApp által használt főbb szolgáltatásokat sorolja fel:
- Route53
- WAF (Web Application Firewall)
- S3 (Simple Storage Service)
- ALB (Application Load Balancer)
- VPC (Virtual Private Network)
- RDS (Relational Database Service)
- ElastiCache
- Elasticsearch Service
- CloudWatch (monitoring, alarming)
- KMS (Key Management Service)
- Certificate Manager
- OpsWorks
- CodeCommit
A SabeeApp által használt külső szolgáltatók
- Beanstalk (svn, git) - forráskód megosztó
- Google Analytics - egy weboldal látogatottságáról nyújt részletes statisztikát
- Twillio - szöveges üzenetküldő szolgáltató (sms)
- Mandrillapp (Mailchimp) - elektronikus levelező szolgáltató (e-mail)
A SabeeApp fejlesztéséhez a következő programozási nyelveket és keretrendszereket használjuk:
- PHP
- Javascript, JQuery
- Bootstrap Framework
- Angular JS, Ionic Framework
- MySQL
Három fejlesztési környezetet üzemeltetünk:
- Development - csak a fejlesztő csapat számára elérhető belső környezet
- Test - a SabeeApp számára külsőleg elérhető tesztkörnyezet
- Production - éles környezet
Adatbázis - és adatbiztonság, helyreállítási terv
Felhő alapú rendszer esetében adatveszteség csak akkor jelentkezhet, ha a hiba az adatbázist, vagy a fájlrendszert érinti.
Annak érdekében, hogy az adatvesztés a lehető legkisebb legyen, a következő módszereket alkalmazzuk:
- A három zónában folyamatosan működtetett adatbázis felel a valós idejű adatok magas redundanciával történő tárolásáért.
- Minden éjjel készül egy biztonsági másolat, ami percek alatt visszaállítható, ezekből az utolsó 9-et őrizzük meg.
- Az RDS és a EC2-es gépek között zárt rendszerben, titkosítva történik a kommunikáció.
- Az adatbázishoz való csatlakozás csak ugyanabban a zárt rendszerben lévő EC2-es gépekről, illetve az úgynevezett bástya gépről lehetséges, amit kívülről csak titkosított SSH csatornán keresztül tudunk elérni.
- Az adatbázisban az érzékeny adatok különböző titkosításokkal vannak tárolva, pl. a kredit kártyák két kulcsú titkosítással, míg a jelszavak tárolásához SHA-512-es titkosítást használunk.
- Az adatbázis is három zónára osztott, így az egyik zóna kiesése esetén egy másik zónából, automatikusan történik a működés.
Incidens menedzsment
A SabeeApp-nál minden típusú incidenst szigorú protokollok mentén oldunk meg és dokumentálunk. Ez a dokumentáció minden SabeeApp dolgozó számára elérhető belső használatra.
Incidenseknél a következő protokollt követjük:
- Probléma azonosítása
- Probléma ismertetése a teljes SabeeApp csapattal
- Incidens koordinátor kijelölése, amennyiben szükséges
- Az érintett ügyfelek (amennyiben van) tájékoztatása és a probléma ismertetése
- Probléma megszüntetése
- Probléma újbóli létrejöttének megakadályozása (rendszer vizsgálata és átalakítása, ha kell)
- Adatok, forráskód visszaállítása ha szükséges
- Szkriptek készítése és futtatása, ha az adatokon kell pótlást/korrigálást végezni
- Technikai partnerek értesítése, ha szükséges
- Ügyfelek értesítése az incidens elhárításáról
- Incidens dokumentáció
Az AWS és partnerei között (ez esetben a SabeeApp) osztott felelősségű modell működik.
Ez azt jelenti, hogy az AWS üzemelteti és vezérli az összetevőket az operációs rendszertől és virtualizációs rétegtől kezdve egészen a szolgáltatások működésének fizikai biztonságáig. A professzionális mérnöki és biztonsági szakember csapatnak köszönhetően a támadási felületeket ezáltal a lehető legkissebbre csökkentik.
A SabeeApp vállalja a használt szolgáltatások kezelését (beleértve azok frissítését és a biztonsági javítások telepítését), az egyéb kapcsolódó szoftverek karbantartását, valamint az AWS által biztosított biztonsági eszközök konfigurációját (ilyen pl. a tűzfal helyes beállítása).
Az AWS-hez való hozzáférést csak indokolt esetben adunk kollégáknak, akik szigorú biztonsági intézkedések (szigorú jelszóhasználat és MFA alkalmazás) mellett használhatják azt.
A biztonság további növelése érdekében külső cég segítségével rendszeres fekete- és szürke dobozos penetrációs tesztet végzünk, hogy kiszűrjük a rendszer serülékenységeit.
Szintén rendszeresen elemezzük a kód biztonságot és minőséget a SonarQube eszközzel. Minden adatforgalom legalább TLS 1.2 -vel van titkosítva, illetve minden adat amit tárolunk titkosítva van. A SabeeApp - ban soha nem tárolunk jelszót vagy titkos adatot szövegként. Több szinten történik belső rendszerek működésének logolása.
Vállalati információbiztonság
- Minden kollégával kötött munkaszerződés tartalmaz egy adatfeldolgozási tájékoztatást, megállapodást és titoktartási kötelezettséget, valamint az új kollégák oktatásának és beilleszkedési folyamatainak része az adatvédelmi és biztonsági oktatás.
- AWS hozzáférést csak a munka elvégzéséhez feltétlenül szükséges szintű jogokkal biztosítunk.
- Az éles adatbázishoz az összes mérnökünk csak olvasható módon férhet hozzá.
- Minden olyan belső rendszer használatánál, ahol elérhető, magas biztonságú jelszót használunk. Ezek kezelése a 1 Password segítségével zajlik, valamint MFA azonosítást teszünk kötelezővé.
- Rendszeres biztonsági és adatbiztonsági oktatásokat tartunk kollégáinknak
Tanúsítványok
- PCI - DSS Level1 AOC
- NTAK certification
- VIZA certification