AWS - VPC & Networking बुनियादी जानकारी

Tip

सीखें और अभ्यास करें AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
सीखें और अभ्यास करें GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
सीखें और अभ्यास करें Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें

AWS नेटवर्किंग का सारांश

A VPC में एक network CIDR होता है जैसे 10.0.0.0/16 (जिसके साथ उसका routing table और network ACL).

यह VPC नेटवर्क subnetworks में बाँटा जाता है, इसलिए एक subnetwork सीधे VPC, routing table और network ACL से संबंधित होता है।

फिर, सेवाओं (जैसे EC2 instances) से जुड़े Network Interfaces उन subnetworks से connected होते हैं और उन पर security group(s) लागू होते हैं।

इसलिए, एक security group उन नेटवर्क interfaces using it के खुले हुए पोर्टों को सीमित करेगा, subnetwork से स्वतंत्र रूप से। और एक network ACL पूरे नेटवर्क के लिए खुले हुए पोर्टों को सीमित करेगा।

इसके अलावा, Internet तक पहुँचने के लिए कुछ महत्वपूर्ण कॉन्फ़िगरेशन हैं जिन्हें चेक करना चाहिए:

  • एक subnetwork सार्वजनिक IPv4 पते auto-assign कर सकता है
  • नेटवर्क में बनाया गया एक instance जो auto-assign IPv4 addresses सक्षम करता है, उसे एक पता मिल सकता है
  • एक Internet gateway को VPC से attached होना चाहिए
  • आप Egress-only internet gateways भी उपयोग कर सकते हैं
  • आप एक private subnet में एक NAT gateway भी रख सकते हैं ताकि उस private subnet से external services से कनेक्ट होना संभव हो, पर बाहरी तरफ से उन private संसाधनों तक पहुँचना संभव नहीं होता।
  • NAT gateway public (internet access) या private (अन्य VPCs तक पहुँच) हो सकता है

VPC

Amazon Virtual Private Cloud (Amazon VPC) आपको उस वर्चुअल नेटवर्क में AWS resources लॉन्च करने में सक्षम बनाता है जिसे आपने परिभाषित किया है। इस वर्चुअल नेटवर्क में कई subnets, Internet Gateways इंटरनेट एक्सेस के लिए, ACLs, Security groups, IPs आदि होंगे…

Subnets

Subnets सुरक्षा के एक उच्च स्तर को लागू करने में मदद करते हैं। समान संसाधनों का logical grouping आपके इंफ्रास्ट्रक्चर के प्रबंधन को आसान बनाता है।

  • वैध CIDR एक /16 netmask से लेकर /28 netmask तक होते हैं।
  • एक subnet एक ही समय में विभिन्न availability zones में नहीं हो सकता।
  • AWS प्रत्येक subnet के पहले तीन host IP addresses आरक्षित करता है आंतरिक AWS उपयोग के लिए: पहला host address VPC router के लिए उपयोग होता है। दूसरा पता AWS DNS के लिए आरक्षित है और तीसरा पता भविष्य के उपयोग के लिए आरक्षित है।
  • जिन subnets को इंटरनेट का सीधा एक्सेस होता है उन्हें public subnets कहा जाता है, जबकि private subnets में ऐसा नहीं होता।

Route Tables

Route tables एक VPC के भीतर किसी subnet के लिए ट्रैफिक रूटिंग निर्धारित करते हैं। वे निर्धारित करते हैं कि कौन सा नेटवर्क ट्रैफिक इंटरनेट को अग्रेषित किया जाए या VPN कनेक्शन की ओर। आप आम तौर पर निम्नलिखित एक्सेस पाएंगे:

  • Local VPC
  • NAT
  • Internet Gateways / Egress-only Internet gateways (VPC को इंटरनेट एक्सेस देने के लिए आवश्यक)
  • किसी subnet को public बनाने के लिए आपको अपना VPC में एक Internet gateway create और attach करना होगा।
  • VPC endpoints (private networks से S3 तक पहुँचने के लिए)

ACLs

