ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

728x90
๋ฐ˜์‘ํ˜•

๊ธฐ๋ณธ์ด ๋˜๋Š” ๋ฐฐ๊ฒฝ์ง€์‹๋“ค

  • Punycode
    • ๋‹ค์–‘ํ•œ ์–ธ์–ด์˜ hostname์„ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ASCII๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ํฌ๋งท
    • https://en.wikipedia.org/Punycode
  • HSTS
    • HTTP Strict Transport Security
    • ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณต๊ฒฉ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•จ
      • main-in-the-middle attacks
      • protocol downgrade attacks
      • cookie hijacking
    • HTTPS๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ, ๊ฐ•์ œ์ ์œผ๋กœ https๋กœ ์ ‘์†ํ•˜๋„๋ก ํ•จ
    • http๋ฅผ ํ†ตํ•ด ์ ‘์†ํ•œ ํ›„ https๋กœ ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ํ•  ๊ฒฝ์šฐ ์œ„์˜ ๊ณต๊ฒฉ์— ๋…ธ์ถœ๋˜๊ฒŒ ๋จ
  • DNS
    • DNS๋กœ ์š”์ฒญ ์ •๋ณด๋ฅผ ๋ณด๋‚ด๊ธฐ ์ „์— ์บ์‹œ๋ฅผ ํ™•์ธ
      • ๋ธŒ๋ผ์šฐ์ € ๋‚ด์˜ ์บ์‹œ
      • OS ๋‚ด์˜ ์บ์‹œ
      • ๋ผ์šฐํ„ฐ ๋‚ด์˜ ์บ์‹œ
      • ISP(Internet Service Provider) ๋‚ด์˜ ์บ์‹œ
    • ๋ชจ๋“  ๊ณณ์— ์š”์ฒญํ•œ DNS๊ฐ€ ์—†๋‹ค๋ฉด, DNS Server๋กœ ์ •๋ณด๋ฅผ ์š”์ฒญ
      • ์ฐพ์„ ์ˆ˜ ์—†๊ฑฐ๋‚˜, ์ฐพ์„ ๋•Œ๊นŒ์ง€ DNS๋ฅผ recursive ํ•˜๊ฒŒ ํƒ์ƒ‰
  • ARP
    • ARP REQ
      • MAX์„ ์•Œ๊ธฐ ์œ„ํ•ด ๋ธŒ๋กœ๋“œ ์บ์ŠคํŠธ๋ฅผ ๋ณด๋ƒ„
    • ARE REPLY
      • ๋ธŒ๋ž˜๋“œ ์บ์ŠคํŠธ๋ฅผ ๋ฐ›์€ ์ˆœ์‹œ์ž๋“ค ์ค‘ ์ž์‹ ์ด ํ•ด๋‹นํ•œ๋‹ค๋ฉด ์‘๋‹ต ํŒจํ‚ท์— ์ž์‹ ์˜ MAC ์ฃผ์†Œ๋ฅผ ๋ณด๋ƒ„
      • ํ•ด๋‹นํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋Š” ํŒจํ‚ท์„ ๋ฌด์‹œ
    • ARP Gratuitous ARP
      • IP ์ถฉ๋Œ ๊ฐ์ง€๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ํŒจํ‚ท
      • GRAP๋ฅผ ๋ณด๋‚ด๋ฉด ARP ํ…Œ์ด๋ธ”์„ ๊ฐฑ์‹ 
  • TCP
    • 3-way handshake๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐํ•˜๋ฉฐ, https์˜ ๊ฒฝ์šฐ TLS handshake๊ฐ€ ์ถ”๊ฐ€๋จ
      • 3-way handshake
        • user → server
          • ์ž„์˜์˜ `SYN` ์„ ์„œ๋ฒ„๋กœ ๋ณด๋ƒ„
        • server → user
          • user์˜ SYN์— +1์„ ๋”ํ•œ `ACK`์™€ server์˜ SYN์„ ๋ณด๋ƒ„
        • user → server
          • server๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ ACK๋ฅผ ํ™•์ธํ•˜๊ณ  ๋งž๋‹ค๋ฉด, server๋กœ ๋ถ€ํ„ฐ ๋ฐ›์€ SYN์— 1์„ ๋”ํ•œ ACK๋ฅผ ๋ณด๋ƒ„
    • TLS handshake
      • ์‚ฌ์šฉํ•  ํ”„๋กœํ† ์ฝœ ๋ฒ„์ „์— ๋™์˜
      • ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์„ ํƒ
      • ๋””์ง€ํ„ธ ์ธ์ฆ์„œ ๊ตํ™˜ํ•˜๊ณ  ์œ ํšจ์„ฑ ๊ฒ€์‚ฌํ•˜์—ฌ ์„œ๋กœ ์ธ์ฆ
      • ๋น„๋Œ€์นญ ์•”ํ˜ธํ™” ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต์œ  ๋น„๋ฐ€ํ‚ค๋ฅผ ์ƒ์„ฑ
  • HTTP
    • ํ†ต์‹  ํ”„๋กœํ† ์ฝœ
    • ๋ชจ๋“  ์š”์ฒญ์ด ๋…๋ฆฝ์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋จ
      • ์„ธ์…˜์—์„œ ๊ฐ ์š”์ฒญ์— ๋Œ€ํ•œ ์ •๋ณด ์œ ์ง€ ํ•„์š” ์—†์Œ
    • REQ, RES
      • ๋ธŒ๋ผ์šฐ์ €์—์„œ ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด server๋Š” ์ด์— ๋Œ€ํ•œ ์‘๋‹ต์„ ๋ณด๋ƒ„
      • ๋ธŒ๋ผ์šฐ์ €๋Š” `URL + ์š”์ฒญ ๋ฉ”์†Œ๋“œ`
      • server๋Š” `status code + RES`
    • Method
      • GET, POST, PUT, DELETE, HEAD, OPTIONS
    • Status Code
      • 2XX : ์„ฑ๊ณต
      • 3XX : ๋ฆฌ๋‹ค์ด๋ ‰์…˜
      • 4XX : ํด๋ผ์ด์–ธํŠธ ์—๋Ÿฌ
      • 5XX : ์„œ๋ฒ„ ์—๋Ÿฌ
  • HTTPS
    • HTTP์—์„œ ์„ธ์…˜์— ์ฃผ๊ณ ๋ฐ›์€ ์ •๋ณด๋ฅผ ์•”ํ˜ธํ™”ํ•œ ๊ฒƒ

 

