분류

2021년 10월 31일 일요일

첫 nas 구매 7. 보안 향상을 위해 허용 국가 설정하기.

 개요 

nas4dual을 구매하고 사용한지 어느 덧 한달이 다 되어갑니다. 처음 20%에 불과했던 cpu 사용율은 어느새 점점 증가하고 40%나 되고,  실제 제가 사용하지 않을 때 에도 network사용율이 높아지는 것으로 보아 점점 해킹 시도가 늘어가는 것 같습니다. 

처음에는 NAS의 포트를 자동 허용하는 UPNP를 사용했었으나, 여러 포트가 telnet을 통해 인터넷에 연결되고 있는 것을 확인하고 보안은 어렵구나 하고 그냥 dmz으로 설정해버렸습니다. 하지만 이건 최악의 선택이었습니다. 

dmz으로 옮기고 nas의 cpu 사용율이 꾸준히 40%를 유지했는데 원인은 해킹을 위한 탐지가 계속 되었기 때문 입니다.  그러다 문득 nas4dual 관리자 기능에 국가차단/허용 국가 설정이 있다는 것을 깨달았습니다. 

최선책은 nas에 대한 port forwarding 설정을 통해 최소 포트만 허용해주는 것입니다. 

그게 어려울 경우 경우 차선책에 대한 설명입니다. 


1. 실제 침입 시도가 있는가

IP테이블을 통해 중국을 차단해보았는데 침입을 시도하기 위해 IP 탐색을 하는 횟수가 일 약 1500회를 넘습니다.  nas4dual에서는 /var/logs 폴더 밑에 ip 테이블을 통해 차단된 ip에 대한 기록이 남습니다. .nasklog라는 파일이 주로 nas에서 ip의 목록이 남게 됩니다.  그중 하나만 샘플로 가져와보면 아래와 같습니다. 

2021.10.31. PM 10:12:33 [54623.686646] iptables:dropped: IN=bond0 OUT= MAC=90:9f**:00 SRC=27.***.***.159 DST=192.168.0.104 LEN=52 TOS=0x00 PREC=0x00 TTL=111 ID=40851 DF PROTO=TCP SPT=64631 DPT=50563 WINDOW=64240 RES=0x00 SYN URGP=0

iptables:dropped :   ip테이블을 통해 차단되었다.
IN= 요청이들어온 인터페이스 
OUT= 응답한 인터페이스 맥어드레스
SRC=요청자 IP
LEN 패킷 길이 등등이 기재되어있습니다. 

현재는 중국만 차단하고있습니다만. 중국을 통해 들어오는 녀석들이 수도 없는 걸로 봐선 다른 나라도 차단해야겠습니다. 알리바바 클라우드를 통해 유입되는 녀석들이 가장 많긴 하지만 중국만 그런 짓을 하는 것은 아닙니다. 클라우드는 어디든 있으니까요. 

ip2nation.com을 이용한 국가 정보 확인


2. 해킹은 어떤 순서로 이루어지는가 

해커들이 보편적으로 별다른 기술 없이 공유기나 NAS 서버에 접속하는 방법을 짧게 설명하면 이렇습니다. 

1) ip 무작위 탐색 

ping 명령을 통한 ip 대역이 열려있고 응답 가능한 서버를 탐색 (보통 스캔 프로그램 사용)


2) 해당 서버에 보안 취약점 검색 

무작위 ping에서 응답이 발생한 서버에 대해 보안 취약점 탐색 도구를 통해 보안 취약 포트, 프로토콜 정보 탐색 

3) 보안 취약점 공격 

공격 대상 ip와 포트가 정해지면 id와 패스워드를 무작위 입력하는 프로그램을 돌리거나 정해진 규칙을 통해 보안 취약점을 공격해 시스템 환경파일로 위장한 파일을 설치합니다. 

4) 해당 서버 사용 권한 획득 

공격을 통해 알아낸 계정이나 파일 전송을 통해 심어 놓은 악성 코드로 ip와 계정을 만들거나 알아내어 이것으로 사용 권한을 획득합니다. 


5) 악용 

자료 유출 이외에는 요즘은 가장 많이 본 해킹이 비트코인 채굴기를 돌립니다. 특정 서버에 접속해서 전달 받는 암호화 코드를 푸는데 모든 cpu와 gpu를 사용하게 만듭니다. 그 외에 ddos 같은 공격에도 사용될 수 있습니다. 

