Skip to main content

내 Transmission 서버를 안전하게, ID/Password 인증 활성화하기

·376 words·2 mins
미뇽
Author
미뇽
안녕하세요! 기술로 세상을 이롭게 만들고 싶은 개발자 미뇽입니다.
Table of Contents

Docker를 이용해 Transmission과 같은 개인 서버를 구축하고 외부 네트워크에서 접속하여 사용하는 것은 매우 편리한 경험입니다. 하지만 별도의 보안 설정을 하지 않으면, 나의 서버에 누구나 접속할 수 있는 상태가 되어 잠재적인 위험에 노출될 수 있습니다.

오늘은 이러한 위험을 방지하기 위해, 가장 기본적이면서도 필수적인 보안 조치인 ID/Password 인증 기능을 활성화하는 방법을 안내해 드리고자 합니다. linuxserver/transmission Docker 이미지를 사용하고 계신다면, 아주 간단한 설정 변경만으로 서버의 보안을 크게 강화할 수 있습니다.

인증 기능, 왜 필요한가요?
#

Transmission 웹 인터페이스에 인증 기능을 설정하는 것은 내 서버의 ‘문’에 ‘자물쇠’를 채우는 것과 같습니다. 인증 기능이 없다면, 서버의 IP 주소와 포트 번호를 아는 사람은 누구나 접속하여 아래와 같은 작업을 할 수 있습니다.

  • 내가 다운로드하는 파일 목록 확인

  • 진행 중인 토렌트 임의로 중지 또는 삭제

  • 악의적인 파일을 서버에 추가

이러한 무단 접근을 막고 오직 허가된 사용자만 접속할 수 있도록 하는 것이 바로 ID/Password 인증의 핵심 목적입니다.

docker-compose.yml 환경 변수로 인증 활성화하기
#

linuxserver/transmission 이미지는 사용자의 편의를 위해, 복잡한 설정 파일을 직접 수정하지 않고도 docker-compose.yml 파일에 환경 변수(Environment Variables) 를 추가하는 것만으로 손쉽게 인증 기능을 켤 수 있도록 지원합니다.

docker-compose.yml 파일에 USER 및 PASS 환경 변수 추가

Transmission 컨테이너를 실행하는 데 사용하는 docker-compose.yml 파일을 텍스트 편집기로 엽니다. services > transmission > environment 섹션에 아래와 같이 USER와 PASS 변수를 추가하고, 원하시는 ID와 Password를 입력합니다.

# ~/docker/transmission/docker-compose.yml

services:
  transmission:
	image: linuxserver/transmission:latest
	container_name: transmission
	# ... (기타 다른 설정들) ...
	environment:
	  - PUID=1000
	  - PGID=1000
	  - TZ=Asia/Seoul
	  - USER=my_secure_user      # 👈 여기에 원하는 사용자 아이디를 설정하십시오.
	  - PASS=MyComplexPassword123! # 👈 여기에 강력한 비밀번호를 설정하십시오.
	# ... (volumes, ports, labels 등 나머지 설정) ...
	restart: unless-stopped

컨테이너 재시작

수정한 docker-compose.yml 파일을 저장한 후, 아래 명령어를 실행하여 변경사항을 적용합니다. 컨테이너가 새로운 환경 변수 값을 읽어 다시 시작됩니다.

docker-compose up -d

설정 적용 원리
#

USERPASS 환경 변수를 추가하고 컨테이너를 실행하면, linuxserver/transmission 이미지의 시작 스크립트는 내부적으로 Transmission의 핵심 설정 파일인 settings.json의 다음 항목들을 자동으로 변경합니다.

  • rpc-authentication-required: true (인증 사용 활성화)

  • rpc-username: USER 환경 변수에 입력한 값

  • rpc-password: PASS 환경 변수에 입력한 값 (암호화되어 저장됨)

이처럼 복잡한 내부 동작을 신경 쓸 필요 없이, 사용자는 단지 환경 변수 두 줄을 추가하는 것만으로 인증 기능을 활성화할 수 있습니다.

이제 Transmission 웹 인터페이스에 접속하면 사용자 아이디와 비밀번호를 묻는 로그인 창이 나타날 것입니다. 설정하신 ID와 Password를 입력해야만 정상적으로 접근할 수 있습니다. 이 간단한 조치만으로도 여러분의 서버는 한층 더 안전해졌습니다.


참조