๐ ๋ฐฉํ๋ฒฝ์ด๋?
์๋น์ค๋ฅผ ์ด์ํ๋ค ๋ณด๋ฉด ํญ์ ๊ณ ๋ฏผํ๊ฒ ๋๋ ์ง๋ฌธ์ด ํ๋ ์์ต๋๋ค.
"์ฐ๋ฆฌ ์๋ฒ๋ ์ธ๋ถ ๊ณต๊ฒฉ์ผ๋ก๋ถํฐ ์์ ํ ๊น?"
์ด ์ง๋ฌธ์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ด๋ฉด์๋ ๊ฐ๋ ฅํ ๋ต์ ์ฃผ๋ ๊ฒ์ด ๋ฐ๋ก ๋ฐฉํ๋ฒฝ(Firewall)์
๋๋ค.
๋ฐฉํ๋ฒฝ์ ๋คํธ์ํฌ์ ๋ฌธ์ง๊ธฐ ์ญํ ์ ํ๋ฉฐ, ์ธ๋ถ์์ ๋ค์ด์ค๋ ํธ๋ํฝ๊ณผ ๋ด๋ถ์์ ๋๊ฐ๋ ํธ๋ํฝ์ ๊ฐ์ํ๊ณ ํํฐ๋งํฉ๋๋ค.
์ฝ๊ฒ ๋งํด, ๋ฐฉํ๋ฒฝ์ “๋คํธ์ํฌ์ ๋ฌธ์ง๊ธฐ”์ ๋๋ค.
์ด๋ค ์๋(ํธ๋ํฝ)์ ๋ค์ด๊ณ , ์ด๋ค ์๋์ ๋๋ ค๋ณด๋ผ์ง๋ฅผ ๊ท์น(Rule)์ ๋ฐ๋ผ ๊ฒฐ์ ๋ฉ๋๋ค!๐
์ธ๋ฐ์ด๋(Inbound) vs ์์๋ฐ์ด๋(Outbound)
๋ ๋ฐฉํ๋ฒฝ ๊ท์น์ ํธ๋ํฝ์ด ์ค๊ฐ๋ ๋ฐฉํฅ์ ๊ธฐ์ค์ผ๋ก ๋ ๊ฐ์ง๋ก ๋๋ฉ๋๋ค.
| ๊ตฌ๋ถ | ๋ฐฉํฅ | ์์ | ๋น์ |
| ์ธ๋ฐ์ด๋ | ์ธ๋ถ → ๋ด๋ถ | ์ฌ์ฉ์๊ฐ ์๋ฒ ์นํ์ด์ง ์ ์, SSH ์ ์ ์์ฒญ | ์ง ๋ฌธ์ ๋๋๋ฆฌ๋ ์๋ |
| ์์๋ฐ์ด๋ | ๋ด๋ถ → ์ธ๋ถ | ์๋ฒ์์ ์ธ๋ถ API ํธ์ถ, ์ ๋ฐ์ดํธ ๋ค์ด๋ก๋ | ๋ด๊ฐ ์ง ๋ฐ์ผ๋ก ๋๊ฐ๋ ์ํฉ |
์ธ๋ฐ์ด๋(Inbound)
- ์ธ๋ถ ์ฌ์ฉ์๊ฐ ๋ด ์๋ฒ/PC๋ก ์ ์ํ๋ ค๊ณ ํ ๋ ๋ฐ์
- ์: ์น์๋ฒ์ HTTP(80๋ฒ ํฌํธ) ์์ฒญ, SSH(22๋ฒ ํฌํธ) ์ ์ ์๋
- ๋ณด์ ํฌ์ธํธ: ๊ผญ ํ์ํ ํฌํธ๋ง ํ์ฉ, ๋๋จธ์ง๋ ์ฐจ๋จ
- ์ธ๋ฐ์ด๋(Inbound) ์์
- ํด๋ผ์ด์ธํธ๊ฐ ๋ธ๋ผ์ฐ์ ์์ `https://example.com` ์ ์
→ 443 ํฌํธ๋ก ์๋ฒ์ ์์ฒญ (์ธ๋ฐ์ด๋ ํธ๋ํฝ) - ์ธ๋ถ ๊ฐ๋ฐ์๊ฐ SSH๋ก ์๊ฒฉ ์ ์ ์๋ (`22๋ฒ ํฌํธ` ์ฌ์ฉ)
- ํด๋ผ์ด์ธํธ๊ฐ ๋ธ๋ผ์ฐ์ ์์ `https://example.com` ์ ์
์์๋ฐ์ด๋(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 ํธ๋ํฝ์ ๋ฐ๋ก ์ฃผ์ ํ์
๋ฐฉํ๋ฒฝ์ ๋จ์ํ ์ธ๋ถ ํธ๋ํฝ์ ๋ง๋ ๊ฒ ์๋๋ผ, ์๋น์ค์ ์๋ช ์ค์ ์งํค๋ ์ค์ํ ๋ณด์ ๋๊ตฌ์ ๋๋ค.
๋ฌด์กฐ๊ฑด ๋ง๋ ๊ฒ๋, ๋ฌด์กฐ๊ฑด ์ฌ๋ ๊ฒ๋ ์ํํฉ๋๋ค.
๋ฐ๋์ ํ์ํ ํฌํธ๋ง ํ์ฉํ๊ณ , ๋ณ๊ฒฝ ์์๋ ์ด์ค ์ฒดํฌ๊ฐ ํ์ํฉ๋๋ค.
๋คํธ์ํฌ ๋ฌธ์ ๋ฐ์ ์, ๋ฐฉํ๋ฒฝ ์ค์ ์ ์์ฌํด ๋ณด๋ ์ต๊ด์ ๋ค์ด๋ฉด ๋๋ฒ๊น ์๋๊ฐ ํจ์ฌ ๋นจ๋ผ์ง ์ ์์ต๋๋ค.๐