Elastic di bin kilît û mifteyê de: vebijarkên ewlehiyê yên koma Elasticsearch ji bo gihîştina ji hundur û derve çalak dike

Elastic di bin kilît û mifteyê de: vebijarkên ewlehiyê yên koma Elasticsearch ji bo gihîştina ji hundur û derve çalak dike

Elastic Stack di bazara pergalên SIEM-ê de amûrek naskirî ye (bi rastî, ne tenê ew). Ew dikare gelek daneyên mezinahiya cûda, hem hesas û hem jî ne pir hesas berhev bike. Ger gihîştina hêmanên Elastic Stack bixwe neyê parastin, bi tevahî ne rast e. Ji hêla xwerû, hemî hêmanên Elastic-ê yên derveyî-rêveberê (kolekterên Elasticsearch, Logstash, Kibana, û Beats) li ser protokolên vekirî dixebitin. Û di Kibana bixwe de, verastkirin neçalak e. Hemî van danûstendinan dikarin werin ewle kirin û di vê gotarê de em ê ji we re vebêjin ka meriv çawa vê yekê bike. Ji bo rehetiyê, me vegotin li 3 blokên semantîk dabeş kir:

  • Modela gihîştina daneya-based rol
  • Ewlekariya daneyê di nav komek Elasticsearch de
  • Ewlekirina daneyan li derveyî komek Elasticsearch

Details di bin cut.

Modela gihîştina daneya-based rol

Ger hûn Elasticsearch saz bikin û bi tu awayî wê nehêlin, gihîştina hemî navnîşan dê ji her kesî re vekirî be. Baş e, an yên ku dikarin curl bikar bînin. Ji bo ku ji vê yekê dûr nekevin, Elasticsearch modelek rolê heye ku bi abonetiyek Bingehîn dest pê dike (ku belaş e). Schematically ew tiştek wusa xuya dike:

Elastic di bin kilît û mifteyê de: vebijarkên ewlehiyê yên koma Elasticsearch ji bo gihîştina ji hundur û derve çalak dike

Di wêneyê de çi ye

  • Bikarhêner her kes in ku dikarin bi karanîna pêbaweriyên xwe têkevinê.
  • Rol komek maf e.
  • Maf komek îmtiyazan in.
  • Taybetmendî destûrên nivîsandin, xwendin, jêbirin, hwd. (Lîsteya tevahî ya îmtiyazan)
  • Çavkanî index, belge, zevî, bikarhêner û dezgehên hilanînê yên din in (modela rola hin çavkaniyan tenê bi aboneyên drav re peyda dibe).

Ji hêla xwerû ve Elasticsearch heye bikarhênerên box, ku ew pê ve girêdayî ne rolên box. Gava ku hûn mîhengên ewlehiyê çalak bikin, hûn dikarin tavilê dest bi karanîna wan bikin.

Ji bo çalakkirina ewlehiyê di mîhengên Elasticsearch de, hûn hewce ne ku wê li pelê veavakirinê zêde bikin (bi xwerû ev e elasticsearch/config/elasticsearch.yml) xeta nû:

xpack.security.enabled: true

Piştî guheztina pelê veavakirinê, Elasticsearch-ê bidin destpêkirin an ji nû ve bidin destpêkirin da ku guheztin bi bandor bibin. Pêngava paşîn dana şîfreyan ji bikarhênerên qutikê re ye. Ka em vê bi înteraktîf bi karanîna fermana jêrîn bikin:

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

Em kontrol dikin:

[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

Hûn dikarin xwe li pişta xwe bixin - mîhengên li aliyê Elasticsearch qediyan. Naha dem dema mîhengkirina Kibana ye. Ger hûn wê nuha bimeşînin, dê xeletî xuya bibin, ji ber vê yekê girîng e ku hûn firotgehek mifteyê biafirînin. Ev di du fermanan de (bikarhêner kibana û şîfreya ku di qonaxa çêkirina şîfreyê de di Elasticsearch de hatî nivîsandin):

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

Ger her tişt rast be, Kibana dê dest bi têketin û şîfreyek bixwaze. Abonetiya Bingehîn modelek rolê li ser bingeha bikarhênerên hundurîn vedihewîne. Bi Zêrîn dest pê dike, hûn dikarin pergalên pejirandina derveyî - LDAP, PKI, Active Directory û pergalên nîşana Yekane ve girêdin.

Elastic di bin kilît û mifteyê de: vebijarkên ewlehiyê yên koma Elasticsearch ji bo gihîştina ji hundur û derve çalak dike

Mafên gihîştina tiştên li hundurê Elasticsearch jî dikare were sînordar kirin. Lêbelê, ji bo ku hûn ji bo belgeyan an zeviyan heman tiştî bikin, hûn ê hewceyê abonetiyek drav bidin (ev luks bi asta Platinum dest pê dike). Van mîhengan di navbeynkariya Kibana an bi riya de hene Ewlekariya API. Hûn dikarin bi menuya Amûrên Dev jixwe naskirî ve kontrol bikin:

Rolek afirandin

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

Afirandina bikarhênerek

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

Ewlekariya daneyê di nav komek Elasticsearch de

Dema ku Elasticsearch di komekê de dimeşîne (ku hevpar e), mîhengên ewlehiyê di nav komê de girîng dibin. Ji bo pêwendiya ewledar a di navbera girêkan de, Elasticsearch protokola TLS bikar tîne. Ji bo sazkirina danûstendina ewledar di navbera wan de, hûn hewceyê sertîfîkayekê ne. Em di forma PEM-ê de sertîfîkayek û mifteya taybet diafirînin:

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

Piştî ku emrê jorîn, di pelrêçê de bicîh bikin /../elasticsearch arşîv dê xuya bibe elastic-stack-ca.zip. Di hundurê wê de hûn ê sertîfîkayek û mifteyek taybet a bi dirêjkirinê bibînin crt и qûfle herwiha. Tête pêşniyar kirin ku wan bixin ser çavkaniyek hevpar, ku divê ji hemî girêkên di komê de bigihîje.

Naha her nodek sertîfîkayên xwe û mifteyên taybet ên li ser bingeha yên di pelrêça hevpar de hewce dike. Dema ku emrê bicîh dikin, dê ji we were xwestin ku şîfreyek saz bikin. Hûn dikarin vebijarkên din -ip û -dns lê zêde bikin ji bo verastkirina bêkêmasî ya girêkên danûstendinê.

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

Di encama pêkanîna fermanê de, em ê sertîfîkayek û mifteyek taybet a bi formata PKCS#12, bi şîfreyek parastî werbigirin. Tiştê ku dimîne ev e ku pelê hatî hilberandin biguhezîne p12 ji pelrêça veavakirinê:

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

Di formatê de şîfreyek li sertîfîkayê zêde bikin p12 li keystore û pêbaweriyê li ser her girêk:

[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

Jixwe tê zanîn elasticsearch.yml Tiştê ku dimîne ev e ku meriv rêzikên bi daneyên sertîfîkayê zêde bike:

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

Em hemî girêkên Elasticsearch didin destpêkirin û darve dikin curl. Ger her tişt rast hatibe kirin, dê bersivek bi çend nokan ve were vegerandin:

[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

Vebijarkek ewlehiyê ya din jî heye - Parzûnkirina navnîşana IP-yê (di aboneyên ji asta Zêrîn de heye). Destûrê dide we ku hûn navnîşên spî yên navnîşanên IP-yê yên ku ji we destûr tê dayîn ku hûn bigihîjin girêkan biafirînin.

Ewlekirina daneyan li derveyî komek Elasticsearch

Li derveyî komê tê wateya girêdana amûrên derveyî: Kibana, Logstash, Beats an xerîdarên din ên derveyî.

Elastic di bin kilît û mifteyê de: vebijarkên ewlehiyê yên koma Elasticsearch ji bo gihîştina ji hundur û derve çalak dike

Ji bo veavakirina piştgiriya https (li şûna http), xetên nû li elasticsearch.yml zêde bikin:

xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.keystore.path: elastic-certificates.p12
xpack.security.http.ssl.truststore.path: elastic-certificates.p12

Bo Sertîfîka bi şîfreyê parastî ye, li ser her girêkekê wê li keystore û pêbaweriyê zêde bike:

[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

Piştî lê zêdekirina mifteyan, girêkên Elasticsearch amade ne ku bi https ve werin girêdan. Niha ew dikarin bêne destpêkirin.

Pêngava din ev e ku meriv mifteyek biafirîne ku Kibana ve girêbide û wê li veavakirinê zêde bike. Li ser bingeha sertîfîkaya ku jixwe di pelrêça hevpar de cih digire, em ê sertîfîkayek bi formata PEM-ê biafirînin (PKCS#12 Kibana, Logstash û Beats hîna piştgirî nakin):

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

Tiştê ku dimîne ev e ku bi veavakirina Kibana bişkojkên hatine afirandin di peldankê de vekin:

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

Bişkok li wir in, ji ber vê yekê ya ku dimîne ev e ku meriv veavakirina Kibana biguhezîne da ku ew dest bi karanîna wan bike. Di pelê veavakirina kibana.yml de, http biguherînin https û bi mîhengên girêdana SSL re xetên zêde bikin. Sê xetên paşîn pêwendiya ewledar di navbera geroka bikarhêner û Kibana de mîheng dikin.

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

Bi vî rengî, mîhengan qediyan û gihîştina daneyan di koma Elasticsearch de tê şîfre kirin.

Ger pirsên we di derheqê kapasîteyên Elastic Stack de li ser aboneyên belaş an drav, peywirên çavdêriyê an çêkirina pergalek SIEM-ê hebin, daxwazek bihêlin forma bersivê li ser malpera me.

Zêdetir gotarên me yên derbarê Elastic Stack li ser Habré:

Fêmkirina Fêrbûna Makîneyê di Stacka Elastic de (aka Elasticsearch, ango ELK)

Mezinahiya Elasticsearch

Source: www.habr.com

Add a comment