🚀 μ„±μž₯일지 7.0

μ±… ν–‰λ³΅ν•œ 이기주의자(웨인 닀이어)의 λ‚΄μš©μ— μžκ·Ήλ°›μ•„ μ‹œμž‘ν•˜λŠ” μ†Œλ°•ν•œ μ„±μž₯기둝

μ‚΄μ•„μžˆλŠ” 꽃과 죽은 꽃은 μ–΄λ–»κ²Œ κ΅¬λ³„ν•˜λŠ”κ°€?
μ„±μž₯ν•˜κ³  μžˆλŠ” 것이 μ‚΄μ•„ μžˆλŠ” 것이닀.
생λͺ…μ˜ μœ μΌν•œ μ¦κ±°λŠ” μ„±μž₯이닀!

βš› (7.0)<μ™„μ „ 개편> 파인만 ν•™μŠ΅λ²•μ„ μ•Œκ²Œ 된만큼, μ„±μž₯μΌμ§€λŠ” 정말 κ·Έ λ‚ μ˜ ν‚€μ›Œλ“œ μ€‘μ‹¬μœΌλ‘œ κ°„λ‹¨ν•˜κ²Œ μ •λ¦¬ν•˜λ„λ‘ ν•œλ‹€.

βš›οΈ ν‚€μ›Œλ“œ: 직관적이고 쉽고 κ°„λ‹¨ν•˜κ²Œ μž‘μ„±

(Forward) Proxy vs Reverse Proxy

  • Proxy: λŒ€μ‹ ν•˜λŠ” λŒ€λ¦¬μ˜ μ—­ν• 
  • (Forward) Proxy Server: ν΄λΌμ΄μ–ΈνŠΈμ˜ λŒ€λ¦¬ 역할을 ν•˜λŠ” μ„œλ²„
    • ν΄λΌμ΄μ–ΈνŠΈμ˜ IPλ₯Ό 숨길 수 μžˆλ‹€.
    • ν•΄λ‹Ή λ„€νŠΈμ›Œν¬μ— μžˆλŠ” ν΄λΌμ΄μ–ΈνŠΈλ“€μ˜ νŠΉμ • μ›Ήμ‚¬μ΄νŠΈ 접근을 μ œν•œν•  수 μžˆλ‹€.
    • (곡톡) μš”μ²­μ— λŒ€ν•œ 응닡을 캐싱할 수 μžˆλ‹€.
  • Reverse Proxy Server: μ„œλ²„μ˜ λŒ€λ¦¬ 역할을 ν•˜λŠ” μ„œλ²„
    • μ„œλ²„μ˜ IPλ₯Ό 숨길 수 μžˆλ‹€.
    • Proxyμ—μ„œ λ‘œλ“œλ°ΈλŸ°μ‹±μ„ ν•¨μœΌλ‘œμ¨ μ„œλ²„μ˜ λΆ€ν•˜λ₯Ό 쀄일 수 μžˆλ‹€.
    • (곡톡) μš”μ²­μ— λŒ€ν•œ 응닡을 캐싱할 수 μžˆλ‹€.

HTTP vs HTTPS(feat. TLS handshake)

HTTPλŠ” ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„κ°€ 데이터λ₯Ό μ „μ†‘ν•˜κΈ° μœ„ν•œ κ·œμ•½μ΄λ‹€. 이 λ•Œ, HTTPλŠ” ν…μŠ€νŠΈλ‘œ 데이터λ₯Ό μ†‘μˆ˜μ‹ ν•˜κ²Œ λ˜λŠ”λ° 이둜 인해 쀑간에 데이터λ₯Ό κ°€λ‘œμ±„λ©΄ ν•΄λ‹Ή ν…μŠ€νŠΈκ°€ λͺ¨λ‘ κ³΅κ°œλœλ‹€. 이λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ HTTP에 SSL/TLS κΈ°μˆ μ„ κ²°ν•©ν•˜μ—¬ λ³΄μ•ˆμ„ κ°•ν™”ν•œ 것이 HTTPSλ‹€.

