பூட்டு மற்றும் விசையின் கீழ் மீள்தன்மை: உள்ளேயும் வெளியேயும் அணுகுவதற்கான Elasticsearch கிளஸ்டர் பாதுகாப்பு விருப்பங்களை இயக்குகிறது

பூட்டு மற்றும் விசையின் கீழ் மீள்தன்மை: உள்ளேயும் வெளியேயும் அணுகுவதற்கான Elasticsearch கிளஸ்டர் பாதுகாப்பு விருப்பங்களை இயக்குகிறது

எலாஸ்டிக் ஸ்டாக் என்பது SIEM சிஸ்டம்ஸ் சந்தையில் நன்கு அறியப்பட்ட கருவியாகும் (உண்மையில், அவை மட்டுமல்ல). இது உணர்திறன் மற்றும் மிகவும் உணர்திறன் இல்லாத பல்வேறு அளவிலான தரவுகளை சேகரிக்க முடியும். எலாஸ்டிக் ஸ்டாக் உறுப்புகளுக்கான அணுகல் பாதுகாக்கப்படாவிட்டால் அது முற்றிலும் சரியானது அல்ல. இயல்பாக, அனைத்து எலாஸ்டிக் அவுட்-ஆஃப்-பாக்ஸ் உறுப்புகள் (Elasticsearch, Logstash, Kibana மற்றும் Beats சேகரிப்பான்கள்) திறந்த நெறிமுறைகளில் இயங்கும். மேலும் கிபானாவிலேயே, அங்கீகாரம் முடக்கப்பட்டுள்ளது. இந்த தொடர்புகள் அனைத்தும் பாதுகாக்கப்படலாம், இதை எப்படி செய்வது என்று இந்த கட்டுரையில் கூறுவோம். வசதிக்காக, கதையை 3 சொற்பொருள் தொகுதிகளாகப் பிரித்தோம்:

  • பங்கு அடிப்படையிலான தரவு அணுகல் மாதிரி
  • மீள் தேடல் கிளஸ்டருக்குள் தரவு பாதுகாப்பு
  • எலாஸ்டிக் சர்ச் கிளஸ்டருக்கு வெளியே தரவைப் பாதுகாத்தல்

வெட்டு கீழ் விவரங்கள்.

பங்கு அடிப்படையிலான தரவு அணுகல் மாதிரி

நீங்கள் எலாஸ்டிக் தேடலை நிறுவி, அதை எந்த வகையிலும் டியூன் செய்யவில்லை என்றால், எல்லா குறியீடுகளுக்கும் அணுகல் அனைவருக்கும் திறந்திருக்கும். சரி, அல்லது சுருட்டை பயன்படுத்தக்கூடியவர்கள். இதைத் தவிர்க்க, Elasticsearch ஒரு முன்மாதிரியைக் கொண்டுள்ளது, அது அடிப்படைச் சந்தாவுடன் (இது இலவசம்) தொடங்கும். திட்டவட்டமாக இது போல் தெரிகிறது:

பூட்டு மற்றும் விசையின் கீழ் மீள்தன்மை: உள்ளேயும் வெளியேயும் அணுகுவதற்கான Elasticsearch கிளஸ்டர் பாதுகாப்பு விருப்பங்களை இயக்குகிறது

படத்தில் என்ன இருக்கிறது

  • பயனர்கள் அனைவரும் தங்கள் நற்சான்றிதழ்களைப் பயன்படுத்தி உள்நுழைய முடியும்.
  • பங்கு என்பது உரிமைகளின் தொகுப்பாகும்.
  • உரிமைகள் என்பது சலுகைகளின் தொகுப்பாகும்.
  • சிறப்புரிமைகள் என்பது எழுத, படிக்க, நீக்குதல் போன்றவற்றுக்கான அனுமதிகள். (சலுகைகளின் முழு பட்டியல்)
  • ஆதாரங்கள் என்பது குறியீடுகள், ஆவணங்கள், புலங்கள், பயனர்கள் மற்றும் பிற சேமிப்பக நிறுவனங்கள் (சில ஆதாரங்களுக்கான முன்மாதிரி பணம் சந்தாக்களுடன் மட்டுமே கிடைக்கும்).

