ସୁରକ୍ଷା
ଆତିଥ୍ୟ ପରି ଲାଗୁଥିବା ସୁରକ୍ଷା।
ଏକ ପରିଚୟ ପ୍ରଦାତା କେବଳ ତା’ର ଟେନାଣ୍ଟଙ୍କ ମଧ୍ୟରେ ଥିବା କାନ୍ଥ ଓ ସିକ୍ରେଟ ପ୍ରତି ତା’ର ଯତ୍ନ ଯେତିକି ଭଲ, ସେତିକି ଭଲ। Usher Identity କିପରି ନିର୍ମିତ ତାହା ଏଠାରେ। ସଫ୍ଟୱେର କ’ଣ କରେ ଆମେ ତାହା ବର୍ଣ୍ଣନା କରୁ; ଆମେ କୌଣସି ସର୍ଟିଫିକେସନର ଦାବି କରୁ ନାହିଁ।
ସ୍ଥାପତ୍ୟ
ଅଲଗା ଡୋମେନ, ଅଲଗା ନେଟୱର୍କ।
Usher Identityର ନିଜ ପୃଷ୍ଠା ଓ ପ୍ରତ୍ୟେକ ଗ୍ରାହକଙ୍କ ଇସୁଅର ଅଲଗା ଅଲଗା ରେଜିଷ୍ଟ୍ରେବଲ ଡୋମେନରେ ରହନ୍ତି। ଡାଟାବେସଗୁଡ଼ିକ ଏପରି ଏକ ନେଟୱର୍କରେ ଅଛନ୍ତି ଯାହା ଇଣ୍ଟରନେଟରେ ପହଞ୍ଚିପାରେ ନାହିଁ, ଏବଂ ବାହାରକୁ ଯିବାର ଏକମାତ୍ର ରାସ୍ତା ହେଉଛି ଏକ ପ୍ରକ୍ସି ଯାହା ଯାଞ୍ଚ କରେ ଏହା କେଉଁଠିକୁ ଯାଉଛି।
- Caddy ପ୍ରତ୍ୟେକ ହୋଷ୍ଟ ପାଇଁ TLS ସମାପ୍ତ କରେ ଏବଂ କେବଳ Usher Identityର ନିଜ ସେବା ସେଟ କରିପାରୁଥିବା ହେଡରଗୁଡ଼ିକ ହଟାଇଦିଏ।
- Auth ସ୍ତର ପ୍ରତ୍ୟେକ ଏନଭାଇରନମେଣ୍ଟ ପାଇଁ ଉତ୍ତର ଦିଏ, ହୋଷ୍ଟ ଦ୍ୱାରା ଚିହ୍ନଟ କରି; ଗୋଟିଏ ହୋଷ୍ଟ ପାଇଁ କ୍ୟାଶ କରାଯାଇଥିବା କିଛି ଅନ୍ୟ ହୋଷ୍ଟକୁ ଦିଆଯାଏ ନାହିଁ।
- ପ୍ରତ୍ୟେକ ସେବା Valkey ସହ ନିଜସ୍ୱ ଉପଯୋଗକର୍ତ୍ତା ଭାବେ କଥା ହୁଏ, କେବଳ ନିଜ କୀ ପର୍ଯ୍ୟନ୍ତ ସୀମିତ। କୌଣସି ଡିଫଲ୍ଟ ଉପଯୋଗକର୍ତ୍ତା ନାହିଁ।
- ଟୋକେନ ଓ କୋଡ ଥିବା ଷ୍ଟେଟମେଣ୍ଟଗୁଡ଼ିକ କେବେ ସେମାନଙ୍କ ମୂଲ୍ୟ ସହ ଡାଟାବେସ ଲଗରେ ଲେଖାଯାଏ ନାହିଁ।
ଇଣ୍ଟରନେଟ
ଲୋକେ, ଆପଣଙ୍କ ଆପ, ଆପଣଙ୍କ ସର୍ଭର
ଏଜ
Caddy: TLS, HSTS, ଆଭ୍ୟନ୍ତରୀଣ ହେଡର ହଟାଏ
usheridentity.com
ସାଇଟ ଓ Console
usheridentity.com, console.usheridentity.com
API
api.usheridentity.com
*.usherid.com
Auth ସ୍ତର
ପ୍ରତ୍ୟେକ ଏନଭାଇରନମେଣ୍ଟର ଇସୁଅର ଓ ଲବି
ଡାଟା ନେଟୱର୍କ · ବାହାରକୁ କୌଣସି ରାସ୍ତା ନାହିଁ
Postgres
ପ୍ରତି ଏନଭାଇରନମେଣ୍ଟରେ ଗୋଟିଏ ସ୍କିମା
Valkey
ପ୍ରତ୍ୟେକ ସେବା ନିଜ କୀ ପର୍ଯ୍ୟନ୍ତ ସୀମିତ
ବାହାରକୁ ଯିବାର ଏକମାତ୍ର ରାସ୍ତା
ଇଗ୍ରେସ ପ୍ରକ୍ସି
ଗ୍ରାହକ ଦେଇଥିବା ପ୍ରତ୍ୟେକ URL ପାଇଁ
ଡିସକଭରି, JWKS, ଲଗଆଉଟ
କେବଳ ସାର୍ବଜନୀନ ଠିକଣା
ପୃଥକତା
ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ କିଛି ବାଣ୍ଟାଯାଏ ନାହିଁ।
ପ୍ରତ୍ୟେକ ପ୍ରୋଜେକ୍ଟ ଏନଭାଇରନମେଣ୍ଟ ନିଜର Postgres ସ୍କିମା, ନିଜର ସାଇନିଂ କୀ ଓ ନିଜ ଡାଟା କୀ ଦ୍ୱାରା ସିଲ କରାଯାଇଥିବା ନିଜର ସିକ୍ରେଟ ପାଏ। ଏହାର ଇସୁଅର ଟେନାଣ୍ଟ ଡୋମେନରେ ଏକ ହୋଷ୍ଟ, ଏବଂ ଏହାର କୁକି host-only, ତେଣୁ ଏକ ବ୍ରାଉଜର କେବେ ଗୋଟିଏ ଏନଭାଇରନମେଣ୍ଟର କୁକି ଅନ୍ୟକୁ ପଠାଏ ନାହିଁ।
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 ଓ ତା’ ଚାରିପାଖରେ ତିଆରି ଏକ ପଲିସି ପାଏ: କେବଳ ଏହି originର nonce ଥିବା ସ୍କ୍ରିପ୍ଟ ଚାଲେ, ଫର୍ମ କେବଳ ସେହି originକୁ ପୋଷ୍ଟ ହୁଏ, ଏବଂ ଅନ୍ୟ ସାଇଟ ପୃଷ୍ଠାଟିକୁ ଫ୍ରେମ କରିପାରନ୍ତି ନାହିଁ।
ଭରସା କରିହେଉଥିବା ଏକ ଅଡିଟ ଲଗ
ୱର୍କସ୍ପେସ, ପ୍ରୋଜେକ୍ଟ ଓ ଏନଭାଇରନମେଣ୍ଟରେ ପରିବର୍ତ୍ତନ ଏକ append-only ଲଗରେ ଲେଖାଯାଏ, ପ୍ରତ୍ୟେକ ଏଣ୍ଟ୍ରି ପୂର୍ବଟି ସହ ହ୍ୟାସ-ଶୃଙ୍ଖଳିତ, ତେଣୁ ସମ୍ପାଦିତ କିମ୍ବା ହଜିଯାଇଥିବା ଏଣ୍ଟ୍ରି ଧରାପଡ଼େ।
ଗ୍ରାହକ URL ପାଇଁ ଏକ ଇଗ୍ରେସ ପ୍ରକ୍ସି
ଗ୍ରାହକ ଦେଇଥିବା ଠିକଣାକୁ Usher Identity କରୁଥିବା ପ୍ରତ୍ୟେକ ଅନୁରୋଧ (OIDC ଡିସକଭରି, JWKS, back-channel ଲଗଆଉଟ) ଗୋଟିଏ ପ୍ରକ୍ସି ଦେଇ ବାହାରେ। ଏହା ନାମକୁ ଥରେ resolve କରେ, ପ୍ରାଇଭେଟ, loopback, link-local ଓ cloud-metadata ଠିକଣା ପ୍ରତ୍ୟାଖ୍ୟାନ କରେ, ଏବଂ ଯାଞ୍ଚ କରିଥିବା ଠିକଣାରେ ସଂଯୋଗ କରେ, ତେଣୁ DNS rebinding ଏକ ଗ୍ରାହକ URLକୁ ଆଭ୍ୟନ୍ତରୀଣ URLରେ ପରିଣତ କରିପାରେ ନାହିଁ।
କେବେ ଦୁଇଥର ଦିଆଯାଉନଥିବା ହ୍ୟାଣ୍ଡଲ
ଏକ ପ୍ରୋଡକ୍ସନ ଏନଭାଇରନମେଣ୍ଟର ହ୍ୟାଣ୍ଡଲ ତା’ର ଇସୁଅରର ପ୍ରଥମ ଲେବଲ। Console ନିମନ୍ତ୍ରଣ ଦ୍ୱାରା ଖୋଲା, ଫିସିଂ ପାଇଁ ରିପୋର୍ଟ ହୋଇଥିବା ଲବି ନିଲମ୍ବିତ ହୁଏ, ଏବଂ ଥରେ ବ୍ୟବହୃତ ହ୍ୟାଣ୍ଡଲ କେବେ ପୁଣି ଦିଆଯାଏ ନାହିଁ, କାରଣ ପୁରୁଣା ଆପ ଏବେ ବି ଏହାର ଟୋକେନକୁ ଭରସା କରୁଥାଇପାରନ୍ତି।
ଆପଣ କହିଲେ ଶେଷ ହେଉଥିବା ସେସନ
Usher Identity କ୍ୟାଶ କରାଯାଇଥିବା ନକଲକୁ ଭରସା କରିବା ବଦଳରେ ପ୍ରତ୍ୟେକ ଅନୁରୋଧରେ ନିଜ ସେସନ ଯାଞ୍ଚ କରେ, ତେଣୁ ଆପଣ ଶେଷ କରୁଥିବା ସେସନ ତୁରନ୍ତ ଶେଷ ହୁଏ। ଆକ୍ସେସ ଟୋକେନ ଅଳ୍ପ ସମୟ ପାଇଁ ବୈଧ (ଡିଫଲ୍ଟ ଭାବେ ଦଶ ମିନିଟ), ଏବଂ ଆପଣଙ୍କ API ସେଗୁଡ଼ିକୁ introspect କରିପାରେ।
ଦାୟିତ୍ୱପୂର୍ଣ୍ଣ ପ୍ରକାଶ
କିଛି ପାଇଛନ୍ତି କି? ପ୍ରଥମେ ଆମକୁ ଜଣାନ୍ତୁ।
ଯଦି ଆପଣ ଭାବୁଛନ୍ତି ଯେ ଆପଣ Usher Identityରେ ଏକ ସୁରକ୍ଷା ସମସ୍ୟା ପାଇଛନ୍ତି, ଆମେ ସେ ବିଷୟରେ ଶୁଣିବାକୁ ଚାହୁଁ, ଏବଂ ଏହାକୁ ସମାଧାନ କରିବାକୁ ଆପଣଙ୍କ ସହ କାମ କରିବୁ।
- ଆପଣ କ’ଣ ପାଇଲେ, କେଉଁଠି, ଏବଂ ଏହାକୁ କିପରି ପୁନରାବୃତ୍ତି କରିବେ।
- ଆପଣଙ୍କ ବୁଝାମଣା ଅନୁସାରେ, କେହି ଏହା ଦ୍ୱାରା କ’ଣ କରିପାରିବେ।
- ଆମେ ଆପଣଙ୍କ ସହ କିପରି ଯୋଗାଯୋଗ କରିପାରିବୁ, ଏବଂ ଆପଣ ଶ୍ରେୟ ପାଇବାକୁ ଚାହାନ୍ତି କି।
ଦୟାକରି କେବଳ ଆପଣଙ୍କ ନିଜର ଏନଭାଇରନମେଣ୍ଟରେ ପରୀକ୍ଷା କରନ୍ତୁ, ଅନ୍ୟ ଲୋକଙ୍କ ଡାଟା ଆକ୍ସେସ କରନ୍ତୁ ନାହିଁ, ଏବଂ ଆପଣ ଏହାକୁ ସେୟାର କରିବା ପୂର୍ବରୁ ସମସ୍ୟା ସମାଧାନ ପାଇଁ ଆମକୁ ଯଥେଷ୍ଟ ସମୟ ଦିଅନ୍ତୁ। Usher Identity ସାଇନ-ଇନ ହେବାର ଛଳନା କରୁଥିବା ପୃଷ୍ଠା ରିପୋର୍ଟ କରିବାକୁ, ଅପବ୍ୟବହାର ରିପୋର୍ଟ କରନ୍ତୁ ଦେଖନ୍ତୁ।