Elastika eo ambanin'ny hidin-trano sy fanalahidy: mamela ny safidy fiarovana amin'ny cluster Elasticsearch amin'ny fidirana ao anatiny sy ivelany

Elastika eo ambanin'ny hidin-trano sy fanalahidy: mamela ny safidy fiarovana amin'ny cluster Elasticsearch amin'ny fidirana ao anatiny sy ivelany

Elastic Stack dia fitaovana malaza amin'ny tsenan'ny rafitra SIEM (raha ny marina, tsy izy ireo ihany). Afaka manangona angona maro samy hafa habe izy io, sady saro-pady no tsy dia saro-pady. Tsy marina tanteraka raha tsy voaaro ny fidirana amin'ireo singa Elastic Stack. Amin'ny alΓ lan'ny default, ny singa rehetra ivelan'ny boaty Elastic (Elasticsearch, Logstash, Kibana, ary Beats collectors) dia mandeha amin'ny protocols misokatra. Ary ao amin'ny Kibana mihitsy, dia tsy mandeha ny fanamarinana. Ireo fifandraisana rehetra ireo dia azo antoka ary amin'ity lahatsoratra ity dia holazainay aminao ny fomba hanaovana izany. Ho fanamorana dia nozarainay ho bloc semantic 3 ny fitantarana:

  • Modely fidirana angona mifototra amin'ny anjara
  • Fiarovana ny angona ao anaty cluster Elasticsearch
  • Miaro ny angona ivelan'ny cluster Elasticsearch

Ny antsipiriany eo ambanin'ny fanapahana.

Modely fidirana angona mifototra amin'ny anjara

Raha mametraka Elasticsearch ianao ary tsy mampifanaraka azy amin'ny fomba rehetra, dia hisokatra ho an'ny rehetra ny fidirana amin'ny indexes rehetra. Eny ary, na ireo izay afaka mampiasa curl. Mba hisorohana an'izany, Elasticsearch dia manana modely azo alaina manomboka amin'ny famandrihana Basic (izay maimaim-poana). Schematically dia toy izao manaraka izao:

Elastika eo ambanin'ny hidin-trano sy fanalahidy: mamela ny safidy fiarovana amin'ny cluster Elasticsearch amin'ny fidirana ao anatiny sy ivelany

Inona no ao amin'ny sary

  • Ny mpampiasa dia izay rehetra afaka miditra amin'ny fampiasana ny fahazoan-dΓ lana.
  • Ny andraikitra dia andian-jo.
  • Ny zo dia fitambarana tombontsoa.
  • Ny tombontsoa dia alalana hanoratra, hamaky, hamafa, sns. (Lisitra feno ny tombontsoa)
  • Ny loharano dia fanondroana, antontan-taratasy, saha, mpampiasa ary sampan-draharaha fitahirizana hafa (ny modely ho an'ny loharano sasany dia tsy misy afa-tsy amin'ny famandrihana karama).

Amin'ny alΓ lan'ny default Elasticsearch dia manana mpampiasa boaty, izay ampifandraisina amin'izy ireo andraikitry ny boaty. Raha vantany vao afaka ny firafitry ny fiarovana ianao dia afaka manomboka mampiasa azy ireo avy hatrany.

Mba hahafahan'ny fiarovana amin'ny toe-javatra Elasticsearch dia mila ampidirinao ao amin'ny rakitra fikirakirana izany (amin'ny alΓ lan'ny default ity elasticsearch/config/elasticsearch.yml) andalana vaovao:

xpack.security.enabled: true

Aorian'ny fanovana ny rakitra fikirakirana dia atombohy na avereno indray ny Elasticsearch mba hampiharana ny fanovana. Ny dingana manaraka dia ny fametrahana tenimiafina ho an'ireo mpampiasa boaty. Andao hanao izany amin'ny interactive amin'ny fampiasana ny baiko etsy ambany:

[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]

Hamarininay:

[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

Azonao atao ny mikapoka ny lamosinao - vita ny fanovana eo amin'ny lafiny Elasticsearch. Fotoana izao handrafetana an'i Kibana. Raha mihazakazaka izany ianao izao dia hiseho ny fahadisoana, noho izany dia zava-dehibe ny mamorona fivarotana fanalahidy. Izany dia atao amin'ny baiko roa (user kibana ary ny tenimiafina niditra tao amin'ny dingana famoronana tenimiafina ao amin'ny Elasticsearch):

[elastic@node1 ~]$ ./kibana/bin/kibana-keystore add elasticsearch.username
[elastic@node1 ~]$ ./kibana/bin/kibana-keystore add elasticsearch.password

Raha marina ny zava-drehetra dia hanomboka hangataka fidirana sy tenimiafina i Kibana. Ny famandrihana Basic dia ahitana modely mifototra amin'ny mpampiasa anatiny. Manomboka amin'ny Volamena, azonao atao ny mampifandray ny rafitra fanamarinana ivelany - LDAP, PKI, Active Directory ary rafitra sonia tokana.

Elastika eo ambanin'ny hidin-trano sy fanalahidy: mamela ny safidy fiarovana amin'ny cluster Elasticsearch amin'ny fidirana ao anatiny sy ivelany

Ny zo fidirana amin'ny zavatra ao anatin'ny Elasticsearch dia mety ho voafetra ihany koa. Na izany aza, mba hanao toy izany koa ho an'ny antontan-taratasy na saha, dia mila famandrihana karama (ity haitraitra ity dia manomboka amin'ny ambaratonga Platinum). Ireo fanovana ireo dia hita ao amin'ny interface Kibana na amin'ny alalan'ny Security API. Azonao atao ny manamarina amin'ny alΓ lan'ny menu Dev Tools efa mahazatra:

Mamorona anjara

PUT /_security/role/ruslan_i_ludmila_role
{
  "cluster": [],
  "indices": [
    {
      "names": [ "ruslan_i_ludmila" ],
      "privileges": ["read", "view_index_metadata"]
    }
  ]
}

Mamorona mpampiasa

POST /_security/user/pushkin
{
  "password" : "nataliaonelove",
  "roles" : [ "ruslan_i_ludmila_role", "kibana_user" ],
  "full_name" : "Alexander Pushkin",
  "email" : "[email protected]",
  "metadata" : {
    "hometown" : "Saint-Petersburg"
  }
}

Fiarovana ny angona ao anaty cluster Elasticsearch

Rehefa mihazakazaka ao anaty cluster ny Elasticsearch (izay mahazatra), dia lasa zava-dehibe ny firafitry ny fiarovana ao anaty cluster. Ho an'ny fifandraisana azo antoka eo amin'ny nodes, Elasticsearch dia mampiasa ny protocol TLS. Mba hametrahana fifandraisana azo antoka eo amin'izy ireo dia mila taratasy fanamarinana ianao. Mamorona taratasy fanamarinana sy fanalahidy manokana amin'ny endrika PEM izahay:

[elastic@node1 ~]$ ./elasticsearch/bin/elasticsearch-certutil ca --pem

Rehefa avy nanatanteraka ny baiko etsy ambony, ao amin'ny lahatahiry /../elasticsearch hiseho ny arisiva elastic-stack-ca.zip. Ao anatin'izany dia hahita taratasy fanamarinana sy fanalahidy manokana misy fanitarana ianao crt ΠΈ manan-danja tsirairay avy. Tsara ny mametraka azy ireo amin'ny loharano iraisana, izay tokony ho azo avy amin'ny node rehetra ao amin'ny cluster.

Ny node tsirairay izao dia mila ny mari-pankasitrahana manokana sy ny fanalahidy manokana mifototra amin'ireo ao amin'ny lahatahiry iombonana. Rehefa manatanteraka ny baiko ianao dia asaina mametraka tenimiafina. Azonao atao ny manampy safidy fanampiny -ip sy -dns ho fanamarinana feno ny nodes mifandray.

[elastic@node1 ~]$ ./elasticsearch/bin/elasticsearch-certutil cert --ca-cert /shared_folder/ca/ca.crt --ca-key /shared_folder/ca/ca.key

