భద్రత
ఆతిథ్యంలా అనిపించే భద్రత.
ఒక ఐడెంటిటీ ప్రొవైడర్ దాని టెనెంట్ల మధ్య గోడలంత, సీక్రెట్ల పట్ల అది తీసుకునే జాగ్రత్తంత మాత్రమే మంచిది. Usher Identity ఎలా నిర్మించబడిందో ఇక్కడ ఉంది. సాఫ్ట్వేర్ ఏమి చేస్తుందో మేము వివరిస్తాము; ఎలాంటి సర్టిఫికేషన్నూ మేము క్లెయిమ్ చేయము.
ఆర్కిటెక్చర్
వేర్వేరు డొమైన్లు, వేర్వేరు నెట్వర్క్లు.
Usher Identity సొంత పేజీలు, ప్రతి కస్టమర్ ఇష్యూయర్ వేర్వేరు రిజిస్టర్ చేయదగిన డొమైన్లలో ఉంటాయి. డేటాబేస్లు ఇంటర్నెట్ను చేరలేని నెట్వర్క్లో ఉంటాయి, బయటకు వెళ్లే ఏకైక మార్గం, అది ఎక్కడికి వెళ్తోందో తనిఖీ చేసే ప్రాక్సీ.
- Caddy ప్రతి హోస్ట్కూ TLSను ముగిస్తుంది, Usher Identity సొంత సేవలు మాత్రమే సెట్ చేయగల హెడర్లను తొలగిస్తుంది.
- ఆథ్ టైర్ ప్రతి ఎన్విరాన్మెంట్కూ సమాధానమిస్తుంది, వాటిని హోస్ట్ ద్వారా వేరుచేస్తుంది; ఒక హోస్ట్ కోసం కాష్ చేసినది మరొక హోస్ట్కు ఏదీ అందించబడదు.
- ప్రతి సేవ Valkeyతో దాని సొంత వినియోగదారుగా, దాని సొంత కీలకే పరిమితమై మాట్లాడుతుంది. డిఫాల్ట్ వినియోగదారు లేరు.
- టోకెన్లు, కోడ్లు ఉన్న స్టేట్మెంట్లు వాటి విలువలతో డేటాబేస్ లాగ్లో ఎప్పుడూ రాయబడవు.
ఇంటర్నెట్
వ్యక్తులు, మీ యాప్లు, మీ సర్వర్లు
ఎడ్జ్
Caddy: TLS, HSTS, అంతర్గత హెడర్లను తొలగిస్తుంది
usheridentity.com
సైట్, Console
usheridentity.com, console.usheridentity.com
API
api.usheridentity.com
*.usherid.com
ఆథ్ టైర్
ప్రతి ఎన్విరాన్మెంట్ ఇష్యూయర్, లాబీ
డేటా నెట్వర్క్ · బయటకు దారి లేదు
Postgres
ప్రతి ఎన్విరాన్మెంట్కు ఒక స్కీమా
Valkey
ప్రతి సేవ దాని సొంత కీలకే పరిమితం
బయటకు ఏకైక మార్గం
ఎగ్రెస్ ప్రాక్సీ
కస్టమర్ ఇచ్చిన ప్రతి URL కోసం
డిస్కవరీ, JWKS, లాగ్అవుట్
పబ్లిక్ చిరునామాలు మాత్రమే
వేర్పాటు
ముఖ్యమైనదేదీ పంచుకోబడదు.
ప్రతి ప్రాజెక్ట్ ఎన్విరాన్మెంట్కు దాని సొంత Postgres స్కీమా, సొంత సైనింగ్ కీలు, దాని సొంత డేటా కీతో సీల్ చేసిన సొంత సీక్రెట్లు ఉంటాయి. దాని ఇష్యూయర్ టెనెంట్ డొమైన్లోని ఒక హోస్ట్, దాని కుకీలు హోస్ట్-మాత్రమే, కాబట్టి బ్రౌజర్ ఒక ఎన్విరాన్మెంట్ కుకీని మరొకదానికి ఎప్పుడూ పంపదు.
usheridentity.com
సైట్, Usher Identity Console, Usher Identity ఖాతాలు
*.usherid.com
ప్రతి ఎన్విరాన్మెంట్కు ఒక ఇష్యూయర్, వేరే డొమైన్లో
వినియోగదారులు, సెషన్లు, టోకెన్లు ఈ ఎన్విరాన్మెంట్ కోసం చేసిన స్కీమాలో ఉంటాయి. క్వెరీలు ఆ స్కీమాపైనే నడుస్తాయి, టెనెంట్ కాలమ్ ఉన్న పంచుకున్న టేబుల్పై ఎప్పుడూ కాదు.
Acme ప్రొడక్షన్ యొక్క సీల్ చేసిన Google క్లయింట్ సీక్రెట్ను Northwind ప్రొడక్షన్లోకి కాపీ చేయండి.
నిల్వలో ఎన్క్రిప్షన్
ఎన్వలప్ ఎన్క్రిప్షన్, దాని స్థానానికి బంధించబడి.
మీరు Usher Identityకి ఇచ్చే సీక్రెట్లు ఒక ఎన్విరాన్మెంట్కు చెందిన డేటా కీ కింద AES-256-GCMతో సీల్ చేయబడతాయి. డేటా కీలు డేటాబేస్ బయట ఉంచిన, వెర్షన్లు ఉన్న మాస్టర్ కీతో చుట్టబడి ఉంటాయి.
- ప్రతి ఎన్విరాన్మెంట్కు డేటా కీలు
- ఒక ఎన్విరాన్మెంట్ డేటా కీ బయటపడినా, మరొక దాని గురించి ఏదీ తెలియదు.
- AAD బంధనం
- ఎన్విరాన్మెంట్, ఉద్దేశం ప్రతి సైఫర్టెక్స్ట్లోకి బంధించబడతాయి, కాబట్టి ఒక విలువను రోల మధ్య గానీ టెనెంట్ల మధ్య గానీ తరలించలేరు.
- వెర్షన్లు ఉన్న కీలు
- ప్రతి సీల్ చేసిన విలువ దాన్ని తయారుచేసిన కీ వెర్షన్ను నమోదు చేస్తుంది, కాబట్టి కీలను రొటేట్ చేయవచ్చు, పాత విలువలను మళ్లీ చుట్టవచ్చు.
- ప్రామాణీకృతం
- GCM ట్యాగ్ వల్ల, మార్చబడిన విలువ వేరేదానిగా డీక్రిప్ట్ అవ్వకుండా, అసలు తెరుచుకోదు.
మాస్టర్ కీ
డేటాబేస్ బయట ఉంచబడుతుంది, వెర్షన్లతో
డేటా కీ, ప్రతి ఎన్విరాన్మెంట్కు ఒకటి
మాస్టర్ కీతో చుట్టబడి ఉంటుంది
సీక్రెట్
డేటా కీ కింద AES-256-GCMతో సీల్ చేయబడింది
u1.<key version>.<iv>.<ciphertext + tag>
aad = u1 | version | environment | purpose
పద్ధతులు
వివరాలు, జాగ్రత్తగా చేయబడ్డాయి.
పాస్వర్డ్లు, మీరు వాటిని ఉపయోగిస్తే
OWASP సిఫార్సు చేసిన వ్యయంతో (19 MiB, రెండు పాస్లు) Argon2idతో హ్యాష్ చేయబడతాయి, ఒకేసారి ఎన్ని నడవచ్చో పరిమితితో, తద్వారా సైన్-ఇన్ల వరద సేవను పడగొట్టలేదు. కొత్త పాస్వర్డ్లు Have I Been Pwned range API ద్వారా తెలిసిన లీక్లతో సరిచూడబడతాయి, అది పాస్వర్డ్ హ్యాష్లోని చిన్న ప్రిఫిక్స్ను మాత్రమే చూస్తుంది. కనీస పొడవు డిఫాల్ట్గా 12.
మళ్లీ వాడగలిగేదేదీ నిల్వ చేయబడదు
క్లయింట్ సీక్రెట్లు, టోకెన్లు, మ్యాజిక్-లింక్ టోకెన్లు, ఇమెయిల్లో పంపిన కోడ్లు హ్యాష్ చేసి నిల్వ చేయబడతాయి. బ్యాకప్ కోడ్లు ఎన్క్రిప్ట్ చేయబడతాయి. ఆథరైజేషన్ కోడ్ ఐదు నిమిషాలు చెల్లుతుంది; ఇమెయిల్లో పంపిన కోడ్కు మూడు ప్రయత్నాలు.
ప్రతి తలుపుపై రేట్ లిమిట్లు
సైన్-ఇన్, సైన్ అప్, ఇమెయిల్లో పంపిన కోడ్లు, మ్యాజిక్ లింక్లు, పాస్వర్డ్ రీసెట్లు, రెండవ ఫ్యాక్టర్ తనిఖీలు, ప్రతిదానికీ దాని సొంత పరిమితి ఉంటుంది: ఉదాహరణకు, నిమిషానికి పది పాస్వర్డ్ సైన్-ఇన్లు, ప్రతి పది నిమిషాలకు ఐదు ఇమెయిల్ కోడ్లు.
కఠినమైన Content-Security-Policy
ప్రతి లాబీ పేజీకి కొత్త nonce, దాని చుట్టూ నిర్మించిన పాలసీ లభిస్తాయి: nonce ఉన్న, ఈ ఆరిజిన్ స్క్రిప్ట్లు మాత్రమే నడుస్తాయి, ఫారంలు అదే ఆరిజిన్కు మాత్రమే పోస్ట్ చేస్తాయి, ఇతర సైట్లు పేజీని ఫ్రేమ్ చేయలేవు.
మీరు నమ్మగల ఆడిట్ లాగ్
వర్క్స్పేస్లు, ప్రాజెక్ట్లు, ఎన్విరాన్మెంట్లలో మార్పులు జోడించడానికి మాత్రమే వీలయ్యే లాగ్లో రాయబడతాయి, ప్రతి ఎంట్రీ దాని ముందుదానికి హ్యాష్-చెయిన్ చేయబడి ఉంటుంది, కాబట్టి మార్చిన లేదా తప్పిపోయిన ఎంట్రీ బయటపడుతుంది.
కస్టమర్ URLల కోసం ఎగ్రెస్ ప్రాక్సీ
కస్టమర్ ఇచ్చిన చిరునామాకు Usher Identity చేసే ప్రతి అభ్యర్థన (OIDC డిస్కవరీ, JWKS, బ్యాక్-ఛానల్ లాగ్అవుట్) ఒకే ప్రాక్సీ ద్వారా బయటకు వెళ్తుంది. అది పేరును ఒక్కసారి రిసాల్వ్ చేస్తుంది, ప్రైవేట్, లూప్బ్యాక్, లింక్-లోకల్, క్లౌడ్-మెటాడేటా చిరునామాలను తిరస్కరిస్తుంది, తాను తనిఖీ చేసిన చిరునామాకే కనెక్ట్ అవుతుంది, కాబట్టి DNS రీబైండింగ్ కస్టమర్ URLను అంతర్గత URLగా మార్చలేదు.
రెండుసార్లు ఎప్పుడూ ఇవ్వబడని హ్యాండిల్లు
ప్రొడక్షన్ ఎన్విరాన్మెంట్ హ్యాండిల్ దాని ఇష్యూయర్ మొదటి లేబుల్. Console ఆహ్వానం ద్వారా మాత్రమే తెరుచుకుంటుంది, ఫిషింగ్ కోసం నివేదించబడిన లాబీ నిలిపివేయబడుతుంది, ఒకసారి వాడిన హ్యాండిల్ మళ్లీ ఎప్పుడూ ఇవ్వబడదు, ఎందుకంటే పాత యాప్లు ఇంకా దాని టోకెన్లను నమ్ముతూ ఉండవచ్చు.
మీరు చెప్పినప్పుడు ముగిసే సెషన్లు
Usher Identity కాష్ చేసిన కాపీని నమ్మకుండా ప్రతి అభ్యర్థనపైనా తన సొంత సెషన్లను తనిఖీ చేస్తుంది, కాబట్టి మీరు ముగించిన సెషన్ వెంటనే ముగుస్తుంది. యాక్సెస్ టోకెన్లు కొద్దిసేపే చెల్లుతాయి (డిఫాల్ట్గా పది నిమిషాలు), మీ API వాటిని ఇంట్రోస్పెక్ట్ చేయవచ్చు.
బాధ్యతాయుత వెల్లడి
ఏదైనా కనుగొన్నారా? మొదట మాకు చెప్పండి.
Usher Identityలో భద్రతా సమస్యను కనుగొన్నారని మీరు అనుకుంటే, దాని గురించి వినాలనుకుంటున్నాం, దాన్ని సరిచేయడానికి మీతో కలిసి పనిచేస్తాం.
- మీరు ఏమి కనుగొన్నారు, ఎక్కడ, దాన్ని మళ్లీ ఎలా జరిగేలా చేయాలి.
- మీకు అర్థమైనంత వరకు, దానితో ఎవరైనా ఏమి చేయగలరు.
- మేము మిమ్మల్ని ఎలా సంప్రదించగలం, మీకు క్రెడిట్ ఇవ్వాలనుకుంటున్నారా.
దయచేసి మీకు చెందిన ఎన్విరాన్మెంట్లపై మాత్రమే పరీక్షించండి, ఇతరుల డేటాను యాక్సెస్ చేయకండి, సమస్యను పంచుకునే ముందు దాన్ని సరిచేయడానికి మాకు తగిన సమయం ఇవ్వండి. Usher Identity సైన్-ఇన్గా నటిస్తున్న పేజీని నివేదించడానికి, దుర్వినియోగాన్ని నివేదించండి చూడండి.