개발 지식, 슀크립트/μ›Ήμ„œλ²„

nginx -> ν”„λ‘μ‹œ -> λ‘œλ“œλ°ΈλŸ°μ‹± -> WAF 의 전체적인 흐름(곡사쀑)

μ‹œνλ¦¬ν‹°μ§€ν˜Έ 2024. 3. 5. 06:14

<<λ‚΄κ°€ μ •λ¦¬ν•œ 흐름>>

ν΄λΌμ΄μ–ΈνŠΈ -> μ›Ήμ„œλ²„(nginx) -> proxy server(λ°”λ‘œ μ ‘κ·Ό λͺ»ν•˜λŠ” 곳을 μš°νšŒν•΄μ„œ) + waf (이 λ‘˜μ€ μ•žμ— μžˆκ±°λ‚˜ λ’€λ‘œ μžˆκ±°λ‚˜ 같이(톡합) μžˆκ±°λ‚˜ -> μ„œλ²„μ— μ ‘κ·Ό 

 
<<μ±— gptκ°€ λ§ν•˜λŠ” 흐름>>

  1. ν΄λΌμ΄μ–ΈνŠΈ: μ‚¬μš©μžμ˜ λΈŒλΌμš°μ €λ‚˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μœΌλ‘œλΆ€ν„° μš”μ²­μ„ μ‹œμž‘ν•©λ‹ˆλ‹€.
  2. μ›Ή μ„œλ²„ (Nginx): 첫 번째 μˆ˜μ€€μ˜ μš”μ²­ 처리λ₯Ό λ‹΄λ‹Ήν•˜λ©°, 정적 μ½˜ν…μΈ λ₯Ό 직접 μ œκ³΅ν•˜κ±°λ‚˜, 보닀 λ³΅μž‘ν•œ 처리λ₯Ό μœ„ν•΄ μš”μ²­μ„ λ‚΄λΆ€ λ„€νŠΈμ›Œν¬μ˜ λ‹€λ₯Έ μ„œλ²„λ‘œ 전달할 수 μžˆμŠ΅λ‹ˆλ‹€. NginxλŠ” λ˜ν•œ λ¦¬λ²„μŠ€ ν”„λ‘μ‹œ 역할을 ν•  수 μžˆμ–΄, μ™ΈλΆ€μ—μ„œ λ“€μ–΄μ˜€λŠ” μš”μ²­μ„ λ‚΄λΆ€μ˜ μ‹€μ œ μ„œλ²„λ‘œ μ „λ‹¬ν•©λ‹ˆλ‹€.
  3. ν”„λ‘μ‹œ μ„œλ²„: μ—¬κΈ°μ„œ λ§ν•˜λŠ” ν”„λ‘μ‹œ μ„œλ²„λŠ” νŠΉμ • μ„œλΉ„μŠ€μ— λŒ€ν•œ 접근을 μ€‘κ³„ν•˜λŠ” 역할을 ν•©λ‹ˆλ‹€. μ΄λŠ” 좔가적인 λ³΄μ•ˆ, 캐싱, λ˜λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μš”μ²­μ„ νŠΉμ • μ„œλ²„λ‘œ λΌμš°νŒ…ν•˜λŠ” 역할을 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  4. WAF (Web Application Firewall): μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 방화벽은 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μˆ˜μ€€μ˜ νŠΈλž˜ν”½μ„ λΆ„μ„ν•˜μ—¬ SQL μΈμ μ…˜, ν¬λ‘œμŠ€μ‚¬μ΄νŠΈ μŠ€ν¬λ¦½νŒ…(XSS), 그리고 기타 μ›Ή 기반 κ³΅κ²©μœΌλ‘œλΆ€ν„° λ³΄ν˜Έν•©λ‹ˆλ‹€. WAFλŠ” Nginx와 같은 μ›Ή μ„œλ²„ μ•ž, λ’€, λ˜λŠ” ν†΅ν•©λ˜μ–΄ ꡬ성될 수 μžˆμŠ΅λ‹ˆλ‹€.

μš”μ²­ 흐름:

  • ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ μ‹œμž‘λœ μš”μ²­μ€ λ¨Όμ € μ›Ή μ„œλ²„(Nginx)에 λ„λ‹¬ν•©λ‹ˆλ‹€.
  • NginxλŠ” μš”μ²­μ„ λΆ„μ„ν•˜μ—¬ 정적 μ½˜ν…μΈ  μš”μ²­μ€ 직접 μ²˜λ¦¬ν•˜κ³ , 동적 μ½˜ν…μΈ  μš”μ²­μ΄λ‚˜ νŠΉμ • 쑰건에 ν•΄λ‹Ήν•˜λŠ” μš”μ²­μ„ ν”„λ‘μ‹œ μ„œλ²„λ‘œ μ „λ‹¬ν•©λ‹ˆλ‹€.
  • ν”„λ‘μ‹œ μ„œλ²„λŠ” μš”μ²­μ„ λ°›μ•„ λ‚΄λΆ€ μ„œλ²„λ‘œ μš°νšŒμ‹œν‚€κ±°λ‚˜, νŠΉμ • μ„œλΉ„μŠ€λ‘œ λΌμš°νŒ…ν•˜λŠ” 역할을 ν•©λ‹ˆλ‹€. 이 κ³Όμ •μ—μ„œ WAFκ°€ μš”μ²­μ„ κ²€μ‚¬ν•˜μ—¬ μ•…μ˜μ μΈ μ›Ή νŠΈλž˜ν”½μ„ 차단할 수 μžˆμŠ΅λ‹ˆλ‹€.
  • λ§ˆμ§€λ§‰μœΌλ‘œ, μš”μ²­μ€ μ‹€μ œ 처리λ₯Ό μœ„ν•΄ λ‚΄λΆ€ μ„œλ²„(예: μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ„œλ²„, λ°μ΄ν„°λ² μ΄μŠ€ μ„œλ²„ λ“±)에 λ„λ‹¬ν•©λ‹ˆλ‹€.

이런 ꡬ성은 λ³΄μ•ˆμ„ κ°•ν™”ν•˜κ³ , μ„œλΉ„μŠ€μ˜ κ°€μš©μ„±κ³Ό μ„±λŠ₯을 ν–₯μƒμ‹œν‚€λŠ” 데 도움이 λ©λ‹ˆλ‹€. WAF의 μœ„μΉ˜λŠ” ꡬ체적인 λ³΄μ•ˆ μš”κ΅¬μ‚¬ν•­κ³Ό 인프라 ꡬ성에 따라 λ‹¬λΌμ§ˆ 수 있으며, μ΄λŠ” 전체 μ‹œμŠ€ν…œ μ„€κ³„μ˜ μ€‘μš”ν•œ λΆ€λΆ„μž…λ‹ˆλ‹€.