మైక్రోసర్వీస్ భద్రత మీ మైక్రోసర్వీస్ మౌలిక సదుపాయాలను ఎలా భద్రపరచాలి?



మైక్రోసర్వీస్ సెక్యూరిటీపై ఈ వ్యాసం మైక్రోసర్వీస్‌లను వివరంగా భద్రపరచడానికి కొన్ని ఉత్తమ పద్ధతులను వివరిస్తుంది.

పరిశ్రమలు వివిధ సాఫ్ట్‌వేర్ నిర్మాణాలు మరియు అనువర్తనాలను ఉపయోగిస్తున్న నేటి మార్కెట్లో, మీ డేటా పూర్తిగా సురక్షితం అని భావించడం దాదాపు అసాధ్యం. కాబట్టి, ఉపయోగించి అనువర్తనాలను నిర్మించేటప్పుడు , భద్రతా సమస్యలు మరింత ముఖ్యమైనవి, వ్యక్తిగత సేవలు ఒకదానితో ఒకటి మరియు క్లయింట్‌తో కమ్యూనికేట్ చేస్తాయి. కాబట్టి, మైక్రోసర్వీస్ భద్రతపై ఈ వ్యాసంలో, మీ మైక్రోసర్వీస్‌ను ఈ క్రింది క్రమంలో భద్రపరచడానికి మీరు అమలు చేయగల వివిధ మార్గాలను చర్చిస్తాను.

మైక్రోసర్వీస్ అంటే ఏమిటి?

మైక్రోసర్వీస్, అకా మైక్రోసర్వీస్ ఆర్కిటెక్చర్ , ఒక నిర్మాణ శైలి, ఇది ఒక అనువర్తనాన్ని చిన్న స్వయంప్రతిపత్తి సేవల సమాహారంగా రూపొందిస్తుంది వ్యాపార డొమైన్. కాబట్టి, ఒకే వ్యాపార తర్కం చుట్టూ ఒకదానితో ఒకటి సంభాషించే చిన్న వ్యక్తిగత సేవలుగా మీరు మైక్రోసర్వీస్‌ను అర్థం చేసుకోవచ్చు. మీరు మైక్రోసర్వీస్ గురించి లోతుగా తెలుసుకోవాలనుకుంటే, మీరు చేయవచ్చు





మైక్రోసర్వీస్ అంటే ఏమిటి - మైక్రోసర్వీస్ సెక్యూరిటీ - ఎడురేకా

ఇప్పుడు, తరచుగా కంపెనీలు ఏకశిలా నిర్మాణం నుండి మైక్రోసర్వీస్‌లకు మారినప్పుడు, వారు స్కేలబిలిటీ, వశ్యత మరియు చిన్న అభివృద్ధి చక్రాలు వంటి అనేక ప్రయోజనాలను చూస్తారు. కానీ, అదే సమయంలో, ఈ నిర్మాణం, కొన్ని సంక్లిష్ట సమస్యలను కూడా పరిచయం చేస్తుంది.



కాబట్టి, మైక్రోసర్వీస్ భద్రతపై ఈ వ్యాసంలో, మైక్రోసర్వీస్ ఆర్కిటెక్చర్‌లో ఎదురయ్యే సమస్యలను అర్థం చేసుకుందాం.

మైక్రోసర్వీస్‌లో సమస్యలు

మైక్రోసర్వీస్‌లో ఎదుర్కొంటున్న సమస్యలు ఈ క్రింది విధంగా ఉన్నాయి:

జావాలో త్రో మరియు త్రోల మధ్య వ్యత్యాసం

సమస్య 1:

ఒక దృష్టాంతాన్ని పరిగణించండి, ఇక్కడ వినియోగదారు వనరును ప్రాప్యత చేయడానికి లాగిన్ అవ్వాలి. ఇప్పుడు, మైక్రోసర్వీస్ ఆర్కిటెక్చర్లో, యూజర్ లాగిన్ వివరాలను సేవ్ చేయవలసి ఉంటుంది, వినియోగదారుడు అతను / ఆమె వనరును యాక్సెస్ చేయడానికి ప్రయత్నించిన ప్రతిసారీ ధృవీకరణ కోసం అడగబడరు. ఇప్పుడు, ఇది సమస్యను సృష్టిస్తుంది, ఎందుకంటే వినియోగదారు వివరాలు సురక్షితంగా ఉండకపోవచ్చు మరియు 3 ద్వారా కూడా యాక్సెస్ చేయవచ్చుrdపార్టీ.



సమస్య 2:

క్లయింట్ అభ్యర్థన పంపినప్పుడు, క్లయింట్ వివరాలను ధృవీకరించాల్సిన అవసరం ఉంది మరియు క్లయింట్‌కు ఇచ్చిన అనుమతులను కూడా తనిఖీ చేయాలి. కాబట్టి, మీరు మైక్రోసర్వీస్‌లను ఉపయోగించినప్పుడు, ప్రతి సేవకు మీరు క్లయింట్‌ను ప్రామాణీకరించాలి మరియు అధికారం ఇవ్వాలి. ఇప్పుడు, దీన్ని చేయడానికి, డెవలపర్లు ప్రతి సేవకు ఒకే కోడ్‌ను ఉపయోగించవచ్చు. కానీ, నిర్దిష్ట కోడ్‌పై ఆధారపడటం మైక్రోసర్వీస్ యొక్క వశ్యతను తగ్గిస్తుందని మీరు అనుకోలేదా? బాగా, ఇది ఖచ్చితంగా చేస్తుంది. కాబట్టి, ఈ నిర్మాణంలో తరచుగా ఎదుర్కొనే ప్రధాన సమస్యలలో ఇది ఒకటి.

సమస్య 3:

ప్రతి వ్యక్తి మైక్రోసర్వీస్ యొక్క భద్రత చాలా ముఖ్యమైనది. ఈ నిర్మాణంలో, అన్ని మైక్రోసర్వీస్‌లు 3 తో ​​పాటు ఒకేసారి ఒకదానితో ఒకటి సంభాషిస్తాయిrdపార్టీ అనువర్తనాలు. కాబట్టి, క్లయింట్ 3 నుండి లాగిన్ అయినప్పుడుrdపార్టీ అనువర్తనం, క్లయింట్ మైక్రోసర్వీస్ యొక్క డేటాకు ప్రాప్యత పొందలేదని మీరు నిర్ధారించుకోవాలి, ఒక విధంగా, అతను / ఆమె వాటిని దోపిడీ చేయవచ్చు.

సరే, పైన పేర్కొన్న సమస్యలు మైక్రోసర్వీస్ ఆర్కిటెక్చర్‌లో కనిపించే సమస్యలు మాత్రమే కాదు. నేను చెప్పేది, మీరు అనువర్తనం మరియు మీ వద్ద ఉన్న నిర్మాణం ఆధారంగా భద్రతకు సంబంధించిన అనేక ఇతర సమస్యలను ఎదుర్కోవచ్చు. ఆ గమనికలో, మైక్రోసర్వీస్ భద్రతపై ఈ కథనంతో ముందుకు సాగండి మరియు సవాళ్లను తగ్గించడానికి ఉత్తమమైన మార్గాన్ని తెలుసుకుందాం.

మైక్రోసర్వీస్ భద్రత కోసం ఉత్తమ పద్ధతులు

మైక్రోసర్వీస్‌లో భద్రతను మెరుగుపరిచే ఉత్తమ పద్ధతులు ఈ క్రింది విధంగా ఉన్నాయి:

డెప్త్ మెకానిజంలో రక్షణ