TLS handshake

TLS ν•Έλ“œμ…°μ΄ν¬ 과정은 ν΄λΌμ΄μ–ΈνŠΈκ°€ https둜 된 μ›Ή μ„œλ²„μ— 접속할 λ•Œ μΌμ–΄λ‚˜λŠ” κ³Όμ •μœΌλ‘œ ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„κ°€ μ„œλ‘œ μ•”ν˜Έν™”λœ 데이터λ₯Ό μ†‘μˆ˜μ‹ ν•˜κΈ° μœ„ν•œ μ—΄μ‡ λ₯Ό κ΅ν™˜ν•˜κΈ° μœ„ν•¨μ΄λΌκ³  μƒκ°ν•˜λ©΄ νŽΈν•˜λ‹€.

  1. ν΄λΌμ΄μ–ΈνŠΈκ°€ HTTPS μ›Ήμ‚¬μ΄νŠΈλ‘œ 접속 μ‹œ, μžμ‹ μ΄ μ‚¬μš© κ°€λŠ₯ν•œ Cipher suite, Session ID, SSL ν”„λ‘œν† μ½œ 버전 등을 λ‹΄μ•„ μ „μ†‘ν•œλ‹€.
  2. μ„œλ²„λŠ” ν΄λΌμ΄μ–ΈνŠΈκ°€ λ³΄λ‚΄μ˜¨ νŒ¨ν‚·μ„ λ°›μ•„μ„œ μ—¬λŸ¬ Cipher Suite 쀑 ν•˜λ‚˜λ₯Ό μ„ νƒν•˜κ³  CAλ‘œλΆ€ν„° 받은 SSL μΈμ¦μ„œ(μ„œλ²„μ˜ κ³΅κ°œν‚€ 포함)λ₯Ό ν΄λΌμ΄μ–ΈνŠΈμ—κ²Œ ν•¨κ»˜ μ „λ‹¬ν•œλ‹€.
  3. ν΄λΌμ΄μ–ΈνŠΈλŠ” CA의 κ°œμΈν‚€λ‘œ μ•”ν˜Έν™”λœ SSL μΈμ¦μ„œλ₯Ό κ³΅κ°œν‚€λ‘œ λ³΅ν˜Έν™”ν•˜μ—¬ 인증된 μ„œλ²„μΈμ§€ ν™•μΈν•˜κ³  μ„œλ²„μ˜ κ³΅κ°œν‚€λ₯Ό 얻을 수 μžˆλ‹€. 이제 μ„œλ²„μ™€ μ•”ν˜Έν™”λœ μ†Œν†΅μ„ ν•˜κΈ° μœ„ν•œ λŒ€μΉ­ν‚€λ₯Ό μƒμ„±ν•˜κ³  μ„œλ²„μ˜ κ³΅κ°œν‚€λ‘œ 이λ₯Ό μ•”ν˜Έν™”ν•˜μ—¬ μ„œλ²„μ—κ²Œ μ „μ†‘ν•œλ‹€.
  4. μ„œλ²„λŠ” 본인의 κ°œμΈν‚€λ‘œ ν΄λΌμ΄μ–ΈνŠΈμ˜ 데이터λ₯Ό λ³΅ν˜Έν™”ν•˜κ³  λŒ€μΉ­ν‚€λ₯Ό μ–»μ–΄λ‚Έλ‹€. 이제 ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„λŠ” 이 λŒ€μΉ­ν‚€λ₯Ό 톡해 데이터λ₯Ό μ•”ν˜Έν™”ν•˜μ—¬ μ „μ†‘ν•˜κ³  λ³΅ν˜Έν™”ν•  수 있게 λœλ‹€.

πŸ“ 회고

λ°”μœ ν•˜λ£¨μ˜€λ”°β€¦!!! κ·Έλž˜λ„ λͺ©ν‘œν–ˆλ˜λ§ŒνΌ λ‹€ ν•΄λƒˆλ‹€!!!

μ°Έκ³