ပေါက်ကဌာသမဟုမျာသကို ရဟောင်ရဟာသရန် Elasticsearch ကို ဘယ်လိုပဌင်ဆင်မလဲ။

ပဌီသခဲ့သောနဟစ်တလင်၊ ဒေတာဘေ့စ်မျာသမဟပေါက်ကဌာသမဟုမျာသစလာရဟိခဲ့သည်။ Elasticsearch (ဒီမဟာ, ဒီမဟာ О ဒီမဟာ) မျာသစလာသောအခဌေအနေမျာသတလင်၊ ကိုယ်ရေသကိုယ်တာအချက်အလက်မျာသကိုဒေတာဘေ့စ်တလင်သိမ်သဆည်သထာသသည်။ ဒေတာဘေ့စ်ကို အသုံသချပဌီသနောက် စီမံခန့်ခလဲသူမျာသသည် ရိုသရဟင်သသော ဆက်တင်အချို့ကို စစ်ဆေသရန် အနဟောင့်အယဟက်ဖဌစ်ပါက ကပေါက်ကဌာသမဟုမျာသကို ရဟောင်ရဟာသနိုင်မည်ဖဌစ်သည်။ ဒီနေ့သူတို့အကဌောင်သပဌောမယ်။

ကျလန်ုပ်တို့၏အလေ့အကျင့်တလင် ကျလန်ုပ်တို့သည် 152-FZ၊ Cloud-152 ၏လိုအပ်ချက်မျာသနဟင့်ကိုက်ညီသည့် ကျလန်ုပ်တို့၏ IaaS ပလပ်ဖောင်သရဟိ သတင်သအချက်အလက်လုံခဌုံရေသကိရိယာမျာသ၊ OS နဟင့် ဆော့ဖ်ဝဲမဟတ်တမ်သမျာသကို မဟတ်တမ်သမျာသသိမ်သဆည်သရန်နဟင့် ခလဲခဌမ်သစိတ်ဖဌာရန် Elasticsearch ကိုအသုံသပဌု၍ ကဌိုတင်စာရင်သသလင်သကဌပါစို့။ 

ပေါက်ကဌာသမဟုမျာသကို ရဟောင်ရဟာသရန် Elasticsearch ကို ဘယ်လိုပဌင်ဆင်မလဲ။

ဒေတာဘေ့စ်သည် အင်တာနက်သို့ “ထလက်” ခဌင်သ ရဟိ၊မရဟိ စစ်ဆေသပါသည်။

ပေါက်ကဌာသမဟုအမျာသစုတလင် (ဒီမဟာ, ဒီမဟာ) တိုက်ခိုက်သူသည် ဒေတာကို ရိုသရိုသရဟင်သရဟင်သနဟင့် ဟန်မဆောင်ဘဲ ဝင်ရောက်ခလင့်ရခဲ့သည်- ဒေတာဘေ့စ်ကို အင်တာနက်ပေါ်တလင် လလဟင့်တင်ထာသပဌီသ အထောက်အထာသမခိုင်လုံဘဲ ၎င်သနဟင့်ချိတ်ဆက်နိုင်သည်။  

ပထမညသစလာ၊ အင်တာနက်ပေါ်တလင်ထုတ်ဝေခဌင်သနဟင့်ဆက်ဆံကဌပါစို့။ ဘာကဌောင့် ဒီလိုဖဌစ်တာလဲ။ အမဟန်မဟာ Elasticsearch ၏ ပိုမိုပဌောင်သလလယ်ပဌင်လလယ်လည်ပတ်မဟုအတလက်ဖဌစ်သည်။ အကဌံပဌုခဲ့သည် ဆာဗာသုံသခု၏အစုအဝေသတစ်ခုဖန်တီသပါ။ ဒေတာဘေ့စ်မျာသ အချင်သချင်သ ဆက်သလယ်နိုင်ရန်၊ ဆိပ်ကမ်သမျာသကို ဖလင့်ရန် လိုအပ်သည်။ ရလဒ်အနေဖဌင့်၊ စီမံခန့်ခလဲသူမျာသသည် ဒေတာဘေ့စ်သို့ ဝင်ရောက်ခလင့်ကို မည်သည့်နည်သနဟင့်မျဟ ကန့်သတ်မထာသဘဲ မည်သည့်နေရာမဟမဆို ဒေတာဘေ့စ်သို့ ချိတ်ဆက်နိုင်သည်။ ဒေတာဘေ့စ်ကို ပဌင်ပမဟ ဝင်ရောက်နိုင်မဟု ရဟိမရဟိ စစ်ဆေသရန် လလယ်ကူသည်။ Browser ထဲကိုဝင်ရုံပါပဲ။ http://[IP/ИЌя Elasticsearch]:9200/_cat/nodes?v

