ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • squid proxy 를 활용한 object storage 접근 제어
    HOWTO 2020. 1. 29. 09:37

    특정 IP 만 object storage 에 접근하도록 설정하고 싶을 때 squid proxy 를 활용할 수 있다. 

    아래 링크에도 나오지만 폐쇄망에 존재하는 서버들이 object storage 또는 Yum repo 에 접근해야 할 때 참고할 수 있는 구성이다. 

     

    설치와 구성방법은 간단하다. 먼저 squid proxy 용도로 사용할 서버를 생성하고 object storage 에 접근할 수 있도록 Security Group 을 설정하고 아래와 같이 squid proxy 패키지를 설치한다. 

     

    필자의 경우에는 네이버클라우드플랫폼에 서버를 만들었고, object storage 에 접근할 때 squid proxy 를 통과하는지 확인하는 테스트 환경을 구성했다. 

     

    1. Client 서버와 Squid Proxy 서버 생성 

    • Client 서버 (squid proxy 를 통해 object storage 에 접근해야 하는 서버) : 10.45.XX.XX
    • Squid proxy 서버 : 10.41.XXX.XXX
    • object storage endpoint : kr.object.ncloudstorage.com

     

    2. squid proxy 패키지 설치 (CentOS7 사용)

          # yum install epel-release -y

          # yum install squid -y

          # systemctl start squid

          # systemctl enable squid

    3. squid proxy 설정

          # vi /etc/squid/squid.conf

            ->> 아래와 같이 룰 추가 

      • acl localnet src 10.45.XX.0/24 # client server // squid proxy 를 통해 object storage 접근을 시도하는 서버 IP (source)

      • acl s3 dstdom_regex .*object\.ncloudstorage\.com  // ncloud object storage 접근 룰 허용

      • http_access allow localnet s3  //http access 허용

    >> 설정 예제

     

    4. Client 서버에 proxy 설정

    http , https 프로토콜에 대해서는 squid proxy 서버로 통신할 것에 대한 설정을 추가함 

    squid proxy 는 3128 포트로 통신하기 때문에 squid proxy 서버의 security group 에 3128 inbound 가 허용되어야 한다. 

    또한 proxy.sh 설정 이후 ssh 로그아웃/로그인을 다시해야 export 설정이 적용된다. 

          # vi /etc/profile.d/proxy.sh  -> proxy.sh 없을 경우 신규로 생성

     

    이제 squid proxy 사용을 위한 설정은 완료되었다. client 서버에서 object storage 로 접근할 때 squid proxy 를 통과하는지 확인해 보도록 한다. 

     

    Client 서버에서 object storage 에 업로드 한 파일을 Curl 로 호출해 본다. 

      # curl -v https://kr.object.ncloudstorage.com/bucketXX/vpntest/index.html -l

    object storage 의 주소를 호출했으나 proxy 서버인 10.41.1XX.1XX IP 로 접속을 시도한 후 http proxy tunnel 을 통해 object storage 에 접근하는 것을 확인할 수 있다. 

     

    Squid proxy 서버에서 access log 를 확인해 보면 client 서버 IP 인 10.45.XX.XX 에서 squid proxy 에 접근한 로그를 확인할 수 있다. 

      # tail -f /var/log/squid/access.log

     

    반응형

    댓글

Designed by Tistory.