Network - Proxy

우야·2021년 5월 28일
0

리버스 프록시와 포워드 프록시와의 결정적인 차이점은..
"사용자가 요청하는 Endpoint가 어디냐" 에 달려있다.

포워드 프록시

포워드 프록시를 사용하는 경우에는 웹 브라우저 등에 1.2.3.4:8888 로 프록시를 설정하지만, 사용자는 scholar.google.com 을 요청하든 naver.com을 요청하든 자기가 원하는 곳에 데이터를 요청해 브라우저에서 볼 수 있다.

  • 사용자가 요청한 Url을 그대로 proxy를 통해서 해당 server로 전송보내고 받음

리버스 프록시

리버스 프록시는 사용자의 Endpoint가 리버스 프록시의 Domain Name이 된다. 사용자는 항상 리버스 프록시의 주소인 reverse.proxy.com 과 같이 요청하게 되고, 리버스 프록시는 back-end 단에 있는 여러 서버들 중 하나로부터 응답을 받아와 사용자에게 반환하게 된다.

  • 사용자는 reverse proxy Url로 보내면 proxy에서 해당 server로 전송보내고 받음

Docker Daemon에 Proxy 적용

사용 이유?

  • 온프리미스 서버를 관리하다보면 외부로부터 공격을 받을 수 있다.
  • 방화벽 설정이나, 솔루션을 구축하는건 빡시고..
  • 어떤 보안 조치를 해야 할까?
  • 일단 서버들의 외부 연결 인터넷을 끊어보자!
    VM2개로 테스트
    • VM 1 :
      • 외부에서 접속을 막으려는 VM
      • Docker daemon이 떠있음
      • VM 2(Proxy)를 사용하는 VM
        • Docker 설정 파일에 VM2 ip 및 Squid server port를 작성 ( /etc/default/docker)
        • export http_proxy="http://192.168.99.100:8080/"
    • VM 2 :
      • 외부로 통신이 가능한 VM,
      • docker image down
      • apt-get 접속등이 가능
      • Proxy server(Squid)가 있는 VM

설정
먼저 Proxy Server 설정을 한다.

  • VM 2 :
    • Squid 설치
    • vi /etc/squid/squid.conf
    • http_access allow all을 추가
    • http_port 8080 추가
    • service squid restart

그리고, Proxy Server 사용 설정을 한다.

  • VM 1 :
    • vi /etc/default/docker
    • VM2 ip 및 Squid server port를 작성
    • Docker search 동작으로 외부 접속 확인
  • VM 1에서 Docker Container에서 외부 접속 방법
profile
Fullstack developer

0개의 댓글

관련 채용 정보