Gjatë vitit të kaluar, ka pasur shumë rrjedhje nga bazat e të dhënave
Le të bëjmë menjëherë një rezervë që në praktikën tonë ne përdorim Elasticsearch për të ruajtur regjistrat dhe për të analizuar regjistrat e mjeteve të sigurisë së informacionit, OS dhe softuerët në platformën tonë IaaS, e cila përputhet me kërkesat e 152-FZ, Cloud-152.
Ne kontrollojmë nëse baza e të dhënave "ngjitet" në internet
Në rastet më të njohura të rrjedhjeve (
Së pari, le të merremi me publikimin në internet. Pse ndodh kjo? Fakti është se për funksionimin më fleksibël të Elasticsearch
Nëse mund të futesh, atëherë vrapo ta mbyllësh.
Mbrojtja e lidhjes me bazën e të dhënave
Tani do ta bëjmë atë në mënyrë që të jetë e pamundur të lidheni me bazën e të dhënave pa vërtetim.
Elasticsearch ka një modul vërtetimi që kufizon aksesin në bazën e të dhënave, por ai është i disponueshëm vetëm në grupin e shtojcave me pagesë X-Pack (përdorim 1 muaj falas).
Lajmi i mirë është se në vjeshtën e vitit 2019, Amazon hapi zhvillimet e saj, të cilat mbivendosen me X-Pack. Funksioni i vërtetimit kur lidheni me një bazë të dhënash është bërë i disponueshëm nën një licencë falas për versionin Elasticsearch 7.3.2 dhe një version i ri për Elasticsearch 7.4.0 është tashmë në punë.
Ky plugin është i lehtë për t'u instaluar. Shkoni te tastiera e serverit dhe lidhni depon:
Bazuar në RPM:
curl https://d3g5vo6xdbdb9a.cloudfront.net/yum/opendistroforelasticsearch-artifacts.repo -o /etc/yum.repos.d/opendistroforelasticsearch-artifacts.repo
yum update
yum install opendistro-security
Bazuar në DEB:
wget -qO ‐ https://d3g5vo6xdbdb9a.cloudfront.net/GPG-KEY-opendistroforelasticsearch | sudo apt-key add -
Vendosja e ndërveprimit midis serverëve përmes SSL
Kur instaloni shtojcën, ndryshon konfigurimi i portit që lidhet me bazën e të dhënave. Ai mundëson enkriptimin SSL. Në mënyrë që serverët e grupeve të vazhdojnë të punojnë me njëri-tjetrin, duhet të konfiguroni ndërveprimin midis tyre duke përdorur SSL.
Besimi midis hosteve mund të krijohet me ose pa autoritetin e vet të certifikatës. Me metodën e parë, gjithçka është e qartë: thjesht duhet të kontaktoni specialistët e CA. Le të kalojmë drejtpërdrejt në të dytin.
- Krijo një variabël me emrin e plotë të domenit:
export DOMAIN_CN="example.com"
- Krijo një çelës privat:
openssl genrsa -out root-ca-key.pem 4096
- Nënshkruani certifikatën rrënjësore. Mbajeni të sigurt: nëse humbet ose rrezikohet, besimi midis të gjithë hosteve do të duhet të rikonfigurohet.
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
- Krijo një çelës administratori:
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
- Krijo një kërkesë për të nënshkruar certifikatën:
openssl req -new -subj "/C=RU/ST=Moscow/O=Moscow Inc./CN=${DOMAIN_CN}/CN=admin " -key admin-key.pem -out admin.csr
- Krijo një certifikatë administratori:
openssl x509 -req -extensions usr_cert -in admin.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out admin.pem
- Krijo certifikata për nyjen 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
- Krijoni një kërkesë nënshkrimi:
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
- Nënshkrimi i certifikatës:
openssl x509 -req -in node.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out node.pem
- Vendosni certifikatën midis nyjeve Elasticsearch në dosjen e mëposhtme:
/etc/elasticsearch/
na duhen skedarët:node-01-key.pem node-01.pem admin-key.pem admin.pem root-ca.pem
- Po konfiguron /etc/elasticsearch/elasticsearch.yml – ndryshoni emrin e skedarëve me certifikata në ato të krijuara nga ne:
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
Ndryshimi i fjalëkalimeve për përdoruesit e brendshëm
- Duke përdorur komandën e mëposhtme, ne nxjerrim hash-in e fjalëkalimit në tastierë:
sh ${OD_SEC}/tools/hash.sh -p [пароль]
- Ndryshoni hash-in në skedar në atë të marrë:
/usr/share/elasticsearch/plugins/opendistro_security/securityconfig/internal_users.yml
Vendosja e një muri zjarri në OS
- Lejo që muri i zjarrit të fillojë:
systemctl enable firewalld
- Le ta nisim:
systemctl start firewalld
- Lejo lidhjen me Elasticsearch:
firewall-cmd --set-default-zone work firewall-cmd --zone=work --add-port=9200/TCP --permanent
- Ringarko rregullat e murit të zjarrit:
firewall-cmd --reload
- Këtu janë rregullat e punës:
firewall-cmd --list-all
Duke aplikuar të gjitha ndryshimet tona në Elasticsearch
- Krijo një variabël me shtegun e plotë për në dosje me shtojcën:
export OD_SEC="/usr/share/elasticsearch/plugins/opendistro_security/"
- Le të ekzekutojmë një skript që do të përditësojë fjalëkalimet dhe do të kontrollojë cilësimet:
${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
- Kontrolloni nëse ndryshimet janë zbatuar:
curl -XGET https://[IP/Имя Elasticsearch]:9200/_cat/nodes?v -u admin:[пароль] --insecure
Kjo është e gjitha, këto janë cilësimet minimale që mbrojnë Elasticsearch nga lidhjet e paautorizuara.
Burimi: www.habr.com