1.ಎಲಾಸ್ಟಿಕ್ ಸ್ಟಾಕ್: ಭದ್ರತಾ ದಾಖಲೆಗಳ ವಿಶ್ಲೇಷಣೆ. ಪರಿಚಯ

1.ಎಲಾಸ್ಟಿಕ್ ಸ್ಟಾಕ್: ಭದ್ರತಾ ದಾಖಲೆಗಳ ವಿಶ್ಲೇಷಣೆ. ಪರಿಚಯ

ರಷ್ಯಾದಲ್ಲಿ ಸ್ಪ್ಲಂಕ್ ಲಾಗಿಂಗ್ ಮತ್ತು ಅನಾಲಿಟಿಕ್ಸ್ ಸಿಸ್ಟಮ್ನ ಮಾರಾಟದ ಅಂತ್ಯಕ್ಕೆ ಸಂಬಂಧಿಸಿದಂತೆ, ಪ್ರಶ್ನೆ ಉದ್ಭವಿಸಿದೆ: ಈ ಪರಿಹಾರವನ್ನು ಏನು ಬದಲಾಯಿಸಬಹುದು? ವಿಭಿನ್ನ ಪರಿಹಾರಗಳೊಂದಿಗೆ ನನ್ನನ್ನು ಪರಿಚಯಿಸಿಕೊಳ್ಳುವ ಸಮಯವನ್ನು ಕಳೆದ ನಂತರ, ನಾನು ನಿಜವಾದ ಮನುಷ್ಯನಿಗೆ ಪರಿಹಾರವನ್ನು ಕಂಡುಕೊಂಡೆ - "ELK ಸ್ಟಾಕ್". ಈ ವ್ಯವಸ್ಥೆಯನ್ನು ಹೊಂದಿಸಲು ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ, ಆದರೆ ಇದರ ಪರಿಣಾಮವಾಗಿ ನೀವು ಸ್ಥಿತಿಯನ್ನು ವಿಶ್ಲೇಷಿಸಲು ಮತ್ತು ಸಂಸ್ಥೆಯಲ್ಲಿನ ಮಾಹಿತಿ ಭದ್ರತಾ ಘಟನೆಗಳಿಗೆ ತ್ವರಿತವಾಗಿ ಪ್ರತಿಕ್ರಿಯಿಸಲು ಅತ್ಯಂತ ಶಕ್ತಿಯುತವಾದ ವ್ಯವಸ್ಥೆಯನ್ನು ಪಡೆಯಬಹುದು. ಈ ಲೇಖನಗಳ ಸರಣಿಯಲ್ಲಿ, ನಾವು ELK ಸ್ಟಾಕ್‌ನ ಮೂಲ (ಅಥವಾ ಇಲ್ಲದಿರಬಹುದು) ಸಾಮರ್ಥ್ಯಗಳನ್ನು ನೋಡುತ್ತೇವೆ, ನೀವು ಲಾಗ್‌ಗಳನ್ನು ಹೇಗೆ ಪಾರ್ಸ್ ಮಾಡಬಹುದು, ಗ್ರಾಫ್‌ಗಳು ಮತ್ತು ಡ್ಯಾಶ್‌ಬೋರ್ಡ್‌ಗಳನ್ನು ಹೇಗೆ ನಿರ್ಮಿಸುವುದು ಮತ್ತು ಲಾಗ್‌ಗಳ ಉದಾಹರಣೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಯಾವ ಆಸಕ್ತಿದಾಯಕ ಕಾರ್ಯಗಳನ್ನು ಮಾಡಬಹುದು ಎಂಬುದನ್ನು ಪರಿಗಣಿಸಿ ಚೆಕ್ ಪಾಯಿಂಟ್ ಫೈರ್ವಾಲ್ ಅಥವಾ OpenVas ಭದ್ರತಾ ಸ್ಕ್ಯಾನರ್. ಮೊದಲಿಗೆ, ಅದು ಏನೆಂದು ನೋಡೋಣ - ELK ಸ್ಟಾಕ್ ಮತ್ತು ಅದು ಯಾವ ಘಟಕಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.

