گذريل سال دوران، ڊيٽابيس مان ڪيترائي ليڪ ٿي چڪا آهن
اچو ته فوري طور تي هڪ رزرويشن ڪريون ته اسان جي مشق ۾ اسان لاگز کي محفوظ ڪرڻ لاءِ Elasticsearch استعمال ڪريون ٿا ۽ اسان جي IaaS پليٽ فارم ۾ معلوماتي سيڪيورٽي ٽولز، OS ۽ سافٽ ويئر جي لاگز جو تجزيو ڪيو، جيڪو 152-FZ، Cloud-152 جي گهرجن سان مطابقت رکي ٿو.
اسان چيڪ ڪريون ٿا ته ڇا ڊيٽابيس انٽرنيٽ تي ”اسٽيڪ آئوٽ“ آهي
ليڪ جي اڪثر ڄاتل ڪيسن ۾ (
پهرين، اچو ته انٽرنيٽ تي شايع ڪرڻ سان معاملو ڪريو. ائين ڇو ٿو ٿئي؟ حقيقت اها آهي ته Elasticsearch جي وڌيڪ لچڪدار آپريشن لاء
جيڪڏهن توهان اندر حاصل ڪري سگهو ٿا، پوء ان کي بند ڪرڻ لاء ڊوڙيو.
ڊيٽابيس کي ڪنيڪشن جي حفاظت
هاڻي اسان ان کي ٺاهينداسين ته جيئن بغير تصديق جي ڊيٽابيس سان ڳنڍڻ ناممڪن آهي.
Elasticsearch وٽ هڪ تصديقي ماڊل آهي جيڪو ڊيٽابيس تائين رسائي کي محدود ڪري ٿو، پر اهو صرف ادا ڪيل X-Pack پلگ ان سيٽ ۾ موجود آهي (1 مهينو مفت استعمال).
سٺي خبر اها آهي ته 2019 جي زوال ۾، ايم ڊيزون پنهنجون ترقيون کوليون، جيڪي ايڪس-پيڪ سان اوورليپ ڪن ٿيون. تصديقي فنڪشن جڏهن ڊيٽابيس سان ڳنڍيندي آهي هڪ مفت لائسنس تحت دستياب ٿي چڪي آهي نسخي 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
ڊي بي جي بنياد تي:
wget -qO ‐ https://d3g5vo6xdbdb9a.cloudfront.net/GPG-KEY-opendistroforelasticsearch | sudo apt-key add -
SSL ذريعي سرورز جي وچ ۾ رابطي کي ترتيب ڏيڻ
پلگ ان کي انسٽال ڪرڻ وقت، ڊيٽابيس سان ڳنڍڻ واري بندرگاهه جي ترتيب تبديل ٿيندي. اهو SSL انڪرپشن کي فعال ڪري ٿو. ڪلستر سرورز لاءِ ھڪ ٻئي سان ڪم ڪرڻ جاري رکڻ لاءِ، توھان کي SSL استعمال ڪندي انھن جي وچ ۾ رابطي کي ترتيب ڏيڻ جي ضرورت آھي.
ميزبانن جي وچ ۾ اعتماد قائم ٿي سگھي ٿو ان جي پنھنجي سرٽيفڪيٽ اٿارٽي سان يا ان کان سواءِ. پهرين طريقي سان، سڀ ڪجهه واضح آهي: توهان کي صرف CA ماهرن سان رابطو ڪرڻ جي ضرورت آهي. اچو ته سڌو سنئون سيڪنڊ ڏانهن وڃو.
- مڪمل ڊومين جي نالي سان هڪ متغير ٺاهيو:
export DOMAIN_CN="example.com"
- هڪ خانگي چاٻي ٺاهيو:
openssl genrsa -out root-ca-key.pem 4096
- روٽ سرٽيفڪيٽ تي دستخط ڪريو. ان کي محفوظ رکو: جيڪڏهن اهو گم ٿي ويو آهي يا سمجھوتو ڪيو ويو آهي، سڀني ميزبانن جي وچ ۾ اعتماد کي ٻيهر ترتيب ڏيڻ جي ضرورت پوندي.
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
- ايڊمنسٽريٽر ڪيچ ٺاهيو:
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
- سرٽيفڪيٽ تي دستخط ڪرڻ لاء هڪ درخواست ٺاهيو:
openssl req -new -subj "/C=RU/ST=Moscow/O=Moscow Inc./CN=${DOMAIN_CN}/CN=admin " -key admin-key.pem -out admin.csr
- ايڊمنسٽريٽر سرٽيفڪيٽ ٺاهيو:
openssl x509 -req -extensions usr_cert -in admin.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out admin.pem
- 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
- هڪ دستخط درخواست ٺاهيو:
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
- سرٽيفڪيٽ تي دستخط ڪرڻ:
openssl x509 -req -in node.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out node.pem
- هيٺ ڏنل فولڊر ۾ Elasticsearch نوڊس جي وچ ۾ سرٽيفڪيٽ رکو.
/etc/elasticsearch/
اسان کي فائلن جي ضرورت آهي:node-01-key.pem node-01.pem admin-key.pem admin.pem root-ca.pem
- ڪنفگريشن /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
اندروني استعمال ڪندڙن لاء پاسورڊ تبديل ڪرڻ
- هيٺ ڏنل حڪم کي استعمال ڪندي، اسان ڪنسول ڏانهن پاسورڊ هيش ڪڍيون ٿا:
sh ${OD_SEC}/tools/hash.sh -p [пароль]
- فائل ۾ هيش کي تبديل ڪريو حاصل ڪيل ھڪڙي ۾:
/usr/share/elasticsearch/plugins/opendistro_security/securityconfig/internal_users.yml
او ايس ۾ فائر وال کي ترتيب ڏيڻ
- فائر وال کي شروع ڪرڻ جي اجازت ڏيو:
systemctl enable firewalld
- اچو ته ان کي شروع ڪريون:
systemctl start firewalld
- Elasticsearch سان ڪنيڪشن جي اجازت ڏيو:
firewall-cmd --set-default-zone work firewall-cmd --zone=work --add-port=9200/TCP --permanent
- فائر وال قاعدن کي ٻيهر لوڊ ڪريو:
firewall-cmd --reload
- هتي ڪم ڪندڙ ضابطا آهن:
firewall-cmd --list-all
Elasticsearch تي اسان جي سڀني تبديلين کي لاڳو ڪرڻ
- پلگ ان سان فولڊر ڏانهن مڪمل رستو سان هڪ متغير ٺاهيو:
export OD_SEC="/usr/share/elasticsearch/plugins/opendistro_security/"
- اچو ته هڪ اسڪرپٽ هلون جيڪو پاسورڊ تازه ڪاري ڪندو ۽ سيٽنگون چيڪ ڪندو:
${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
- چيڪ ڪريو ته تبديليون لاڳو ڪيون ويون آهن:
curl -XGET https://[IP/Имя Elasticsearch]:9200/_cat/nodes?v -u admin:[пароль] --insecure
اهو سڀ ڪجهه آهي، اهي گهٽ ۾ گهٽ سيٽنگون آهن جيڪي غير مجاز ڪنيڪشن کان Elasticsearch جي حفاظت ڪن ٿيون.
جو ذريعو: www.habr.com