최근에 보안에 신경을 쓰고 있다.
여러 국가에서 내 나스에 자주 접속시도를 한다. 볼 것도 없는데…
그래서, 집 공유기(IPTIME)를 외부에서 접속 가능하도록 사용했었는데 이제 막았다.
얼마 전, ssh 공개키 기반의 접속을 설정한 것과 같이 터널링을 써서 공유기에 접속하도록 변경했다.
링크: https://vividian.net/시놀로지-ssh-보안-공개키-기반-로그인/
이 방법은 집에 공유기가 있고, 공유기에 나스가 물려있을 때 사용하는 방법이다.
원하는 동작
- 외부에서 공유기에 접속하고 싶다.
- ssh 터널링
- 웹브라우저에서 공유기 접속
사전 설정
- 나스에서 SSH 서비스 활성화
- SSH 접속 포트 변경, 20000번대 이후로
- SSH 공개키 기반 세팅
- 공유기에서 SSH 접속포트, 포트포워딩 설정
터널링 설정
Bash
sudo vi /etc/ssh/sshd_config
### 아래 항목 yes로 변경
AllowTcpForwarding yes
sudo synosystemctl restart sshd
sshd_config 파일을 열고, AllowTcpForwarding 항목을 yes로 변경한다.
그리고, sshd 서비스 재시작
터널링으로 ssh 접속
Bash
예:
ssh -L 8080:192.168.0.1:80 <아이디>@<나스 IP or 도메인> -p<포트번호>
입력 예:
ssh -L 8080:192.168.0.1:80 admin@synologyblog.com -p12345
결과:
평소처럼 ssh에 접속 됨
ssh 접속할 때처럼 접속이 된다.
8080: 웹브라우저에서 접속하는 포트이고,
192.168.0.1: 모두가 아는 공유기 접속 주소다. (집에서 접속할 때 내부망)
80: 공유기에 80 포트(웹브라우저)로 접속
그러면, 웹브라우저 켜고, localhost:8080 을 입력하면 아래처럼 접속된다.
8080은 위에 ssh 접속할 때, 작성한 8080과 동일

끝.
예전에는 외부에서 공유기 접속할 때, 간단하 포트 치고 들어갔었는데, 뭔가 불편해졌지만, 뭐 감수해야지. 그런데 아이피타임은 왜 2채널 인증 옵션이 없는지 의아하다. 외부에서 집에 있는 공유기로 접속하는 경우가 많이 없어서인가??