"ELK ಸ್ಟಾಕ್" ಮೂರು ತೆರೆದ ಮೂಲ ಯೋಜನೆಗಳ ಸಂಕ್ಷಿಪ್ತ ರೂಪವಾಗಿದೆ: Elasticsearch, ಲಾಗ್‌ಸ್ಟ್ಯಾಶ್ и ಕಿಬಾನಾ. ಎಲ್ಲಾ ಸಂಬಂಧಿತ ಯೋಜನೆಗಳೊಂದಿಗೆ ಸ್ಥಿತಿಸ್ಥಾಪಕದಿಂದ ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗಿದೆ. ಸ್ಥಿತಿಸ್ಥಾಪಕ ಹುಡುಕಾಟವು ಸಂಪೂರ್ಣ ಸಿಸ್ಟಮ್‌ನ ಕೇಂದ್ರವಾಗಿದೆ, ಇದು ಡೇಟಾಬೇಸ್, ಹುಡುಕಾಟ ಮತ್ತು ವಿಶ್ಲೇಷಣಾತ್ಮಕ ವ್ಯವಸ್ಥೆಯ ಕಾರ್ಯಗಳನ್ನು ಸಂಯೋಜಿಸುತ್ತದೆ. ಲಾಗ್‌ಸ್ಟಾಶ್ ಸರ್ವರ್-ಸೈಡ್ ಡೇಟಾ ಪ್ರೊಸೆಸಿಂಗ್ ಪೈಪ್‌ಲೈನ್ ಆಗಿದ್ದು ಅದು ಏಕಕಾಲದಲ್ಲಿ ಅನೇಕ ಮೂಲಗಳಿಂದ ಡೇಟಾವನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ, ಲಾಗ್ ಅನ್ನು ಪಾರ್ಸ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ನಂತರ ಅದನ್ನು ಎಲಾಸ್ಟಿಕ್ ಸರ್ಚ್ ಡೇಟಾಬೇಸ್‌ಗೆ ಕಳುಹಿಸುತ್ತದೆ. Elasticsearch ನಲ್ಲಿ ಚಾರ್ಟ್‌ಗಳು ಮತ್ತು ಗ್ರಾಫ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಡೇಟಾವನ್ನು ದೃಶ್ಯೀಕರಿಸಲು Kibana ಬಳಕೆದಾರರಿಗೆ ಅನುಮತಿಸುತ್ತದೆ. ನೀವು ಕಿಬಾನಾ ಮೂಲಕ ಡೇಟಾಬೇಸ್ ಅನ್ನು ಸಹ ನಿರ್ವಹಿಸಬಹುದು. ಮುಂದೆ, ನಾವು ಪ್ರತಿಯೊಂದು ವ್ಯವಸ್ಥೆಯನ್ನು ಹೆಚ್ಚು ವಿವರವಾಗಿ ಪ್ರತ್ಯೇಕವಾಗಿ ಪರಿಗಣಿಸುತ್ತೇವೆ.

1.ಎಲಾಸ್ಟಿಕ್ ಸ್ಟಾಕ್: ಭದ್ರತಾ ದಾಖಲೆಗಳ ವಿಶ್ಲೇಷಣೆ. ಪರಿಚಯ

ಲಾಗ್‌ಸ್ಟ್ಯಾಶ್

