VPN వెనుక ఉన్న SaaS అడ్మిన్ ప్రాంతం: ఏ చిరునామాను నమ్మాలి?
మూలం మీ VPN గేట్వే యొక్క ఎగ్రెస్ చిరునామాను చూస్తుంది, ల్యాప్టాప్ యొక్క టన్నెల్ చిరునామాను కాదు. కాన్ఫిగర్ చేసిన ప్రాక్సీ హెడర్ను మాత్రమే నమ్మండి, ఆపై ప్రతి అడ్మిన్ ఆపరేషన్ను గేట్ చేయండి.
ప్రజా SaaS పేజీలు అందరికీ తెరిచి ఉండవచ్చు, అయితే వాటి వెనుక ఉన్న అడ్మిన్ ఆపరేషన్లు VPN వెలుపల ఉన్న ప్రతి ఒక్కరిని తిరస్కరిస్తాయి. దీన్ని సాధ్యం చేసే యంత్రాంగం దాచిన మెనూ లేదా ప్రత్యేక లాగిన్ పేజీ కాదు; అది అభ్యర్థనను చేర్చిన నెట్వర్క్ మార్గం యొక్క తనిఖీ. చిరునామా సాక్ష్యం తప్పైతే తనిఖీ నిజమైన అడ్మిన్లను బయట ఉంచుతుంది లేదా హెడర్ టైప్ చేయగల ఎవరినైనా లోపలికి అనుమతిస్తుంది. మూలం నిజంగా ఏమి స్వీకరిస్తుందో దానితో ప్రారంభించండి.
టన్నెల్ తర్వాత మూలం నిజంగా ఏమి స్వీకరిస్తుంది
ఇంటర్నెట్ ట్రాఫిక్ను కూడా మోసే VPN ద్వారా బ్రౌజర్ ప్రజా సైట్ను చేరుకున్నప్పుడు, గేట్వే బయటకు వెళ్లే ముందు కనెక్షన్ను అనువదిస్తుంది. SaaS గేట్వే యొక్క ప్రజా ఎగ్రెస్ చిరునామాను చూస్తుంది, సాధారణంగా ఒక చిరునామా లేదా చిన్న పరిధి, మరియు ల్యాప్టాప్ యొక్క టన్నెల్ చిరునామాను ఎప్పుడూ చూడదు. అందుకే 10.90.0.42 ను అనుమతించిన జాబితాలో చేర్చడం విఫలమవుతుంది, అందుకే మొత్తం RFC 1918 చేర్చడం మరింత గట్టిగా విఫలమవుతుంది: రెండవది మీను చేరుకోగల ప్రతి ప్రైవేట్ నెట్వర్క్ను లోపలికి అనుమతిస్తుంది. షరతు పెట్టడానికి అర్హమైన ఏకైక చిరునామా మీ సంస్థ నిష్క్రమణలో నిజంగా కలిగి ఉన్నది.
curl -s https://ifconfig.me
dig +short admin.example.com
విభజిత టన్నెలింగ్ ఈ ఊహను నిశ్శబ్దంగా బద్దలు కొట్టింది. VPN ప్రైవేట్ ఆఫీస్ మార్గాలను మాత్రమే మోస్తే, ప్రజా అడ్మిన్ హోస్ట్పేరుకు అభ్యర్థన స్థానిక ISP ద్వారా బయటకు వెళుతుంది మరియు మూలం నివాస చిరునామాను చూస్తుంది. కనెక్ట్ చేసిన VPN చిహ్నం ఈ నిర్దిష్ట గమ్యం గురించి ఏమీ నిరూపించదు, కాబట్టి టన్నెల్ కాదు, గమ్యాన్ని పరీక్షించండి.
నిష్క్రమణ చిరునామా ప్రతి వినియోగదారుకు మారుతుంటే ఏదైనా విధానం రాయడానికి ముందు ఆగి రూటింగ్ను సరిచేయండి. కొంతమంది అడ్మిన్లతో మాత్రమే సరిపోయే షరతు షరతు లేకపోవడం కంటే అధ్వాన్నం, ఎందుకంటే అది సంఘటన జరిగే వరకు సమస్యను దాచుతుంది.
చిరునామాను తిరిగి రాసే ప్రాక్సీని మాత్రమే నమ్మండి
చాలా ప్రజా సైట్లు CDN లేదా రివర్స్ ప్రాక్సీ వెనుక ఉంటాయి, కాబట్టి మూలం యొక్క సాకెట్ చిరునామా సందర్శకుడిది కాదు, ఆ ఫ్రంటెండ్ది. ఫ్రంటెండ్ సాధారణంగా అసలు చిరునామాను హెడర్లో పంపుతుంది, మరియు మూలం దాన్ని తెలిసిన ప్రాక్సీల నుండి మాత్రమే అంగీకరించకపోతే ఆ హెడర్ దాడి చేసేవారి నియంత్రణలో ఉంటుంది. విశ్వసనీయ మూలాల జాబితాను స్పష్టంగా కాన్ఫిగర్ చేయండి మరియు మూలాన్ని వేరే ఎక్కడి నుండైనా చేరుకోలేనిదిగా చేయండి. ఆ రెండవ సగం లేకుంటే దాడి చేసేవారు ప్రాక్సీని దాటి హెడర్ను నేరుగా పంపుతారు.
set_real_ip_from 192.0.2.0/24;
real_ip_header X-Forwarded-For;
real_ip_recursive on;
curl -H 'X-Forwarded-For: 198.51.100.27' https://origin.example.com/admin
అదే తర్కం PROXY ప్రోటోకాల్కు కూడా వర్తిస్తుంది: శ్రోత ప్రాక్సీ చేరుకోగల మరియు మరేదీ చేరుకోలేని ఇంటర్ఫేస్కు కట్టుబడి ఉన్నప్పుడే అది విశ్వసనీయం. లేని చిరునామా సందర్భం రక్షిత తనిఖీని విఫలం చేయాలి, డిఫాల్ట్ అనుమతిలోకి పడకూడదు. లేని హెడర్ విశ్వసనీయ మార్గానికి సాక్ష్యం కాదు.
షరతును ప్రతి రక్షిత ఆపరేషన్కు జోడించండి
తనిఖీని మెనూను రెండర్ చేసే పేజీలో కాదు, ప్రతి రక్షిత ఆపరేషన్ దాటే అధికార హద్దులో ఉంచండి. రూట్ గ్రూపులు, మిడిల్వేర్ లేదా విధాన పొర అన్నీ పని చేస్తాయి; ప్రతి హ్యాండ్లర్కు నకలు పని చేయదు, ఎందుకంటే వచ్చే త్రైమాసికంలో ఎవరైనా జోడించే హ్యాండ్లర్కు అది ఉండదు.
user = requireAuthenticatedSession()
requirePermission(user, "admin")
requireVpnEgress(verifiedClientAddress(request))
performProtectedOperation(user, request)
అదే హద్దు JSON API, ఎగుమతులు, సంతకం చేసిన డౌన్లోడ్ URLలు మరియు WebSocket హ్యాండ్షేక్ను కూడా కవర్ చేయాలి, ఎందుకంటే వాటిలో ఏదీ మొదట HTML పేజీని అభ్యర్థించాల్సిన అవసరం లేదు. VPN అమలులో ఉన్నప్పుడు సృష్టించిన డౌన్లోడ్ లింక్, డౌన్లోడ్ ఎండ్పాయింట్ మళ్లీ తనిఖీ చేయకపోతే తర్వాత కూడా చెల్లుబాటు అవుతుంది. దీర్ఘకాలిక సెషన్లకు కూడా పునర్మూల్యాంకన నియమం కావాలి, లేకుంటే ఒక ప్రామాణీకృత అభ్యర్థన శాశ్వత మినహాయింపు అవుతుంది. డిఫాల్ట్ తిరస్కరణ మాత్రమే సిబ్బంది మార్పును తట్టుకునే ఏకైక సెట్టింగ్.
పంచుకున్న కాష్లు తనిఖీ చుట్టూ ఉన్న మరో మార్గం. ఇప్పటికే రక్షిత ప్రతిస్పందనను కలిగి ఉన్న కాష్ మూలాన్ని సంప్రదించకుండా దాన్ని అందించగలదు, కాబట్టి అడ్మిన్ ప్రతిస్పందనలను ప్రైవేట్గా గుర్తించి పంచుకున్న నిల్వ నుండి బయట ఉంచండి. కాష్ వాటిని అందించాల్సి వస్తే, యాక్సెస్ తనిఖీ అందించే ముందు అమలు కావాలి, అంటే సాధారణంగా అది పంచుకున్న కాష్గానే ఉండలేదు.
మీరు ఇప్పుడే మూసిన బైపాస్లను పరీక్షించండి
సంతోషకరమైన మార్గం కాదు, మ్యాట్రిక్స్ను సాధన చేయండి: VPN ద్వారా అడ్మిన్, అది లేకుండా అదే అడ్మిన్, దాని ద్వారా అడ్మిన్ కాని వ్యక్తి, మరియు నకిలీ చిరునామా హెడర్. నేరుగా మూలానికి అభ్యర్థన మరియు కాష్ చేసిన ప్రతిస్పందన అభ్యర్థనను జోడించండి, ఎందుకంటే ఆ రెండే ఫ్రంటెండ్ను పూర్తిగా దాటుతాయి.
curl -sI https://admin.example.com/export.csv
curl -s -H 'X-Forwarded-For: 198.51.100.27' https://origin.example.com/admin
curl -s https://admin.example.com/api/me -o /dev/null -w '%{http_code}\n'
ప్రతి అభ్యర్థన విధానం వాగ్దానం చేసిన స్థితిని తిరిగి ఇవ్వాలి, మరియు ఏ చిరునామా సాక్ష్యం ఉపయోగించబడిందో లాగ్ నమోదు చేయాలి. IPv6ను విడిగా కవర్ చేయండి, ఎందుకంటే ద్వి-స్టాక్ మూలం మీరు పరీక్షించిన దానికంటే భిన్నమైన మూల కుటుంబాన్ని చూడవచ్చు. సాధారణ కస్టమర్ ఆపరేషన్లను VPN వెలుపల పని చేయనివ్వండి, లేకుంటే కస్టమర్ మొదటిసారి ఫిర్యాదు చేసినప్పుడు మార్పు వెనక్కి తీసుకోబడుతుంది. ప్రతి వరుసకు ఆశించిన ఫలితాన్ని అమలు చేయడానికి ముందు రాయండి, ఆశ్చర్యకరమైన ఉత్తీర్ణత కనిపించేలా.
ఎగ్రెస్ చిరునామా అనుమతించిన నెట్వర్క్ మార్గాన్ని నిరూపిస్తుంది, వ్యక్తిని లేదా నిర్వహించబడే పరికరాన్ని కాదు. దాన్ని ప్రామాణీకరణ మరియు అనుమతి పక్కన ఒక షరతుగా ఉంచండి, మొత్తం ఉత్పత్తిని VPN-మాత్రమే సేవగా మార్చకుండా అడ్మిన్ ప్రాంతం ఇరుకుగా ఉంటుంది. ఆ వేర్పాటే రూపకల్పన, దాని పరిమితి కాదు.