Network Access Control Lists (ACLs): Network ACLs फ़ायरवॉल नियम हैं जो एक subnet के लिए इनकमिंग और आउटगोइंग नेटवर्क ट्रैफिक को नियंत्रित करते हैं। इन्हें विशिष्ट IP पतों या रेंजों के लिए ट्रैफिक की अनुमति देने या इनकार करने के लिए उपयोग किया जा सकता है।

  • सामान्यतः access allow/deny करने के लिए security groups का उपयोग सबसे अधिक होता है, लेकिन यह ही एकमात्र तरीका है जो स्थापित reverse shells को पूरी तरह काट सकता है। security group में किया गया संशोधित नियम पहले से स्थापित कनेक्शनों को नहीं रोकता।
  • हालाँकि, यह पूरे subnetwork पर लागू होता है — सावधानी बरतें जब कुछ चीज़ों को प्रतिबंधित कर रहे हों क्योंकि आवश्यक कार्यक्षमता प्रभावित हो सकती है।

Security Groups

Security groups एक वर्चुअल firewall हैं जो VPC में instances के लिए inbound और outbound नेटवर्क ट्रैफिक को नियंत्रित करते हैं। संबंध 1 SG से M instances (अक्सर 1 से 1)।
आम तौर पर इसका उपयोग instances में खतरनाक पोर्ट खोलने के लिए किया जाता है, जैसे उदाहरण के लिए पोर्ट 22:

Elastic IP Addresses

एक Elastic IP address एक static IPv4 address है जो dynamic cloud computing के लिए डिज़ाइन किया गया है। एक Elastic IP address आपके AWS account को allocate किया जाता है, और जब तक आप उसे रिलीज़ नहीं करते वह आपका होता है। Elastic IP address का उपयोग करके, आप एक instance या सॉफ़्टवेयर की विफलता को छिपा सकते हैं और तेज़ी से उस पते को अपने खाते के किसी अन्य instance पर remap कर सकते हैं।

Connection between subnets

डिफ़ॉल्ट रूप से, सभी subnets में public IP addresses का automatic assigned बंद होता है पर इसे चालू किया जा सकता है।

एक local route किसी route table के भीतर VPC subnets के बीच संचार सक्षम करता है।

यदि आप एक subnet को किसी अन्य subnet से connect कर रहे हैं तो आप उन subnets तक पहुँच नहीं सकते जो दूसरे subnet के साथ connected हैं; आपको उनके साथ सीधे कनेक्शन बनाना होगा। यह इंटरनेट gateways पर भी लागू होता है। आप इंटरनेट तक पहुँचने के लिए एक subnet कनेक्शन के माध्यम से नहीं जा सकते; आपको अपने subnet को Internet gateway असाइन करना होगा।

VPC Peering

VPC peering आपको दो या अधिक VPCs को एक साथ कनेक्ट करने की अनुमति देता है, IPV4 या IPV6 का उपयोग करके, मानो वे एक ही नेटवर्क का हिस्सा हों।

एक बार peer connectivity स्थापित हो जाने पर, एक VPC के संसाधन दूसरे VPC के संसाधनों तक पहुँच सकते हैं। VPCs के बीच कनेक्टिविटी मौजूदा AWS नेटवर्क इन्फ्रास्ट्रक्चर के माध्यम से लागू की जाती है, इसलिए यह उच्च उपलब्धता के साथ है और बैंडविड्थ बॉटलनेक नहीं होता। चूँकि peered connections उसी नेटवर्क का हिस्सा होने जैसा व्यवहार करते हैं, इसलिए आपके CIDR block रेंज के बारे में कुछ प्रतिबंध होते हैं।
यदि आपके VPC के लिए overlapping या duplicate CIDR रेंज हैं, तो आप VPCs को peer नहीं कर पाएंगे।
प्रत्येक AWS VPC केवल अपने peer के साथ ही संवाद करेगा। उदाहरण के लिए, यदि आपके पास VPC 1 और VPC 2 के बीच एक peering connection है, और VPC 2 और VPC 3 के बीच एक और connection है जैसा दिखाया गया है, तो VPC 1 और VPC 2 सीधे एक दूसरे के साथ संवाद कर सकते हैं, जैसे VPC 2 और VPC 3, परन्तु VPC 1 और VPC 3 नहीं कर पाएंगे। आप एक VPC के माध्यम से रूट करके दूसरे VPC तक नहीं जा सकते।

VPC Flow Logs

