Security 시작하기
editSecurity 시작하기
edit클러스터를 보호하려면 클러스터의 모든 노드에 X-Pack을 설치해야 합니다. 기본 인증이 원래 활성화되어 있습니다. 클러스터와 통신하려면 사용자 이름 및 비밀번호를 지정해야 합니다. 익명 액세스를 활성화하지 않는 한 사용자 이름 및 비밀번호를 포함하지 않는 요청은 모두 거부됩니다.
X-Pack security에서는 elastic
슈퍼유저를 기본적으로 제공하며, 이를 사용하여 설정을 시작할 수 있습니다. 이 elastic
사용자는 모든 색인 및 데이터를 포함하여 클러스터에 대한 전체 액세스 권한을 가지므로 반드시 기본 비밀번호를 변경하고 elastic
사용자 자격 증명을 제대로 보호해야 합니다.
X-Pack security를 시작하려면 다음을 수행합니다.
- X-Pack을 설치하고 Elasticsearch 및 Kibana를 시작합니다.
-
기본 제공된
kibana
,logstash_system
,elastic
사용자의 비밀번호를 변경합니다.curl -XPUT -u elastic 'localhost:9200/_xpack/security/user/elastic/_password' -H "Content-Type: application/json" -d '{ "password" : "elasticpassword" }' curl -XPUT -u elastic 'localhost:9200/_xpack/security/user/kibana/_password' -H "Content-Type: application/json" -d '{ "password" : "kibanapassword" }' curl -XPUT -u elastic 'localhost:9200/_xpack/security/user/logstash_system/_password' -H "Content-Type: application/json" -d '{ "password" : "logstashpassword" }'
elastic
사용자의 기본 비밀번호는 `changeme`입니다. -
Elasticsearch 및 Kibana에 대한 액세스를 제어하도록 역할 및 사용자를 설정합니다. 예를 들어 _John Doe_에게 패턴
events*`와 일치하는 모든 색인에 대한 전체 액세스 권한을 부여하고 Kibana에서 이 색인에 대한 시각화 및 대시보드를 생성할 수 있게 하려는 경우 `events_admin
역할을 생성한 다음 새johndoe
사용자에게 그 역할을 지정하면 됩니다.curl -XPOST -u elastic 'localhost:9200/_xpack/security/role/events_admin' -H "Content-Type: application/json" -d '{ "indices" : [ { "names" : [ "events*" ], "privileges" : [ "all" ] }, { "names" : [ ".kibana*" ], "privileges" : [ "manage", "read", "index" ] } ] }' curl -XPOST -u elastic 'localhost:9200/_xpack/security/user/johndoe' -H "Content-Type: application/json" -d '{ "password" : "userpassword", "full_name" : "John Doe", "email" : "john.doe@anony.mous", "roles" : [ "events_admin" ] }'
-
메시지가 전송 중에 변조되거나 손상되지 않았음을 확인하기 위해 메시지 인증을 활성화합니다.
-
ES_HOME`에서 `syskeygen
툴을 아무런 옵션 없이 실행합니다.bin/x-pack/syskeygen
그러면 `CONFIG_DIR/x-pack/system_key`에 시스템 키 파일이 생성됩니다.
-
생성된 시스템 키를 클러스터의 나머지 노드에 복사합니다.
시스템 키는 대칭 키이므로 클러스터의 모든 노드에 동일한 키가 있어야 합니다.
-
-
어떻게 Elasticsearch 클러스터와의 상호 작용이 시도되고 성공하는지 추적하기 위해 감사를 활성화합니다.
-
클러스터의 모든 노드에서 `elasticsearch.yml`에 다음 설정을 추가합니다.
xpack.security.audit.enabled: true
- Elasticsearch를 다시 시작합니다.
기본적으로 이벤트는 `ES_HOME/logs`에 있는 전용 파일인 `elasticsearch-access.log`에 로깅됩니다. 더 편리한 분석을 위해 Elasticsearch 색인에 이벤트를 저장하고 어떤 이벤트를 로그할지 제어할 수도 있습니다. 자세한 내용은 감사 구성을 참조하십시오.
-
이러한 기본적인 보안 장치를 마련한 다음 클러스터에서 SSL/TLS 암호화를 사용하도록 구성하여 노드와의 양방향 통신을 보호하는 것이 좋습니다. 암호화가 활성화되지 않은 노드는 비밀번호를 일반 텍스트의 형태로 보냅니다!
보안 요구 사항에 따라 다음을 수행할 수도 있습니다.
- LDAP 또는 Active Directory와 통합하거나 인증에 인증서를 필요로 합니다.
- IP 필터링을 사용하여 특정 IP 주소 또는 주소 범위에서 보내는 요청을 허용하거나 거부합니다.