మైక్రోసర్వీస్ ఒక కణిక స్థాయిలో ఏదైనా యంత్రాంగాన్ని అవలంబిస్తుందని తెలిసినందున, సేవలను మరింత సురక్షితంగా చేయడానికి మీరు డిఫెన్స్ ఇన్ డెప్త్ మెకానిజమ్‌ను వర్తింపజేయవచ్చు. లేమాన్ పరంగా, డిఫెన్స్ ఇన్ డెప్త్ మెకానిజం ప్రాథమికంగా ఒక సాంకేతికత, దీని ద్వారా మీరు సున్నితమైన సేవలను రక్షించడానికి భద్రతా ప్రతిఘటనల పొరలను వర్తింపజేయవచ్చు. కాబట్టి, డెవలపర్‌గా, మీరు సేవలను అత్యంత సున్నితమైన సమాచారంతో గుర్తించి, వాటిని రక్షించడానికి అనేక భద్రతా పొరలను వర్తింపజేయాలి. ఈ విధంగా, ఏదైనా సంభావ్య దాడి చేసేవారు ఒకే ప్రయాణంలో భద్రతను పగలగొట్టలేరని మీరు నిర్ధారించుకోవచ్చు మరియు ముందుకు వెళ్లి అన్ని పొరల యొక్క రక్షణ యంత్రాంగాన్ని పగులగొట్టడానికి ప్రయత్నించాలి.

అలాగే, మైక్రోసర్వీస్ ఆర్కిటెక్చర్‌లో, మీరు వేర్వేరు సేవలపై వివిధ పొరల భద్రతను అమలు చేయవచ్చు కాబట్టి, ఒక నిర్దిష్ట సేవను ఉపయోగించుకోవడంలో విజయవంతమయ్యే దాడి చేసేవాడు, ఇతర సేవల యొక్క రక్షణ యంత్రాంగాన్ని పగలగొట్టలేకపోవచ్చు.

టోకెన్లు మరియు API గేట్‌వే

తరచుగా, మీరు అనువర్తనాన్ని తెరిచినప్పుడు, “లైసెన్స్ ఒప్పందాన్ని అంగీకరించండి మరియు కుకీలకు అనుమతి ఇవ్వండి” అని చెప్పే డైలాగ్ బాక్స్ కనిపిస్తుంది. ఈ సందేశం దేనిని సూచిస్తుంది? సరే, మీరు అంగీకరించిన తర్వాత, మీ వినియోగదారు ఆధారాలు నిల్వ చేయబడతాయి మరియు సెషన్ సృష్టించబడుతుంది. ఇప్పుడు, మీరు అదే పేజీకి వెళ్ళినప్పుడు, సర్వర్‌ల కంటే పేజీ కాష్ మెమరీ నుండి లోడ్ అవుతుంది. ఈ భావన చిత్రంలోకి రాకముందు, సెషన్లు సర్వర్ వైపు కేంద్రంగా నిల్వ చేయబడ్డాయి. కానీ, ఇది క్షితిజ సమాంతర స్కేలింగ్, అప్లికేషన్‌లో అతిపెద్ద అడ్డంకిలలో ఒకటి.

టోకెన్లు

కాబట్టి, ఈ సమస్యకు పరిష్కారం టోకెన్లను ఉపయోగించడం, వినియోగదారు ఆధారాలను రికార్డ్ చేయడం. ఈ టోకెన్లు వినియోగదారుని సులభంగా గుర్తించడానికి ఉపయోగించబడతాయి మరియు అవి కుకీల రూపంలో నిల్వ చేయబడతాయి. ఇప్పుడు, క్లయింట్ వెబ్ పేజీని అభ్యర్థించిన ప్రతిసారీ, అభ్యర్థన సర్వర్‌కు ఫార్వార్డ్ చేయబడుతుంది, ఆపై, వినియోగదారు అభ్యర్థించిన వనరుకు ప్రాప్యత ఉందా లేదా అని సర్వర్ నిర్ణయిస్తుంది.

కాసాండ్రా కాలమ్ కుటుంబం vs టేబుల్

