일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- github
- ci/cd
- nas
- 네이버클라우드
- git
- Notification
- Token인증방식
- C언어
- 리눅스 파일동기화
- Jenkins
- OnlineIDE
- gitlab
- 코틀린개발환경
- data serialization formats
- NAS HDD교체
- Kotlin
- kubernetes
- 3D프린터입문
- linux job
- IoTNetwork
- docker
- octoprint
- 3D
- 3D모델링
- 데이터 직렬화 포맷
- docker container
- 3D 프린터 용어
- 3D프린터 입문
- 3d프린터 초보
- 3D프린터
- Today
- Total
0과 1을 공부하다.
[NAS] 시놀로지(Synology) 보안성 향상을 위한 설정 본문
필자는 시놀로지사의 NAS(DS218)를 보유하고 있다.
파일 서버로서 개인 용도로 사용하고 있으며, RAID 1으로 2TB 2개를 구성하여 사용하고 있다.
보안을 전공했지만 혼자 사용하고 단순 파일 저장용도만 혼자 사용하고 있다는 안일한 생각 때문에 필자는 부끄럽게도 랜섬웨어를 당했다.
아래 사진은 랜섬웨어 피해를 당한 사진이다.
랜섬웨어(Ransomware)는 몸값을 의미하는 Ransom과 소프트웨어(Software)가 결합된 합성어로 해커가 피해자의 자료를 암호화 시키고 데이터를 인질로 잡고 복구에 대한 금전적 지불을 요구하는 사이버공격의 형태이다.
불행중 다행으로 대부분의 자료는 이전에 백업 해둔 자료가 있어 복구했지만 일부 자료를 손실되는 피해를 입게 되었다.
만약 개인용도로 사용하는 것이 아닌 비즈니스 용도로 사용했다면 금전적인 손실과 시간적인 손실의 피해는 상상 이상으로 예측 할 수 있다.
이번 랜섬웨어 사건을 계기로 필자는 해커가 침입한 경로에 대해 분석을 해보았다.
|
위와 같은 피해를 입은 피해자는 데이터를 포기하거나 전문 업체에 의뢰를 하거나 해커에게 돈을 지불하는 방법 중 한 가지를 선택할 수 있다. 하지만 여기서 인지하고 있어야 하는 것은 해커는 신원이 확보되지 않은 인물이고 도덕적이지 못한 행위를 하는 인물이라는 것이다. 즉, 금전을 지불했을 때 데이터 복구를 보장 받을 수 없다는 것이다.
필자는 이번 사건을 계기로 NAS의 보안성 향상을 위해 ‘소 잃고 외양간 고치기’ 프로젝트를 진행하기로 했다.
아래는 시놀로지사의 NAS 보안성 향상을 위한 설정에 대한 설명이다. 사용하는 주체(개인, 단체, 공공) 불문하고 반드시 설정하도록 하자.
2023.01.11 추가
최근 NAS에서 여러가지 작업을 수행하면서 방화벽 정책을 실수로 삭제했던 것 같다. 로그기록을 살펴보니 중국 IP대역에서 DSM에 접근하여 NAS 서비스에 접근하기위해 무작위대입공격을 약 9천회 이상을 시도한 것을 확인했다.
보안성을 유지하기 위해서는 이상징후를 탐지하는 것도 매우 중요하다. 하지만 24시간 관제를 수행할 수는 없는 노릇이고 이를 방지하기 위해 로그 센터에서 알림 탭의 알림 규칙을 지정하여 이상징후가 탐지될 경우 관리자에게 알림을 받을 수 있도록 설정하는 것을 권장한다.
"소 잃고 외양간 고치기" 프로젝트
하나. 푸시알람 서비스를 통해 모니터링을 수행한다.
시놀로지 NAS는 기본적으로 모바일 애플리케이션, 이메일, SMS를 통해 NAS 시스템의 이벤트를 푸시알람하는 기능이 있다.
설정은 제어판 - 알림 항목에서 설정이 가능하다.
해당 QR 코드를 이용하여 애플리케이션을 설치하면 [그림 4]와 같이 NAS의 이벤트(업데이트 정보, IP 차단)를 알람을 푸시한다.
그 외에도 해당 앱을 통해 시스템 정보, IP 차단정보(설정), 업데이트 설정 등 다양한 관리자 모드를 수행할 수 있다.
푸시 알람 이외에도 주기적으로 시스템 로그를 확인하여 이상을 탐지한다.
둘. 관리자 계정(Admin) 비활성화 및 비밀번호 설정
시놀로지 NAS에서 기본 관리자 계정은 Admin을 사용하고 있다. NAS 외에도 기본적으로 윈도우 혹은 리눅스에서 기본 관리자 계정 이름은 Admin 혹은 Root를 사용하는데 해당 사실은 해커도 알고 있다. 해커는 해당 사실을 인지하고 계정명을 root 혹은 admin으로 대입하고 무작위 대입 공격을 시도할 것이다. 이를 방지하기 위해 Admin 혹은 root 계정을 비활성화하고 다른 계정명을 가진 관리자 계정을 생성 또는 변경 할 것을 권장한다. 또한 관리자 계정은 시스템 내에서 모든 권한을 가지고 있다. 즉, 시스템내 모든 구역에 접근 가능하고 제어 가능하다는 사실이다. 해당 사실을 인지하고 패스워드를 무작위 대입공격으로 부터 쉽게 유추하지 못하도록 설정한다. (영 대/소문자, 숫자, 특수 문자 조합, 긴 패스워드 등)
설정은 제어판 - 사용자 및 그룹 항목에서 설정이 가능하다.
셋. 로그인 시도 횟수 설정
앞서 침입 경로 분석을 통해 해커는 무작위 대입 공격을 통해 접근했다는 것을 유추하였다. 실제로 피해 당시 로그기록을 확인 하였을 때 알지 못하는 IP가 지속적으로 로그인을 시도하고 접속했다는 사실을 인지하였다. 해당 사실만 빠르게 인지하고 대응하였다면 적어도 NAS에 접속하지 못했을 것이다.
로그인 시도 횟수 설정은 제어판 - 보안 - 보호 항목에서 설정이 가능하다. 해당 설정에서 시도 횟수와 시도 시간을 설정 할 수 있는데, 무작위 대입 공격은 빠른 시간내에 다수 시도한다는 특성을 고려하여 설정해야 한다. 횟수와 시간 모두 증가할 경우 보안성은 하락한다.
주의사항으로 차단 만료일을 설정할 수 있는 항목이 있는데 필자는 해당 설정을 권장하지 않는다. 예상 할 수 있듯이 해커가 해당 IP로 다시 시도할 수 있기 때문이다. 혼자 사용하는 사용자는 상관 없지만, 만약 다수의 사용자가 사용하는 환경이라면 번거롭더라도 관리자가 부주의로 인한 차단된 사용자의 IP를 직접 해제 하도록 하자.
해당 설정을 통해 필자의 NAS는 [그림 7]과 같이 공격하기 위해 접근한 IP가 차단된 사실을 알 수 있다. 공격자로 확신한 이유는 개인적인 용도로 파일서비스만 운용하는 NAS에서 다양한 국적에서 접근을 시도할 이유가 없기 때문이다. 해당 IP가 차단된 사실은 앞서 설명한 푸시알람을 통해 즉시 관리자에게 제공된다.
넷. 방화벽 설정
방화벽(firewall)은 건물에서 화재가 발생하였을 때 차단되어 화염이 확산되는 것을 방지하는 시설이다. 네트워크에서의 방화벽도 동일하게 내/외부에서 접근하는 공격자로부터 차단하기 위한 시스템이다. 네트워크에서 방화벽은 별도의 정책(규칙)을 통해 일정한 규칙에 해당 되는 사용자를 차단하거나 허용할 수 있도록 설정이 가능하다.
앞서 셋 항목에서 로그인 횟수를 설정하여 NAS에 접속하는 것을 방지하였다. 하지만 여전히 지속적으로 해커는 다국적 IP를 통해 해당 시스템에 접근하여 해킹을 시도하고 있는 위협이 존재한다. 방화벽은 해커가 원천적으로 시스템에 접근하는 것을 방지할 수 있게 한다.
방화벽 설정은 제어판 - 보안 - 방화벽 항목에서 설정이 가능하다.
설정항목에서 방화벽과 알림을 활성화 하도록 한다.
이후 우측 하단 '규칙 편집'을 클릭한다.
생성을 통해 남한 IP를 허용하고 NAS가 설치된 내부 IP의 D 클래스 1 ~ 255 까지 허용한다.
이후 LAN 포트, PPPoE, VPN의 모든 접근을 거부하도록 설정한다.
필자는 해당 설정 이후에 로그인 시도가 없는 것을 확인하였다. 하지만 해커는 국내 Ddos에 감염된 에이전트 PC를 통해 시도할 가능성은 있다. 하지만 앞선 설정을 통해 로그인 시도 횟수를 설정했기 때문에 이전보다의 위협은 감소하게 된다.
다섯. 사용하는 서비스의 포트를 변경(HTTP, FTP)
NAS를 통해 HTTP, FTP 등 다양한 서비스를 이용할 것이다. 해당 서비스(프로토콜)은 고유의 디폴트 포트를 갖고 있다. http는 80을 ftp는 21을 기본으로 하게 되는데 이를 해커 또한 알고 있어 해당 포트를 통해 접근하게 된다. 그에 대한 대응 방안으로 해커가 쉽게 유추하지 못하도록 다른 포트를 사용하면 되는데, 특정 다수가 사용한다면 해당 포트 번호를 공유하여 이용하면 되지만 불특정 다수가 접근하는 NAS라면 포트 변경이 어려울 수도 있다. 해당 설정은 보안성을 좀 더 높이기 위한 방안이기 때문에 설정 유무는 독자가 판단하여 설정하도록 하자. 포트변경은 사용자의 AP와 NAS 환경설정을 통해 포트를 변경하도록 하자.
여섯. 사용하지 않는 서비스는 비활성화(Disable)
시놀로지 NAS에서는 사용자의 편의를 위해 파일관리, 미디어 스트리밍, 원격 등 다양한 서비스를 제공한다. 예컨대 사용하지 않는 창문을 잠구는 것이 도둑의 침입으로부터 막을 수 있는 것처럼 사용하지 않는 서비스는 비활성화하는 것이 보안성을 더욱 높여준다.
필자는 터미널을 이용한 Telnet, ssh 서비스를 사용하지 않는다. 해당 서비스를 이용하지 않는데 활성화 해두는 것은 해커가 공격할 수 있는 경로를 만들어 주는 것과 같다. 필자는 [그림 12]와 같이 해당 서비스를 비활성화 하였다.
일곱. 주기적인 OS(DSM) 업데이트 수행
시놀로지사에서는 지속적으로 OS(DSM)의 성능, 안정성, 보안성과 사용자의 편의를 위해 지속적으로 수정하여 배포하고 있다. DSM 업데이트 파일에는 사전에 판단된 n데이 취약점과 취약하다고 판단되는 버그가 수정되어 배포된다. 즉, 배포되는 업데이트를 실시하면 NAS의 향상된 보안성을 기대할 수 있게 된다. 시놀로지 NAS는 DSM의 업데이트를 자동 혹은 수정으로 설정할 수 있다. 주기적으로 업데이트를 할 자신이 없다면 자동 업데이트를 권장한다.
여덞. 공유폴더의 적절한 권한 부여
필자는 NAS를 혼자 사용하고 있기 때문에 별도의 권한 부여는 필요 없이 폴더의 모든 권한을 부여받아 사용하면 된다. 하지만 특정 및 불특정 다수가 사용하는 시스템이라면 계정/그룹별 공유 폴더의 접근 범위를 지정해주는 것이 보안성에 좋다. 그 이유는 다른 사용자의 ID 및 PW가 유출되어 해커로부터 공격을 받을 수 있기 때문에 모든 계정이 모든 권한을 갖게 된다면 해커로부터 모든 공격을 받을 수 있게 된다. 이를 방지하기 위해 계정별 최소한의 접근권한을 부여한다. 필자의 권장사항은 초기 사용자에게는 모든 권한을 해제하고 사용자의 요청에 의하여 해당 항목만 부여하도록 하자. [그림 14]는 공유 폴더 권한 부여이다. 제어판 - 공유폴더에서 설정 가능하다. 공유폴더의 암호화 기능도 제공하지만 일단은 생략
아홉. 적절한 RAID 구성
아홉번째 항목은 보안성 향상 보다는 피해 복구 측면에서 설정할 것을 권장한다.
필자는 2TB의 하드 2개로 RAID1을 구성하여 2TB 공간을 '미러링' 하여 사용하고 있다. (RAID에 대한 설명은 생략)
앞서 공격한 랜섬웨어는 모든 데이터를 암호화하여 첫 번째 디스크와 두 번째 디스크 모두 미러링 되었기 때문에 복구 가능성은 없었다.
하지만 사이버 공격의 유형으로 데이터의 위/변조만들 국한지을 수는 없다. 그 외에도 서버의 물리적 구조를 대상으로 공격하거나, 서버(NAS)에 직접적으로 물리적인 공격을 가하는 행위도 사이버 공격 범주에 포함된다. 이처럼 다양한 공격으로부터 보호하기 위해 RAID를 구성하여 데이터를 안정적으로 저장하여 향후 피해로부터 복구 가능 할 수 있도록 한다.
스토리지의 RAID 구성은 저장소 관리자에서 가능하다.
열. 백신 S/W를 통한 주기적인 바이러스 검사
열번째 항목은 NAS 시스템 내에 유입되었거나 잔존하는 보안 위협이 되는 바이러스, 멀웨어 등 악성 프로그램을 검출하여 제거하여 보안성을 높이는 방안이다. 시놀로지에서는 NAS 시스템 전용 백신(Antivirus Essential)을 제공하고 있다. 설치 방법은 패키지센터 - Antivirus Essential을 검색하여 해당 패키지를 설치한다.
주요 기능들을 살펴보면 먼저 개요 항목에서 바이러스를 탐지할 범위를 사용자가 체크하여 스캔을 수행할 수 있다.
검역 항목에서 탐지된 바이러스는 검역소로 이동하게 되는데 여기서 탐지된 바이러스 항목을 삭제 조치를 수행할 수 있다.
예약된 스캔 항목에서는 시스템에서 자동으로 스캔을 수행하도록 스케줄링을 할 수 있다.
마지막으로 업데이트 항목에서는 해당 백신의 엔진을 업데이트를 수행할 수 있다. 백신 엔진 업데이트는 최근에 알려진(N데이 취약점) 바이러스를 탐지하기 위해서 반드시 주기적으로 업데이트를 수행해야 한다.
앞서 시놀로지 NAS의 보안성 향상을 위한 열가지 설정을 알아보았다. 이번 사건과 대응을 통해 느낀점은 물리세계와 동일하게 사이버 세계도 방심하고 안일한 틈에 공격 받는다는 것과 시놀로지사의 NAS OS에서 보안을 위한 강력한 설정 권한을 제공하고 있다는 것을 느꼈다. 위 9가지 내용 이외에도 보안성 향상을 위한 기능을 시놀로지에서 제공하고 있으니 운영하는 NAS의 실정에 맞게 설정하길 바란다.
이상 끝.
* CopyRight 2021. Jay Park All rights reserved.