Varnost #
EthicsPortal ravna z občutljivimi podatki o prijavah nepravilnosti. Ta stran dokumentira konkretne tehnične in organizacijske ukrepe, ki jih imamo vzpostavljene. Napisana je za zaupnike, pooblaščene osebe za varstvo podatkov in pravne službe, ki ocenjujejo platformo.
Zadnja posodobitev: 2026-09-13.
Šifriranje podatkov #
Spodaj navedena občutljiva polja podatkovne baze so pri hrambi šifrirana z Rails ActiveRecord Encryption z nedeterminističnim šifriranjem (vsako šifriranje da enoličen šifropis, kar preprečuje analizo vzorcev). To ne zajema celotnih izvozov podatkovne baze ali priloženih datotek.
| Polje | Šifrirano | Deterministično |
|---|---|---|
| Opis prijave | Da | Ne |
| Ime prijavitelja | Da | Ne |
| Kontaktni podatki prijavitelja | Da | Ne |
| Strukturirani odgovori ob prevzemu (razmerje, vir, čas, prejšnja prijava, skrb glede povračilnih ukrepov) | Da | Ne |
| Vsebina sporočila (komunikacija med prijaviteljem in obravnavalcem) | Da | Ne |
| Interni zaznamki o zadevi | Da | Ne |
| Skrivnosti in rezervne kode dvostopenjskega preverjanja obravnavalcev | Da | Ne |
Nedeterministično šifriranje pomeni, da teh polj na ravni podatkovne baze ni mogoče poizvedovati po vrednosti. Tudi s polnim dostopom do podatkovne baze napadalec ne more iskati določenega imena prijavitelja po zapisih.
Vse povezave z EthicsPortalom uporabljajo HTTPS/TLS. Nešifrirane zahteve HTTP se preusmerijo.
Anonimnost in zasebnost #
Anonimizacija naslovov IP #
Poti portala (oddaja prijave, iskanje zadeve, sporočanje) uporabljajo enosmerni zgoščeni zapis SHA256 naslova IP zahteve izključno za omejevanje pogostosti. Zgoščenega zapisa ni mogoče obrniti — iz shranjene vrednosti izvirnega naslova IP ni mogoče pridobiti.
Na ravni aplikacije se surovi naslov IP prijavitelja ne shranjuje v podatkovno bazo, dnevniki aplikacije za poti portala pa so očiščeni zaradi zaščite anonimnosti prijavitelja.
Odstranjevanje metapodatkov datotek #
Naloženim datotekam se identifikacijski metapodatki samodejno odstranijo pred shranjevanjem:
| Vrsta datoteke | Odstranjeni metapodatki | Metoda |
|---|---|---|
| Slike (JPEG, PNG, TIFF, WebP) | Podatki EXIF: koordinate GPS, model fotoaparata, serijska številka naprave, avtor, časovni žigi | Obdelava slik Vips |
| Dokumenti PDF | Avtor, aplikacija ustvarjalca, zgodovina sprememb | exiftool v standardni produkcijski postavitvi |
| Videodatoteke | GPS, podatki o napravi, programska oprema za snemanje | exiftool v standardni produkcijski postavitvi |
| Zvočne datoteke | Snemalna naprava, GPS, programske oznake | exiftool v standardni produkcijski postavitvi |
Odstranjevanje metapodatkov se izvede na strani strežnika pred shranjevanjem. Pri vrstah datotek, ki jih obdela exiftool, je to odvisno od prisotnosti standardnega produkcijskega orodja.
Preverjanje glede virusov #
Vse naložene datoteke se samodejno preverijo glede zlonamerne programske opreme s ClamAV , odprtokodnim protivirusnim pogonom. Preverjanje poteka na strani strežnika v procesu v ozadju po nalaganju. Datoteke, ki preverjanja niso prestale, so blokirane za dostavo, okužene datoteke pa se samodejno odstranijo.
Datoteke se preverjajo na infrastrukturi EthicsPortala — nobeni podatki iz datotek se ne pošiljajo storitvam preverjanja tretjih oseb.
Anonimnost obravnavalca #
Prijavitelji nikoli ne vidijo pravih imen ali e-poštnih naslovov oseb, ki obravnavajo njihovo prijavo. Vsa sporočila obravnavalcev so prikazana kot »Obravnavalec«. To varuje identiteto obravnavalca in preprečuje napade s socialnim inženiringom.
Brez sledenja #
EthicsPortal ne uporablja sledilnih piškotkov tretjih oseb, oglaševalskih slikovnih pik ali skriptov za prstne odtise. Na trženjskih straneh uporabljamo Cloudflare Web Analytics . Ta ne nastavlja analitičnih piškotkov, vendar lahko Cloudflare obdeluje metapodatke zahtev, vključno z naslovi IP, kot je opisano v obvestilu o zasebnosti . Sama pot za prijavo nima nobene analitike.
Trenutno stanje zagotovil #
EthicsPortal na tem spletnem mestu trenutno ne trdi, da ima akreditiran certifikat ISO 27001. Trenutno tudi ne objavlja neodvisne revizije arhitekture anonimnosti s strani tretje osebe. Če se to spremeni, bosta tukaj objavljena obseg in datum.
Gradiva za varnostni pregled #
Stranke, ki potrebujejo gradiva za pregled v postopku nabave ali za pravni pregled, jih lahko zahtevajo med nabavo. Razpoložljiva gradiva lahko vključujejo podpisano pogodbo o obdelavi podatkov, dokazila iz registra in o davčni številki, izpolnjen varnostni vprašalnik ter pisne odgovore o postopkih varnostnega kopiranja in obnovitve, privilegiranem dostopu do produkcije in odzivanju na incidente.
Nadzor dostopa #
Avtorizacija se izvaja na ravni aplikacije s politikami Pundit .
| Vloga | Vidi prijave | Upravlja nastavitve organizacije | Dodeljuje obravnavalce |
|---|---|---|---|
| Skrbnik | Vse prijave | Da | Da |
| Obravnavalec | Prijave, ki so mu dodeljene ali pri katerih sodeluje | Ne | Ne |
| Opazovalec | Samo za branje, za revizorje in pravne svetovalce | Ne | Ne |
- Obravnavalci ne vidijo prijav, ki jim niso dodeljene in pri katerih ne sodelujejo. Udeležence izrecno doda skrbnik ali glavni obravnavalec (na primer ob vključitvi pravne ali kadrovske službe).
- Prijavitelji nimajo uporabniškega računa — do svoje prijave dostopajo z oznako zadeve (
WB-XXXX-XXXX) in 6-mestnim geslom, ki ga izberejo ob oddaji. - Vsako dejanje v krmilniku preverja avtorizacijo. Poskusi nepooblaščenega dostopa so blokirani in zabeleženi.
Dvostopenjsko preverjanje #
Računi obravnavalcev in skrbnikov lahko omogočijo dvostopenjsko preverjanje na podlagi TOTP prek katere koli standardne aplikacije za preverjanje (Google Authenticator, 1Password, Authy in združljive alternative). Ko je omogočeno, prijava zahteva osnovni prijavni podatek in menjajočo se 6-mestno kodo.
Tudi prijavitelji se overijo z dvema dejavnikoma: oznako zadeve (nekaj, kar imajo) in geslom, ki so ga izbrali ob oddaji (nekaj, kar vedo). Geslo je shranjeno le kot izvleček bcrypt in ga ni mogoče obnoviti. Nabiralnik za spremljanje in objava sporočil sta zaščitena s sejo za tem preverjanjem, zato sama razkrita oznaka zadeve ne omogoča branja prijave ali lažnega predstavljanja prijavitelja.
Življenjski cikel seje #
Vsaka avtenticirana seja ob vsaki zahtevi zabeleži last_seen_at (z zakasnitvijo). Uporabniki lahko v nastavitvah računa pregledajo svoje aktivne seje, vidijo, kdaj je bila vsaka nazadnje dejavna, posamezno preklicejo katero koli sejo ali se naenkrat odjavijo iz vseh drugih sej.
Seje potečejo samodejno po 14 dneh nedejavnosti. Naslednja zahteva iz nedejavne seje uniči zapis na strežniku, počisti piškotek in zahteva ponovno overitev prek nove čarobne povezave. Nočno opravilo z isto časovno omejitvijo pomete zapuščene seje, tako da se user_agent in ip_address ne hranita dlje od okna nedejavnosti, tudi če se uporabnik nikoli ne vrne.
Overitev s čarobno povezavo omejuje obseg škode dolgotrajnih sej: ukraden piškotek seje ne da prijavnih podatkov za ponovno uporabo, ponovna overitev pa zahteva dostop do e-pošte.
Dostop članov in odhod iz organizacije #
Dostop do organizacije se izvaja na meji zahteve. Ko je član deaktiviran:
- Dostop do organizacije je takoj zavrnjen, tudi na prej shranjenih naslovih URL.
- Dodelitve odprtih prijav se odvzamejo.
- Udeležbe se odstranijo.
- Zgodovina revizijskega dnevnika, ki jo je mogoče pripisati članu, se ohrani.
- Deaktivirani član je o tem obveščen.
- Ponovna aktivacija ne obnovi samodejno prejšnjega dostopa do zadev.
Lastnika organizacije, zadnjega aktivnega skrbnika in imenovanega zaupnika za pot za prijavo ni mogoče deaktivirati. Vsi dogodki deaktivacije in ponovne aktivacije se zapišejo v revizijski dnevnik, v katerega je mogoče samo dodajati.
Odstranitev člana članstvo deaktivira in ga ne izbriše, tako da revizijska sled in zgodovina prijav ostaneta razrešljivi. Članstvo se trdo izbriše samo, ko je izbrisan članov lastni račun ali sama organizacija.
Izbris računa #
Članu, ki zapre svoj račun, se e-poštni naslov nadomesti z neuporabnim nadomestkom, njegov avatar, prijavni podatki za dvostopenjsko preverjanje, seje, žetoni API in nastavitve pa se trajno odstranijo; račun se ne more več overiti in z njim ni več mogoče stopiti v stik. Če račun v organizaciji ni nikoli deloval, se zapis izbriše v celoti. Če je, članovo ime ostane, njegova članstva pa se deaktivirajo, tako da ohranjeni zaznamki o zadevah, sporočila in revizijski vnosi ostanejo pripisljivi. Dobo hrambe določi upravljavec po svojih dokumentiranih navodilih in veljavnem pravu; pravice do izbrisa po GDPR ostajajo predmet morebitnih izjem zaradi zakonskih obveznosti ali pravnih zahtevkov.
Očiščen račun se ne more overiti po nobeni poti: ne s čarobno povezavo, ne s trditvijo SAML, ne z žetonom API.
Omejevanje pogostosti #
Končne točke javnega portala imajo omejeno pogostost za preprečevanje zlorab in napadov s preštevanjem:
| Končna točka | Omejitev |
|---|---|
| Oddaja prijave | 5 na 10 minut na anonimiziran naslov IP |
| Iskanje zadeve (oznaka zadeve + geslo) | 10 na 3 minute na anonimiziran naslov IP |
| Oddaja sporočila | 10 na 3 minute na anonimiziran naslov IP |
Omejevanje pogostosti uporablja zgoraj opisani enosmerni zgoščeni zapis naslova IP — dejanski naslov IP se ne shranjuje.
Revizija in skladnost #
Revizijska sled, v katero je mogoče samo dodajati #
Določeni dogodki v zvezi s prijavami in računi se beležijo s:
- Časovnim žigom (UTC)
- Izvajalcem (kateri uporabnik ali sistemski proces je dejanje izvedel)
- Vrsto dejanja (na primer prijava ustvarjena, stanje spremenjeno, sporočilo poslano, obravnavalec dodeljen, prijava izvožena ali izbrisana). Posamezni ogledi se ne beležijo.
V vnose revizijskega dnevnika je mogoče samo dodajati. Nobeden uporabnik, tudi skrbniki organizacije ne, jih ne more urejati ali brisati. Celotna revizijska sled je za regulativni pregled vključena v izvoze zadev v PDF.
Hramba podatkov #
Organizacije si same nastavijo dobo hrambe: 12, 24, 36, 48 ali 60 mesecev po zaključku prijave. Ko doba hrambe poteče, opravilo v ozadju prijavo in z njo povezane podatke izbriše iz produkcije; varnostne kopije potečejo po ločenem dokumentiranem življenjskem ciklu.
Za izbiro obdobja, ki ustreza omejitvi shranjevanja po GDPR in veljavnim nacionalnim pravilom o vodenju evidenc, ostaja odgovoren upravljavec.
Zaščita pred CSRF #
Vse oddaje obrazcev so pred ponarejanjem zahtev med spletnimi mesti zaščitene z vgrajenimi žetoni CSRF v Railsu.
Varen razvojni življenjski cikel #
EthicsPortal pri spremembah, ki se dotikajo storitve, sledi dokumentiranemu razvojnemu življenjskemu ciklu. Faze so navedene tukaj, da jih lahko pregledovalec v postopku nabave preslika v kontrole ISO/IEC 27001:2022 A.8.25–A.8.29 (za celotno preslikavo glejte preslikavo kontrol ).
| Faza | Praksa |
|---|---|
| Arhitektura in zasnova | Funkcije, ki uvajajo nove tokove osebnih podatkov, podobdelovalce ali obsege avtorizacije, se pred izvedbo ovrednotijo glede na zaveze o šifriranju, nadzoru dostopa in revizijski sledi, dokumentirane na tej strani. |
| Pregled sprememb | Vsaka produkcijska sprememba se pred namestitvijo preveri po pisnem kontrolnem seznamu (pokritost šifriranja, obseg avtorizacije, oddajanje v revizijski dnevnik, potrjevanje vnosa, ravnanje s skrivnostmi). Izvrševanje je avtomatizirano in ne diskrecijsko: celoten nabor testov in statična analiza tečeta ob vsaki spremembi in ob neuspehu ustavita namestitev. Nabor testov teče na gostovanem izvajalniku CI ali na razvijalčevi delovni postaji, pri čemer se dokončan tek zabeleži kot stanje oddaje, ki ga cevovod preveri, preden gostovani tek preskoči. Vloge pri odobritvi sprememb so opisane med pregledom v postopku nabave. |
| Varno programiranje | Koda privzeto uporablja obrambne mehanizme na ravni ogrodja — parametrizirane poizvedbe prek ActiveRecord, močne parametre, ubežne nize v pogledih, žetone CSRF, šifriranje na ravni atributov, avtorizacijo Pundit na meji krmilnika. Odstopanja zahtevajo pisno utemeljitev. |
| Varnostno testiranje v razvoju | Statična analiza (Brakeman
, bundler-audit
, importmap audit) teče ob vsaki spremembi. Testi pokrivajo poti avtorizacije, invariante šifriranja pri hrambi, oddajanje v revizijski dnevnik in izvrševanje omejitev pogostosti. Za celotno orodjarno glejte obvladovanje odvisnosti in popravkov
. |
| Ločevanje okolij | Produkcijsko in neprodukcijska okolja so izolirana. Zunaj produkcije se ne uporabljajo nobeni produkcijski osebni podatki; pripravljalno in razvojno okolje uporabljata sintetične podatke. |
| Odzivanje na ranljivosti | Prijave so potrjene v 2 delovnih dneh (glejte odgovorno razkritje ). Cilji: kritične težave odpravljene v 7 dneh, visoke v 30, srednje v 90. Potrjene težave, ki prizadenejo uvedene stranke, se sporočijo prek registra incidentov , kadar izpolnjujejo merila obsega registra. |
Obvladovanje odvisnosti in popravkov #
EthicsPortal ne namešča programskih komponent ob koncu življenjske dobe. Aplikacija teče na dejavno podprtih izdajah Railsa, Rubyja, PostgreSQL in osnovnega operacijskega sistema; varnostne izdaje iz nadrejenih projektov se nameščajo sproti.
Odvisnosti se neprekinjeno preverjajo v neprekinjeni integraciji:
- Brakeman ob vsaki spremembi označi ranljivosti, značilne za Rails.
- bundler-audit preveri Gemfile glede na zbirko Ruby Advisory Database ob vsaki spremembi in znova dnevno, tako da so novo razkrita opozorila ujeta tudi, ko se koda ni spremenila.
importmap auditob vsaki spremembi in znova dnevno pregleda uvoze JavaScripta glede znanih ranljivosti.- Dependabot tedensko odpira zahtevke za zastarele dragulje Ruby in dejanja GitHub, združene po manjših in popravnih posodobitvah.
Komponente, ki pri nadrejenem projektu dosežejo konec življenjske dobe, se zamenjajo ali nadgradijo, preden se njihovo okno podpore zapre.
Infrastruktura #
| Komponenta | Ponudnik | Lokacija |
|---|---|---|
| Aplikacijski strežnik in podatkovna baza | Hetzner | Nürnberg, Nemčija (EU) |
| Hramba datotek | Hetzner Object Storage | Nürnberg, Nemčija (EU) |
| Transakcijska e-pošta | Mailjet | Francija (EU) |
| Obdelava plačil | Stripe | Irska; druge države ob veljavnih zaščitnih ukrepih — glejte obvestilo o zasebnosti |
- Hramba osnovnih podatkov o prijavah in zadevah je v Evropski uniji. Dostava e-pošte in telemetrija aplikacije imata ločeni verigi nadaljnjih dobaviteljev; glejte pogodbo o obdelavi podatkov .
- Na strežnikih EthicsPortala se ne hranijo številke kreditnih kartic ali plačilni podatki. Vse plačilne podatke obdeluje Stripe.
- Mailjet pošilja obvestila obravnavalcem ter neobvezna potrdila in obvestila o novih sporočilih prijaviteljem. Obvestila prijaviteljem vsebujejo e-poštni naslov prejemnika ter dostopno kodo in povezavo do prijave, ne pa vsebine prijave. Nadaljnja podporna veriga Mailjeta lahko vključuje dostop zunaj EGP; glejte pogodbo o obdelavi podatkov .
- Trženjska stran se streže prek Cloudflare (CDN, Združene države); portala za prijavitelje in obravnavalce ne. Ta ločena obdelava na javni strani in njeni zaščitni ukrepi za prenose so opisani v obvestilu o zasebnosti , ne na seznamu podobdelovalcev v pogodbi o obdelavi podatkov s stranko.
Varnostne kopije in obnovitev #
EthicsPortal upravlja dve dopolnjujoči se plasti varnostnih kopij, obe hranjeni znotraj EU:
| Plast | Kaj | Kje | Hramba |
|---|---|---|---|
| Podatkovna baza | Dnevni izvozi PostgreSQL prek pripomočka Kamal; šifrirana polja aplikacije ostanejo v vsakem izvozu šifrirana, celoten izvoz pa pred nalaganjem ni šifriran | Hetzner Object Storage, Nürnberg (EU) | 21 dni za trenutne različice; izbrisane različice potečejo po dodatnih 7 dneh |
| Strežnik | Polni posnetki diska gostitelja aplikacije | Hetzner Cloud, Nürnberg (EU) | 7 dni |
Cilji obnovitve. Cilj točke obnovitve (RPO) je 24 ur. Cilj časa obnovitve (RTO) je 4 ure. Ta cilja sta navedena tudi v sporazumu o ravni storitve .
Preizkušanje obnovitve. Vaja obnovitve teče samodejno vsak mesec prek delovnega toka CI, ki najnovejši izvoz obnovi v enkratno okolje, in na zahtevo prek bin/backup-restore-test. Svežina varnostnih kopij se spremlja neprekinjeno (opozorilo, če je najnovejši izvoz starejši od 36 ur).
Šifriranje. Polja na ravni aplikacije, šifrirana z Rails ActiveRecord Encryption, ostanejo šifrirana tudi v izvozih podatkovne baze. Hetzner navaja, da Object Storage objektov pri hrambi privzeto ne šifrira. Trenutni poti nalaganja varnostnih kopij in prilog ne zahtevata šifriranja na strani strežnika; vzorčeni produkcijski objekti varnostnih kopij in prilog niso poročali o šifriranju na strani strežnika. Šifriranje celotnih izvozov in prilog pri hrambi sta odprti varnostni vrzeli.
Operativni pregled #
Nekatera operativna gradiva se delijo med pregledom v postopku nabave in se v celoti ne objavljajo na odprtem spletu, ker vsebujejo podrobnosti o infrastrukturi in odzivanju, ki so primernejše za nadzorovano razkritje.
Teme, na voljo na zahtevo med nabavo, vključujejo:
- Povzetek privilegiranega dostopa do produkcije
- Delovni tok odzivanja na incidente in stike za eskalacijo
- Odgovore glede neprekinjenega poslovanja ter odhoda in izvoza podatkov stranke
Odgovorno razkritje #
Če odkrijete varnostno ranljivost v EthicsPortalu, jo prijavite na security@ethicsportal.eu . Prosimo vas, da:
- Ranljivosti ne razkrijete javno, preden imamo priložnost, da jo odpravimo.
- Navedete dovolj podrobnosti, da težavo ponovimo in popravimo.
- Ne dostopate do podatkov drugih strank in jih ne spreminjate.
Vašo prijavo bomo potrdili v 2 delovnih dneh in si prizadevamo potrjene ranljivosti hitro odpraviti.
Brez plačane nagrade za napake. Razkritje ni nagrajeno: za prijave ranljivosti ne plačujemo ter kot pogoj za njihov prejem ne podpisujemo sporazumov o nerazkrivanju, ne dogovarjamo poslovnih pogojev in ne sprejemamo klicev. Na zgornji naslov pošljite prizadeto sredstvo, korake za ponovitev in učinek, ki ste ga ugotovili.
Zadnja posodobitev: