Ravindra Bagale · Cyber Securityसर्व coursesया course चे lessonsशोधाEnglish

Cyber Security · मराठी आवृत्ती

Website उघडल्यावर आत काय होतं?

रवींद्र बागले यांच्या course वर आधारित · सहज मराठीत explanation

या page मध्ये

Browser मध्ये https://www.example.com लिहून Enter दाबल्यावर काय होतं? हा प्रश्न networking मधले सगळे concepts एकत्र जोडतो. खालील flow हा नवीन TCP-based HTTPS connection चा simplified example आहे. Cache, connection reuse किंवा HTTP/3 असल्यास काही steps वेगळे असू शकतात.

 You ──► Browser ──► DNS lookup ──► TCP handshake ──► TLS handshake ──► HTTP GET
                                                                             │
 Page shown ◄── Browser renders ◄── HTTP 200 + HTML/CSS/JS ◄── Web server ◄──┘
  1. URL parsing: Browser scheme https, default port 443, host www.example.com आणि path / ओळखतो.
  2. DNS resolution: Cache आणि configured name-resolution path तपासतो. गरज पडल्यास resolver root → TLD → authoritative servers कडून IP मिळवतो. ISP/public resolver किंवा EC2 चा VPC resolver वापरला जाऊ शकतो. VPC resolver साठी 169.254.169.253 हा संदर्भ आहे. इथला 93.184.215.14 हा source मधला example IP आहे; actual lookup बदलू शकतो.
  3. ARP: IPv4 Ethernet/Wi-Fi LAN वर पहिली frame पाठवण्यासाठी gateway चा MAC लागतो. Cache मध्ये नसेल तर ARP वापरला जातो.
  4. TCP handshake: Laptop ephemeral port, उदा. 51544, निवडतो. Server च्या port 443 ला SYN → SYN-ACK → ACK असा handshake होतो.
  5. Routing: Handshake पासूनच packets router, ISP आणि internet routers मधून जातात. घरच्या NAT setup मध्ये private source IP public IP मध्ये बदलतो. Routing हा handshake नंतर सुरू होणारा स्वतंत्र टप्पा नसून packets जातानाच चालणारा process आहे.
  6. TLS handshake: Server certificate देतो, browser त्याची पडताळणी करतो आणि दोन्ही बाजू encryption keys ठरवतात.
  7. HTTP request: HTTP/1.1 example मध्ये GET / HTTP/1.1 आणि Host: www.example.com, cookies व इतर headers पाठवले जातात.
  8. Server processing: उदाहरणार्थ security group 443 allow करतो; Nginx static file देतो किंवा Node/Flask/PHP app कडे proxy करतो; app गरजेनुसार database query करून response तयार करतो.
  9. HTTP response: यशस्वी example मध्ये HTTP/1.1 200 OK आणि HTML मिळतं. त्यात संदर्भ दिलेले CSS, JS आणि images browser पुढे मागवतो.
  10. Rendering: Browser DOM तयार करतो, CSS लागू करतो, JavaScript चालवतो आणि page दाखवतो.
  11. Keep-alive/close: Connection पुढच्या requests साठी reuse होऊ शकतं; नंतर FIN/ACK ने बंद होतं.

Terminal मधून काही steps पाहू

# Step 2: DNS lookup
dig +short www.example.com
nslookup www.example.com

# Step 5: path taken by packets (install traceroute if missing)
traceroute www.example.com

# Steps 4, 6, 7, 9 in detail (verbose curl)
curl -v https://www.example.com -o /dev/null

dig/nslookup DNS दाखवतात. traceroute मार्गाचा अंदाज देतो; प्रत्येक router reply करेलच असं नाही. Verbose curl मध्ये connect, TLS आणि HTTP output पाहता येतो.

Website उघडत नसेल तर

एकेक भाग तपासा: instance चालू आहे का? अपेक्षित public endpoint आणि internet route आहे का? Security group 80/443 allow करतो का? ss -tlnp मध्ये Nginx listen करतोय का? DNS योग्य endpoint कडे आहे का? Certificate valid आहे का? App error देतोय का? Layers चा map troubleshooting साठी वापरा; प्रत्येक cloud setting जबरदस्तीने एका OSI layer मध्ये बसवू नका.

Security controls कुठे बसतात?

DNS spoofing विरुद्ध योग्य resolver आणि DNSSEC validation; LAN वर ARP spoofing संबंधित controls; SYN floods विरुद्ध network protections; connection साठी TLS आणि योग्य HSTS; application requests साठी WAF; आणि bugs कमी करण्यासाठी secure coding. प्रत्येक step वर वेगळे धोके आणि वेगळे controls असतात.

Practice

हा flow मित्राला दोन मिनिटांत समजावून सांगा. मग curl -v https://www.example.com -o /dev/null मध्ये resolved IP, TCP connect, TLS handshake, certificate details आणि HTTP status शोधा.

Part 1 recap

Handshake अजून गोंधळत असेल तर diagram पुन्हा काढा. आता पुढे Linux आणि AWS EC2 शिकू.