아이엠 !나이롱맨😎
article thumbnail
반응형

 

ElasticSearch는 url을 이용해서 쉽게 데이터 전송이 가능하기 때문에 ElasticSearch를 이용하여 서비스를 할 때 반드시 보안설정을 해주어야 합니다. 만약 해주지 않는다면 임의의 사용자가 마음대로 CRUD 작업이 가능합니다.

 

따라서 이번 글에서는 ElasticSearch와 Kibana에 보안을 적용하려고 합니다.

 

*참고 : 보안 적용 법은 아래 공식 홈페이지에 자세히 나와있습니다.

 

Set up minimal security for Elasticsearch | Elasticsearch Guide [7.12] | Elastic

The ES_PATH_CONF variable is the path for the Elasticsearch configuration files. If you installed Elasticsearch using archive distributions (zip or tar.gz), the variable defaults to ES_HOME/config. If you used package distributions (Debian or RPM), the var

www.elastic.co

 

서버는 CentOS7이고, ElasticSearch는 yum이 아닌 tar.gz로 다운받았습니다. 따라서 파일의 경로는 다를수 있습니다. 환경에 맞게 명령어를 입력하시길 바랍니다.

# vi /home/es/elasticsearch-7.13.4/config/elasticsearch.yml

elasticsearch.yml 파일에 아래와 같이 입력해줍니다.

xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true

설정 후 elasticsearch를 재시작 해줍니다.

# systemctl stop elasticsearch
# systemctl start elasticsearch

* 참고 : ElasticSearch는 root 계정으로 실행시킬수 없습니다. 아래 글을 참고하시길 바랍니다.

 

[ElasticSearch] org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root

Elasticsearch 5.0 이후에서는 root에서 elasticsearch를 실행할 수 없게 했기 때문에 sudo 명령어를 사용한다고 Elasticsearch를 실행 할 수 없습니다. 계정을 새로 생성 한 후 권한을 부여하여 그 계정으로 실.

kingofbackend.tistory.com

 

아래 명령으로 계정 별 패스워드를 설정해 줍니다. auto 는 자동으로 패스워드가 입력 되며 interactive는 개인이 직접 패스워드를 입력 할 수 있는데 저는 auto로 설정 해보겠습니다.

# /home/es/elasticsearch-7.13.4/bin/elasticsearch-setup-passwords auto

아래와 같이 패스워드가 자동 입력되어 표시 됩니다. 추후 사용을 위해 꼭 어딘가에 저장해놓습니다!

이후 curl 명령으로 id/passwd 없이 호출 해보면 아래와 같이 error가 발생 합니다.

그럼 다시 설정한 id와 패스워드를 넣고 호출 해봅니다. 호출 방법은 curl -u "id/passwd" localhost:9200 으로 호출 하면 됩니다.

 

아래와 같이 id, passwd를 입력 하면 정상 호출 된 것을 볼 수 있습니다.

 

반응형

article prev thumbnail
article next thumbnail
profile on loading

Loading...