இயல்புநிலையாக மீள்தேடல் உள்ளது பெட்டி பயனர்கள், அவை இணைக்கப்பட்டுள்ளன பெட்டி பாத்திரங்கள். பாதுகாப்பு அமைப்புகளை இயக்கியவுடன், உடனடியாக அவற்றைப் பயன்படுத்தத் தொடங்கலாம்.

Elasticsearch அமைப்புகளில் பாதுகாப்பை இயக்க, நீங்கள் அதை உள்ளமைவு கோப்பில் சேர்க்க வேண்டும் (இயல்புநிலையாக இது elasticsearch/config/elasticsearch.yml) புதிய கோடு:

xpack.security.enabled: true

உள்ளமைவு கோப்பை மாற்றிய பின், மாற்றங்கள் நடைமுறைக்கு வர, Elasticsearch ஐத் தொடங்கவும் அல்லது மறுதொடக்கம் செய்யவும். பெட்டி பயனர்களுக்கு கடவுச்சொற்களை வழங்குவது அடுத்த படியாகும். கீழே உள்ள கட்டளையைப் பயன்படுத்தி ஊடாடும் வகையில் இதைச் செய்வோம்:

[elastic@node1 ~]$ ./elasticsearch/bin/elasticsearch-setup-passwords interactive
Initiating the setup of passwords for reserved users elastic,apm_system,kibana,logstash_system,beats_system,remote_monitoring_user.
You will be prompted to enter passwords as the process progresses.
Please confirm that you would like to continue [y/N]y


Enter password for [elastic]:
Reenter password for [elastic]:
Enter password for [apm_system]:
Reenter password for [apm_system]:
Enter password for [kibana]:
Reenter password for [kibana]:
Enter password for [logstash_system]:
Reenter password for [logstash_system]:
Enter password for [beats_system]:
Reenter password for [beats_system]:
Enter password for [remote_monitoring_user]:
Reenter password for [remote_monitoring_user]:
Changed password for user [apm_system]
Changed password for user [kibana]
Changed password for user [logstash_system]
Changed password for user [beats_system]
Changed password for user [remote_monitoring_user]
Changed password for user [elastic]

பார்க்கலாம்:

[elastic@node1 ~]$ curl -u elastic 'node1:9200/_cat/nodes?pretty'
Enter host password for user 'elastic':
192.168.0.2 23 46 14 0.28 0.32 0.18 dim * node1

