IT이야기/시놀로지

시놀로지 나스 방화벽 설정하는 최선의 방법

어쩌다보니여기까지~ 2024. 2. 14. 22:33
반응형

Synology NAS를 사용하고 있다면 방화벽을 꼭 설정해야 합니다. 방화벽을 설정하지 않으면 인터넷에 연결된 NAS는 더 이상 당신의 것이 아니라 해커들의 놀이터가 될 것입니다. 만약 NAS에 중요한 정보가 저장되어 있다면 그 정보가 도난당하는 것은 시간 문제일 뿐입니다. 집에서 사용 중이라면 공유기와 함께 Synology NAS에 보안을 적용하는 것이 필요합니다.

전체 구성도

대략적인 전체 구성도는 다음과 같습니다.

방화벽 구성도

  1. 시놀로지 나스 방화벽 설정 : 방화벽을 설정하여 외부에서 오는 80, 443 포트만 접근할수 있게 합니다.
  2. 공유기 포트 포워딩 설정 : 외부에서 들어오는 80, 443 포트만 시놀로지 나스로 포트 포워딩 합니다.
  3. DDNS 설정 : 시놀로지 나스에서 DDNS를 설정합니다.
  4. 시놀로지 나스 역방향 프록시 설정 : 서브 도메인으로 시놀로지 나스 서비스에 접근할수 있게 설정합니다.

1. 시놀로지 나스 방화벽 설정

방화벽 설정 방법은 사람마다 다를 수 있지만, 포트 개방을 최소화하고 서브 도메인에만 액세스를 허용하기 위해 역방향 프록시를 설정 합니다. 먼저 Synology 제어판의 보안 항목에서 방화벽을 활성화합니다.

  1. 방화벽을 활성화 합니다.
  2. 방화벽 알림 활성화를 해제 합니다.
  3. 규칙 편집 버튼을 눌러서 방화벽 규칙을 작성합니다.

일단 포트나 소스IP를 모두 막아서 아무도 접근하지 못하게 막아놓은 다음 내부는 모두 허용해 주어서 편의성을 높이고 외부는 딱 필요한 2개의 포트(80, 443)만 열어주어서 보안을 강화하는 식입니다.

일단 아래와 같이 포트나 소스IP를 모두 막습니다.

  1. 생성 버튼을 클릭합니다.
  2. 포트에서 모두를 선택합니다.
  3. 소스IP에서도 모두를 선택합니다.
  4. 그리고 선택한 것을 거부 합니다.
  5. 확인을 클릭해서 저장합니다.

그리고 내부에서 내부로의 접근은 모두 허용을 합니다.

  1. 생성 버튼을 클릭합니다.
  2. 이번엔 소스 IP에서 특정 IP를 체크합니다.
  3. 서브넷을 선택해서 내부망을 모두 선택하도록 합니다.
  4. IP주소는 공유기에서 사용하는 내부 IP체계를 입력합니다. (예 : 192.168.20.0) 마지막을 0으로 입력하면 내부 IP를 대표하게 됩니다.
  5. 서브넷 마스크를 255.255.255.0으로 입력합니다.
  6. 확인을 눌러 저장합니다.

이제 마지막으로 외부에서 들어오는 포트 딱 2개만 오픈 합니다. http 포트인 80https 포트인 443만 오픈합니다.

  1. 생성 버튼을 클릭합니다.
  2. 포트에서 사용자 지정을 선택합니다.
  3. 사용자 지정 버튼을 클릭합니다.
  4. 포트를 쉼표로 구분해서 80, 443을 입력합니다.
  5. 확인을 눌러 저장합니다.

위와 같이 3개의 규칙이 되어있다면 정상적으로 설정한 것입니다. 순서도 중요합니다. 가장 아래쪽에 모두 거부가 있어야 하고 허용되는 규칙은 그 위에 올라와 있어야 합니다.

이제 이 시놀로지 나스는 외부에서 접근할때는 웹브라우저의 주소창을 이용해서 http와 https로만 접근이 가능합니다.

2. 공유기 포트 포워딩 설정

외부에서 DDNS로 공유기로 접근을 할 경우 http인 경우 80포트로 포워딩을 시켜주고 https인 경우 443포트로 포워딩하는 설정을 해 줍니다.
저는 IPtime를 사용하므로 IPtime로 설명해 보겠습니다.

  1. 고급설정의 NAT/라우터 관리 > 포트포워드 설정을 선택합니다.
  2. https(443 포트)로 접근하는 경우 내부 시놀로지 나스의 IP주소의 443 포트로 연결을 설정합니다.
  3. http(80 포트)로 접근하는 경우 내부 시놀로지 나스의 IP주소의 80 포트로 연결을 설정합니다.
  4. 위의 2번이나 3번을 선택하면 세부설정을 할 수 있습니다. 내부 IP주소는 시놀로지 나스의 IP 주소입니다.
  5. https로 접근할 경우 포트번호를 별도로 작성하지 않아도 자동으로 443포트가 지정되어 있습니다.
  6. 그럴경우 시놀로지 나스 IP의 443포트로 연결을 시켜줘라는 설정입니다.

