1) ํ๋ก์ ์๋ฒ (Proxy Server)
(1) ํ๋ก์๋
- ํ๋ก์ ์๋ฒ๋ ํด๋ผ์ด์ธํธ๊ฐ ์์ ์ ํตํด์ ๋ค๋ฅธ ๋คํธ์ํฌ ์๋น์ค์ ๊ฐ์ ์ ์ผ๋ก ์ ์ํ ์ ์๊ฒ ํด์ฃผ๋ ์ปดํจํฐ ์์คํ ์ด๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฆฌํจ๋ค.
- ์๋ฒ์ ํด๋ผ์ด์ธํธ ์ฌ์ด์ ์ค๊ณ๊ธฐ๋ก์ ๋๋ฆฌ๋ก ํต์ ์ ์ํํ๋ ๊ฒ์ ๊ฐ๋ฆฌ์ผ ํ๋ก์, ๊ทธ ์ค๊ณ ๊ธฐ๋ฅ์ ํ๋ ๊ฒ์ ํ๋ก์ ์๋ฒ ๋ผ๊ณ ๋ถ๋ฅธ๋ค.
(2) ํ๋ก์๋ฅผ ์ฌ์ฉํ๋ ์ด์
โ ์ต๋ช ์ผ๋ก ์ปดํจํฐ ๋คํธ์ํฌ ์ด์ฉ
- ํ๋ก์ ์๋ฒ๋ฅผ ์ด์ฉํ๋ฉด ํ๋ก์ ์๋ฒ๊ฐ ๋์ ๋ฆฌ์์ค๋ฅผ ์์ฒญํ๊ธฐ ๋๋ฌธ์ ์ต๋ช ์ผ๋ก ๋คํธ์ํฌ๋ฅผ ์ด์ฉํ ์ ์๋ค.
โก ๋คํธ์ํฌ ์๋น์ค ์ ๊ณต์ ์ ํํ๊ฑฐ๋ ๊ด์ ํ๊ธฐ ์ํจ
- ๊ฒ์ดํธ์จ์ด์ ํ๋ก์๋ฅผ ๋๊ฒ ๋๋ฉด ํ์ ๋ง๋ค์ ์ธํฐ๋ท ์ฌ์ฉ ๊ธฐ๋ก์ ์์งํ ์ ์๊ณ ์ปจํ ์ธ ๋ฅผ ํํฐ๋งํ ์ ์๋ค.
โข ๋ณด์์ฑ ํฅ์
- ๋ณด์ ์์ ์ด์ ๋ก ์ง์ ํต์ ํ ์ ์๋ End Point ๊ฐ์ ๋๋ฆฌ๋ก ํต์ ์ ์ํํ์ฌ ๋ณด์์ฑ, ์์ ์ฑ์ ํฅ์์ํฌ ์ ์๋ค.
โฃ ์บ์ฑ
- ๋ณดํต ์น์ ํด๋ผ์ด์ธํธ ↔ ์น ์๋ฒ ๊ฐ์ HTTP ํต์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋๋ค.
- ์ด ๋, ์ผ๋ถ ์ ์ ์ปจํ ์ธ ๋ฅผ ์บ์ฑํ๋ฉด ์ค๋ณต ์์ฒญ์ด ๋ค์ด์์ ๋์ ์น ์๋ฒ์ ๋ค์ ์์ฒญํ ํ์์์ด ํ๋ก์ ์๋ฒ ๋ด์ ์บ์ฑ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ์ฌ ํด๋ผ์ด์ธํธ์๊ฒ ๋น ๋ฅด๊ฒ ์ปจํ ์ธ ๋ฅผ ์ ๊ณตํ ์ ์๊ณ ์น ์๋ฒ๋ ๋ถํ์ํ ๋ถํ๋ฅผ ์ค์ด๋ ํจ๊ณผ๋ฅผ ์ป์ ์ ์๋ค.
(3) ํ๋ก์ ์ข ๋ฅ
- ํ๋ก์ ์๋ฒ๋ ๋คํธ์ํฌ ์ ์ด๋์ ์์นํ๋์ง ํน์ ์ด๋ ๋ฐฉํฅ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํ๋ ์ง์ ๋ฐ๋ผ ํฌ์๋ ํ๋ก์ (Forward Proxy) ๋ฐ ๋ฆฌ๋ฒ์ค ํ๋ก์ (Reverse Proxy)๋ก ๊ตฌ๋ถํ ์ ์๋ค.
โ ํฌ์๋ ํ๋ก์ (Forward Proxy)
handles requests from and to anywhere on the Internet
- ํฌ์๋ ํ๋ก์๋ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ๋ก ์์ฒญํ ๋ ์ง์ ์์ฒญํ์ง ์๊ณ , ํ๋ก์ ์๋ฒ๋ฅผ ํตํด ์์ฒญํ๋ ๋ฐฉ์์ ๋งํ๋ฉฐ ๋คํธ์ํฌ์ ํด๋ผ์ด์ธํธ ๋ฐ๋ก ๋ค์ ์์นํ๋ค.
- ํํ, ํด์ธ ์ฌ์ดํธ ์ ์์ ์ํด IP ์ฐํํ ๋ ์ฐ๋ ๊ฒ์ด ๋ฐ๋ก ํฌ์๋ ํ๋ก์๋ผ๊ณ ๋ณด๋ฉด ๋๋ค!
[Note] ํฌ์๋ ํ๋ก์ ์ฅ์
* ํด๋ผ์ด์ธํธ ๋ณด์ (Security)
- ๋ณดํต ์ ๋ถ, ๊ธฐ์ , ํ๊ต ๋ฑ๊ณผ ๊ฐ์ ๊ธฐ๊ด์์ ํด๋น ๊ธฐ๊ด์ ์ํ ์ง์๋ค์ ์ ํ์ ์ธ ์ธํฐ๋ท ์ฌ์ฉ์ ์ํด ๋ฐฉํ๋ฒฝ์ ์ด์ํ๋ค.
- ํด๋น ๋ฐฉํ๋ฒฝ์๋ ํ๋ก์ ๊ธฐ๋ฅ์ด ์์ด ๋ด๋ถ ์ง์๋ค์ด ์ด๋ ํ ์น ์ฌ์ดํธ์ ์ง์ ๋ฐฉ๋ฌธํ๋ ๊ฒ์ ๋ฐฉ์งํ ์ ์๊ณ , URL ํํฐ๋ง์ ํตํด ํน์ ์ฌ์ดํธ๋ก์ ์ ์ ์์ฒด๋ฅผ ์ฐจ๋จํ ์ ์๋ค. (ex. SquidGuard)
→ ๊ณ ๋ฑํ๊ต ์ปดํจํฐ ๊ณผ๋ชฉ ์๊ฐ์ ๊ฒ์ ์ฌ์ดํธ ์ ์ ์์ฒด๊ฐ ์๋์๋ ๊ฒ์ ์๊ฐํด๋ณด์!
* ์บ์ฑ (Caching)
- ์ด๋ค ์น ํ์ด์ง์ ์ ๊ทผํ๋ฉด ํ๋ก์ ์๋ฒ๋ ํด๋น ์น ํ์ด์ง ์ ๋ณด๋ฅผ ์บ์ฑํ์ฌ ์ผ์ ์๊ฐ๋์ ๋ณด๊ดํ๋ค.
- ๋ค๋ฅธ ํด๋ผ์ด์ธํธ๊ฐ ๋์ผํ ์น ํ์ด์ง ์ ๋ณด๋ฅผ ์์ฒญํ ๋, ์น ์๋ฒ์ ์ฌ์์ฒญํ ํ์์์ด ์บ์ฑ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ์ฌ ๋ถํ์ํ ํธ๋ํฝ ๋น์ฉ์ ์ค์ผ ์ ์๋ค.
* ์ต๋ช ์ฑ (Anonymity)
- ํฌ์๋ ํ๋ก์ ์๋ฒ๋ฅผ ํตํด ์น ์๋ฒ๋ก ์์ฒญ์ด ์ ๋ฌ๋๋ฉด ํด๋น ํจํท์ Source IP๋ ํด๋ผ์ด์ธํธ IP๊ฐ ์๋ ํฌ์๋ ํ๋ก์ ์๋ฒ IP ์ฃผ์๊ฐ ์ฌ์ฉ๋๋ค.
- ์ฆ, ํฌ์๋ ํ๋ก์๋ฅผ ํตํด ์์ฒญ์ ๋ณด๋ด๋ฉด ํด๋ผ์ด์ธํธ IP ์ฃผ์๋ฅผ ์จ๊ธธ ์ ์๋ค๋ ๊ฒ์ด๋ค.
โก ๋ฆฌ๋ฒ์ค ํ๋ก์ (Reverse Proxy)
taking requests from the Internet and forwarding them to servers in an internal network.
- ๋ฆฌ๋ฒ์ค ํ๋ก์๋ ํด๋ผ์ด์ธํธ๊ฐ ๋ชฉ์ ์ง ์๋ฒ์ ์์ฒญ ํจํท์ ์ ๋ฌํ ๋ ์ค๊ฐ์์ ํ๋ก์ ์๋ฒ๊ฐ ์์ฒญ์ ๋์ ๋ฐ์ ์ค์ ์๋ฒ์ ์ ๋ฌํ๋ ๋ฐฉ์์ ๋งํ๋ฉฐ ๋คํธ์ํฌ์ ์น ์๋ฒ/WAS ์์ ์์นํ๋ค.
- ๋ฌผ๋ก , ํ๋ก์ ์๋ฒ ์์ด ๋ด๋ถ ์น ์๋ฒ๊ฐ ์ง์ ์๋น์ค๋ฅผ ์ ๊ณตํด๋ ๋์ง๋ง ์ด๋ ๊ฒ ๋ฆฌ๋ฒ์ค ํ๋ก์๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ์ฑํ๋ ์ด์ ๋ ๋ณด์ ๋๋ฌธ์ด๋ค.
- ๋ณดํต ๊ธฐ์ ์ ๋คํธ์ํฌ ํ๊ฒฝ์์๋ ๋ด๋ถ ๋คํธ์ํฌ์ ์ธ๋ถ ๋คํธ์ํฌ ์ฌ์ด์ ์์นํ๋ DMZ ์กด(๋น๋ฌด์ฅ์ง๋)์ด ์๊ณ ํด๋น DMZ ์กด์๋ ์ฃผ๋ก ๋ฉ์ผ ์๋ฒ, ์น ์๋ฒ, FTP ์๋ฒ ๋ฑ ์ธ๋ถ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ์๋ฒ๊ฐ ์์นํ๋ค.
- WAS๋ DB ์๋ฒ์ ์ฐ๋๋์ด ์์ด WAS๊ฐ ํดํน๋นํ ๊ฒฝ์ฐ, DB ์๋ฒ๊น์ง ํดํน๋นํ ์ฐ๋ ค๊ฐ ์๊ธฐ๊ธฐ ๋๋ฌธ์ ๋ณด์์ ์ํด ์ค์ ์น ์๋ฒ๋ ๋ด๋ถ๋ง์ ์์น์ํค๊ณ ๋ฆฌ๋ฒ์ค ํ๋ก์ ์๋ฒ๋ฅผ DMZ ์กด์ ๋๊ฒ ๋๋ค.
[Note] ๋ฆฌ๋ฒ์ค ํ๋ก์ ์ฅ์
* ๋ก๋ ๋ฐธ๋ฐ์ฑ (Load Balancing)
- ๋ค์ด๋ฒ, ๊ตฌ๊ธ, ๋ค์๊ณผ ๊ฐ์ ์น ์ฌ์ดํธ๋ ํ๋ฃจ์๋ ์์ญ, ์๋ฐฑ๋ง๋ช ์ด ๋ฐฉ๋ฌธํ๋๋ฐ ์ด๋ฌํ ๋๋์ ํธ๋ํฝ์ ํ๋์ ์น ์๋ฒ๋ก ์ฒ๋ฆฌํ๊ธฐ์๋ ๋ถํ๊ฐ ๋ฐ์ํ๋ค.
- ๋ฐ๋ผ์, ์น ์๋ฒ๋ฅผ Scale-Out ํ ๋ค์ ์น ์๋ฒ๋ค ์์ ๋ฆฌ๋ฒ์ค ํ๋ก์ ์๋ฒ๋ฅผ ๋๊ณ ํน์ ์น ์๋ฒ๊ฐ ๊ณผ๋ถํ ๋์ง ์๊ฒ ํธ๋ํฝ์ ๋ถ๋ฐฐํ๋ค.
- ๋ก๋๋ฐธ๋ฐ์ฑ ์คํ์์ค ์ค ๋ํ์ ์ธ HAProxy๊ฐ ๋ฆฌ๋ฒ์ค ํ๋ก์๋ผ๊ณ ๋ณผ ์ ์๋ค.
* ์๋ฒ ๋ณด์ (Security)
- ๋ฆฌ๋ฒ์ค ํ๋ก์๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ฉด ํด๋ผ์ด์ธํธ์๊ฒ ์ค์ ์น ์๋ฒ์ IP ์ฃผ์๋ฅผ ๊ฐ์ถ ์ ์์ด ์๋ฒ๋ฅผ ๋ณดํธํ ์ ์๋ค.
- ๋ค๋ง, ์น ์๋ฒ ์ ์ฅ์์๋ ๋ชจ๋ ํด๋ผ์ด์ธํธ ์์ฒญ ํจํท์ Source IP๋ ๋ฆฌ๋ฒ์ค ํ๋ก์ ์๋ฒ IP ์ฃผ์๊ฐ ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์ IP ์ฃผ์๋ฅผ ์ฐจ๋จํ๊ธฐ ์ํด์๋ ๋ณ๋๋ก XFF ํค๋๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค๋ ์ ์ ๊ธฐ์ตํ์!
* ์บ์ฑ (Caching)
- ํฌ์๋ ํ๋ก์์ ์บ์ฑ๊ณผ ๋น์ทํ๊ฒ ๋ฆฌ๋ฒ์ค ํ๋ก์ ๋ํ ์บ์ฑ ๊ธฐ๋ฅ์ ๊ฐ์ง๊ณ ์๋ค.
- ๋ง์ฝ, ์ด๋ค ํ๊ตญ์ ์๋ ์ฌ์ฉ์๊ฐ ๋ฏธ๊ตญ์์ ์ด์ํ๋ ์น ํ์ด์ง์ ๋ฐฉ๋ฌธํ ๋, ๋ฆฌ๋ฒ์ค ํ๋ก์ ์๋ฒ๊ฐ ํ๊ตญ์ ์๋ค๊ณ ๊ฐ์ ํด๋ณด์!
- ํ๊ตญ์ ์๋ ์ฌ์ฉ์๋ ํ๊ตญ์ ์๋ ๋ฆฌ๋ฒ์ค ํ๋ก์ ์๋ฒ์ ํต์ ํ์ฌ ํด๋น ํ๋ก์ ์๋ฒ ๋ด์ ์บ์ฑ๋์ด ์๋ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ ๊ฒฝ์ฐ์ ๋ณ๋๋ก ๋ฏธ๊ตญ์ ์๋ ์น ์๋ฒ์ ์์ฒญํ ํ์๊ฐ ์์ด ๋ ๋น ๋ฅด๊ฒ ์๋ต๋ฐ์ ์ ์๋ค.
* SSL OffLoading
- ํด๋ผ์ด์ธํธ๊ฐ ์น ์๋ฒ์ ํต์ ์ ํ ๋์๋ SSL ์/๋ณตํธํ๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋๋ค.
- ๋ค๋ง, ์น ์๋ฒ๋ ํด๋ผ์ด์ธํธ ์์ฒญ์ ๋ฐ๋ฅธ ๋ก์ง์ ์ฒ๋ฆฌํจ๊ณผ ๋์์ SSL ์/๋ณตํธํ๋ฅผ ์งํํด์ผ ํ๋๋ฐ ์ด๋ ๋ฆฌ์์ค ๋น์ฉ์ ๋ง์ด ์ฌ์ฉํ๊ฒ ๋๋ค.
- ๋ฐ๋ผ์, ๋ฆฌ๋ฒ์ค ํ๋ก์ ์๋ฒ์์ SSL ์/๋ณตํธํ๋ฅผ ์งํํ๊ฒ ๋๋ฉด ์น ์๋ฒ์ ๋ถํ๋ฅผ ์ค์ผ ์ ์๋ค.
(4) ํฌ์๋ ํ๋ก์ vs ๋ฆฌ๋ฒ์ค ํ๋ก์
โ ์๋ ํฌ์ธํธ (End Point)
- Foward Proxy๋ ํด๋ผ์ด์ธํธ๊ฐ ์์ฒญํ๋ End Point๊ฐ ์ค์ ์๋ฒ ๋๋ฉ์ธ์ด๊ณ ํ๋ก์๋ ๋ ์ฌ์ด์ ํต์ ์ ๋ด๋นํด์ค๋ค.
- Reverse Proxy๋ ํด๋ผ์ด์ธํธ๊ฐ ์์ฒญํ๋ End Point๊ฐ ํ๋ก์ ์๋ฒ์ ๋๋ฉ์ธ์ด๊ณ ์ค์ ์๋ฒ์ ์ ๋ณด๋ ์ ์ ์๋ค.
โก ๊ฐ์ถฐ์ง๋ ๋์
- Forward Proxy๋ ํด๋ผ์ด์ธํธ IP ์ฃผ์๊ฐ ๊ฐ์ถฐ์ง๊ธฐ ๋๋ฌธ์ ์์ฒญ์ ๋ฐ๋ ์น ์๋ฒ๋ ํด๋ผ์ด์ธํธ์ ์ ๋ณด๋ฅผ ์ ์ ์๋ค.
- Reverse Proxy๋ ์์ ๋ฐ๋๋ก ์น ์๋ฒ IP ์ฃผ์๊ฐ ๊ฐ์ถฐ์ง๊ธฐ ๋๋ฌธ์ ํด๋ผ์ด์ธํธ๋ ์ค์ ์๋ฒ์ ์ ๋ณด๋ฅผ ์ ์ ์๋ค.
[์ฐธ๊ณ ] ์ฌ์ฉํ๋ ํ๋กํ ์ฝ์ ๋ฐ๋ฅธ ๊ตฌ๋ถ
- ํ๋ก์๋ ์์ฒ๋ผ ํ๋ก์ ์์น์ ๋ฐ๋ผ ๊ตฌ๋ถํ ์๋ ์์ง๋ง ์ฌ์ฉํ๋ ํ๋กํ ์ฝ์ ๋ฐ๋ผ HTTP ํ๋ก์, SOCKS ํ๋ก์๋ก๋ ๊ตฌ๋ถํ ์ ์๋ค.
- HTTP, SOCKS ํ๋ก์์ ๋ํด์ ๋ค์์ ์์ธํ ์์ ๋ณด์!
[Reference]
- https://velog.io/@roo333/Proxy-Server
- https://developer.mozilla.org/ko/docs/Glossary/Proxy_server
- https://bcp0109.tistory.com/194
- https://inpa.tistory.com/entry/NETWORK-%F0%9F%93%A1-Reverse-Proxy-Forward-Proxy-%EC%A0%95%EC%9D%98-%EC%B0%A8%EC%9D%B4-%EC%A0%95%EB%A6%AC
- https://okimaru.tistory.com/7
- https://ee-22-joo.tistory.com/19
๋ฐ์ํ
'๐ป Computer Science > Network' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๊ณต์ธ, ์ฌ์ค, ๊ณ ์ , ์ ๋ IP ์ฃผ์๋ (0) | 2024.03.29 |
---|---|
MTU, MSS, Payload ์ ์ ๋ฐ ํจํท ๋จํธํ ๋์ ๋ฐฉ์ (0) | 2022.08.30 |
SNMP (Simple Network Management Protocol)๋ (0) | 2022.05.22 |