Sa miaging tuig, adunay daghang mga pagtulo gikan sa mga database
Maghimo dayon kita og reserbasyon nga sa atong praktis atong gigamit ang Elasticsearch sa pagtipig og mga troso ug pag-analisar sa mga log sa mga himan sa seguridad sa impormasyon, OS ug software sa atong IaaS nga plataporma, nga nagsunod sa mga kinahanglanon sa 152-FZ, Cloud-152.
Gisusi namo kung ang database "nagpabilin" sa Internet
Sa kadaghanan nga nahibal-an nga mga kaso sa pagtulo (
Una, atong atubangon ang pagmantala sa Internet. Nganong mahitabo ni? Ang kamatuoran mao nga alang sa mas flexible nga operasyon sa Elasticsearch
Kung makasulod ka, dayon dagan aron sirad-an kini.
Pagpanalipod sa koneksyon sa database
Karon buhaton namo kini aron imposible nga makonektar sa database nga walay panghimatuud.
Ang Elasticsearch adunay module sa pag-authenticate nga naglimite sa pag-access sa database, apan magamit ra kini sa bayad nga X-Pack plugin set (1 ka bulan nga libre nga paggamit).
Ang maayong balita mao nga sa pagkahulog sa 2019, gibuksan sa Amazon ang mga pag-uswag niini, nga nagsapaw sa X-Pack. Ang authentication function kung magkonektar sa usa ka database nahimo nang magamit sa ilawom sa usa ka libre nga lisensya alang sa bersyon nga Elasticsearch 7.3.2, ug usa ka bag-ong pagpagawas alang sa Elasticsearch 7.4.0 naa na sa mga buhat.
Kini nga plugin sayon nga i-install. Lakaw ngadto sa server console ug ikonektar ang repository:
Gibase sa RPM:
curl https://d3g5vo6xdbdb9a.cloudfront.net/yum/opendistroforelasticsearch-artifacts.repo -o /etc/yum.repos.d/opendistroforelasticsearch-artifacts.repo
yum update
yum install opendistro-security
Gibase sa DEB:
wget -qO ‐ https://d3g5vo6xdbdb9a.cloudfront.net/GPG-KEY-opendistroforelasticsearch | sudo apt-key add -
Pag-set up sa interaksyon tali sa mga server pinaagi sa SSL
Kung gi-install ang plugin, ang pag-configure sa port nga nagkonektar sa database nabag-o. Gitugotan niini ang pag-encrypt sa SSL. Aron ang mga cluster server magpadayon sa pagtrabaho sa usag usa, kinahanglan nimo nga i-configure ang interaksyon tali kanila gamit ang SSL.
Ang pagsalig tali sa mga host mahimong matukod nga adunay o wala ang kaugalingon nga awtoridad sa sertipiko. Sa una nga pamaagi, klaro ang tanan: kinahanglan nimo nga kontakon ang mga espesyalista sa CA. Deretso ta sa ikaduha.
- Paghimo usa ka variable nga adunay tibuuk nga ngalan sa domain:
export DOMAIN_CN="example.com"
- Paghimo og pribadong yawe:
openssl genrsa -out root-ca-key.pem 4096
- Pagpirma sa root certificate. Hupti kini nga luwas: kung kini nawala o nakompromiso, ang pagsalig tali sa tanan nga mga host kinahanglan nga i-configure pag-usab.
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
- Paghimo og administrator key:
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
- Paghimo og hangyo sa pagpirma sa sertipiko:
openssl req -new -subj "/C=RU/ST=Moscow/O=Moscow Inc./CN=${DOMAIN_CN}/CN=admin " -key admin-key.pem -out admin.csr
- Paghimo og sertipiko sa tagdumala:
openssl x509 -req -extensions usr_cert -in admin.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out admin.pem
- Paghimo og mga sertipiko alang sa 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
- Paghimo og hangyo nga pirma:
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
- Pagpirma sa sertipiko:
openssl x509 -req -in node.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out node.pem
- Ibutang ang sertipiko tali sa Elasticsearch nodes sa mosunod nga folder:
/etc/elasticsearch/
kinahanglan namon ang mga file:node-01-key.pem node-01.pem admin-key.pem admin.pem root-ca.pem
- Pag-configure /etc/elasticsearch/elasticsearch.yml - usba ang ngalan sa mga file nga adunay mga sertipiko sa mga nahimo namon:
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
Pag-ilis sa mga password alang sa mga internal nga tiggamit
- Gamit ang sugo sa ubos, among gi-output ang password hash sa console:
sh ${OD_SEC}/tools/hash.sh -p [пароль]
- Usba ang hash sa file ngadto sa nadawat:
/usr/share/elasticsearch/plugins/opendistro_security/securityconfig/internal_users.yml
Pag-set up og firewall sa OS
- Tugoti ang firewall nga magsugod:
systemctl enable firewalld
- Atong ilunsad kini:
systemctl start firewalld
- Tugoti ang koneksyon sa Elasticsearch:
firewall-cmd --set-default-zone work firewall-cmd --zone=work --add-port=9200/TCP --permanent
- I-reload ang mga lagda sa firewall:
firewall-cmd --reload
- Ania ang mga lagda sa pagtrabaho:
firewall-cmd --list-all
Ang pagpadapat sa tanan namong mga pagbag-o sa Elasticsearch
- Paghimo usa ka variable nga adunay tibuuk nga agianan sa folder nga adunay plugin:
export OD_SEC="/usr/share/elasticsearch/plugins/opendistro_security/"
- Maghimo kita og script nga mag-update sa mga password ug susihon ang mga setting:
${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
- Susiha kung ang mga pagbag-o gipadapat:
curl -XGET https://[IP/Имя Elasticsearch]:9200/_cat/nodes?v -u admin:[пароль] --insecure
Kana lang, kini ang mga minimum nga setting nga nanalipod sa Elasticsearch gikan sa dili awtorisado nga mga koneksyon.
Source: www.habr.com