Mar a chuireas tu Elasticsearch air dòigh gus aoidion a sheachnadh

Thar na bliadhna a dh’ fhalbh, tha mòran aoidion air a bhith ann bho stòran-dàta Elasticsearch (feuch, feuch и feuch). Ann an iomadh cùis, bha dàta pearsanta air a stòradh san stòr-dàta. Dh’ fhaodadh na h-aodion sin a bhith air an seachnadh nam biodh an luchd-rianachd, às deidh dhaibh an stòr-dàta a chleachdadh, air dragh a chuir air beagan shuidheachaidhean sìmplidh a sgrùdadh. An-diugh bruidhnidh sinn mun deidhinn.

Dèanamaid cinnteach sa bhad gum bi sinn a’ cleachdadh Elasticsearch nar cleachdadh gus logaichean a stòradh agus sgrùdadh a dhèanamh air logaichean innealan tèarainteachd fiosrachaidh, OS agus bathar-bog san àrd-ùrlar IaaS againn, a tha a rèir riatanasan 152-FZ, Cloud-152. 

Mar a chuireas tu Elasticsearch air dòigh gus aoidion a sheachnadh

Nì sinn sgrùdadh a bheil an stòr-dàta “a’ cumail a-mach ”ris an eadar-lìn

Anns a 'mhòr-chuid de chùisean aithnichte de aoidion (feuch, feuch) fhuair an neach-ionnsaigh cothrom air an dàta gu sìmplidh agus gu mì-mhodhail: chaidh an stòr-dàta fhoillseachadh air an eadar-lìn, agus bha e comasach ceangal a dhèanamh ris gun dearbhadh.  

An toiseach, leig dhuinn dèiligeadh ri foillseachadh air an eadar-lìon. Carson a tha seo a’ tachairt? Is e an fhìrinn gu bheil Elasticsearch airson obrachadh nas sùbailte air a mholadh cruthaich buidheann de thrì frithealaichean. Gus am bi na stòran-dàta a 'conaltradh ri chèile, feumaidh tu puirt fhosgladh. Mar thoradh air an sin, chan eil luchd-rianachd a 'cuingealachadh ruigsinneachd air an stòr-dàta ann an dòigh sam bith, agus faodaidh tu ceangal ris an stòr-dàta bho àite sam bith. Tha e furasta faighinn a-mach a bheil an stòr-dàta ruigsinneach bhon taobh a-muigh. Dìreach cuir a-steach don bhrobhsair http://[IP/Имя Elasticsearch]:9200/_cat/nodes?v

Mas urrainn dhut faighinn a-steach, an uairsin ruith gus a dhùnadh.

Dìon an ceangal ris an stòr-dàta

A-nis nì sinn e gus am bi e do-dhèanta ceangal ris an stòr-dàta gun dearbhadh.

Tha modal dearbhaidh aig Elasticsearch a chuireas casg air ruigsinneachd air an stòr-dàta, ach chan eil e ri fhaighinn ach anns an t-seata plugan X-Pack pàighte (cleachdadh an-asgaidh 1 mìos).

Is e an deagh naidheachd, as t-fhoghar 2019, gun do dh’ fhosgail Amazon na leasachaidhean aige, a tha a ’dol thairis air X-Pack. Tha an gnìomh dearbhaidh nuair a tha thu a’ ceangal ri stòr-dàta ri fhaighinn fo chead an-asgaidh airson dreach Elasticsearch 7.3.2, agus tha brath ùr airson Elasticsearch 7.4.0 mu thràth san obair.

Tha am plugan seo furasta a stàladh. Rach gu consol an fhrithealaiche agus ceangail an stòr:

Stèidhichte air RPM:

curl https://d3g5vo6xdbdb9a.cloudfront.net/yum/opendistroforelasticsearch-artifacts.repo -o /etc/yum.repos.d/opendistroforelasticsearch-artifacts.repo

yum update

yum install opendistro-security


Stèidhichte air DEB:

wget -qO ‐ https://d3g5vo6xdbdb9a.cloudfront.net/GPG-KEY-opendistroforelasticsearch | sudo apt-key add -

A’ stèidheachadh eadar-obrachadh eadar frithealaichean tro SSL

Nuair a stàlaicheas tu am plugan, bidh rèiteachadh a’ phuirt a’ ceangal ris an stòr-dàta ag atharrachadh. Tha e a’ comasachadh crioptachadh SSL. Gus an urrainn do na frithealaichean brabhsair cumail orra ag obair le chèile, feumaidh tu eadar-obrachadh eatorra a rèiteachadh le bhith a’ cleachdadh SSL.