आपके VPC के भीतर सैकड़ों या हजारों संसाधन हो सकते हैं जो विभिन्न subnets (public और private दोनों) के बीच और VPC peering connections के माध्यम से अलग-अलग VPCs के बीच संचार कर रहे हैं। VPC Flow Logs आपको आपके VPC के भीतर आपके resources के network interfaces के बीच प्रवाहित होने वाली IP ट्रैफिक जानकारी capture करने की अनुमति देते हैं।

S3 access logs और CloudFront access logs के विपरीत, VPC Flow Logs द्वारा उत्पन्न log data S3 में store नहीं किया जाता। इसके बजाय, captured log data CloudWatch logs को भेजा जाता है

Limitations:

  • यदि आप एक VPC peered connection चला रहे हैं, तो आप केवल उन्हीं peered VPCs के flow logs देख पाएंगे जो उसी account के भीतर हैं।
  • यदि आप अभी भी EC2-Classic environment के भीतर resources चला रहे हैं, तो दुर्भाग्यवश आप उनके interfaces से जानकारी प्राप्त नहीं कर पाएंगे
  • एक बार VPC Flow Log बन जाने के बाद, इसे बदला नहीं जा सकता। VPC Flow Log कॉन्फ़िगरेशन बदलने के लिए आपको इसे हटाना होगा और फिर नया बनाना होगा।
  • निम्नलिखित ट्रैफिक logs द्वारा निगरानी और capture नहीं किया जाता: VPC के भीतर DHCP ट्रैफिक, Amazon DNS Server के लिए destined instances से आने वाला ट्रैफिक।
  • किसी भी ट्रैफिक का जो VPC default router के IP पते के लिए destined है और निम्नलिखित पतों से और उन पतों पर आने-जाने वाला ट्रैफिक, 169.254.169.254 (जो instance metadata जमा करने के लिए उपयोग होता है), और 169.254.169.123 (जो Amazon Time Sync Service के लिए उपयोग होता है) capture नहीं किया जाता।
  • एक Windows instance से Amazon Windows activation license से संबंधित ट्रैफिक
  • एक network load balancer interface और एक endpoint network interface के बीच ट्रैफिक

हर network interface जो CloudWatch log group को डेटा प्रकाशित करता है, वह एक अलग log stream उपयोग करेगा। और इन streams के भीतर, flow log घटना डेटा होगा जो log entries की सामग्री दिखाता है। इनमें से प्रत्येक logs लगभग 10 से 15 मिनट की विंडो के दौरान डेटा capture करते हैं

VPN

Basic AWS VPN Components

  1. Customer Gateway:
  • एक Customer Gateway वह रिसोर्स है जो आप AWS में बनाते हैं ताकि आपके तरफ के VPN कनेक्शन को प्रस्तुत किया जा सके।
  • यह मूलतः आपकी साइट-टू-साइट VPN कनेक्शन की आपकी तरफ की physical device या software application है।
  • आप routing जानकारी और अपने नेटवर्क डिवाइस (जैसे router या firewall) का public IP address AWS को प्रदान करते हैं ताकि एक Customer Gateway बनाया जा सके।
  • यह VPN कनेक्शन सेटअप करने के लिए एक reference point का काम करता है और यह अतिरिक्त शुल्क नहीं लेता।
  1. Virtual Private Gateway:
  • एक Virtual Private Gateway (VPG) साइट-टू-साइट VPN कनेक्शन के Amazon तरफ का VPN concentrator है।
  • यह आपके VPC से जुड़ा होता है और आपके VPN कनेक्शन के लिए लक्ष्य के रूप में कार्य करता है।
  • VPG VPN कनेक्शन के लिए AWS साइड endpoint है।
  • यह आपके VPC और आपके on-premises नेटवर्क के बीच secure संचार को संभालता है।
  1. Site-to-Site VPN Connection:
  • एक Site-to-Site VPN connection आपके on-premises नेटवर्क को एक secure, IPsec VPN tunnel के माध्यम से एक VPC से जोड़ता है।
  • इस प्रकार के कनेक्शन के लिए एक Customer Gateway और एक Virtual Private Gateway आवश्यक होते हैं।
  • यह आपके डेटा सेंटर या नेटवर्क और आपके AWS environment के बीच सुरक्षित, स्थिर और निरंतर संचार के लिए उपयोग किया जाता है।
  • सामान्यतः यह नियमित, दीर्घकालिक कनेक्शनों के लिए उपयोग होता है और कनेक्शन पर स्थानांतरित किए गए डेटा की मात्रा के आधार पर बिल किया जाता है।
  1. Client VPN Endpoint:
  • एक Client VPN endpoint वह रिसोर्स है जिसे आप AWS में बनाते हैं ताकि client VPN sessions को सक्षम और प्रबंधित किया जा सके।
  • इसका उपयोग व्यक्तिगत डिवाइसों (जैसे laptops, smartphones आदि) को securely AWS resources या आपके on-premises नेटवर्क से जोड़ने के लिए किया जाता है।
  • यह Site-to-Site VPN से अलग है क्योंकि यह पूरी नेटवर्क कनेक्ट करने के बजाय व्यक्तिगत clients के लिए डिज़ाइन किया गया है।
  • Client VPN के साथ, प्रत्येक client डिवाइस एक VPN client software का उपयोग करके secure कनेक्शन स्थापित करता है।