Vokatry ny fanatanterahana ny baiko dia hahazo taratasy fanamarinana sy fanalahidy manokana amin'ny endrika PKCS#12 izahay, voaaro amin'ny tenimiafina. Ny hany sisa tavela dia ny mamindra ny rakitra vokarina p12 mankany amin'ny lahatahiry fanamafisana:

[elastic@node1 ~]$ mv elasticsearch/elastic-certificates.p12 elasticsearch/config

Ampio tenimiafina amin'ny taratasy fanamarinana amin'ny endrika p12 ao amin'ny keystore sy truststore isaky ny node:

[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

Efa fantatra elasticsearch.yml Ny hany sisa tavela dia ny manampy andalana miaraka amin'ny angon-drakitra fanamarinana:

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

Manokatra ny node Elasticsearch rehetra izahay ary manatanteraka Curl. Raha vita tsara ny zava-drehetra, dia haverina ny valiny misy node maromaro:

[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

Misy safidy fiarovana hafa - fanivanana adiresy IP (misy amin'ny famandrihana avy amin'ny ambaratonga volamena). Mamela anao hamorona lisitra fotsy amin'ny adiresy IP izay ahafahanao miditra nodes.

Miaro ny angona ivelan'ny cluster Elasticsearch

Ny ivelan'ny cluster dia midika fa mampifandray fitaovana ivelany: Kibana, Logstash, Beats na mpanjifa ivelany hafa.

Elastika eo ambanin'ny hidin-trano sy fanalahidy: mamela ny safidy fiarovana amin'ny cluster Elasticsearch amin'ny fidirana ao anatiny sy ivelany

Mba hanitsiana ny fanohanana ny https (fa tsy http), ampio andalana vaovao amin'ny 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

SATRIA Ny taratasy fanamarinana dia voaaro amin'ny tenimiafina, ampio amin'ny keystore sy truststore isaky ny node:

[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

Aorian'ny fampidirana ireo fanalahidy dia vonona ny hifandray amin'ny https ny node Elasticsearch. Ankehitriny dia azo atomboka izy ireo.

Ny dingana manaraka dia ny mamorona fanalahidy hampifandraisana an'i Kibana ary ampio amin'ny fanamafisana. Mifototra amin'ny taratasy fanamarinana izay efa hita ao amin'ny lahatahiry zaraina, hamokatra taratasy fanamarinana amin'ny endrika PEM (tsy mbola manohana ny PKCS#12 Kibana, Logstash ary Beats):

[elastic@node1 ~]$ ./elasticsearch/bin/elasticsearch-certutil cert --ca-cert /shared_folder/ca/ca.crt --ca-key /shared_folder/ca/ca.key --pem

Ny hany sisa tavela dia ny famoahana ireo fanalahidy noforonina ao amin'ny lahatahiry miaraka amin'ny fanamafisana Kibana:

[elastic@node1 ~]$ unzip elasticsearch/certificate-bundle.zip -d kibana/config

Eo ny lakile, ka ny hany sisa tavela dia ny manova ny config Kibana mba hanombohany mampiasa azy ireo. Ao amin'ny kibana.yml fisie fisie, ovay ny http ho https ary ampio tsipika misy fika fifandraisana SSL. Ny andalana telo farany dia manamboatra fifandraisana azo antoka eo amin'ny navigateur mpampiasa sy 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

Noho izany, vita ny fanovana ary ny fidirana amin'ny angon-drakitra ao amin'ny cluster Elasticsearch dia voarakotra.

Raha manana fanontaniana momba ny fahaizan'ny Elastic Stack ianao amin'ny famandrihana maimaim-poana na karama, asa fanaraha-maso na famoronana rafitra SIEM dia avelao ny fangatahana endrika fanehoan-kevitra amin'ny tranokalanay.

More amin'ny lahatsoratray momba ny Elastic Stack amin'ny HabrΓ©:

Fahatakarana ny fianarana milina ao amin'ny Elastic Stack (aka Elasticsearch, aka ELK)

Elasticsearch habe

Source: www.habr.com

Add a comment