Conas Elasticsearch a chumrú chun sceitheanna a sheachaint

Le bliain anuas, tá go leor sceitheadh ​​ó bhunachair sonraí Elasticsearch (anseo, anseo и anseo). I go leor cásanna, bhí sonraí pearsanta stóráilte sa bhunachar sonraí. D’fhéadfaí na sceitheanna seo a sheachaint dá mbeadh bac ar na riarthóirí roinnt socruithe simplí a sheiceáil tar éis dóibh an bunachar sonraí a imscaradh. Inniu beimid ag caint fúthu.

Déanaimis áirithint láithreach go n-úsáidimid Elasticsearch inár gcleachtas chun logaí a stóráil agus chun anailís a dhéanamh ar logaí uirlisí slándála faisnéise, OS agus bogearraí inár n-ardán IaaS, a chomhlíonann ceanglais 152-FZ, Cloud-152. 

Conas Elasticsearch a chumrú chun sceitheanna a sheachaint

Déanaimid seiceáil an gcloíonn an bunachar sonraí leis an Idirlíon

Sna cásanna is eol de sceitheanna (anseo, anseo) fuair an t-ionsaitheoir rochtain ar na sonraí go simplí agus gan mhisneach: foilsíodh an bunachar sonraí ar an Idirlíon, agus bhíothas in ann ceangal leis gan fíordheimhniú.  

Ar dtús, déanaimis déileáil le foilsiú ar an Idirlíon. Cén fáth a dtarlaíonn sé seo? Is é an fírinne gur le haghaidh oibriú níos solúbtha Elasticsearch molta cnuasach de thrí fhreastalaí a chruthú. Chun gur féidir leis na bunachair sonraí cumarsáid a dhéanamh lena chéile, ní mór duit calafoirt a oscailt. Mar thoradh air sin, ní chuireann riarthóirí srian ar rochtain ar an mbunachar sonraí ar bhealach ar bith, agus is féidir leat ceangal leis an mbunachar sonraí ó áit ar bith. Is furasta a sheiceáil an bhfuil rochtain ar an mbunachar sonraí ón taobh amuigh. Just isteach sa bhrabhsálaí http://[IP/Имя Elasticsearch]:9200/_cat/nodes?v

Más féidir leat dul isteach, ansin rith chun é a dhúnadh.

An nasc leis an mbunachar sonraí a chosaint

Anois déanfaimid é ionas go mbeidh sé dodhéanta ceangal leis an mbunachar sonraí gan fíordheimhniú.

Tá modúl fíordheimhnithe ag Elasticsearch a chuireann teorainn le rochtain ar an mbunachar sonraí, ach níl sé ar fáil ach sa tacar breiseán X-Pack íoctha (úsáid saor in aisce 1 mhí).

Is é an dea-scéal ná gur oscail Amazon a chuid forbairtí i titim na bliana 2019, a fhorluíonn le X-Pack. Tá an fheidhm fíordheimhnithe agus tú ag nascadh le bunachar sonraí ar fáil faoi cheadúnas saor in aisce don leagan Elasticsearch 7.3.2, agus tá scaoileadh nua do Elasticsearch 7.4.0 ar siúl cheana féin.

Tá an breiseán seo éasca le suiteáil. Téigh chuig consól an fhreastalaí agus ceangail an stór:

Bunaithe ar RPM:

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

yum update

yum install opendistro-security


Bunaithe ar DEB:

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

Idirghníomhaíocht a shocrú idir freastalaithe trí SSL

Nuair a bhíonn an breiseán á shuiteáil, athraíonn cumraíocht an chalafoirt a nascann leis an mbunachar sonraí. Cuireann sé ar chumas criptithe SSL. Chun gur féidir leis na freastalaithe braisle leanúint ar aghaidh ag obair lena chéile, ní mór duit an idirghníomhaíocht eatarthu a chumrú trí úsáid a bhaint as SSL.

Is féidir muinín idir óstaigh a bhunú lena údarás deimhniúcháin féin nó gan é. Leis an gcéad mhodh, tá gach rud soiléir: ní mór duit ach teagmháil a dhéanamh le speisialtóirí CA. Bogfaimid díreach chuig an dara ceann.

  1. Cruthaigh athróg leis an ainm fearainn iomlán:

    export DOMAIN_CN="example.com"

  2. Cruthaigh eochair phríobháideach:

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

  3. Sínigh an teastas fréimhe. Coinnigh sábháilte é: má chailltear nó má chuirtear i gcontúirt é, beidh gá an muinín idir na hóstach go léir a athchumrú.

    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. Cruthaigh eochair riarthóra:

    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. Cruthaigh iarratas chun an teastas a shíniú:

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

  6. Cruthaigh teastas riarthóra:

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

  7. Cruthaigh teastais don 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. Cruthaigh iarratas sínithe:

    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. Ag síniú an deimhnithe:

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

  10. Cuir an teastas idir nóid Elasticsearch san fhillteán seo a leanas:

    /etc/elasticsearch/


    teastaíonn uainn na comhaid:

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

  11. Cumrú /etc/elasticsearch/elasticsearch.yml – athraigh ainm na gcomhad le deimhnithe chuig na cinn a ghineann muid:

    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

Pasfhocail a athrú d'úsáideoirí inmheánacha

  1. Ag baint úsáide as an ordú thíos, aschuirimid an hash pasfhocal chuig an consól:

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

  2. Athraigh an hash sa chomhad go dtí an ceann faighte:

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

Suiteáil balla dóiteáin san OS

  1. Lig don bhalla dóiteáin tosú:

    systemctl enable firewalld

  2. Seolfaimid é:

    systemctl start firewalld

  3. Ceadaigh ceangal le Elasticsearch:

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

  4. Athlódáil na rialacha balla dóiteáin:

    firewall-cmd --reload

  5. Seo na rialacha oibre:

    firewall-cmd --list-all

Ár n-athruithe go léir a chur i bhfeidhm ar Elasticsearch

  1. Cruthaigh athróg leis an gcosán iomlán chuig an bhfillteán leis an mbreiseán:

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

  2. Rithfimid script a nuashonróidh pasfhocail agus a sheiceálfaidh socruithe:

    ${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. Seiceáil ar cuireadh na hathruithe i bhfeidhm:

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

Sin é go léir, is iad seo na socruithe íosta a chosnaíonn Elasticsearch ó naisc neamhúdaraithe.

Foinse: will.com

Add a comment