Site-to-Site VPN

अपने on premisses नेटवर्क को अपने VPC से कनेक्ट करें।

  • VPN connection: आपके on-premises उपकरण और आपके VPCs के बीच एक secure connection।
  • VPN tunnel: एक encrypted लिंक जहाँ डेटा customer नेटवर्क से AWS की ओर या AWS से customer नेटवर्क की ओर जा सकता है।

प्रत्येक VPN connection में दो VPN tunnels होते हैं जिन्हें आप high availability के लिए समानांतर उपयोग कर सकते हैं।

  • Customer gateway: एक AWS रिसोर्स जो AWS को आपके customer gateway device के बारे में जानकारी प्रदान करता है।
  • Customer gateway device: साइट-टू-साइट VPN कनेक्शन की आपकी तरफ का physical device या software application।
  • Virtual private gateway: साइट-टू-साइट VPN कनेक्शन के Amazon तरफ का VPN concentrator। आप Amazon तरफ के लिए virtual private gateway या transit gateway का उपयोग कर सकते हैं।
  • Transit gateway: एक transit hub जो आपके VPCs और on-premises नेटवर्क्स को interconnect करने के लिए उपयोग किया जा सकता है। आप Amazon तरफ के लिए transit gateway या virtual private gateway का उपयोग करते हैं।

Limitations

  • IPv6 ट्रैफ़िक virtual private gateway पर VPN connections के लिए समर्थित नहीं है।
  • एक AWS VPN connection Path MTU Discovery का समर्थन नहीं करता।

इसके अतिरिक्त, Site-to-Site VPN उपयोग करते समय निम्न बातों को ध्यान में रखें।

  • जब आप अपने VPCs को एक साझा on-premises नेटवर्क से कनेक्ट कर रहे हों, तो हम सुझाव देते हैं कि आप अपने नेटवर्क्स के लिए non-overlapping CIDR blocks का उपयोग करें।

Client VPN

अपने मशीन से अपने VPC तक कनेक्ट करें

