유무선 공유기는 사용자의 편의성을 위해 원격으로 공유기의 전원을 켜거나 끌 수 있는 서비스, 파일을 전송하거나 수신할 수 있는 서비스, 원격 데스크톱을 연결할 수 있는 서비스 등 다양한 서비스를 제공한다.
사용자의 편의성을 위해 다양한 기능을 제공하지만 서비스의 보안이 허술하면 공격자의 표적이 될 수 있다.
기본적으로 활성화가 되어 있는 서비스 중 잘 사용하지 않은 서비스는 비활성화를 하고, 꼭 필요한 서비스는 보안 설정을 해야 한다.
불필요한 서비스 중지 : FTP, Telnet, SSH, RDP
FTP, Telnet, SSH, RDP 서비스를 사용하지 않는다면 관리자 페이지에 접속하여 좌측 메뉴 중 포트포워드 설정 메뉴를 선택하여 서비스 규칙을 삭제하면 된다.
1. 관리자 페이지 접속 > 고급 설정 > NAT/라우터 관리 > 포트포워드 설정
2. 불필요한 규칙 선택 > 규칙삭제 > 적용
FTP(File Transfer Protocol)
FTP는 파일을 전송하거나 다운로드 받을 수 있는 서비스이다. 20번 포트(데이터를 전송하기 위해 서버가 클라이언트로 접속), 21번 포트(세션을 열기 위해 클라이언트가 서버로 접속)로 구성되어 있다.
내부 네트워크 대역의 로컬 호스트에서 FTP 서버를 구축하고, 외부에서 접속하게 하려면 공유기의 포트포워딩을 설정해야 한다.
공유기의 공인 아이피와 포트포워딩으로 설정한 FTP의 외부 포트를 지정하면 누구나 접근할 수 있다. 단, FTP 계정을 설정하지 않으면 디폴트 계정으로 접속이 되고, 계정의 취약한 패스워드를 사용하면 쉽게 패스워드를 알아낼 수 있다.
Telnet
Telnet은 원격으로 접속하기 위한 쉘로 23번 포트로 구성되어 있다. 클라이언트와 서버 간의 통신 내용을 암호화하지 않고, 평문으로 전송되어 공격자가 클라이언트와 서버 간의 전송 데이터를 훔쳐볼 수 있다.
Telnet도 FTP와 동일하게 내부 로컬 호스트에서 서버를 구축한다면 외부에서 접속할 수 있다.
Telnet의 가장 큰 취약점은 공격자가 공유기의 펌웨어 취약점을 이용해 디버깅 페이지에 접속하여 Telnet 포트를 강제로 열고, Telnet으로 접속하여 무선AP 설정을 변경하거나 백도어를 심는 용도로 많이 사용하고 있다.
SSH(Secure SHell)
SSH는는 Telnet과 동일하게 원격으로 접속하기 위한 쉘이다. 두 개의 차이점은 SSH는 22번 포트로 구성되어 있고, 클라이언트와 서버 간의 통신 내용을 암호화를 한다.
RDP(Remote Desktop Protocol) : 원격데스크톱
원격데스크톱은 윈도우 클라이언트, 윈도우 서버에서 사용된 원격으로 접속하기 위한 쉘이다. 3389번 포트를 사용하며, GUI(Graphical User Interface)로 구성되어 있다.
기본적으로 클라이언트에서 서버로 접속 시 계정은 메모리상에 평문으로 저장되는 취약점이 있다. 이는 암호화 수준을 변경함으로써 해결할 수 있다.
불필요한 서비스 중지 : DMZ, Twin IP
DMZ, Twin IP 서비스를 사용하지 않는다면 관리자 페이지에 접속하여 좌측 메뉴 중 DMZ/Twin IP 메뉴를 선택하여 사용하지 않음으로 체크하면 된다.
1. 관리자 페이지 접속 > 고급 설정 > NAT/라우터 관리 > DMZ / Twin IP 설정
2. 사용하지 않음 > 적용
DMZ(DeMillitarized Zone)
DMZ는 내부 네트워크 대역의 하나의 컴퓨터(내부 IP)에 모든 포트를 개방시키는 서비스이다. 주로 내부 네트워크 대역의 컴퓨터를 보호하기 위해 별도의 망분리를 위해 사용한다.
Twin IP(Super DMZ)
Twin IP는 내부 네트워크 대역의 하나의 컴퓨터(내부 MAC)를 공인 아이피 주소를 사용하는 서비스이다. 즉, 공유기와 동일한 아이피 대역이므로 외부에서 직접 접근이 가능하다.
불필요한 서비스 중지 : WOL
WOL 서비스를 사용하지 않는다면 관리자 페이지에 접속하여 좌측 메뉴 중 WOL 메뉴를 선택하여 등록된 MAC 주소를 삭제하면 된다.
1. 관리자 페이지 접속 > 고급 설정 > 특수 기능 > WOL 기능
2. 삭제할 MAC 주소 선택 > 삭제
WOL(Wake On LAN)
WOL은 외부에서 내부 네트워크 대역에 있는 로컬 컴퓨터를 부팅시키는 서비스이다. 이 기능을 사용하려면 공유기의 관리자 페이지에서 부팅시킬 컴퓨터의 MAC 주소를 기입하고, 원격 관리 포트를 활성화시켜야 한다.
불필요한 서비스 중지 : UPNP
UPNP 서비스를 사용하지 않는다면 관리자 페이지에 접속하여 좌측 메뉴 중 기타 설정 메뉴를 선택하여 UPNP 설정을 중단으로 선택하면 된다.
1. 관리자 페이지 접속 > 고급 설정 > 시스템 관리 > 기타 설정
2. UPNP 설정 선택 > 중단 > 적용
UPNP 서비스를 삭제하면 UPNP 관련 포트포워딩 설정도 자동으로 삭제되므로 수동으로 포트포워딩을 해줘야 한다.
UPNP(Universal Plug And Play)
UPNP는 내부 네트워크 대역의 컴퓨터, 무선 단말기, 프린트, 가전제품 등과 같은 장치들을 서로 연동시켜주는 서비스이다.
이 기능을 사용하면 사용자가 어떤 장치를 네트워크에 추가하면 스스로 구성을 완료하여 주변 다른 장치에게 그 사실을 알린다. 외부에서 로컬에 접속 요청이 들어오면 수동으로 포트포워딩을 해줘야 하는데, UPNP를 지원하는 장치나 프로그램들은 자동으로 포트포워딩을 한다.
사용자 관점에서 좋은 기능이지만 심각한 취약점이 있다.
UPNP는 XML(구조화된 데이터)로 구성되어 있는데, XML은 장치 정보, URL, 모든 서비스 내용 등이 있다. 이런 것을 이용하여 네트워크 장치를 변경, 공인 아이피 및 포트 노출, 원격 코드 실행 등의 공격이 가능하다.
기타 보안
파일 서버 기능을 가지고 있는 NAS 공유기는 USB 포트가 항상 노출되어 있다. 비인가자가 접근할 수 없는 곳에 NAS 공유기를 위치시키고, USB 포트를 사용하지 않을 때, USB 덮개를 장착해야 한다.
NAS 공유기
NAS 공유기는 파일 서버 기능을 가지고 있는 제품이다. 공유기에 USB 포트가 장착되어 있어 외장 하드, USB 저장 장치 등을 이용해 파일을 공유할 수 있다.