Elasticsearch Security 설정

세팅 순서

설치 → Security 활성화 → yml 세팅 → 실행

Security 활성화 (elasticsearch-certutil)

Elasticsearch에서 사용자 인증(로그인)을 활성화 하기 위해서는 X-Pack Security를 활성화시켜야 합니다.

Security는 설정 파일( ,,/config/elasticsdearch.yml) 변경을 통해 활성화 할 수 있지만, Security가 활성화 되기 위해서는 Key 생성이 선행되어야 한다.

진행 위치 : elasticsearch의 bin 파일

master 노드에서 진행

  1. 이름 및 비밀번호를 지정하여 CA(Certificate authority, 인증 기관, 공개키) 생성 / (이름 default : elastic-stack-ca.p12)

    ./elasticsearch-certutil ca → (”…/elasticsearch/” 경로에 생성됨)

    1. ca의 이름 입력 <미입력(엔터) 진행시 default : elastic-stack-ca.p12>
    2. ca의 패스워드 입력 <미입력(엔터) 진행시 : no password>
    3. mv …/elastic-stack-ca.p12 ../config/

    ca는 하나를 생성하여 모든 노드에 배포되어야 하므로, filezila 혹은 scp(Secure Copy Protocol)를 이용하여 경로에 배포

  2. 이름 및 비밀번호를 지정하여 인증서(certificates, 대칭키, 개인키) 생성 / (이름 default : elastic-certificates.p12 )

  3. ca의 패스워드 입력

  4. certificates의 이름 입력 < 미입력(엔터) 진행시 default : elastic-certificates.p12>

  5. certificates의 패스워드 입력 < 미입력(엔터) 진행시 : no password >

  6. mv …/elastic-ceritificates.p12 ../config/

  7. certificates 생성은 ‘각 노드’에서 이루어져야 합니다.

  8. yml의 base_pathsms ‘…/elasticsearch/config/’ 이므로 ca 및 certificates를 config로 이동해주거나 절대경로로 지정

  9. (패스워드 지정했다면) keystore에 관련된 값들을 추가

    ※ keystore 초기 구동 시, 생성 여부를 묻습니다. [y/N] y

    ./elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password

    1. 첫 구동 시, 에러가 없다면 superuser 권한의 elastic 계정의 비밀번호 해시값이 생성됩니다.이를 놓쳤을 경우, ".../elasticsearch/bin/elasticsearch-setup-passwords -u elastic" 명령어를 통해 재생성이 가능합니다.
    2. multi-node 설정인 경우, 하나의 node만 실행했을 시, 필수 노드들을 찾는 수많은 에러 메시지가 출력될 수 있습니다.에러 메시지를 잘 확인한 후, 해당하는 노드를 실행시켜주면 멈춥니다.

    관련 리눅스 명령어

Untitled

대칭키 방식

공개키 방식