Elastic Stack แแ แแก แชแแแแแแ แแแกแขแ แฃแแแแขแ SIEM แกแแกแขแแแแแแก แแแแแ แแ (แกแแแแแแแแแแจแ, แแ แ แแฎแแแแ แแแ). แแแก แจแแฃแซแแแ แจแแแแ แแแแก แแแแ แ แกแฎแแแแแกแฎแแ แแแแแก แแแแแชแแแ, แ แแแแ แช แแแ แซแแแแแแ แ, แแกแแแ แแ แช แแฃ แแกแ แแแ แซแแแแแแ แ. แแแแแ แกแฌแแ แ แแ แแ แแก, แแฃ แแแแแ Elastic Stack แแแแแแแขแแแแ แฌแแแแแ แแ แแ แแก แแแชแฃแแ. แแแแฃแแแกแฎแแแแแ, แงแแแแ Elastic-แแก แแแแแแแขแ (Elasticsearch, Logstash, Kibana แแ Beats แแแแแฅแชแแแแแ แแแ) แแฃแจแแแแก แฆแแ แแ แแขแแแแแแแแ. แฎแแแ แแแแแ แแแแแแแจแ แแแขแแ แแแแชแแ แแแแแ แแฃแแแ. แงแแแแ แแก แฃแ แแแแ แแฅแแแแแแ แจแแแซแแแแ แแงแแก แแแชแฃแแ แแ แแ แกแขแแขแแแจแ แฉแแแ แแแขแงแแแ, แแฃ แ แแแแ แฃแแแ แแแแแแแแ แแก. แแแฎแแ แฎแแแฃแแแแแกแแแแก, แฉแแแ แแแแงแแแแ แแฎแ แแแ 3 แกแแแแแขแแแฃแ แแแแแแ:
- แ แแแแแแ แแแคแฃแซแแแแฃแแ แแแแแชแแแแแแก แฌแแแแแแก แแแแแแ
- แแแแแชแแแแ แฃแกแแคแ แแฎแแแแ Elasticsearch แแแแกแขแแ แจแ
- แแแแแชแแแแ แแแชแแ Elasticsearch แแแแกแขแแ แแก แแแ แแ
แแแขแแแแแ แญแ แแก แฅแแแจ.
แ แแแแแแ แแแคแฃแซแแแแฃแแ แแแแแชแแแแแแก แฌแแแแแแก แแแแแแ
แแฃ แแแแแแกแขแแแแ แแแ Elasticsearch-แก แแ แแ แแแแแ แแ แแ แแแแ แแแฃแแแ แแแ, แงแแแแ แแแแแฅแกแแ แฌแแแแแ แงแแแแแกแแแแก แฆแแ แแฅแแแแ. แแแ แแแ, แแ แแแกแแช แจแแฃแซแแแ แแแแแแงแแแแก curl. แแแแก แแแแแแแ แแกแแชแแแแแแแ, Elasticsearch-แก แแฅแแก แแแกแแแแซแ แแแแแแ, แ แแแแแแช แฎแแแแแกแแฌแแแแแแ Basic แแแแแฌแแ แแ แแแฌแงแแแฃแแ (แ แแแแแแช แฃแคแแกแแ). แกแฅแแแแขแฃแ แแ แแกแ แแแแแแงแฃแ แแแ:
แ แ แแ แแก แกแฃแ แแแแ
- แแแแฎแแแ แแแแแแ แแ แแแ แงแแแแ, แแแกแแช แจแแฃแซแแแ แจแแกแแแ แแแแแกแ แ แฌแแฃแแแแแแ แกแแแแแแแแก แแแแแงแแแแแแ.
- แ แแแ แแ แแก แฃแคแแแแแแแก แแ แแแแแแแแ.
- แฃแคแแแแแแ แแ แแก แแ แแแแแแแแแแแก แแ แแแแแแแแ.
- แแ แแแแแแแแแแ แแ แแก แแแฌแแ แแก, แฌแแแแแฎแแแก, แฌแแจแแแก แแ แ.แจ. (
แแ แแแแแแแแแแแก แกแ แฃแแ แกแแ ) - แ แแกแฃแ แกแแแ แแ แแก แแแแแฅแกแแแ, แแแแฃแแแแขแแแ, แแแแแแ, แแแแฎแแแ แแแแแแ แแ แกแฎแแ แกแแชแแแแก แแ แแแฃแแแแ (แแแแแแ แแ แ แแกแฃแ แกแแก แแแกแแแแซแ แแแแแแแแ แฎแแแแแกแแฌแแแแแแ แแฎแแแแ แคแแกแแแแ แแแแแฌแแ แแแแ).
แแแแฃแแแกแฎแแแแแ Elasticsearch-แก แแฅแแก
Elasticsearch แแแ แแแแขแ แแแจแ แฃแกแแคแ แแฎแแแแแก แฉแแกแแ แแแแแ, แแฅแแแ แฃแแแ แแแแแแขแแ แแก แแแแคแแแฃแ แแชแแแก แคแแแแจแ (แแแแฃแแแกแฎแแแแแ แแก แแ แแก elasticsearch/config/elasticsearch.yml) แแฎแแแ แฎแแแ:
xpack.security.enabled: true
แแแแคแแแฃแ แแชแแแก แคแแแแแก แจแแชแแแแก แจแแแแแ แแแฃแจแแแ แแ แแแแแขแแแ แแแ Elasticsearch แชแแแแแแแแแแก แซแแแแจแ แจแแกแแแแกแแแแก. แจแแแแแแ แแแแแฏแ แแ แแก แแแ แแแแแแก แแแแแญแแแ แงแฃแแแก แแแแฎแแแ แแแแแแแกแแแแก. แแแแแ แแแแแแแแแ แแก แแแขแแ แแฅแขแแฃแแแ แฅแแแแแ แแแชแแแฃแแ แแ แซแแแแแแก แแแแแงแแแแแแ:
[elastic@node1 ~]$ ./elasticsearch/bin/elasticsearch-setup-passwords interactive
Initiating the setup of passwords for reserved users elastic,apm_system,kibana,logstash_system,beats_system,remote_monitoring_user.
You will be prompted to enter passwords as the process progresses.
Please confirm that you would like to continue [y/N]y
Enter password for [elastic]:
Reenter password for [elastic]:
Enter password for [apm_system]:
Reenter password for [apm_system]:
Enter password for [kibana]:
Reenter password for [kibana]:
Enter password for [logstash_system]:
Reenter password for [logstash_system]:
Enter password for [beats_system]:
Reenter password for [beats_system]:
Enter password for [remote_monitoring_user]:
Reenter password for [remote_monitoring_user]:
Changed password for user [apm_system]
Changed password for user [kibana]
Changed password for user [logstash_system]
Changed password for user [beats_system]
Changed password for user [remote_monitoring_user]
Changed password for user [elastic]
แฉแแแ แจแแแแแฌแแแ:
[elastic@node1 ~]$ curl -u elastic 'node1:9200/_cat/nodes?pretty'
Enter host password for user 'elastic':
192.168.0.2 23 46 14 0.28 0.32 0.18 dim * node1
แจแแแแซแแแแ แแฃแ แแแ แฎแแแ แแแฎแแแแแ - Elasticsearch-แแก แแแแ แแแก แแแ แแแแขแ แแแ แแแกแ แฃแแแแฃแแแ. แแฎแแ แแแแแแแก แแแแคแแแฃแ แแชแแแก แแ แแ. แแฃ แแฎแแแแ แแแฃแจแแแ, แแแแแฉแแแแแ แจแแชแแแแแแ, แแแแขแแ แแแแจแแแแแแแแแแ แแแกแแฆแแแแก แแแฆแแแแแก แจแแฅแแแ. แแก แแแแแแแ แแ แแ แซแแแแแแจแ (แแแแฎแแแ แแแแแ แแแแแแ แแ แแแ แแแ แจแแงแแแแแแ แแแ แแแแก แจแแฅแแแแก แแขแแแแ Elasticsearch-แจแ):
[elastic@node1 ~]$ ./kibana/bin/kibana-keystore add elasticsearch.username
[elastic@node1 ~]$ ./kibana/bin/kibana-keystore add elasticsearch.password
แแฃ แงแแแแแคแแ แ แกแฌแแ แแ, แแแแแแ แแแแฌแงแแแก แจแแกแแแแกแ แแ แแแ แแแแก แแแแฎแแแแแก. แซแแ แแแแแ แแแแแฌแแ แ แแแแชแแแก แ แแแฃแ แแแแแแก, แ แแแแแแช แแแคแฃแซแแแแฃแแแ แจแแแ แแแแฎแแแ แแแแแแแ. Gold-แแ แแแฌแงแแแฃแแ, แจแแแแซแแแแ แแแแแแแจแแ แแ แแแ แ แแแขแแ แแแแชแแแก แกแแกแขแแแแแ - LDAP, PKI, Active Directory แแ Single sign-on แกแแกแขแแแแแ.
Elasticsearch-แแก แจแแแแแ แแ แกแแแฃแ แแแแแฅแขแแแแ แฌแแแแแแก แฃแคแแแแแแ แแกแแแ แจแแแซแแแแ แจแแแแฆแฃแแแก. แแฃแแชแ, แแแแฃแแแแขแแแแก แแ แแแแแแแกแแแแก แแแแแ แ แแ แแแแแแแแ, แแแแญแแ แแแแแ แคแแกแแแแ แแแแแฌแแ แ (แแก แคแฃแคแฃแแแแ แแฌแงแแแ แแแแขแแแแก แแแแแ). แแก แแแ แแแแขแ แแแ แฎแแแแแกแแฌแแแแแแ Kibana แแแขแแ แคแแแกแจแ แแ แแแจแแแแแแ
แ แแแแก แจแแฅแแแ
PUT /_security/role/ruslan_i_ludmila_role
{
"cluster": [],
"indices": [
{
"names": [ "ruslan_i_ludmila" ],
"privileges": ["read", "view_index_metadata"]
}
]
}
แแแแฎแแแ แแแแแก แจแแฅแแแ
POST /_security/user/pushkin
{
"password" : "nataliaonelove",
"roles" : [ "ruslan_i_ludmila_role", "kibana_user" ],
"full_name" : "Alexander Pushkin",
"email" : "[email protected]",
"metadata" : {
"hometown" : "Saint-Petersburg"
}
}
แแแแแชแแแแ แฃแกแแคแ แแฎแแแแ Elasticsearch แแแแกแขแแ แจแ
แ แแแแกแแช Elasticsearch แแฃแจแแแแก แแแแกแขแแ แจแ (แ แแช แฉแแแฃแแแแ แแแแ), แฃแกแแคแ แแฎแแแแแก แแแ แแแแขแ แแแ แแแแกแขแแ แจแ แแแแจแแแแแแแแแ แฎแแแแ. แแแแแซแแแก แจแแ แแก แฃแกแแคแ แแฎแ แแแแฃแแแแแชแแแกแแแแก, Elasticsearch แแงแแแแแก TLS แแ แแขแแแแแก. แแแ แจแแ แแก แฃแกแแคแ แแฎแ แฃแ แแแแ แแฅแแแแแแแก แแแกแแงแแแแแแแ แกแแญแแ แแ แกแแ แแแคแแแแขแ. แฉแแแ แแฅแแแแ แกแแ แขแแคแแแแขแก แแ แแแ แแ แแแกแแฆแแแก PEM แคแแ แแแขแจแ:
[elastic@node1 ~]$ ./elasticsearch/bin/elasticsearch-certutil ca --pem
แแแแแ แแแงแแแแแแ แแ แซแแแแแแก แจแแกแ แฃแแแแแก แจแแแแแ, แแแ แแฅแขแแ แแแจแ /../elasticsearch แแแแแฉแแแแแ แแ แฅแแแ elastic-stack-ca.zip. แแแก แจแแแแแ แแแฎแแแ แกแแ แแแคแแแแขแก แแ แแแ แแ แแแกแแฆแแแก แแแคแแ แแแแแแแแ crt ะธ แแแกแแฆแแแ แจแแกแแแแแแกแแ. แแแแแแจแแฌแแแแแแ แแแแ แแแแแแแกแแแ แกแแแแแ แ แ แแกแฃแ แกแแ, แ แแแแแแช แฎแแแแแกแแฌแแแแแ แฃแแแ แแงแแก แแแแกแขแแ แแก แงแแแแ แแแแแซแแแแ.
แแฎแแ แแแแแแฃแ แแแแแซแก แกแญแแ แแแแ แกแแแฃแแแ แ แกแแ แแแคแแแแขแแแ แแ แแแ แแแ แแแกแแฆแแแแแ, แ แแแแแแแช แแแคแฃแซแแแแฃแแแ แกแแแ แแ แแแ แแฅแขแแ แแแจแ. แแ แซแแแแแแก แจแแกแ แฃแแแแแกแแก แแแแแแฎแแแแแแ แแแ แแแแก แแแงแแแแแ. แแฅแแแ แจแแแแซแแแแ แแแแแแขแแ แแแแแขแแแแแ แแแ แแแแขแ แแแ -ip แแ -dns แฃแ แแแแ แแฅแแแแแแแก แแแแแซแแแแก แกแ แฃแแ แแแแแแแฌแแแแแกแแแแก.
[elastic@node1 ~]$ ./elasticsearch/bin/elasticsearch-certutil cert --ca-cert /shared_folder/ca/ca.crt --ca-key /shared_folder/ca/ca.key
แแ แซแแแแแแก แจแแกแ แฃแแแแแก แจแแแแแแ แแแแแฆแแแ แกแแ แแแคแแแแขแก แแ แแแ แแ แแแกแแฆแแแก PKCS#12 แคแแ แแแขแจแ, แแแ แแแแ แแแชแฃแ. แ แฉแแแ แแฎแแแแ แแแแแ แแ แแแฃแแ แคแแแแแก แแแแแขแแแ p12 แแแแคแแแฃแ แแชแแแก แแแ แแฅแขแแ แแแจแ:
[elastic@node1 ~]$ mv elasticsearch/elastic-certificates.p12 elasticsearch/config
แแแแแแขแแ แแแ แแแ แกแแ แแแคแแแแขแก แคแแ แแแขแจแ p12 keystore-แจแ แแ truststore แแแแแแฃแ แแแแแซแแ:
[elastic@node1 ~]$ ./elasticsearch/bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password
[elastic@node1 ~]$ ./elasticsearch/bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password
แฃแแแ แชแแแแแแแ elasticsearch.yml แ แฉแแแ แแฎแแแแ แกแขแ แแฅแแแแแแก แแแแแขแแแ แกแแ แขแแคแแแแขแแก แแแแแชแแแแแแ:
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
แฉแแแ แแแฌแงแแแ Elasticsearch-แแก แงแแแแ แแแแแซแก แแ แแแกแ แฃแแแแ curl. แแฃ แงแแแแแคแแ แ แแแแแแแ แกแฌแแ แแ, แแแแ แฃแแแแแ แแแกแฃแฎแ แ แแแแแแแแ แแแแแซแแ:
[elastic@node1 ~]$ curl node1:9200/_cat/nodes -u elastic:password
172.18.0.3 43 75 4 0.00 0.05 0.05 dim * node2
172.18.0.4 21 75 3 0.00 0.05 0.05 dim - node3
172.18.0.2 39 75 4 0.00 0.05 0.05 dim - node1
แแ แกแแแแแก แฃแกแแคแ แแฎแแแแแก แแแแแ แแ แแ แแแ แแแแขแ - IP แแแกแแแแ แแแก แแแคแแแขแแ แ (แฎแแแแแกแแฌแแแแแแ แแฅแ แแก แแแแแก แแแแแฌแแ แแแจแ). แกแแจแฃแแแแแแก แแแซแแแแ แจแแฅแแแแ IP แแแกแแแแ แแแแแก แแแแ แ แกแแแแ, แกแแแแแแแช แแแซแแแแแ แแแแแซแแแแ แฌแแแแแแก แฃแคแแแแ.
แแแแแชแแแแ แแแชแแ Elasticsearch แแแแกแขแแ แแก แแแ แแ
แแแแกแขแแ แแก แแแ แแ แแแจแแแแก แแแ แ แฎแแแกแแฌแงแแแแแก แแแแแแจแแ แแแแก: Kibana, Logstash, Beats แแ แกแฎแแ แแแ แ แแแแแแขแแแ.
https-แแก แแฎแแ แแแญแแ แแก แแแแคแแแฃแ แแชแแแกแแแแก (http-แแก แแแชแแแแ), แแแแแแขแแ แแฎแแแ แฎแแแแแ elasticsearch.yml-แก:
xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.keystore.path: elastic-certificates.p12
xpack.security.http.ssl.truststore.path: elastic-certificates.p12
แแแแขแแ แ แแ แกแแ แแแคแแแแขแ แแแชแฃแแแ แแแ แแแแ, แแแแแแขแแ แแแ แแแกแแฆแแแแแแก แจแแกแแแแฎแแ แแ แแแแแแฃแ แแแแแซแแ:
[elastic@node1 ~]$ ./elasticsearch/bin/elasticsearch-keystore add xpack.security.http.ssl.keystore.secure_password
[elastic@node1 ~]$ ./elasticsearch/bin/elasticsearch-keystore add xpack.security.http.ssl.truststore.secure_password
แแแกแแฆแแแแแแก แแแแแขแแแแก แจแแแแแ, Elasticsearch แแแแแซแแแ แแแแ แแ แแแ แแแกแแแแแจแแ แแแแแ https-แแก แกแแจแฃแแแแแแ. แแฎแแ แแแแ แแแจแแแแ แจแแกแแซแแแแแแแ.
แจแแแแแแ แแแแแฏแ แแ แแก แแแกแแฆแแแแก แจแแฅแแแ Kibana-แก แแแกแแแแแจแแ แแแแแ แแ แแแแคแแแฃแ แแชแแแจแ แแแกแแแแขแแแแแ. แกแแ แขแแคแแแแขแแก แกแแคแฃแซแแแแแ, แ แแแแแแช แฃแแแ แแแแแแแกแแแฃแแแ แกแแแแแ แ แแแ แแฅแขแแ แแแจแ, แฉแแแ แแแแแแฅแแแแ แกแแ แแแคแแแแขแก PEM แคแแ แแแขแจแ (PKCS#12 Kibana, Logstash แแ Beats แฏแแ แแ แแ แแก แแฎแแ แแแญแแ แแแ):
[elastic@node1 ~]$ ./elasticsearch/bin/elasticsearch-certutil cert --ca-cert /shared_folder/ca/ca.crt --ca-key /shared_folder/ca/ca.key --pem
แ แฉแแแ แแฎแแแแ แจแแฅแแแแแ แแแแแแจแแแแก แแแฎแกแแ แกแแฅแแฆแแแแแจแ Kibana แแแแคแแแฃแ แแชแแแ:
[elastic@node1 ~]$ unzip elasticsearch/certificate-bundle.zip -d kibana/config
แแแกแแฆแแแแแ แแฅ แแ แแก, แแกแ แ แแ แ แฉแแแ แแฎแแแแ Kibana-แก แแแแคแแแฃแ แแชแแแก แจแแชแแแ แแกแ, แ แแ แแแ แแแแฌแงแ แแแแ แแแแแงแแแแแ. kibana.yml แแแแคแแแฃแ แแชแแแก แคแแแแจแ แจแแชแแแแแ http https-แแ แแ แแแแแแขแแ แฎแแแแแ SSL แแแแจแแ แแก แแแ แแแแขแ แแแแ. แแแแ แกแแแ แฎแแแ แฃแแ แฃแแแแแงแแคแก แฃแกแแคแ แแฎแ แแแแฃแแแแแชแแแก แแแแคแแแฃแ แแชแแแก แแแแฎแแแ แแแแแก แแ แแฃแแแ แกแ แแ Kibana-แก แจแแ แแก.
elasticsearch.hosts: ["https://${HOSTNAME}:9200"]
elasticsearch.ssl.certificateAuthorities: /shared_folder/ca/ca.crt
elasticsearch.ssl.verificationMode: certificate
server.ssl.enabled: true
server.ssl.key: /../kibana/config/instance/instance.key
server.ssl.certificate: /../kibana/config/instance/instance.crt
แแแ แแแแ, แแแ แแแแขแ แแแ แแแกแ แฃแแแแฃแแแ แแ Elasticsearch แแแแกแขแแ แจแ แแแแแชแแแแแแ แฌแแแแแ แแแจแแคแ แฃแแแ.
แแฃ แแฅแแแ แแแฅแแ แจแแแแแฎแแแแ Elastic Stack-แแก แจแแกแแซแแแแแแแแแแ แฃแคแแกแ แแ แคแแกแแแแ แแแแแฌแแ แแแแก, แแแแแแแแแก แแแแแขแแ แแแแแก แแ SIEM แกแแกแขแแแแก แจแแฅแแแแก แจแแกแแฎแแ, แแแขแแแแ แแแแฎแแแแ
แฉแแแแ แแแขแ แกแขแแขแแ แแแแกแขแแฃแ แ แกแขแแแแก แจแแกแแฎแแ Habrรฉ-แแ:
แฌแงแแ แ: www.habr.com