ಕಳೆದ ವರ್ಷದಲ್ಲಿ, ಡೇಟಾಬೇಸ್ಗಳಿಂದ ಹಲವು ಸೋರಿಕೆಗಳು ನಡೆದಿವೆ
152-FZ, Cloud-152 ನ ಅವಶ್ಯಕತೆಗಳನ್ನು ಅನುಸರಿಸುವ ನಮ್ಮ IaaS ಪ್ಲಾಟ್ಫಾರ್ಮ್ನಲ್ಲಿ ಲಾಗ್ಗಳನ್ನು ಸಂಗ್ರಹಿಸಲು ಮತ್ತು ಮಾಹಿತಿ ಭದ್ರತಾ ಪರಿಕರಗಳು, OS ಮತ್ತು ಸಾಫ್ಟ್ವೇರ್ಗಳ ಲಾಗ್ಗಳನ್ನು ವಿಶ್ಲೇಷಿಸಲು ನಮ್ಮ ಅಭ್ಯಾಸದಲ್ಲಿ ನಾವು Elasticsearch ಅನ್ನು ಬಳಸುತ್ತೇವೆ ಎಂದು ತಕ್ಷಣವೇ ಕಾಯ್ದಿರಿಸೋಣ.
ಡೇಟಾಬೇಸ್ ಇಂಟರ್ನೆಟ್ಗೆ "ಅಂಟಿಕೊಂಡಿದೆ" ಎಂದು ನಾವು ಪರಿಶೀಲಿಸುತ್ತೇವೆ
ಸೋರಿಕೆಯ ಹೆಚ್ಚಿನ ಸಂದರ್ಭಗಳಲ್ಲಿ (
ಮೊದಲಿಗೆ, ಇಂಟರ್ನೆಟ್ನಲ್ಲಿ ಪ್ರಕಟಿಸುವುದರೊಂದಿಗೆ ವ್ಯವಹರಿಸೋಣ. ಇದು ಏಕೆ ಸಂಭವಿಸುತ್ತದೆ? ವಾಸ್ತವವೆಂದರೆ ಸ್ಥಿತಿಸ್ಥಾಪಕ ಹುಡುಕಾಟದ ಹೆಚ್ಚು ಹೊಂದಿಕೊಳ್ಳುವ ಕಾರ್ಯಾಚರಣೆಗಾಗಿ
ನೀವು ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಾದರೆ, ಅದನ್ನು ಮುಚ್ಚಲು ಓಡಿ.
ಡೇಟಾಬೇಸ್ಗೆ ಸಂಪರ್ಕವನ್ನು ರಕ್ಷಿಸುವುದು
ಈಗ ನಾವು ಅದನ್ನು ಮಾಡುತ್ತೇವೆ ಆದ್ದರಿಂದ ದೃಢೀಕರಣವಿಲ್ಲದೆ ಡೇಟಾಬೇಸ್ಗೆ ಸಂಪರ್ಕಿಸಲು ಅಸಾಧ್ಯವಾಗಿದೆ.
Elasticsearch ಡೇಟಾಬೇಸ್ಗೆ ಪ್ರವೇಶವನ್ನು ಮಿತಿಗೊಳಿಸುವ ದೃಢೀಕರಣ ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಹೊಂದಿದೆ, ಆದರೆ ಇದು ಪಾವತಿಸಿದ X-ಪ್ಯಾಕ್ ಪ್ಲಗಿನ್ ಸೆಟ್ನಲ್ಲಿ ಮಾತ್ರ ಲಭ್ಯವಿದೆ (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
DEB ಆಧಾರಿತ:
wget -qO ‐ https://d3g5vo6xdbdb9a.cloudfront.net/GPG-KEY-opendistroforelasticsearch | sudo apt-key add -
SSL ಮೂಲಕ ಸರ್ವರ್ಗಳ ನಡುವೆ ಸಂವಹನವನ್ನು ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ
ಪ್ಲಗಿನ್ ಅನ್ನು ಸ್ಥಾಪಿಸುವಾಗ, ಡೇಟಾಬೇಸ್ಗೆ ಸಂಪರ್ಕಿಸುವ ಪೋರ್ಟ್ನ ಸಂರಚನೆಯು ಬದಲಾಗುತ್ತದೆ. ಇದು SSL ಗೂಢಲಿಪೀಕರಣವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ. ಕ್ಲಸ್ಟರ್ ಸರ್ವರ್ಗಳು ಪರಸ್ಪರ ಕೆಲಸ ಮಾಡುವುದನ್ನು ಮುಂದುವರಿಸಲು, ನೀವು SSL ಅನ್ನು ಬಳಸಿಕೊಂಡು ಅವುಗಳ ನಡುವೆ ಪರಸ್ಪರ ಕ್ರಿಯೆಯನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ.
ಹೋಸ್ಟ್ಗಳ ನಡುವೆ ನಂಬಿಕೆಯನ್ನು ತನ್ನದೇ ಆದ ಪ್ರಮಾಣಪತ್ರ ಅಧಿಕಾರದೊಂದಿಗೆ ಅಥವಾ ಇಲ್ಲದೆ ಸ್ಥಾಪಿಸಬಹುದು. ಮೊದಲ ವಿಧಾನದೊಂದಿಗೆ, ಎಲ್ಲವೂ ಸ್ಪಷ್ಟವಾಗಿದೆ: ನೀವು ಸಿಎ ತಜ್ಞರನ್ನು ಸಂಪರ್ಕಿಸಬೇಕು. ನೇರವಾಗಿ ಎರಡನೆಯದಕ್ಕೆ ಹೋಗೋಣ.
- ಪೂರ್ಣ ಡೊಮೇನ್ ಹೆಸರಿನೊಂದಿಗೆ ವೇರಿಯೇಬಲ್ ಅನ್ನು ರಚಿಸಿ:
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
- ಸ್ಥಿತಿಸ್ಥಾಪಕ ಹುಡುಕಾಟ ನೋಡ್ಗಾಗಿ ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ರಚಿಸಿ:
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
OS ನಲ್ಲಿ ಫೈರ್ವಾಲ್ ಅನ್ನು ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ
- ಫೈರ್ವಾಲ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಲು ಅನುಮತಿಸಿ:
systemctl enable firewalld
- ಅದನ್ನು ಪ್ರಾರಂಭಿಸೋಣ:
systemctl start firewalld
- ಸ್ಥಿತಿಸ್ಥಾಪಕ ಹುಡುಕಾಟಕ್ಕೆ ಸಂಪರ್ಕವನ್ನು ಅನುಮತಿಸಿ:
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
ಅಷ್ಟೆ, ಅನಧಿಕೃತ ಸಂಪರ್ಕಗಳಿಂದ ಸ್ಥಿತಿಸ್ಥಾಪಕ ಹುಡುಕಾಟವನ್ನು ರಕ್ಷಿಸುವ ಕನಿಷ್ಠ ಸೆಟ್ಟಿಂಗ್ಗಳು ಇವು.
ಮೂಲ: www.habr.com