역방향 프록시(Reverse Proxy)를 사용하면 NAS에서 외부로 노출하는 포트를 최소화할 수 있으므로 보안성이 향상됩니다. 다음과 같은 간략한 장점을 얻을 수 있습니다:
- 보안 강화: 외부에서 직접적으로 NAS에 접근하는 것을 방지하고, 역방향 프록시를 통해 통신하므로 서버의 실제 IP 주소를 감출 수 있습니다. 이는 보안 측면에서 중요한 요소로 작용하며, 악의적인 공격자들이 직접적인 서버 접근을 시도하는 것을 어렵게 만듭니다.
- 부하 분산: 역방향 프록시는 여러 대상 서버 사이에 클라이언트 요청을 분산시켜줍니다. 이를 통해 부하를 분산시켜 서버의 성능과 가용성을 향상시킬 수 있습니다. 또한, 추가 서버를 도입하여 확장성을 갖출 수 있습니다.
- SSL/TLS 암호화: 역방향 프록시는 HTTPS 프로토콜을 지원하여 인터넷 연결을 암호화할 수 있습니다. 이는 클라이언트와 프록시, 프록시와 서버 간의 통신에 SSL/TLS 암호화 계층을 추가함으로써 데이터의 안전성을 보장합니다.
- 웹 응용 프로그램 가속화: 역방향 프록시는 캐싱을 통해 반복되는 요청에 대한 응답을 저장하여 성능을 향상시킵니다. 이를 통해 서버 부하를 줄이고, 대역폭을 절약할 수 있습니다.
- 유연한 라우팅 및 제어: 역방향 프록시는 다양한 라우팅 규칙을 설정하여 트래픽을 제어할 수 있습니다. 예를 들어, 특정 도메인 또는 경로에 대한 요청을 특정 서버로 라우팅하거나, 로드 밸런싱을 통해 서버 간의 트래픽을 균형있게 분배할 수 있습니다.
NGINX Proxy Manager는 이러한 역방향 프록시의 장점을 쉽게 활용할 수 있는 도구입니다. 그래서 NAS Docker 컨테이너에 설치하여 네트워크 보안을 강화하고, 성능을 최적화할 수 있습니다.
먼저 큐냅에서 NPM 설치하려면 위 링크를 참고하여 설치하십시오.
원하는 대응 포트를 자유롭게 선택할 수 있습니다. 여기서 8080은 일반적으로 NAS에서 사용되는 HTTP 포트(보통 80이나 8080)를 의미하고, 4443은 HTTPS 포트(일반적으로 443)를 의미합니다. 또한, 8181은 NPM의 설정 페이지에 접속하기 위한 포트입니다. 포트는 도커 이미지에 따라 다를 수 있습니다.
외부에서 접속하기 위해 공유기에서 두 개의 포트를 열어야 합니다. 이때, 열린 포트는 8080과 4443에 해당하는 포트입니다. 예를 들어, 공유기에서 포트 포워딩을 설정하려면 각각의 외부 포트를 8080(HTTP)과 443(HTTPS)으로 설정하고, 내부 포트를 49154와 49160으로 설정하면 됩니다. 외부에서 HTTPS만 사용할 것이라면 443만 열어도 됩니다.
만약 혼란스러우시다면, NPM의 기본 포트와 동일하게 대응 포트를 설정하시면 됩니다.
NPM 설정 페이지에 접속하기 위해 admin@example.com (기본 관리자 계정)과 비밀번호인 changeme을 입력하고 로그인합니다. 그러면 비밀번호 변경 안내가 표시됩니다. 원하는 새로운 비밀번호로 변경해 주세요.
Proxy hosts 섹션에서 역방향 프록시를 설정할 수 있습니다. 오른쪽 상단에 "Add Proxy Host"를 선택하고, 필요한 정보를 입력하여 역방향 프록시를 구성할 수 있습니다. 이 과정에서 개인 도메인이 필요합니다.
또한, SSL 섹션으로 이동하면 SSL 인증서를 쉽게 받을 수 있습니다. 이를 통해 HTTPS를 사용하는 역방향 프록시를 설정할 수 있습니다.
주의해야 할 점은 큐냅이나 시놀리지 NAS와 같이 자체 도메인 및 SSL 인증이 이미 설정되어 있는 경우입니다. 이 경우, 중복되지 않도록 자체 DDNS 및 SSL 인증 기능을 비활성화해야 합니다. 그리고 외부에서 접속이 필요한 경우에는 NPM을 통해 개인 도메인으로 홈페이지 접속 포트를 설정하고 SSL 인증을 받을 수 있습니다.
또 다른 주의 사항은 자체 도메인을 사용하지 않을 경우, 기본적으로 NAS에서 제공하는 앱(예: 사진 앱, 파일 앱 등)에서 로그인이 작동하지 않을 수 있습니다. 이는 본인이 모든 앱을 도커로 대체할 계획이라면 크게 문제 되지 않지만 혼용해서 사용한다면 문제가 발생할 수 있습니다. 다만 예외로 큐냅의 경우 동기화 솔루션인 Qsync는 제대로 작동하는 것을 확인했습니다.
요약하자면, 시놀리지 NAS나 큐냅과 같은 자체 도메인 및 SSL 인증이 이미 설정되어 있는 경우, NPM을 사용하여 개인 도메인으로 SSL 인증을 받아야 합니다. 그러나 시놀리지 NAS의 기본 앱들은 해당 설정을 통해 작동하지 않을 수 있으며, 동기화 솔루션인 Qsync를 제외한 다른 앱들은 복합 사용 시 문제가 발생할 수 있습니다.
'> Server' 카테고리의 다른 글
만화 및 이북 뷰어 Kavita (0) | 2023.05.18 |
---|---|
Gluetun을 사용한 Docker 컨테이너의 VPN 및 킬 스위치 설정 (0) | 2023.05.17 |
무료 도메인 DuckDNS를 활용한 SSL 인증과 DDNS 설정 가이드 (1) | 2023.05.17 |
큐냅(QNAP) 나스의 컨테이너 스테이션 활용 가이드 (0) | 2023.05.17 |
나스(NAS) 보안을 강화하는 9가지 핵심 권고사항 (0) | 2023.05.16 |