시놀로지 나스를 위한 포트 포워딩은 이 2개의 설정만 있으면 됩니다.

3. 시놀로지 나스 DDNS 설정

역방향 프록시를 사용하기에 앞서 먼저 DDNS를 설정해야 합니다. DDNS는 외부에서 웹브라우저를 사용해서 숫자로 되어 있는 IP주소가 아니라 문자로 되어 있는 도메인으로 시놀로지 나스에 접근할 수 있게 해줍니다.

개인이 구매한 도메인을 사용 할 수도 있지만 시놀로지에서 제공해 주는 무료 서브 도메인을 사용해도 됩니다.

  1. 먼저 제어판에서 외부 액세스 메뉴를 선택합니다.
  2. DDNS 탭을 선택합니다.
  3. 추가 버튼을 클릭합니다.
  4. 다양한 서비스 공급자가 있지만 여기서는 무료로 사용할 수 있는 Synology를 선택합니다.
  5. 시놀로지에서는 다양한 도메인을 제공해 주고 있는데, 마음에 드는것을 선택하시면 됩니다.
  6. Synology계정을 사용하여 연결합니다.
  7. 연결테스트를 눌러서 상태가 정상적으로 연결이 되는지 확인해 봅니다.

여기서는 na.myds.me로 등록했다고 가정 합니다. 이제 외부에서 웹브라우저를 통해 http://na.myds.me를 입력하면 시놀로지 나스에 접속이 됩니다.

4. 시놀로지 나스 역방향 프록시 설정

이제 마지막으로 역방향 프록시를 설정하면 됩니다.

DSM 도메인 설정

역방향 프록시를 설정하기 전에 먼저 DSM을 접속할수 있게 설정을 해야겠지요?

  1. 로그인 포털 메뉴를 선택합니다.
  2. DSM 텝을 선택합니다.
  3. DDNS에서 설정한 na.myds.me의 앞쪽에 임의의 주소를 설정합니다. 여기서는 dsm을 지정해 봅니다. ( dsm.na.myds.me )
  4. HSTS를 선택합니다. HSTS는 http로 접근할경우 자동으로 https의 보안프로토콜로 자동연결됩니다.

웹브라우저에서 시놀로지 나스로 연결할 경우 원래는 https://na.myds.me:5009로 접속해야하는데, 위와 같이 설정하면 https://dsm.na.myds.me로 뒤에 포트 번호 없이도 접속을 할 수 있습니다.

응용프로그램 도메인 설정

응용프로그램에 대해서도 포트 번호 없이 도메인으로 접속을 할 수 있습니다.

  1. 로그인 포털 메뉴를 선택합니다.
  2. 응용 프로그램 탭을 선택합니다.
  3. 각각의 응용프로그램별로 도메인을 설정합니다. (이름은 임의로 작성하면됩니다.)
    1. Audio Stationaudio.na.myds.me 로 설정을 합니다.
    2. Video Stationvideo.na.myds.me 로 설정을 합니다.
    3. Download Stationdownload.na.myds.me 로 설정을 합니다.
    4. File Stationfile.na.myds.me 로 설정을 합니다.
    5. ... 계속 설정할 수 있습니다.

역방향 프록시 설정

드디에 역방향 프록시 설정이네요..

  1. 고급 탭을 선택합니다.
  2. 역방향 프록시 버튼을 선택합니다.

기존에 제가 설정하여 사용하는 도메인을 먼저 살펴보겠습니다.

  1. ha는 시놀로지의 버츄얼머신으로 돌리고 있는 Home Assistant 를 도메인으로 연결해 줍니다.
  2. strapidb는 시놀로지의 도커로 돌리고 있는 헤드리스CMS의 DB주소와 포트를 도메인으로 연결해 줍니다.
  3. strapi는 시놀로지의 도커로 돌리고 있는 헤드리스CMS의 Admin 주소와 포트를 도메인으로 연결해 줍니다.
  4. Webdev는 시놀로지의 webdev를 도메인으로 연결해 줍니다.

이중에서 webdev를 한번 살펴보도록 하겠습니다.

  1. 일반 탭을 선택합니다.
  2. 역방향 프록시 이름을 임의로 설정합니다. 여기서는 webdev로 설정했습니다.
  3. 소스는 입력이라고 보시면 됩니다. 보안접속인 https의 webdev.na.myds.me로 들어오는 경우
  4. https이니 443 포트를 선택합니다.
  5. HSTS를 활성화를 해서 http로 접속해도 강제로 https로 연결되도록 설정합니다.
  6. 대상은 시놀로지 나스의 Webdev로 연결해 주시면 됩니다. Webdev는 내부에서도 https이므로 https로 선택합니다.
  7. 호스트이름은 시놀로지 나스의 IP번호를 입력합니다.
  8. 포트는 Webdev에 할당된 포트번호를 입력합니다.

다른 서비스도 이런식으로 설정하면 됩니다.

여기까지 끝~~