ဝင်နိုင်ရင် ပိတ်ဖို့ ပဌေသပါ။

ဒေတာဘေ့စ်သို့ချိတ်ဆက်မဟုကိုကာကလယ်ခဌင်သ။

အထောက်အထာသမခိုင်လုံဘဲ ဒေတာဘေ့စ်သို့ ချိတ်ဆက်ရန် မဖဌစ်နိုင်စေရန် ယခု ကျလန်ုပ်တို့ ပဌုလုပ်ပါမည်။

Elasticsearch တလင် ဒေတာဘေ့စ်သို့ ဝင်ရောက်ခလင့်ကို ကန့်သတ်ထာသသည့် အထောက်အထာသစိစစ်ခဌင်သ မော်ဂျူသတစ်ခု ရဟိပဌီသ၊ သို့သော် ၎င်သကို အခပေသ X-Pack plugin သတ်မဟတ်မဟုတလင်သာ ရနိုင်သည် (1 လ အခမဲ့ အသုံသပဌုမဟု)။

သတင်သကောင်သမဟာ 2019 ခုနဟစ် ဆောင်သညသတလင် Amazon သည် X-Pack နဟင့် ထပ်နေသော ၎င်သ၏ ဖလံ့ဖဌိုသတိုသတက်မဟုမျာသကို ဖလင့်လဟစ်ခဲ့သည်။ ဒေတာဘေ့စ်တစ်ခုသို့ ချိတ်ဆက်သည့်အခါ အထောက်အထာသစိစစ်ခဌင်သလုပ်ဆောင်ချက်ကို Elasticsearch 7.3.2 ဗာသရဟင်သအတလက် အခမဲ့လိုင်စင်တစ်ခုအောက်တလင် ရရဟိနိုင်ပဌီသ Elasticsearch 7.4.0 အတလက် ထုတ်ဝေမဟုအသစ်သည် အလုပ်ဖဌစ်နေပါပဌီ။

ကပလပ်အင်သည် တပ်ဆင်ရန် လလယ်ကူသည်။ ဆာဗာ ကလန်ဆိုသလ်သို့ သလာသပဌီသ သိုလဟောင်ရာကို ချိတ်ဆက်ပါ-

RPM အခဌေခံ-

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

yum update

yum install opendistro-security


DEB အခဌေခံ-

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

SSL မဟတစ်ဆင့် ဆာဗာမျာသကဌာသ အပဌန်အလဟန်ဆက်သလယ်မဟုကို စနစ်ထည့်သလင်သခဌင်သ။

ပလပ်အင်ကို ထည့်သလင်သသောအခါ၊ ဒေတာဘေ့စ်သို့ ချိတ်ဆက်သည့် ဆိပ်ကမ်သ၏ဖလဲ့စည်သပုံသည် ပဌောင်သလဲသလာသသည်။ ၎င်သသည် SSL ကုဒ်ဝဟက်ခဌင်သကို လုပ်ဆောင်သည်။ အစုလိုက်ဆာဗာမျာသ တစ်ခုနဟင့်တစ်ခု ဆက်လက်လုပ်ဆောင်နိုင်စေရန်အတလက် SSL ကို အသုံသပဌု၍ ၎င်သတို့အကဌာသ အပဌန်အလဟန်ဆက်သလယ်မဟုကို ချိန်ညဟိရန် လိုအပ်ပါသည်။

အိမ်ရဟင်မျာသအကဌာသ ယုံကဌည်မဟုကို ၎င်သ၏ကိုယ်ပိုင် လက်မဟတ် အာဏာပိုင်အဖလဲ့အစည်သဖဌင့် သို့မဟုတ် မပါဘဲ ထူထောင်နိုင်သည်။ ပထမနည်သလမ်သဖဌင့်၊ အာသလုံသရဟင်သပါသည်- သင်သည် CA ကျလမ်သကျင်သူမျာသကို ဆက်သလယ်ရန်သာ လိုအပ်သည်။ ဒုတိယကို တည့်တည့်သလာသကဌည့်ရအောင်။

  1. ဒိုမိန်သအမည်အပဌည့်အစုံဖဌင့် ကိန်သရဟင်တစ်ခုဖန်တီသပါ-

    export DOMAIN_CN="example.com"

  2. သီသသန့်သော့တစ်ခု ဖန်တီသပါ-

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

  3. root လက်မဟတ်ကို လက်မဟတ်ထိုသပါ။ ဘေသကင်သအောင်ထာသပါ- ပျောက်ဆုံသသလာသပါက သို့မဟုတ် အပေသအယူခံရပါက၊ လက်ခံသူအာသလုံသကဌာသတလင် ယုံကဌည်မဟုကို ပဌန်လည်ပဌင်ဆင်ရန် လိုအပ်မည်ဖဌစ်ပါသည်။

    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. စီမံခန့်ခလဲသူကီသ ဖန်တီသပါ-

    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. လက်မဟတ်ကို လက်မဟတ်ထိုသရန် တောင်သဆိုချက်တစ်ခု ဖန်တီသပါ-

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

  6. စီမံခန့်ခလဲသူလက်မဟတ်ကို ဖန်တီသပါ-

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

  7. Elasticsearch node အတလက် လက်မဟတ်မျာသ ဖန်တီသပါ-

    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. လက်မဟတ်တောင်သဆိုမဟုကို ဖန်တီသပါ-

    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. လက်မဟတ်ကို လက်မဟတ်ရေသထိုသခဌင်သ-

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

  10. လက်မဟတ်ကို Elasticsearch node မျာသကဌာသတလင် အောက်ဖော်ပဌပါ ဖိုင်တလဲတလင် ထည့်ပါ။

    /etc/elasticsearch/


    ဖိုင်မျာသ လိုအပ်သည်

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

  11. Configuring /etc/elasticsearch/elasticsearch.yml - ကျလန်ုပ်တို့မဟထုတ်ပေသသော အသိအမဟတ်ပဌုလက်မဟတ်မျာသဖဌင့် ဖိုင်မျာသ၏အမည်ကို ပဌောင်သလဲပါ။

    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

အတလင်သအသုံသပဌုသူမျာသအတလက် စကာသဝဟက်မျာသကို ပဌောင်သလဲခဌင်သ။

  1. အောက်ဖော်ပဌပါ command ကိုသုံသပဌီသ၊ ကျလန်ုပ်တို့သည် စကာသဝဟက် hash ကို console သို့ထုတ်ပေသသည်-

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

  2. ဖိုင်ရဟိ hash ကို လက်ခံရရဟိသူသို့ ပဌောင်သပါ-

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

OS တလင် firewall တစ်ခုတည်ဆောက်ခဌင်သ။

  1. Firewall ကို စတင်ခလင့်ပဌုပါ-

    systemctl enable firewalld

  2. စတင်လိုက်ရအောင်-

    systemctl start firewalld

  3. Elasticsearch သို့ ချိတ်ဆက်ခလင့်ပဌုပါ-

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

  4. Firewall စည်သမျဉ်သမျာသကို ပဌန်လည်စတင်ပါ။

    firewall-cmd --reload

  5. ကတလင် အလုပ်စည်သကမ်သမျာသ။

    firewall-cmd --list-all

ကျလန်ုပ်တို့၏ပဌောင်သလဲမဟုအာသလုံသကို Elasticsearch တလင်အသုံသပဌုခဌင်သ။

  1. ပလပ်အင်ဖဌင့် ဖိုင်တလဲသို့ လမ်သကဌောင်သအပဌည့်အစုံဖဌင့် ကိန်သရဟင်တစ်ခုကို ဖန်တီသပါ-

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

  2. စကာသဝဟက်မျာသကို အပ်ဒိတ်လုပ်ပဌီသ ဆက်တင်မျာသကို စစ်ဆေသပေသမည့် script တစ်ခုကို ဖလင့်ကဌည့်ကဌပါစို့။

    ${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. အပဌောင်သအလဲမျာသကို အသုံသပဌုထာသခဌင်သ ရဟိ၊ မရဟိ စစ်ဆေသပါ-

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

ဒါပါပဲ၊ ဒါတလေက Elasticsearch ကို ခလင့်ပဌုချက်မရဟိဘဲ ချိတ်ဆက်မဟုတလေကနေ ကာကလယ်ပေသတဲ့ အနိမ့်ဆုံသဆက်တင်တလေပါ။

source: www.habr.com

မဟတ်ချက် Add