Faodar earbsa eadar luchd-aoigheachd a stèidheachadh leis an ùghdarras teisteanais aca fhèin no às aonais. Leis a 'chiad dhòigh, tha a h-uile dad soilleir: feumaidh tu fios a chuir gu eòlaichean CA. Gluaisidh sinn dìreach chun dàrna fear.

  1. Cruthaich caochladair leis an ainm àrainn slàn:

    export DOMAIN_CN="example.com"

  2. Cruthaich iuchair phrìobhaideach:

    openssl genrsa -out root-ca-key.pem 4096

  3. Cuir d’ ainm ris an teisteanas root. Cùm e sàbhailte: ma thèid a chall no a chuir an cunnart, feumar an earbsa eadar na h-aoighean uile ath-dhealbhadh.

    openssl req -new -x509 -sha256 -subj "/C=RU/ST=Moscow/O=Moscow, Inc./CN=${DOMAIN_CN}" 
    -key root-ca-key.pem -out root-ca.pem

  4. Cruthaich iuchair rianaire:

    openssl genrsa -out admin-key-temp.pem 4096
    openssl pkcs8 -inform PEM -outform PEM -in admin-key-temp.pem -topk8 -nocrypt 
    -v1 PBE-SHA1-3DES -out admin-key.pem

  5. Cruthaich iarrtas airson ainm a chuir ris an teisteanas:

    openssl req -new -subj "/C=RU/ST=Moscow/O=Moscow Inc./CN=${DOMAIN_CN}/CN=admin " 
    -key admin-key.pem -out admin.csr

  6. Cruthaich teisteanas rianadair:

    openssl x509 -req -extensions usr_cert -in admin.csr -CA root-ca.pem 
    -CAkey root-ca-key.pem -CAcreateserial -sha256 -out admin.pem

  7. Cruthaich teisteanasan airson an nód Elasticsearch:

    export NODENAME="node-01"
    openssl genrsa -out ${NODENAME}-key-temp.pem 4096
    openssl pkcs8 -inform PEM -outform PEM -in ${NODENAME}-key-temp.pem -topk8 -nocrypt 
    -v1 PBE-SHA1-3DES -out ${NODENAME}-key.pem

  8. Cruthaich iarrtas ainm-sgrìobhte:

    openssl req -new -subj "/C=RU/ST=Moscow/O=Moscow Inc./CN=${NODENAME}.${DOMAIN_CN}"  
    -addext"subjectAltName=DNS:${NODENAME}.${DOMAIN_CN},DNS:www.${NODENAME}.${DOMAIN_CN}" 
    -key ${NODENAME}-key.pem -out ${NODENAME}.csr

  9. A’ soidhnigeadh an teisteanais:

    openssl x509 -req -in node.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial 
    -sha256 -out node.pem

  10. Cuir an teisteanas eadar nodan Elasticsearch sa phasgan a leanas:

    /etc/elasticsearch/


    feumaidh sinn na faidhlichean:

            node-01-key.pem
    	node-01.pem
    	admin-key.pem
    	admin.pem
    	root-ca.pem

  11. Gnàthaich /etc/elasticsearch/elasticsearch.yml - atharraich ainm nam faidhlichean le teisteanasan chun an fheadhainn a chruthaich sinn:

    opendistro_security.ssl.transport.pemcert_filepath: node-01.pem                                                                                                                                                                                    
    	opendistro_security.ssl.transport.pemkey_filepath: node-01-key.pem                                                                                                                                                                                 
    	opendistro_security.ssl.transport.pemtrustedcas_filepath: root-ca.pem                                                                                                                                                                              
    	opendistro_security.ssl.transport.enforce_hostname_verification: false                                                                                                                                                                             
    	opendistro_security.ssl.http.enabled: true                                                                                                                                                                                                         
    	opendistro_security.ssl.http.pemcert_filepath: node-01.pem                                                                                                                                                                                         
    	opendistro_security.ssl.http.pemkey_filepath: node-01-key.pem                                                                                                                                                                                      
    	opendistro_security.ssl.http.pemtrustedcas_filepath: root-ca.pem                                                                                                                                                                                   
    	opendistro_security.allow_unsafe_democertificates: false                                                                                                                                                                                           
    	opendistro_security.allow_default_init_securityindex: true                                                                                                                                                                                         
    	opendistro_security.authcz.admin_dn:                                                                                                                                                                                                               
    	  − CN=admin,CN=example.com,O=Moscow Inc.,ST=Moscow,C=RU                                                                                                                                                                                                  
    	opendistro_security.nodes_dn:                                                                                                                                                                                                                      
    	  − CN=node-01.example.com,O=Moscow Inc.,ST=Moscow,C=RU

Ag atharrachadh faclan-faire airson luchd-cleachdaidh a-staigh

  1. A’ cleachdadh an àithne gu h-ìosal, bidh sinn a’ cuir a-mach an hash facal-faire chun chonsail:

    sh ${OD_SEC}/tools/hash.sh -p [пароль]

  2. Atharraich an hash san fhaidhle chun an fhear a fhuair thu:

    /usr/share/elasticsearch/plugins/opendistro_security/securityconfig/internal_users.yml

A’ stèidheachadh balla-teine ​​​​san OS

  1. Leig leis a 'bhalla-teine ​​​​tòiseachadh:

    systemctl enable firewalld

  2. Nach cuir sinn air bhog e:

    systemctl start firewalld

  3. Ceadaich ceangal ri Elasticsearch:

    firewall-cmd --set-default-zone work
    firewall-cmd --zone=work --add-port=9200/TCP --permanent

  4. Luchdaich a-nuas riaghailtean airson firewalls

    firewall-cmd --reload

  5. Seo na riaghailtean obrach:

    firewall-cmd --list-all

A’ cur ar n-atharrachaidhean gu lèir an sàs ann an Elasticsearch

  1. Cruthaich caochladair leis an t-slighe slàn chun phasgan leis a’ plugan:

    export  OD_SEC="/usr/share/elasticsearch/plugins/opendistro_security/"

  2. Feuch an ruith sinn sgriobt a bheir ùrachadh air faclan-faire agus a nì sgrùdadh air na roghainnean:

    ${OD_SEC}/tools/securityadmin.sh -cd ${OD_SEC}/securityconfig/ 
    -icl -nhnv -cacert /etc/elasticsearch/root-ca.pem 
    -cert /etc/elasticsearch/admin.pem  
    -key /etc/elasticsearch/admin-key.pem

  3. Feuch an deach na h-atharrachaidhean a chuir an sàs:

    curl -XGET https://[IP/Имя Elasticsearch]:9200/_cat/nodes?v -u admin:[пароль] --insecure

Sin uile, is iad seo na roghainnean as ìsle a tha a 'dìon Elasticsearch bho cheanglaichean gun chead.

Source: www.habr.com

Cuir beachd ann