회사 서버가 비트코인 채굴기 설치를 두 번 당했는데 그중 한번은 비밀번호를 설정하지 않은 계정이 있어서 였고, 두 번째는 root 계정의 비밀번호가 털린 케이스였습니다. telnet이나 ssh를 열어 놓으면 특히 더 자주 당합니다. 


3. 그래서 해킹은 어떻게 방지하나

해킹은 어떤 식으로든 보안 취약점을 찾아내서 하는 공격이기에 라우터(공유기) 외부의 인터넷에서 접속을 최소화 하는 것이 가장 좋은 방법입니다. 하지만 ipdisk는 특성이 인터넷 망에 공유를 하는 것이 기본이므로, 인터넷에 노출 시키지 않을 수 없습니다. 이런 상황에서는 접속할 수 있는 특정 ip만 허용하는 것이 원칙입니다. 

하지만 torrent 와 같은 공유 프로그램을 사용할 경우 이것마저 거의 불가능해지는 것이 현실입니다. 따라서 ip디스크에는 보안에 위배되는 자료는 절대로 놓지 않아야 합니다. 

인터넷에 공개돼도 상관 없는 자료만 갖고 있다 하더라도 cpu와 memory 활용을 위한 공격이 있으므로 사용할 수 있는 국가를 한정하여 인터넷 노출을 최소화 하는 것이 그나마 피해를 더는 법 입니다. 

 해킹을 조금이라도 덜 당하기 위해 특정 국가만 허용하거나 vpn을 쓰는 것도 한 방법입니다. 하지만 vpn은 특성상 해당 vpn서버의 사용자가 많을 경우 속도가 저하될 가능성이 있습니다. 

저는 torrent를 쓰는게 nas 서버의 주 목적이므로 대한민국 이외의 feed 를 허용해야 합니다. 다음은 그 방법을 알아보겠습니다. 


4. 허용 국가 설정하기

가) feed의 ip 정보 알아내기 

윈도우즈 버튼을 누르고 cmd 라고 치면 명령프롬프트에 들어갈 수 있습니다. 



nslookup이라는 명령을 치면 간편하게 정보를 알아낼 수 있습니다. 명령어의 조합은 http나 https 같은 프로토콜을 제외한 도메인 정보를 nslookup 도메인 과 같은 형식으로 입력하면 됩니다. 
입력 명령어는 nslookup www.naver.com같은 형태로 넣으면 쉽게 알아낼 수 있습니다. 

nslookup 명령을 통해 알아낸 도메인의 ip정보
최근은 ip v4, v6 두가지를 모두 지원하는데 이중 v4에 해당하는 .으로 구분되는 항목을 기준으로 ip를 검색해보면 해당 도메인이 속한 ip를 알 수 있습니다. 

나) ip의 국가 정보 알아내기 

이전에는 whois검색을 통해 알아냈지만 최근은 nic 정보가 여러 시스템으로 분류되어 불편함이 있어 그냥 ip2nation.com을 활용합니다. 어차피 접속 국가 정보만 알아내면 됩니다. 위에서 알아낸 ip를 ip2nation.com에 입력합니다. 

ip2nation의 국가정보확인 기능 


nslookup을 통해 알아낸 ip정보를 ip2nation에 넣으면 해당 국가 정보를 알려줍니다. 이렇게 본인이 자주 받는 feed 목록을 작성한 후 해당 국가를 확인하여 목록을 만듭니다. 

다) 허용 국가 등록하기 

nas4dual의 관리자 페이지에서 어렵지 않게 등록할 수 있습니다. 
시스템 설정 -> 외부 접속 관리  메뉴를 통해 수행합니다. 

ip 타임 인터페이스 허용 등록
주의사항 
국가 차단을 할 경우 RSS 피드가 다운로드 되지 않는 경우가 있습니다. IP확인 결과 미국인데 IP타임에서는 미국으로 인식하지 못하는 경우가 있습니다. 

이상입니다. 즐거운 nas 생활 되세요. 누군가에겐 도움이 되었으면 좋겠습니다.  


댓글 없음:

댓글 쓰기