NAS

사내 NAS 도입 (8) - 역방향 프록시

GRONG 2023. 1. 19. 15:53

역방향 프록시 썸네일

이번 포스팅에서는 저번 포스팅에 이어서 [역방향 프록시]를 통해 보안을 강화해 보도록 하겠습니다

저번 포스팅에서 80번 포트를 닫았으니 저희에겐 아직 443, 5001 포트가 열려있습니다
5001 포트는 시놀로지를 쓰는 모든 사람들이 공통으로 사용하게 되는 포트이므로
모든 방문자들을 기꺼이 환영할 마음이 아니라면 열어둘 필요가 없습니다

하지만 5001번 포트는 시놀로지에서 DSM 사용을 위해 예약해둔 포트인데 이걸 닫는다니?
평범하게 Iptime 공유기에서 닫아버리면 아예 접속을 못합니다

이때 [역방향 프록시] 기능을 활용하면 5001번을 닫으면서도 접속은 가능하게 만들 수 있습니다

원래 이름.synology.me:5001처럼 포트 번호를 붙여야 접속을 해야 가능했던 걸 
간단하게 이름.synology.me로 접속이 가능한 거죠
(정확히는 앞에 https://를 붙여줘야 합니다!)

보안도 좋아지면서, 포트 번호도 생략 가능하니 아주 좋은 기능입니다👍

역방향 프록시

시놀로지 번역상 역방향 프록시이지만 통용되는 말은 리버스 프록시입니다

리버스 프록시가 없을 때 개략적으로 지금 저희의 포트 상황을 보자면
사용자가 인터넷으로 5001을 통해 요청하면 주문을 처리해 주는 형태입니다

리버스 프록시 없는 네트워크

이러니 5001을 닫아버리면 접근이 불가능한 거죠

여기서 리버스 프록시를 설정하면 주문접수원을 하나 두게 됩니다

규칙 없는 리버스 프록시 환경

이제 5001번으로 주문이 안 되는 것을 알았으니 주문 방법을 바꿔야겠죠?

내부망이 규칙을 모르는 네트워크 환경

이때 리버스 프록시는 443으로 주문이 오면 자동으로 내부망에 특정 주문이 왔다고 전달해 줍니다
하지만 이 특정 주문이 뭔지 정해준 적이 없으니 지금은 리버스 프록시가 전달을 해줘도 내부망은 알아듣지를 못합니다

이 특정 주문의 규칙을 정하는 게 지금 저희가 할 역방향 프록시 설정입니다

역방향 프록시 설정

역방향 프록시 메뉴 들어가기

[제어판] - [로그인 포털] - [고급] - [역방향 프록시]를 클릭해 줍니다

역방향 프록시 생성 버튼
역방향 프록시 규칙 설정

  • 프록시 이름 : 맘대로 하시면 됩니다
  • 소스
    • 프로토콜 : HTTPS
    • 호스트 이름 : 발급받은 DDNS
    • 포트 : 443
  • 대상
    • 프로토콜 : HTTPS
    • 호스트 이름 : localhost
    • 포트 : 5001

중간에 [HSTS 활성화] 잊지 마시고 [저장]해주세요

이렇게 443으로 주문이 오면 내부망의 5001로 주문이 가게 규칙을 만들었습니다

내부망과 리버스 프록시 모두 규칙이 뭔지 알았으니 이제 443으로 주문을 받아보죠

규칙이 완성된 리버스 프록시 환경

규칙이 생성된 이후로는 443으로 주문이 들어오면 리버스 프록시가 알아서 내부망에 5001로 전달하고
내부망에서는 이제야 알아듣기 때문에 요청한 사항을 전달해주게 됩니다

이제 5001 포트를 통해 주문이 들어오는 일은 없을 테니 5001 포트는 지워도 되겠죠?

5001 포트 닫기

※주의 : 역방향 프록시 설정이 안 된 상태로 5001을 닫아버리면 접속이 아예 안됩니다!

저번 80번 포트를 닫은 것과 과정이 동일합니다

5001번 포트 삭제

포트포워딩 관리 페이지에 들어가서 열었던 5001 포트를 지워주시면 됩니다

DDNS 접속해 보기

이제 주소창에 이름.synology.me:5001을 치시면 접속이 안될겁니다
https://이름.synology.me:5001도 마찬가지구요

synology.me:5001 검색

5001 포트는 저희가 닫아버렸으니까요

synology.me:5001 검색 결과

하지만 이름.synology.me라는 링크는 들어가질 겁니다

synology.me 검색

안되면 https://이름.synology.me를 쳐보세요!

저희는 역방향 프록시 자체를 https로 신청했기 때문에
모바일이나 데스크톱 등 환경에 따라 브라우저 자체에서 https를 붙여주는 게 아니면 https://를 붙여서 써줘야 합니다

쨔란, 이제 5001번을 붙이지 않아도 접속이 가능합니다!👏👏👏

synology.me 검색 결과

더 많은 활용법

  • 시놀로지 파일 스테이션에 접근할 때 file.example.synology.me와 같은 링크로 접속하게 만들 수 있습니다
  • 도커에서 돌아가고 있는 Gitea에 접근할 때 gitea.example.synology.me와 같은 링크로 접속하게 만들 수 있습니다
  • 기타 등등 ~~~

이런식으로 어떤 서비스에 접근하는 예쁜 주소를 만들 수 있어요!

다음 글에서는 Gitea를 설치하기 위해 필요한 Docker와 Portainer의 설치를 진행해볼게요

 

사내 NAS 도입 (9) - Docker, Portainer 설치

이번 포스팅부터는 시놀로지 NAS에 Docker 및 Portainer를 통해 Gitea를 설치해보려고 합니다 그러려면 당연히 Docker와 Portainer가 필요하겠죠? Docker, Portainer가 뭔지 필요한 부분만 알려드리면서 설치를

devgrong.tistory.com


※야매 리버스 프록시 설명 말고 더 기술적인 설명이 필요하신 분들은

 

[WEB] 🌐 Reverse Proxy / Forward Proxy 정의 & 차이 정리

프록시(Proxy) 란? 프록시 서버는 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해 주는 컴퓨터 시스템이나 응용 프로그램을 가리킨다. 프록시(Proxy)란 '대리'

inpa.tistory.com

굉장히 정리가 잘 된 글이 있으니 참고하세요!


도움이 됐으면 좋겠습니다!
질문, 지적 댓글 달아주세요!

좋은 하루 보내세요 :)