ఇప్పుడు, వినియోగదారు సమాచారం నిల్వ చేయబడిన టోకెన్లు ప్రధాన సమస్య. కాబట్టి, 3 నుండి ఎటువంటి దోపిడీని నివారించడానికి టోకెన్ల డేటాను గుప్తీకరించాలిrdపార్టీ వనరులు. జాసన్ వెబ్ ఫార్మాట్ లేదా సాధారణంగా JWT అని పిలుస్తారు, ఇది టోకెన్ ఆకృతిని నిర్వచిస్తుంది, వివిధ భాషలకు లైబ్రరీలను అందిస్తుంది మరియు ఆ టోకెన్లను గుప్తీకరిస్తుంది.

API గేట్‌వేలు

టోకెన్ ప్రామాణీకరణ ద్వారా సేవలను భద్రపరచడానికి API గేట్‌వేలు అదనపు మూలకంగా జోడించబడతాయి. ది గేట్వే అన్ని క్లయింట్ అభ్యర్థనలకు ఎంట్రీ పాయింట్‌గా పనిచేస్తుంది మరియు క్లయింట్ నుండి మైక్రోసర్వీస్‌లను సమర్థవంతంగా దాచిపెడుతుంది. కాబట్టి, క్లయింట్‌కు మైక్రోసర్వీస్‌లకు ప్రత్యక్ష ప్రాప్యత లేదు మరియు ఆ విధంగా, ఏ క్లయింట్ ఏ సేవలను అయినా ఉపయోగించుకోలేరు.

పంపిణీ ట్రేసింగ్ మరియు సెషన్ నిర్వహణ

పంపిణీ ట్రేసింగ్

మైక్రోసర్వీస్‌లను ఉపయోగిస్తున్నప్పుడు, మీరు ఈ సేవలను నిరంతరం పర్యవేక్షించాలి. కానీ, మీరు ఒకేసారి భారీ మొత్తంలో సేవలను పర్యవేక్షించవలసి వచ్చినప్పుడు, అది సమస్యగా మారుతుంది. ఇటువంటి సవాళ్లను నివారించడానికి, మీరు డిస్ట్రిబ్యూటెడ్ ట్రేసింగ్ అని పిలువబడే ఒక పద్ధతిని ఉపయోగించవచ్చు. డిస్ట్రిబ్యూటెడ్ ట్రేసింగ్ అనేది వైఫల్యాలను గుర్తించడానికి మరియు దాని వెనుక గల కారణాన్ని గుర్తించడానికి ఒక పద్ధతి. ఇది మాత్రమే కాదు, వైఫల్యం జరుగుతున్న స్థలాన్ని కూడా మీరు గుర్తించవచ్చు. కాబట్టి, ట్రాక్ చేయడం చాలా సులభం, ఏ మైక్రోసర్వీస్ భద్రతా సమస్యను ఎదుర్కొంటోంది.

సెషన్ నిర్వహణ

సెషన్ నిర్వహణ అనేది మైక్రోసర్వీస్‌ను భద్రపరిచేటప్పుడు మీరు పరిగణించవలసిన ముఖ్యమైన పరామితి. ఇప్పుడు, ఒక వినియోగదారు అనువర్తనానికి వచ్చినప్పుడు సెషన్ సృష్టించబడుతుంది. కాబట్టి, మీరు సెషన్ డేటాను ఈ క్రింది మార్గాల్లో నిర్వహించవచ్చు:

జావాలో పద్ధతి ఓవర్‌లోడింగ్ మరియు ఓవర్‌రైడింగ్
  1. మీరు ఒకే వినియోగదారు యొక్క సెషన్ డేటాను నిర్దిష్ట సర్వర్‌లో నిల్వ చేయవచ్చు. కానీ, ఈ రకమైన వ్యవస్థ, సేవల మధ్య లోడ్ బ్యాలెన్సింగ్‌పై పూర్తిగా ఆధారపడి ఉంటుంది మరియు క్షితిజ సమాంతర స్కేలింగ్‌ను మాత్రమే కలుస్తుంది.
  2. పూర్తి సెషన్ డేటాను ఒకే సందర్భంలో నిల్వ చేయవచ్చు. అప్పుడు నెట్‌వర్క్ ద్వారా డేటాను సమకాలీకరించవచ్చు. ఒకే సమస్య ఏమిటంటే, ఈ పద్ధతిలో, నెట్‌వర్క్ వనరులు అయిపోతాయి.
  3. షేర్డ్ సెషన్ స్టోరేజ్ నుండి యూజర్ డేటాను పొందవచ్చని మీరు నిర్ధారించుకోవచ్చు, తద్వారా అన్ని సేవలు ఒకే సెషన్ డేటాను చదవగలవు. కానీ, డేటా షేర్డ్ స్టోరేజ్ నుండి తిరిగి పొందబడినందున, డేటాను సురక్షితమైన మార్గంలో యాక్సెస్ చేయడానికి, మీకు కొంత భద్రతా విధానం ఉందని నిర్ధారించుకోవాలి.

మొదటి సెషన్ మరియు మ్యూచువల్ SSL

మొదటి సెషన్ ఆలోచన చాలా సులభం. వినియోగదారులు అనువర్తనానికి ఒకసారి లాగిన్ అవ్వాలి, ఆపై వారు అప్లికేషన్‌లోని అన్ని సేవలను యాక్సెస్ చేయవచ్చు. కానీ, ప్రతి వినియోగదారు ప్రారంభంలో ప్రామాణీకరణ సేవతో కమ్యూనికేట్ చేయాలి. సరే, ఇది ఖచ్చితంగా అన్ని సేవల మధ్య చాలా ట్రాఫిక్‌కు దారితీస్తుంది మరియు డెవలపర్‌లకు అటువంటి దృష్టాంతంలో వైఫల్యాలను గుర్తించడం గజిబిజిగా ఉంటుంది.

మ్యూచువల్ ఎస్‌ఎస్‌ఎల్‌కు వస్తున్నప్పుడు, అనువర్తనాలు తరచుగా వినియోగదారుల నుండి ట్రాఫిక్‌ను ఎదుర్కొంటాయి, 3rdపార్టీలు మరియు మైక్రోసర్వీస్ ఒకదానితో ఒకటి కమ్యూనికేట్ చేస్తాయి. కానీ, ఈ సేవలను 3 యాక్సెస్ చేస్తుంది కాబట్టిrdపార్టీలు, దాడుల ప్రమాదం ఎప్పుడూ ఉంటుంది. ఇప్పుడు, అటువంటి దృశ్యాలకు పరిష్కారం పరస్పర SSL లేదా మైక్రోసర్వీస్ మధ్య పరస్పర ప్రామాణీకరణ. దీనితో, సేవల మధ్య బదిలీ చేయబడిన డేటా గుప్తీకరించబడుతుంది. ఈ పద్ధతిలో ఉన్న ఏకైక సమస్య ఏమిటంటే, మైక్రోసర్వీస్ సంఖ్య పెరిగినప్పుడు, ప్రతి సేవకు దాని స్వంత టిఎల్ఎస్ సర్టిఫికేట్ ఉంటుంది కాబట్టి, డెవలపర్లు సర్టిఫికేట్లను నవీకరించడం చాలా కఠినంగా ఉంటుంది.

3rdపార్టీ అప్లికేషన్ యాక్సెస్

మనమందరం 3 ఉన్న అనువర్తనాలను యాక్సెస్ చేస్తాముrdపార్టీ అనువర్తనాలు. ది 3rdపార్టీ అనువర్తనాలు అవసరమైన వనరులను ప్రాప్యత చేయడానికి అనువర్తనంలో వినియోగదారు సృష్టించిన API టోకెన్‌ను ఉపయోగిస్తాయి. కాబట్టి, 3 వ పార్టీ అనువర్తనాలు నిర్దిష్ట వినియోగదారుల డేటాను యాక్సెస్ చేయగలవు మరియు ఇతర వినియోగదారుల ఆధారాలను కాదు. బాగా, ఇది ఒకే వినియోగదారుకు సంబంధించి ఉంది. అనువర్తనాలు బహుళ వినియోగదారుల నుండి డేటాను యాక్సెస్ చేయవలసి వస్తే? అటువంటి అభ్యర్థనను ఎలా సమకూర్చుకుంటారని మీరు అనుకుంటున్నారు?