நீங்கள் உங்களை முதுகில் தட்டிக் கொள்ளலாம் - மீள் தேடல் பக்கத்தில் உள்ள அமைப்புகள் முடிந்தது. இப்போது கிபானாவை உள்ளமைக்க வேண்டிய நேரம் வந்துவிட்டது. நீங்கள் இப்போது அதை இயக்கினால், பிழைகள் தோன்றும், எனவே ஒரு முக்கிய அங்காடியை உருவாக்குவது முக்கியம். இது இரண்டு கட்டளைகளில் செய்யப்படுகிறது (பயனர் kibana மற்றும் எலாஸ்டிக் தேடலில் கடவுச்சொல் உருவாக்கும் கட்டத்தில் உள்ளிடப்பட்ட கடவுச்சொல்:

[elastic@node1 ~]$ ./kibana/bin/kibana-keystore add elasticsearch.username
[elastic@node1 ~]$ ./kibana/bin/kibana-keystore add elasticsearch.password

எல்லாம் சரியாக இருந்தால், கிபானா உள்நுழைவு மற்றும் கடவுச்சொல்லைக் கேட்கத் தொடங்கும். அடிப்படை சந்தா, உள் பயனர்களின் அடிப்படையில் ஒரு முன்மாதிரியை உள்ளடக்கியது. தங்கத்தில் தொடங்கி, நீங்கள் வெளிப்புற அங்கீகார அமைப்புகளை இணைக்கலாம் - LDAP, PKI, ஆக்டிவ் டைரக்டரி மற்றும் ஒற்றை உள்நுழைவு அமைப்புகள்.

பூட்டு மற்றும் விசையின் கீழ் மீள்தன்மை: உள்ளேயும் வெளியேயும் அணுகுவதற்கான Elasticsearch கிளஸ்டர் பாதுகாப்பு விருப்பங்களை இயக்குகிறது

எலாஸ்டிக் தேடலில் உள்ள பொருட்களுக்கான அணுகல் உரிமைகளும் மட்டுப்படுத்தப்படலாம். இருப்பினும், ஆவணங்கள் அல்லது புலங்களுக்கு இதைச் செய்ய, உங்களுக்கு கட்டணச் சந்தா தேவைப்படும் (இந்த ஆடம்பரமானது பிளாட்டினம் மட்டத்தில் தொடங்குகிறது). இந்த அமைப்புகள் கிபானா இடைமுகத்தில் அல்லது வழியாக கிடைக்கும் பாதுகாப்பு API. ஏற்கனவே தெரிந்த Dev Tools மெனு மூலம் நீங்கள் சரிபார்க்கலாம்:

ஒரு பாத்திரத்தை உருவாக்குதல்

PUT /_security/role/ruslan_i_ludmila_role
{
  "cluster": [],
  "indices": [
    {
      "names": [ "ruslan_i_ludmila" ],
      "privileges": ["read", "view_index_metadata"]
    }
  ]
}

ஒரு பயனரை உருவாக்குதல்

POST /_security/user/pushkin
{
  "password" : "nataliaonelove",
  "roles" : [ "ruslan_i_ludmila_role", "kibana_user" ],
  "full_name" : "Alexander Pushkin",
  "email" : "[email protected]",
  "metadata" : {
    "hometown" : "Saint-Petersburg"
  }
}

மீள் தேடல் கிளஸ்டருக்குள் தரவு பாதுகாப்பு

எலாஸ்டிக் சர்ச் ஒரு கிளஸ்டரில் இயங்கும் போது (இது பொதுவானது), கிளஸ்டருக்குள் இருக்கும் பாதுகாப்பு அமைப்புகள் முக்கியமானதாகிறது. முனைகளுக்கு இடையே பாதுகாப்பான தகவல்தொடர்புக்கு, மீள் தேடல் TLS நெறிமுறையைப் பயன்படுத்துகிறது. அவர்களுக்கு இடையே பாதுகாப்பான தொடர்புகளை அமைக்க, உங்களுக்கு சான்றிதழ் தேவை. நாங்கள் PEM வடிவத்தில் சான்றிதழ் மற்றும் தனிப்பட்ட விசையை உருவாக்குகிறோம்:

[elastic@node1 ~]$ ./elasticsearch/bin/elasticsearch-certutil ca --pem

மேலே உள்ள கட்டளையை இயக்கிய பிறகு, கோப்பகத்தில் /../elasticsearch காப்பகம் தோன்றும் மீள்-அடுக்கு-ca.zip. அதன் உள்ளே நீங்கள் ஒரு சான்றிதழ் மற்றும் நீட்டிப்புகளுடன் தனிப்பட்ட விசையைக் காண்பீர்கள் CRT и முக்கிய முறையே. அவற்றை பகிரப்பட்ட ஆதாரத்தில் வைப்பது நல்லது, இது கிளஸ்டரில் உள்ள அனைத்து முனைகளிலிருந்தும் அணுகக்கூடியதாக இருக்க வேண்டும்.

ஒவ்வொரு முனைக்கும் இப்போது பகிரப்பட்ட கோப்பகத்தில் உள்ளவற்றின் அடிப்படையில் அதன் சொந்த சான்றிதழ்கள் மற்றும் தனிப்பட்ட விசைகள் தேவை. கட்டளையை இயக்கும் போது, ​​கடவுச்சொல்லை அமைக்குமாறு கேட்கப்படுவீர்கள். ஊடாடும் முனைகளின் முழுமையான சரிபார்ப்புக்கு -ip மற்றும் -dns ஆகிய கூடுதல் விருப்பங்களை நீங்கள் சேர்க்கலாம்.

[elastic@node1 ~]$ ./elasticsearch/bin/elasticsearch-certutil cert --ca-cert /shared_folder/ca/ca.crt --ca-key /shared_folder/ca/ca.key

கட்டளையை செயல்படுத்துவதன் விளைவாக, கடவுச்சொல் மூலம் பாதுகாக்கப்பட்ட PKCS#12 வடிவத்தில் ஒரு சான்றிதழையும் தனிப்பட்ட விசையையும் பெறுவோம். உருவாக்கப்பட்ட கோப்பை நகர்த்துவது மட்டுமே மீதமுள்ளது p12 கட்டமைப்பு கோப்பகத்திற்கு:

[elastic@node1 ~]$ mv elasticsearch/elastic-certificates.p12 elasticsearch/config

வடிவத்தில் சான்றிதழில் கடவுச்சொல்லைச் சேர்க்கவும் p12 ஒவ்வொரு முனையிலும் கீஸ்டோர் மற்றும் டிரஸ்ட்ஸ்டோரில்:

[elastic@node1 ~]$ ./elasticsearch/bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password
[elastic@node1 ~]$ ./elasticsearch/bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password

ஏற்கனவே தெரிந்தது elasticsearch.yml சான்றிதழ் தரவுகளுடன் வரிகளைச் சேர்ப்பது மட்டுமே எஞ்சியுள்ளது:

xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

நாங்கள் அனைத்து மீள் தேடல் முனைகளையும் துவக்கி செயல்படுத்துகிறோம் சுருட்டை. எல்லாம் சரியாக செய்யப்பட்டிருந்தால், பல முனைகளுடன் ஒரு பதில் வழங்கப்படும்:

[elastic@node1 ~]$ curl node1:9200/_cat/nodes -u elastic:password                                                                                    
172.18.0.3 43 75 4 0.00 0.05 0.05 dim * node2                                                                                                                     
172.18.0.4 21 75 3 0.00 0.05 0.05 dim - node3                                                                                                                     
172.18.0.2 39 75 4 0.00 0.05 0.05 dim - node1

மற்றொரு பாதுகாப்பு விருப்பம் உள்ளது - ஐபி முகவரி வடிகட்டுதல் (தங்க மட்டத்திலிருந்து சந்தாக்களில் கிடைக்கும்). நீங்கள் முனைகளை அணுக அனுமதிக்கப்படும் ஐபி முகவரிகளின் வெள்ளை பட்டியல்களை உருவாக்க உங்களை அனுமதிக்கிறது.

எலாஸ்டிக் சர்ச் கிளஸ்டருக்கு வெளியே தரவைப் பாதுகாத்தல்

கிளஸ்டருக்கு வெளியே வெளிப்புறக் கருவிகளை இணைப்பதைக் குறிக்கிறது: கிபானா, லாக்ஸ்டாஷ், பீட்ஸ் அல்லது பிற வெளிப்புற கிளையண்டுகள்.

பூட்டு மற்றும் விசையின் கீழ் மீள்தன்மை: உள்ளேயும் வெளியேயும் அணுகுவதற்கான Elasticsearch கிளஸ்டர் பாதுகாப்பு விருப்பங்களை இயக்குகிறது

https க்கான ஆதரவை உள்ளமைக்க (http க்கு பதிலாக), elasticsearch.yml இல் புதிய வரிகளைச் சேர்க்கவும்:

xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.keystore.path: elastic-certificates.p12
xpack.security.http.ssl.truststore.path: elastic-certificates.p12

ஏனெனில் சான்றிதழ் கடவுச்சொல் பாதுகாக்கப்பட்டுள்ளது, அதை ஒவ்வொரு முனையிலும் உள்ள கீஸ்டோர் மற்றும் டிரஸ்ட்ஸ்டோரில் சேர்க்கவும்:

[elastic@node1 ~]$ ./elasticsearch/bin/elasticsearch-keystore add xpack.security.http.ssl.keystore.secure_password
[elastic@node1 ~]$ ./elasticsearch/bin/elasticsearch-keystore add xpack.security.http.ssl.truststore.secure_password

விசைகளைச் சேர்த்த பிறகு, எலாஸ்டிக் தேடல் முனைகள் https வழியாக இணைக்கத் தயாராக இருக்கும். இப்போது அவை தொடங்கப்படலாம்.

அடுத்த படி, கிபானாவை இணைக்க ஒரு விசையை உருவாக்கி அதை உள்ளமைவில் சேர்ப்பது. பகிரப்பட்ட கோப்பகத்தில் ஏற்கனவே உள்ள சான்றிதழின் அடிப்படையில், PEM வடிவத்தில் சான்றிதழை உருவாக்குவோம் (PKCS#12 Kibana, Logstash மற்றும் Beats இன்னும் ஆதரிக்கவில்லை):

[elastic@node1 ~]$ ./elasticsearch/bin/elasticsearch-certutil cert --ca-cert /shared_folder/ca/ca.crt --ca-key /shared_folder/ca/ca.key --pem

கிபானா உள்ளமைவுடன் கோப்புறையில் உருவாக்கப்பட்ட விசைகளை திறக்க வேண்டும்:

[elastic@node1 ~]$ unzip elasticsearch/certificate-bundle.zip -d kibana/config

விசைகள் உள்ளன, எனவே கிபானா உள்ளமைவை மாற்றுவது மட்டுமே அவற்றைப் பயன்படுத்தத் தொடங்கும். kibana.yml உள்ளமைவு கோப்பில், http ஐ https ஆக மாற்றி SSL இணைப்பு அமைப்புகளுடன் வரிகளைச் சேர்க்கவும். கடைசி மூன்று வரிகள் பயனரின் உலாவிக்கும் கிபானாவிற்கும் இடையே பாதுகாப்பான தொடர்பை உள்ளமைக்கிறது.

elasticsearch.hosts: ["https://${HOSTNAME}:9200"]
elasticsearch.ssl.certificateAuthorities: /shared_folder/ca/ca.crt
elasticsearch.ssl.verificationMode: certificate
server.ssl.enabled: true
server.ssl.key: /../kibana/config/instance/instance.key
server.ssl.certificate: /../kibana/config/instance/instance.crt

இவ்வாறு, அமைப்புகள் நிறைவடைந்து, எலாஸ்டிக் சர்ச் கிளஸ்டரில் உள்ள தரவுக்கான அணுகல் குறியாக்கம் செய்யப்படுகிறது.

இலவச அல்லது கட்டணச் சந்தாக்கள், பணிகளைக் கண்காணித்தல் அல்லது SIEM அமைப்பை உருவாக்குதல் ஆகியவற்றில் எலாஸ்டிக் ஸ்டேக்கின் திறன்களைப் பற்றி உங்களிடம் கேள்விகள் இருந்தால், ஒரு கோரிக்கையை விடுங்கள் பின்னூட்டல் படிவம் எங்கள் வலைத்தளத்தில்.

ஹப்ரேயில் எலாஸ்டிக் ஸ்டேக் பற்றிய எங்கள் மேலும் கட்டுரைகள்:

எலாஸ்டிக் ஸ்டேக்கில் இயந்திரக் கற்றலைப் புரிந்துகொள்வது (எலாஸ்டிக் தேடல், அல்லது ELK)

மீள் தேடல் அளவு

ஆதாரம்: www.habr.com

கருத்தைச் சேர்