Die afgelope jaar was daar baie lekkasies uit databasisse
Kom ons maak dadelik 'n bespreking dat ons in ons praktyk Elasticsearch gebruik om logs te stoor en logs van inligtingsekuriteitnutsmiddels, OS en sagteware te ontleed in ons IaaS-platform, wat aan die vereistes van 152-FZ, Cloud-152 voldoen.
Ons kyk of die databasis "uitsteek" op die internet
In die meeste bekende gevalle van lekkasies (
Kom ons gaan eers oor publisering op die internet. Hoekom gebeur dit? Die feit is dat vir meer buigsame werking van Elasticsearch
As jy kan inklim, hardloop dan om dit toe te maak.
Beskerm die verbinding met die databasis
Nou sal ons dit so maak dat dit onmoontlik is om sonder verifikasie aan die databasis te koppel.
Elasticsearch het 'n verifikasiemodule wat toegang tot die databasis beperk, maar dit is slegs beskikbaar in die betaalde X-Pack-inpropstel (1 maand gratis gebruik).
Die goeie nuus is dat Amazon in die herfs van 2019 sy ontwikkelings geopen het, wat oorvleuel met X-Pack. Die verifikasiefunksie wanneer u aan 'n databasis koppel, het beskikbaar geword onder 'n gratis lisensie vir weergawe Elasticsearch 7.3.2, en 'n nuwe vrystelling vir Elasticsearch 7.4.0 is reeds in die werke.
Hierdie inprop is maklik om te installeer. Gaan na die bedienerkonsole en koppel die bewaarplek:
RPM gebaseer:
curl https://d3g5vo6xdbdb9a.cloudfront.net/yum/opendistroforelasticsearch-artifacts.repo -o /etc/yum.repos.d/opendistroforelasticsearch-artifacts.repo
yum update
yum install opendistro-security
DEB gebaseer:
wget -qO ‐ https://d3g5vo6xdbdb9a.cloudfront.net/GPG-KEY-opendistroforelasticsearch | sudo apt-key add -
Stel interaksie tussen bedieners op via SSL
Wanneer die inprop geïnstalleer word, verander die konfigurasie van die poort wat aan die databasis koppel. Dit maak SSL-enkripsie moontlik. Om die groepbedieners te laat voortgaan om met mekaar te werk, moet jy interaksie tussen hulle opstel deur SSL te gebruik.
Vertroue tussen gashere kan gevestig word met of sonder sy eie sertifikaatowerheid. Met die eerste metode is alles duidelik: jy hoef net CA-spesialiste te kontak. Kom ons gaan reguit na die tweede.
- Skep 'n veranderlike met die volle domeinnaam:
export DOMAIN_CN="example.com"
- Skep 'n private sleutel:
openssl genrsa -out root-ca-key.pem 4096
- Teken die wortelsertifikaat. Hou dit veilig: as dit verlore gaan of gekompromitteer word, sal die vertroue tussen alle gashere herkonfigureer moet word.
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
- Skep 'n administrateursleutel:
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
- Skep 'n versoek om die sertifikaat te onderteken:
openssl req -new -subj "/C=RU/ST=Moscow/O=Moscow Inc./CN=${DOMAIN_CN}/CN=admin " -key admin-key.pem -out admin.csr
- Skep 'n administrateursertifikaat:
openssl x509 -req -extensions usr_cert -in admin.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out admin.pem
- Skep sertifikate vir die Elasticsearch-nodus:
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
- Skep 'n handtekeningversoek:
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
- Ondertekening van die sertifikaat:
openssl x509 -req -in node.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out node.pem
- Plaas die sertifikaat tussen Elasticsearch nodusse in die volgende gids:
/etc/elasticsearch/
ons benodig die lêers:node-01-key.pem node-01.pem admin-key.pem admin.pem root-ca.pem
- Konfigureer /etc/elasticsearch/elasticsearch.yml – verander die naam van die lêers met sertifikate na dié wat deur ons gegenereer word:
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
Verander wagwoorde vir interne gebruikers
- Deur die opdrag hieronder te gebruik, voer ons die wagwoordhash na die konsole uit:
sh ${OD_SEC}/tools/hash.sh -p [пароль]
- Verander die hash in die lêer na die ontvang een:
/usr/share/elasticsearch/plugins/opendistro_security/securityconfig/internal_users.yml
Die opstel van 'n firewall in die bedryfstelsel
- Laat die firewall toe om te begin:
systemctl enable firewalld
- Kom ons stel dit bekend:
systemctl start firewalld
- Laat verbinding met Elasticsearch toe:
firewall-cmd --set-default-zone work firewall-cmd --zone=work --add-port=9200/TCP --permanent
- Herlaai die firewall-reëls:
firewall-cmd --reload
- Hier is die werkreëls:
firewall-cmd --list-all
Pas al ons veranderinge toe op Elasticsearch
- Skep 'n veranderlike met die volledige pad na die gids met die inprop:
export OD_SEC="/usr/share/elasticsearch/plugins/opendistro_security/"
- Kom ons voer 'n skrip uit wat wagwoorde sal opdateer en instellings nagaan:
${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
- Kyk of die veranderinge toegepas is:
curl -XGET https://[IP/Имя Elasticsearch]:9200/_cat/nodes?v -u admin:[пароль] --insecure
Dit is al, dit is die minimum instellings wat Elasticsearch teen ongemagtigde verbindings beskerm.
Bron: will.com