OAuth యొక్క ఉపయోగం

OAuth ను ఉపయోగించడం దీనికి పరిష్కారం. మీరు OAuth ను ఉపయోగించినప్పుడు, అనువర్తనం 3 ని అధికారం చేయమని వినియోగదారుని అడుగుతుందిrdపార్టీ అనువర్తనాలు, అవసరమైన సమాచారాన్ని ఉపయోగించడం మరియు దాని కోసం టోకెన్‌ను రూపొందించడం. సాధారణంగా, యూజర్ యొక్క బ్యాక్ URL దొంగిలించబడలేదని నిర్ధారించుకోవడానికి టోకెన్‌ను అభ్యర్థించడానికి ప్రామాణీకరణ కోడ్ ఉపయోగించబడుతుంది.

కాబట్టి, ప్రాప్యత టోకెన్ గురించి ప్రస్తావించేటప్పుడు క్లయింట్ ప్రామాణీకరణ సర్వర్‌తో కమ్యూనికేట్ చేస్తుంది మరియు క్లయింట్ యొక్క గుర్తింపును నకిలీ చేయకుండా ఇతరులను నిరోధించడానికి ఈ సర్వర్ క్లయింట్‌కు అధికారం ఇస్తుంది. కాబట్టి, మీరు OAuth తో మైక్రోసర్వీస్‌లను ఉపయోగించినప్పుడు, భద్రతా సమస్యలను సరళీకృతం చేయడానికి, సేవలు OAuth నిర్మాణంలో క్లయింట్‌గా పనిచేస్తాయి.

సరే, చేసారో, మీ సేవలను మీరు భద్రపరచగల ఏకైక మార్గాలు ఇవి అని నేను చెప్పను. అప్లికేషన్ యొక్క నిర్మాణం ఆధారంగా మీరు మైక్రోసర్వీస్‌ను అనేక విధాలుగా భద్రపరచవచ్చు. కాబట్టి, మీరు మైక్రోసర్వీస్ ఆధారంగా ఒక అప్లికేషన్‌ను నిర్మించాలనుకునే ఎవరైనా అయితే, సేవల భద్రత అనేది మీరు జాగ్రత్తగా ఉండవలసిన ఒక ముఖ్యమైన అంశం అని గుర్తుంచుకోండి. ఆ గమనికలో, మైక్రోసర్వీస్ భద్రతపై ఈ కథనాన్ని మేము ముగించాము. మీరు ఈ కథనాన్ని సమాచారపూర్వకంగా కనుగొన్నారని నేను ఆశిస్తున్నాను.

మీరు మైక్రోసర్వీస్ నేర్చుకోవాలనుకుంటే మరియు మీ స్వంత అనువర్తనాలను నిర్మించాలనుకుంటే, మా చూడండి ఇది బోధకుడు నేతృత్వంలోని ప్రత్యక్ష శిక్షణ మరియు నిజ జీవిత ప్రాజెక్ట్ అనుభవంతో వస్తుంది. ఈ శిక్షణ మీకు మైక్రోసర్వీస్‌ను లోతుగా అర్థం చేసుకోవడంలో సహాయపడుతుంది మరియు ఈ అంశంపై పాండిత్యం సాధించడంలో మీకు సహాయపడుతుంది.

మాకు ప్రశ్న ఉందా? దయచేసి వ్యాఖ్యల విభాగంలో పేర్కొనండి ” మైక్రోసర్వీస్ సెక్యూరిటీ ”మరియు నేను మీ వద్దకు తిరిగి వస్తాను.