๊ฐ„๋‹จํ•˜๊ฒŒ ์•Œ์•„๋ณด๊ธฐ

  1. ๋ธŒ๋ผ์šฐ์ €์— URL ์ž…๋ ฅ
  2. DNS๋ฅผ ํ†ตํ•ด ๋„๋ฉ”์ธ์— ํ•ด๋‹นํ•˜๋Š” IP๋ฅผ ์ฐพ์Œ
  3. ๋ธŒ๋ผ์šฐ์ €๋Š” HTTP ๋˜๋Š” HTTPS๋ฅผ ํ†ตํ•ด ์š”์ฒญ์„ ๋ณด๋ƒ„
  4. ์„œ๋ฒ„๋Š” ํ•ด๋‹นํ•˜๋Š” ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์„ ๋ธŒ๋ผ์šฐ์ € ๋ณด๋ƒ„
  5. ๋ธŒ๋ผ์šฐ์ €์— ์š”์ฒญํ•œ ํŽ˜์ด์ง€ ํ‘œ์‹œ

 

์ž์„ธํ•˜๊ฒŒ ์•Œ์•„๋ณด๊ธฐ

  1. ์ฃผ์†Œ ํ‘œ์‹œ์ค„์— URL ์ž…๋ ฅ
  2. URL ๋ฌธ๋ฒ•์„ ํ•ด์„ํ•˜๊ณ  `Punycode`๋กœ ๋ณ€ํ™˜
  3. `HSTS` ๋ชฉ๋ก์„ ๋กœ๋“œํ•ด์„œ ํ™•์ธ
  4. `DNS` ์บ์‹œ ํ™•์ธ ๋ฐ ์กฐํšŒ
  5. `ARP Broadcast`๋ฅผ ํ†ตํ•œ ๋ชฉ์ ์ง€์˜ IP์™€ MAC ํ™•์ธ
  6. `TCP socket` ์—ฐ๊ฒฐ
  7. `http`, `https` ํ”„๋กœํ† ์ฝœ๋กœ ์š”์ฒญ, ์‘๋‹ต
  8. ๋ฐ›์€ ์‘๋‹ต์„ ๋ธŒ๋ผ์šฐ์ €์— ํ‘œ์‹œ

 

์ฐธ์กฐ

728x90
๋ฐ˜์‘ํ˜•
๋Œ“๊ธ€
๊ธ€ ๋ณด๊ด€ํ•จ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€