ಲಾಗ್‌ಸ್ಟ್ಯಾಶ್ ವಿವಿಧ ಮೂಲಗಳಿಂದ ಲಾಗ್ ಈವೆಂಟ್‌ಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ಒಂದು ಉಪಯುಕ್ತತೆಯಾಗಿದೆ, ಇದರೊಂದಿಗೆ ನೀವು ಸಂದೇಶದಲ್ಲಿ ಕ್ಷೇತ್ರಗಳು ಮತ್ತು ಅವುಗಳ ಮೌಲ್ಯಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡಬಹುದು ಮತ್ತು ನೀವು ಡೇಟಾ ಫಿಲ್ಟರಿಂಗ್ ಮತ್ತು ಸಂಪಾದನೆಯನ್ನು ಸಹ ಕಾನ್ಫಿಗರ್ ಮಾಡಬಹುದು. ಎಲ್ಲಾ ಕುಶಲತೆಯ ನಂತರ, ಲಾಗ್‌ಸ್ಟಾಶ್ ಈವೆಂಟ್‌ಗಳನ್ನು ಅಂತಿಮ ಡೇಟಾ ಸ್ಟೋರ್‌ಗೆ ಮರುನಿರ್ದೇಶಿಸುತ್ತದೆ. ಉಪಯುಕ್ತತೆಯನ್ನು ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್‌ಗಳ ಮೂಲಕ ಮಾತ್ರ ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗಿದೆ.
ವಿಶಿಷ್ಟ ಲಾಗ್‌ಸ್ಟ್ಯಾಶ್ ಕಾನ್ಫಿಗರೇಶನ್ ಎನ್ನುವುದು ಹಲವಾರು ಒಳಬರುವ ಮಾಹಿತಿಯ ಸ್ಟ್ರೀಮ್‌ಗಳನ್ನು (ಇನ್‌ಪುಟ್), ಈ ಮಾಹಿತಿಗಾಗಿ ಹಲವಾರು ಫಿಲ್ಟರ್‌ಗಳನ್ನು (ಫಿಲ್ಟರ್) ಮತ್ತು ಹಲವಾರು ಹೊರಹೋಗುವ ಸ್ಟ್ರೀಮ್‌ಗಳನ್ನು (ಔಟ್‌ಪುಟ್) ಒಳಗೊಂಡಿರುವ ಫೈಲ್(ಗಳು) ಆಗಿದೆ. ಇದು ಒಂದು ಅಥವಾ ಹೆಚ್ಚಿನ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್‌ಗಳಂತೆ ಕಾಣುತ್ತದೆ, ಇದು ಸರಳವಾದ ಆವೃತ್ತಿಯಲ್ಲಿ (ಅದು ಏನನ್ನೂ ಮಾಡುವುದಿಲ್ಲ) ಈ ರೀತಿ ಕಾಣುತ್ತದೆ:

input {
}

filter {
}

output {
}

INPUT ನಲ್ಲಿ ನಾವು ಲಾಗ್‌ಗಳನ್ನು ಯಾವ ಪೋರ್ಟ್‌ಗೆ ಕಳುಹಿಸಲಾಗುವುದು ಮತ್ತು ಯಾವ ಪ್ರೋಟೋಕಾಲ್ ಮೂಲಕ ಅಥವಾ ಯಾವ ಫೋಲ್ಡರ್‌ನಿಂದ ಹೊಸ ಅಥವಾ ನಿರಂತರವಾಗಿ ನವೀಕರಿಸಿದ ಫೈಲ್‌ಗಳನ್ನು ಓದಬೇಕೆಂದು ಕಾನ್ಫಿಗರ್ ಮಾಡುತ್ತೇವೆ. FILTER ನಲ್ಲಿ ನಾವು ಲಾಗ್ ಪಾರ್ಸರ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡುತ್ತೇವೆ: ಕ್ಷೇತ್ರಗಳನ್ನು ಪಾರ್ಸಿಂಗ್ ಮಾಡುವುದು, ಮೌಲ್ಯಗಳನ್ನು ಸಂಪಾದಿಸುವುದು, ಹೊಸ ನಿಯತಾಂಕಗಳನ್ನು ಸೇರಿಸುವುದು ಅಥವಾ ಅವುಗಳನ್ನು ಅಳಿಸುವುದು. FILTER ಎನ್ನುವುದು ಬಹಳಷ್ಟು ಸಂಪಾದನೆ ಆಯ್ಕೆಗಳೊಂದಿಗೆ ಲಾಗ್‌ಸ್ಟ್ಯಾಶ್‌ಗೆ ಬರುವ ಸಂದೇಶವನ್ನು ನಿರ್ವಹಿಸುವ ಕ್ಷೇತ್ರವಾಗಿದೆ. ಔಟ್‌ಪುಟ್‌ನಲ್ಲಿ ನಾವು ಈಗಾಗಲೇ ಪಾರ್ಸ್ ಮಾಡಲಾದ ಲಾಗ್ ಅನ್ನು ಎಲ್ಲಿ ಕಳುಹಿಸುತ್ತೇವೆ ಎಂಬುದನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡುತ್ತೇವೆ, ಅದು ಸ್ಥಿತಿಸ್ಥಾಪಕ ಹುಡುಕಾಟವಾಗಿದ್ದರೆ, ಮೌಲ್ಯಗಳನ್ನು ಹೊಂದಿರುವ ಕ್ಷೇತ್ರಗಳನ್ನು ಕಳುಹಿಸುವ JSON ವಿನಂತಿಯನ್ನು ಕಳುಹಿಸಲಾಗುತ್ತದೆ ಅಥವಾ ಡೀಬಗ್‌ನ ಭಾಗವಾಗಿ ಅದನ್ನು stdout ಗೆ ಔಟ್‌ಪುಟ್ ಮಾಡಬಹುದು ಅಥವಾ ಫೈಲ್‌ಗೆ ಬರೆಯಬಹುದು.

1.ಎಲಾಸ್ಟಿಕ್ ಸ್ಟಾಕ್: ಭದ್ರತಾ ದಾಖಲೆಗಳ ವಿಶ್ಲೇಷಣೆ. ಪರಿಚಯ

ಸ್ಥಿತಿಸ್ಥಾಪಕ ಹುಡುಕಾಟ

ಆರಂಭದಲ್ಲಿ, Elasticsearch ಪೂರ್ಣ-ಪಠ್ಯ ಹುಡುಕಾಟಕ್ಕೆ ಪರಿಹಾರವಾಗಿದೆ, ಆದರೆ ಸುಲಭವಾದ ಸ್ಕೇಲಿಂಗ್, ಪುನರಾವರ್ತನೆ ಮತ್ತು ಇತರ ವಿಷಯಗಳಂತಹ ಹೆಚ್ಚುವರಿ ಸೌಕರ್ಯಗಳೊಂದಿಗೆ, ಇದು ಉತ್ಪನ್ನವನ್ನು ತುಂಬಾ ಅನುಕೂಲಕರವಾಗಿಸಿದೆ ಮತ್ತು ಹೆಚ್ಚಿನ ಪ್ರಮಾಣದ ಡೇಟಾದೊಂದಿಗೆ ಹೆಚ್ಚಿನ-ಲೋಡ್ ಯೋಜನೆಗಳಿಗೆ ಉತ್ತಮ ಪರಿಹಾರವಾಗಿದೆ. Elasticsearch ಒಂದು ಸಂಬಂಧವಿಲ್ಲದ (NoSQL) JSON ಡಾಕ್ಯುಮೆಂಟ್ ಸ್ಟೋರ್ ಮತ್ತು ಲುಸೀನ್ ಪೂರ್ಣ-ಪಠ್ಯ ಹುಡುಕಾಟವನ್ನು ಆಧರಿಸಿದ ಹುಡುಕಾಟ ಎಂಜಿನ್ ಆಗಿದೆ. ಹಾರ್ಡ್‌ವೇರ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಜಾವಾ ವರ್ಚುವಲ್ ಮೆಷಿನ್ ಆಗಿದೆ, ಆದ್ದರಿಂದ ಸಿಸ್ಟಮ್ ಕಾರ್ಯನಿರ್ವಹಿಸಲು ಹೆಚ್ಚಿನ ಪ್ರಮಾಣದ ಪ್ರೊಸೆಸರ್ ಮತ್ತು RAM ಸಂಪನ್ಮೂಲಗಳ ಅಗತ್ಯವಿರುತ್ತದೆ.
ಪ್ರತಿ ಒಳಬರುವ ಸಂದೇಶವನ್ನು ಲಾಗ್‌ಸ್ಟ್ಯಾಶ್‌ನೊಂದಿಗೆ ಅಥವಾ ಪ್ರಶ್ನೆ API ಬಳಸಿ, "ಡಾಕ್ಯುಮೆಂಟ್" ಎಂದು ಸೂಚಿಕೆ ಮಾಡಲಾಗಿದೆ - ಸಂಬಂಧಿತ SQL ನಲ್ಲಿನ ಕೋಷ್ಟಕಕ್ಕೆ ಹೋಲುತ್ತದೆ. ಎಲ್ಲಾ ದಾಖಲೆಗಳನ್ನು ಸೂಚ್ಯಂಕದಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗಿದೆ - SQL ನಲ್ಲಿ ಡೇಟಾಬೇಸ್‌ನ ಅನಲಾಗ್.

ಡೇಟಾಬೇಸ್‌ನಲ್ಲಿರುವ ಡಾಕ್ಯುಮೆಂಟ್‌ನ ಉದಾಹರಣೆ:

{
  "_index": "checkpoint-2019.10.10",
  "_type": "_doc",
  "_id": "yvNZcWwBygXz5W1aycBy",
  "_version": 1,
  "_score": null,
  "_source": {
	"layer_uuid": [
      "dae7f01c-4c98-4c3a-a643-bfbb8fcf40f0",
      "dbee3718-cf2f-4de0-8681-529cb75be9a6"
	],
	"outzone": "External",
	"layer_name": [
  	"TSS-Standard Security",
  	"TSS-Standard Application"
	],
	"time": "1565269565",
	"dst": "103.5.198.210",
	"parent_rule": "0",
	"host": "10.10.10.250",
	"ifname": "eth6",
    ]
}

ಡೇಟಾಬೇಸ್‌ನೊಂದಿಗಿನ ಎಲ್ಲಾ ಕೆಲಸಗಳು REST API ಅನ್ನು ಬಳಸಿಕೊಂಡು JSON ವಿನಂತಿಗಳನ್ನು ಆಧರಿಸಿವೆ, ಇದು ಸೂಚ್ಯಂಕದಿಂದ ದಾಖಲೆಗಳನ್ನು ಅಥವಾ ಕೆಲವು ಅಂಕಿಅಂಶಗಳನ್ನು ಫಾರ್ಮ್ಯಾಟ್‌ನಲ್ಲಿ ಉತ್ಪಾದಿಸುತ್ತದೆ: ಪ್ರಶ್ನೆ - ಉತ್ತರ. ವಿನಂತಿಗಳಿಗೆ ಎಲ್ಲಾ ಪ್ರತಿಕ್ರಿಯೆಗಳನ್ನು ದೃಶ್ಯೀಕರಿಸುವ ಸಲುವಾಗಿ, ಕಿಬಾನಾವನ್ನು ಬರೆಯಲಾಗಿದೆ, ಇದು ವೆಬ್ ಸೇವೆಯಾಗಿದೆ.

ಕಿಬಾನಾ

ಕಿಬಾನಾ ಎಲಾಸ್ಟಿಕ್ ಸರ್ಚ್ ಡೇಟಾಬೇಸ್‌ನಿಂದ ಡೇಟಾವನ್ನು ಹುಡುಕಲು, ಹಿಂಪಡೆಯಲು ಮತ್ತು ಅಂಕಿಅಂಶಗಳನ್ನು ಪ್ರಶ್ನಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ, ಆದರೆ ಉತ್ತರಗಳ ಆಧಾರದ ಮೇಲೆ ಅನೇಕ ಸುಂದರವಾದ ಗ್ರಾಫ್‌ಗಳು ಮತ್ತು ಡ್ಯಾಶ್‌ಬೋರ್ಡ್‌ಗಳನ್ನು ನಿರ್ಮಿಸಲಾಗಿದೆ. ಸಿಸ್ಟಮ್ ಎಲಾಸ್ಟಿಕ್ ಸರ್ಚ್ ಡೇಟಾಬೇಸ್ ಆಡಳಿತ ಕಾರ್ಯವನ್ನು ಸಹ ಹೊಂದಿದೆ; ನಂತರದ ಲೇಖನಗಳಲ್ಲಿ ನಾವು ಈ ಸೇವೆಯನ್ನು ಹೆಚ್ಚು ವಿವರವಾಗಿ ನೋಡುತ್ತೇವೆ. ಈಗ ಚೆಕ್ ಪಾಯಿಂಟ್ ಫೈರ್‌ವಾಲ್‌ಗಾಗಿ ಡ್ಯಾಶ್‌ಬೋರ್ಡ್‌ಗಳ ಉದಾಹರಣೆಯನ್ನು ತೋರಿಸೋಣ ಮತ್ತು ನಿರ್ಮಿಸಬಹುದಾದ OpenVas ದುರ್ಬಲತೆ ಸ್ಕ್ಯಾನರ್.

ಚೆಕ್ ಪಾಯಿಂಟ್‌ಗಾಗಿ ಡ್ಯಾಶ್‌ಬೋರ್ಡ್‌ನ ಉದಾಹರಣೆ, ಚಿತ್ರವನ್ನು ಕ್ಲಿಕ್ ಮಾಡಬಹುದಾಗಿದೆ:

1.ಎಲಾಸ್ಟಿಕ್ ಸ್ಟಾಕ್: ಭದ್ರತಾ ದಾಖಲೆಗಳ ವಿಶ್ಲೇಷಣೆ. ಪರಿಚಯ

OpenVas ಗಾಗಿ ಡ್ಯಾಶ್‌ಬೋರ್ಡ್‌ನ ಉದಾಹರಣೆ, ಚಿತ್ರವನ್ನು ಕ್ಲಿಕ್ ಮಾಡಬಹುದಾಗಿದೆ:

1.ಎಲಾಸ್ಟಿಕ್ ಸ್ಟಾಕ್: ಭದ್ರತಾ ದಾಖಲೆಗಳ ವಿಶ್ಲೇಷಣೆ. ಪರಿಚಯ

ತೀರ್ಮಾನಕ್ಕೆ

ಅದು ಏನನ್ನು ಒಳಗೊಂಡಿದೆ ಎಂಬುದನ್ನು ನಾವು ನೋಡಿದ್ದೇವೆ ELK ಸ್ಟಾಕ್, ನಾವು ಮುಖ್ಯ ಉತ್ಪನ್ನಗಳೊಂದಿಗೆ ಸ್ವಲ್ಪ ಪರಿಚಯ ಮಾಡಿಕೊಂಡಿದ್ದೇವೆ, ನಂತರ ಕೋರ್ಸ್‌ನಲ್ಲಿ ನಾವು ಪ್ರತ್ಯೇಕವಾಗಿ ಲಾಗ್‌ಸ್ಟಾಶ್ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ ಬರೆಯುವುದನ್ನು ಪರಿಗಣಿಸುತ್ತೇವೆ, ಕಿಬಾನಾದಲ್ಲಿ ಡ್ಯಾಶ್‌ಬೋರ್ಡ್‌ಗಳನ್ನು ಹೊಂದಿಸುತ್ತೇವೆ, API ವಿನಂತಿಗಳು, ಯಾಂತ್ರೀಕೃತಗೊಂಡ ಮತ್ತು ಹೆಚ್ಚಿನದನ್ನು ತಿಳಿದುಕೊಳ್ಳುತ್ತೇವೆ!

ಆದ್ದರಿಂದ ಟ್ಯೂನ್ ಆಗಿರಿ (ಟೆಲಿಗ್ರಾಂ, ಫೇಸ್ಬುಕ್, VK, TS ಪರಿಹಾರ ಬ್ಲಾಗ್), ಯಾಂಡೆಕ್ಸ್ en ೆನ್.

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