Elasticsearch 플랫폼 보안 취약성 점검 방법

Elasticsearch 플랫폼을 활용하고 있다면 보안 관리에 특히 유의해야 합니다. 보안사고 방지를 위해 취약점 검사 방법에 대해 설명 드리겠습니다. 실제로 Elasticsearch 의 보안 설정이 제대로 이루어지지 않아 발생하는 침해 사고가 자주 일어납니다.

본문 내용은 국내 한국인터넷진흥원의 클라우드 보안 취약점 점검 안내서를 기반으로 작성되었음을 밝힙니다. 만약 Elasticsearch 스택을 운용 중이라면, 현재 제공 중인 서비스에 보안 결함이 존재하지 않는지 꼼꼼히 점검해 보는 기회로 삼기를 권장 드립니다.

 

Elasticsearch 보안 취약점 점검 Check List

보안 설정

1) Elasticsearch 인증 설정 : Elasticsearch 계정과 비밀번호가 설정되어 있지 않다면, 서버에 접속하는 모든 사용자가 Elasticsearch에 접근할 수 있게 되어 보안 위협과 데이터 유출의 위험이 있습니다.

2) 기본 계정 및 비밀번호 변경 : 인증을 위한 플러그인 설치 시 기본 계정이나 암호가 설정되어 있으며 해당 정보는 인터넷 검색 등을 통해 쉽게 찾을 수 있습니다. 이러한 방식 때문에 부정직한 사용자가 입수한 계정 정보를 활용하여 간단하게 접근할 수 있게 되면 개인정보 유출이나 데이터 변경의 우려가 발생할 수 있습니다.

3) 불필요한 계정 제거 : 계정 목록 중 인가되지 않은 계정 예를 들어 테스트 계정이나 퇴직자 계정 등 업무에 실제 필요하지 않은 계정들이 존재할 경우 비인가자가 쉽게 접속하여 데이터를 열람 수정 삭제 할 수 있는 위험성이 존재합니다.

4) IP 접근 제한 설정 : 인증된 IP만 접속 가능하게 되어 있지 않으면 허가 받지 않은 사용자가 접근할 우려가 있습니다.

5) 디렉토리 및 파일 권한 설정 : 만약 일반 사용자가 Elasticsearch가 설치된 디렉토리에 마음대로 파일을 만들거나 지우고 수정할 수 있게 된다면, 보안상의 위험이 생길 수 있습니다.

 

설치 폴더 접근 권한 설정

 

1) 플러그인 폴더 접근 권한 설정 : Plugin을 설치하면 해당 폴더가 생성되는데 이때 접근 권한을 설정해야 합니다. 사용자가 일반 권한으로 디렉토리에 접근하면 해당 디렉토리 내의 파일들을 수정, 삭제, 생성, 변경할 수 있게 되어 이로 인해 악성 코드 설치 등의 보안 위협이 발생할 수 있습니다.

2) 설정파일 접근 권한 설정 : 설정 파일에 others 권한이 존재할 경우 비인가된 사용자가 설정파일에 접근하여 설정 변경을 통해 서비스 장애를 일으킬 위험이 존재하며 또한 설정 파일을 통해 정보를 획득하고 2차 공격의 정보로 사용할 위험성이 존재하게 됩니다.

3) Search-Guard 스크립트 액세스 권한 설정 : Search Guard를 사용하여 인증을 구현하려면 설정 파일에 추가 한 후 Search-guard에서 제공하는 스크립트를 실행해야 합니다. 이렇게 해야 인증 설정이 올바르게 적용됩니다. 스크립트 파일 접근 권한에 다른 사용자들이 볼 수 있거나 실행할 수 있는 권한이 부여되면, 해당 스크립트의 내용이 유출되거나 악용될 가능성이 있습니다. (Search Guard 더 알아보기)

 

패치 및 로그 관리

 

1) 로그 활동화 : 로그를 일정하게 분석해서 침입 여부를 확인해야 하며, 침입 시도가 의심되는 사례를 분석하여 미리 해당 기기로의 접근을 막는 등 계획적인 로그 관리 작업이 이루어져야 합니다.

2) 최근 업데이트 적용 : 만약 최신 버전으로 업데이트가 되어 있지 않다면, 이미 알려진 보안 취약점들이 드러날 가능성이 있습니다.

위와 같이 Elasticsearch 스택을 운영할 때는 각 보안 취약점 항목을 주기적으로 점검하여 침입 시도를 미리 방지하고, 엘라스틱 서비스 운영 보안 강화를 이룰 수 있도록 노력하시는 것이 좋습니다.