Concepts

  • Client VPN endpoint: वह रिसोर्स जिसे आप बनाते और कॉन्फ़िगर करते हैं ताकि client VPN sessions सक्षम और प्रबंधित हो सकें। यह वही रिसोर्स है जहाँ सभी client VPN sessions समाप्त होते हैं।
  • Target network: एक target network वह नेटवर्क है जिसे आप एक Client VPN endpoint के साथ associate करते हैं। A subnet from a VPC is a target network। किसी subnet को Client VPN endpoint से associate करने से आप VPN sessions स्थापित कर सकते हैं। आप उच्च उपलब्धता के लिए कई subnets को एक Client VPN endpoint के साथ associate कर सकते हैं। सभी subnets एक ही VPC से होने चाहिए। प्रत्येक subnet को अलग Availability Zone में होना चाहिए।
  • Route: प्रत्येक Client VPN endpoint का एक route table होता है जो उपलब्ध destination network routes का वर्णन करता है। route table में प्रत्येक route ट्रैफिक के लिए विशिष्ट संसाधनों या नेटवर्क के लिए पथ निर्दिष्ट करता है।
  • Authorization rules: एक authorization rule उन उपयोगकर्ताओं को प्रतिबंधित करता है जो किसी नेटवर्क तक पहुँच सकते हैं। किसी निर्दिष्ट नेटवर्क के लिए, आप Active Directory या identity provider (IdP) समूह को configure करते हैं जिसे पहुँच की अनुमति है। केवल उस समूह के सदस्य उपयोग निर्दिष्ट नेटवर्क तक पहुँच सकते हैं। डिफ़ॉल्ट रूप से, कोई authorization rules नहीं होते और उपयोगकर्ताओं को संसाधनों और नेटवर्क तक पहुँचने के लिए आपको authorization rules कॉन्फ़िगर करने होंगे।
  • Client: वह end user जो Client VPN endpoint से जुड़कर VPN session स्थापित करता है। End users को एक OpenVPN client डाउनलोड करने और VPN session स्थापित करने के लिए आपने जो Client VPN configuration file बनाई है उसका उपयोग करने की आवश्यकता होती है।
  • Client CIDR range: एक IP address range जिससे client IP addresses असाइन किए जाते हैं। Client VPN endpoint से प्रत्येक कनेक्शन को client CIDR range से एक unique IP address असाइन किया जाता है। आप client CIDR range चुनते हैं, उदाहरण के लिए 10.2.0.0/16.
  • Client VPN ports: AWS Client VPN TCP और UDP दोनों के लिए ports 443 और 1194 का समर्थन करता है। डिफ़ॉल्ट पोर्ट 443 है।
  • Client VPN network interfaces: जब आप अपने Client VPN endpoint के साथ किसी subnet को associate करते हैं, तो हम उस subnet में Client VPN network interfaces बनाते हैं। जो ट्रैफिक VPC को Client VPN endpoint से भेजा जाता है वह Client VPN network interface के माध्यम से भेजा जाता है। Source network address translation (SNAT) फिर लागू किया जाता है, जहाँ client CIDR range से source IP address को Client VPN network interface IP address में translate किया जाता है।
  • Connection logging: आप अपने Client VPN endpoint के लिए connection logging सक्षम कर सकते हैं ताकि connection events लॉग किए जा सकें। आप इस जानकारी का उपयोग फॉरेंसिक्स करने, यह विश्लेषण करने के लिए कर सकते हैं कि आपका Client VPN endpoint कैसे उपयोग किया जा रहा है, या connection समस्याओं को debug करने के लिए कर सकते हैं।
  • Self-service portal: आप अपने Client VPN endpoint के लिए self-service portal सक्षम कर सकते हैं। Clients अपनी credentials का उपयोग करके web-based portal में लॉग इन कर सकते हैं और Client VPN endpoint configuration file का नवीनतम संस्करण या AWS द्वारा प्रदान किया गया client का नवीनतम संस्करण डाउनलोड कर सकते हैं।

Limitations

  • Client CIDR ranges cannot overlap with the local CIDR of the VPC in which the associated subnet is located, or any routes manually added to the Client VPN endpoint’s route table.
  • Client CIDR ranges must have a block size of at least /22 and must not be greater than /12.
  • Client CIDR range के कुछ पते Client VPN endpoint की availability मॉडल का समर्थन करने के लिए उपयोग किए जाते हैं, और ग्राहकों को असाइन नहीं किए जा सकते। इसलिए, हम सलाह देते हैं कि आप उस संख्या के दोगुने IP पतों वाला एक CIDR block असाइन करें जितने concurrent connections आप Client VPN endpoint पर समर्थन करने की योजना बना रहे हैं।
  • Client CIDR range create करने के बाद बदल नहीं सकती
  • Client VPN endpoint के साथ associate किए गए subnets एक ही VPC में होने चाहिए।
  • आप एक Availability Zone से कई subnets को एक Client VPN endpoint के साथ associate नहीं कर सकते।
  • एक Client VPN endpoint dedicated tenancy VPC में subnet associations का समर्थन नहीं करता
  • Client VPN केवल IPv4 ट्रैफ़िक का समर्थन करता है।
  • Client VPN FIPS (Federal Information Processing Standards) के अनुरूप नहीं है।
  • यदि आपके Active Directory के लिए multi-factor authentication (MFA) disabled है, तो एक user password निम्न प्रारूप में नहीं हो सकता।
SCRV1:<base64_encoded_string>:<base64_encoded_string>
  • जो क्लाइंट mutual authentication का उपयोग करके authenticate करते हैं उनके लिए self-service portal उपलब्ध नहीं है।

Tip

सीखें और अभ्यास करें AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
सीखें और अभ्यास करें GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
सीखें और अभ्यास करें Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें