Infra

๋ฐฉํ™”๋ฒฝ ์ธ๋ฐ”์šด๋“œ(Inbound), ์•„์›ƒ๋ฐ”์šด๋“œ(Outbound) ์ดํ•ดํ•˜๊ธฐ

๋ˆ„๊ตฌ์„ธ์—ฐ 2025. 8. 17. 22:30

๐Ÿ‘€ ๋ฐฉํ™”๋ฒฝ์ด๋ž€?

์„œ๋น„์Šค๋ฅผ ์šด์˜ํ•˜๋‹ค ๋ณด๋ฉด ํ•ญ์ƒ ๊ณ ๋ฏผํ•˜๊ฒŒ ๋˜๋Š” ์งˆ๋ฌธ์ด ํ•˜๋‚˜ ์žˆ์Šต๋‹ˆ๋‹ค.  
"์šฐ๋ฆฌ ์„œ๋ฒ„๋Š” ์™ธ๋ถ€ ๊ณต๊ฒฉ์œผ๋กœ๋ถ€ํ„ฐ ์•ˆ์ „ํ• ๊นŒ?"

์ด ์งˆ๋ฌธ์— ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ด๋ฉด์„œ๋„ ๊ฐ•๋ ฅํ•œ ๋‹ต์„ ์ฃผ๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ ๋ฐฉํ™”๋ฒฝ(Firewall)์ž…๋‹ˆ๋‹ค.

๋ฐฉํ™”๋ฒฝ์€ ๋„คํŠธ์›Œํฌ์˜ ๋ฌธ์ง€๊ธฐ ์—ญํ• ์„ ํ•˜๋ฉฐ, ์™ธ๋ถ€์—์„œ ๋“ค์–ด์˜ค๋Š” ํŠธ๋ž˜ํ”ฝ๊ณผ ๋‚ด๋ถ€์—์„œ ๋‚˜๊ฐ€๋Š” ํŠธ๋ž˜ํ”ฝ์„ ๊ฐ์‹œํ•˜๊ณ  ํ•„ํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค.

์‰ฝ๊ฒŒ ๋งํ•ด, ๋ฐฉํ™”๋ฒฝ์€ “๋„คํŠธ์›Œํฌ์˜ ๋ฌธ์ง€๊ธฐ”์ž…๋‹ˆ๋‹ค.
์–ด๋–ค ์†๋‹˜(ํŠธ๋ž˜ํ”ฝ)์„ ๋“ค์ด๊ณ , ์–ด๋–ค ์†๋‹˜์€ ๋Œ๋ ค๋ณด๋‚ผ์ง€๋ฅผ ๊ทœ์น™(Rule)์— ๋”ฐ๋ผ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค!๐Ÿ˜€

 

 

์ธ๋ฐ”์šด๋“œ(Inbound) vs ์•„์›ƒ๋ฐ”์šด๋“œ(Outbound)

๋‘ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์€ ํŠธ๋ž˜ํ”ฝ์ด ์˜ค๊ฐ€๋Š” ๋ฐฉํ–ฅ์„ ๊ธฐ์ค€์œผ๋กœ ๋‘ ๊ฐ€์ง€๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค.

๊ตฌ๋ถ„ ๋ฐฉํ–ฅ ์˜ˆ์‹œ ๋น„์œ 
์ธ๋ฐ”์šด๋“œ ์™ธ๋ถ€ → ๋‚ด๋ถ€ ์‚ฌ์šฉ์ž๊ฐ€ ์„œ๋ฒ„ ์›นํŽ˜์ด์ง€ ์ ‘์†, SSH ์ ‘์† ์š”์ฒญ ์ง‘ ๋ฌธ์„ ๋‘๋“œ๋ฆฌ๋Š” ์†๋‹˜
์•„์›ƒ๋ฐ”์šด๋“œ ๋‚ด๋ถ€ → ์™ธ๋ถ€ ์„œ๋ฒ„์—์„œ ์™ธ๋ถ€ API ํ˜ธ์ถœ, ์—…๋ฐ์ดํŠธ ๋‹ค์šด๋กœ๋“œ ๋‚ด๊ฐ€ ์ง‘ ๋ฐ–์œผ๋กœ ๋‚˜๊ฐ€๋Š” ์ƒํ™ฉ

 

์ธ๋ฐ”์šด๋“œ(Inbound)

  • ์™ธ๋ถ€ ์‚ฌ์šฉ์ž๊ฐ€ ๋‚ด ์„œ๋ฒ„/PC๋กœ ์ ‘์†ํ•˜๋ ค๊ณ  ํ•  ๋•Œ ๋ฐœ์ƒ
  • ์˜ˆ: ์›น์„œ๋ฒ„์— HTTP(80๋ฒˆ ํฌํŠธ) ์š”์ฒญ, SSH(22๋ฒˆ ํฌํŠธ) ์ ‘์† ์‹œ๋„
  • ๋ณด์•ˆ ํฌ์ธํŠธ: ๊ผญ ํ•„์š”ํ•œ ํฌํŠธ๋งŒ ํ—ˆ์šฉ, ๋‚˜๋จธ์ง€๋Š” ์ฐจ๋‹จ
  • ์ธ๋ฐ”์šด๋“œ(Inbound) ์˜ˆ์‹œ
    • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ธŒ๋ผ์šฐ์ €์—์„œ `https://example.com` ์ ‘์†
        → 443 ํฌํŠธ๋กœ ์„œ๋ฒ„์— ์š”์ฒญ (์ธ๋ฐ”์šด๋“œ ํŠธ๋ž˜ํ”ฝ)
    •  ์™ธ๋ถ€ ๊ฐœ๋ฐœ์ž๊ฐ€ SSH๋กœ ์›๊ฒฉ ์ ‘์† ์‹œ๋„ (`22๋ฒˆ ํฌํŠธ` ์‚ฌ์šฉ)

์•„์›ƒ๋ฐ”์šด๋“œ(Outbound)

  • ๋‚ด๊ฐ€ ์™ธ๋ถ€ ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋‚ผ ๋•Œ ๋ฐœ์ƒ
  • ์˜ˆ: ์„œ๋ฒ„์—์„œ ์™ธ๋ถ€ API ํ˜ธ์ถœ, ํŒจํ‚ค์ง€ ์—…๋ฐ์ดํŠธ ๋‹ค์šด๋กœ๋“œ
  • ๋ณด์•ˆ ํฌ์ธํŠธ: ์•…์„ฑ์ฝ”๋“œ·๋žœ์„ฌ์›จ์–ด๊ฐ€ ์™ธ๋ถ€๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋นผ๋Œ๋ฆฌ์ง€ ์•Š๋„๋ก ์ œํ•œ ๊ฐ€๋Šฅ
  • ์•„์›ƒ๋ฐ”์šด๋“œ(Outbound) ์˜ˆ์‹œ
    •  ๋ฐฑ์—”๋“œ ์„œ๋ฒ„๊ฐ€ ์™ธ๋ถ€ ๋‚ ์”จ API(`api.weather.com`)๋กœ ์š”์ฒญ ๋ณด๋ƒ„
    • ์„œ๋ฒ„๊ฐ€ npm install์ด๋‚˜ apt update๋กœ ํŒจํ‚ค์ง€๋ฅผ ๋‚ด๋ ค๋ฐ›์Œ

 

๐Ÿ›œ ๋„คํŠธ์›Œํฌ ํ๋ฆ„ ์˜ˆ์‹œ

[์™ธ๋ถ€ ์‚ฌ์šฉ์ž] --(์ธ๋ฐ”์šด๋“œ)--> [๋‚ด๋ถ€ ์„œ๋ฒ„]
[๋‚ด๋ถ€ ์„œ๋ฒ„] --(์•„์›ƒ๋ฐ”์šด๋“œ)--> [์™ธ๋ถ€ API ์„œ๋ฒ„]

 

  • ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™: ์™ธ๋ถ€์—์„œ ๋‚ด ์„œ๋ฒ„๋กœ ๋“ค์–ด์˜ค๋Š” ์š”์ฒญ์„ ํ•„ํ„ฐ๋ง
  • ์•„์›ƒ๋ฐ”์šด๋“œ ๊ทœ์น™: ๋‚ด ์„œ๋ฒ„์—์„œ ์™ธ๋ถ€๋กœ ๋‚˜๊ฐ€๋Š” ์š”์ฒญ์„ ํ•„ํ„ฐ๋ง

 

๐Ÿ’ฅ ์‹ค๋ฌด์—์„œ ์ž์ฃผ ๊ฒช๋Š” ๋ฐฉํ™”๋ฒฝ ์ด์Šˆ

  • ์ธ๋ฐ”์šด๋“œ ํฌํŠธ ์ฐจ๋‹จ → ์™ธ๋ถ€์—์„œ ์„œ๋ฒ„ ์ ‘๊ทผ ๋ถˆ๊ฐ€
  • ์•„์›ƒ๋ฐ”์šด๋“œ ์ฐจ๋‹จ → ์„œ๋ฒ„์—์„œ ์™ธ๋ถ€ API ํ˜ธ์ถœ ์‹คํŒจ
  • SSH ํฌํŠธ๋ฅผ ์ „์ฒด IP์— ์—ด์–ด๋‘  → ๋ณด์•ˆ ์ทจ์•ฝ์  ๋ฐœ์ƒ
  • ๋ฐฉํ™”๋ฒฝ ์„ค์ • ์‹ค์ˆ˜๋กœ ์‹ค์„œ๋ฒ„ ํŠธ๋ž˜ํ”ฝ ๋Š๊น€ → ์žฅ์•  ๋ฐœ์ƒ

 

๐Ÿ” ๋ฐฉํ™”๋ฒฝ ์„ค์ • ์‹œ ๊ผญ ๊ธฐ์–ตํ•  ์ 

1. ๊ธฐ๋ณธ์€ ์ฐจ๋‹จ, ํ•„์š”ํ•œ ๊ฒƒ๋งŒ ํ—ˆ์šฉ
   - ๋ณด์•ˆ์˜ ๊ธฐ๋ณธ ์›์น™์€ "Deny All, Allow Some"
   - ์˜ˆ: HTTP(80), HTTPS(443), SSH(22)๋งŒ ์—ด๊ณ  ๋‚˜๋จธ์ง€๋Š” ๋‹ซ๊ธฐ

2. ์ธ๋ฐ”์šด๋“œ๋Š” ์ตœ๋Œ€ํ•œ ์ข๊ฒŒ ์—ด๊ธฐ
   - ์™ธ๋ถ€์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ํฌํŠธ๋Š” ํ•ด์ปค ์ž…์žฅ์—์„  ์ง„์ž… ์ง€์ 
   - ์›น์„œ๋ฒ„๋ผ๋ฉด 80, 443๋งŒ ํ—ˆ์šฉ

3. ์•„์›ƒ๋ฐ”์šด๋“œ๋„ ํ†ต์ œ๊ฐ€ ํ•„์š”ํ•จ
   - ๋ณดํ†ต์€ ๋‹ค ์—ด์–ด๋‘์ง€๋งŒ, ์ด ๊ฒฝ๋กœ๋กœ ๋ฐ์ดํ„ฐ ์œ ์ถœ์ด ๊ฐ€๋Šฅ
   - ๊ธฐ์—… ๋ณด์•ˆ์—์„  ์•„์›ƒ๋ฐ”์šด๋“œ๋„ ํ—ˆ์šฉ ๋ชฉ๋ก ๊ธฐ๋ฐ˜ ๊ด€๋ฆฌํ•จ

4. UDP๋ณด๋‹ค TCP๊ฐ€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋” ์•ˆ์ „
   - TCP๋Š” ์—ฐ๊ฒฐ ๊ธฐ๋ฐ˜์ด๋ผ ์ถ”์ ·์ œ์–ด๊ฐ€ ์‰ฌ์›€
   - DNS ๊ฐ™์€ UDP ํŠธ๋ž˜ํ”ฝ์€ ๋”ฐ๋กœ ์ฃผ์˜ ํ•„์š”

 

 

 

๋ฐฉํ™”๋ฒฝ์€ ๋‹จ์ˆœํžˆ ์™ธ๋ถ€ ํŠธ๋ž˜ํ”ฝ์„ ๋ง‰๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ, ์„œ๋น„์Šค์˜ ์ƒ๋ช…์ค„์„ ์ง€ํ‚ค๋Š” ์ค‘์š”ํ•œ ๋ณด์•ˆ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
๋ฌด์กฐ๊ฑด ๋ง‰๋Š” ๊ฒƒ๋„, ๋ฌด์กฐ๊ฑด ์—ฌ๋Š” ๊ฒƒ๋„ ์œ„ํ—˜ํ•ฉ๋‹ˆ๋‹ค.
๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•œ ํฌํŠธ๋งŒ ํ—ˆ์šฉํ•˜๊ณ , ๋ณ€๊ฒฝ ์‹œ์—๋Š” ์ด์ค‘ ์ฒดํฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
๋„คํŠธ์›Œํฌ ๋ฌธ์ œ ๋ฐœ์ƒ ์‹œ, ๋ฐฉํ™”๋ฒฝ ์„ค์ •์„ ์˜์‹ฌํ•ด ๋ณด๋Š” ์Šต๊ด€์„ ๋“ค์ด๋ฉด ๋””๋ฒ„๊น… ์†๋„๊ฐ€ ํ›จ์”ฌ ๋นจ๋ผ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.๐Ÿ™‚