1.Elastic stack: analyse van security logs. Inleiding.

1.Elastic stack: analyse van security logs. Inleiding.

Met de beëindiging van de verkoop van het log- en analysetool Splunk in Rusland groeit de vraag naar alternatieven. Na wat tijd te hebben besteed aan het verkennen van verschillende oplossingen, heb ik gekozen voor de oplossing voor echte mannen — „ELK stack“. Dit systeem vereist wat tijd voor configuratie, maar uiteindelijk biedt het een zeer krachtige set tools voor het analyseren van de status en voor snelle respons op veiligheidsincidenten binnen een organisatie. In deze artikelenreeks zullen we de basis (en misschien ook niet) mogelijkheden van de ELK-stack bekijken, hoe we logs kunnen parseren, hoe we grafieken en dashboards opbouwen, en welke interessante functies we kunnen realiseren aan de hand van logs van de Check Point firewall of de OpenVas beveiligingsscanner. Laten we beginnen met wat de ELK-stack precies is en uit welke componenten deze bestaat.

„ELK stack“ — is een afkorting van drie open-source projecten: Elasticsearch, Logstash en Kibana. Deze worden ontwikkeld door het bedrijf Elastic samen met alle verwante projecten. Elasticsearch vormt de kern van het hele systeem, dat functies van een database combineert met zoek- en analysemogelijkheden. Logstash is een gegevensverwerkingspijp aan de serverzijde die gegevens uit meerdere bronnen tegelijkertijd ontvangt, logs parseert en deze vervolgens verzendt naar de Elasticsearch-database. Kibana stelt gebruikers in staat om gegevens te visualiseren met behulp van diagrammen en grafieken in Elasticsearch. Via Kibana kan ook de database beheerd worden. Laten we nu elke component afzonderlijk gedetailleerd bekijken.

1.Elastic stack: analyse van security logs. Inleiding.

Logstash

Logstash is een tool voor het verwerken van loggebeurtenissen uit verschillende bronnen, waarmee je velden en waarden in een bericht kunt onderscheiden, en waarmee je ook filtering en bewerking van data kunt instellen. Na alle handelingen stuurt Logstash de gebeurtenissen door naar de eindopslag. De tool wordt uitsluitend geconfigureerd via configuratiebestanden.
Een typische logstash-configuratie bestaat uit één of meerdere configuratiebestanden die zijn opgebouwd uit verschillende inkomende informatiestromen (input), meerdere filters voor deze informatie (filter) en verschillende uitgaande stromen (output). Dit ziet er als volgt uit: één of meerdere configuratiebestanden, waarbij de eenvoudigste versie (die helemaal niets doet) er zo uitziet:

input {
}

filter {
}

output {
}

In INPUT we configure which port the logs will be received on and through which protocol, or from which folder new or continuously appended files will be read. In FILTER we set up the log parser: field parsing, value editing, adding new parameters or deleting them. FILTER is a field for managing the message that comes to Logstash with a host of editing options. In output we configure where to send the already parsed log; if it is Elasticsearch, a JSON request is sent containing the fields with values, or for debugging, it can be output to stdout or written to a file.

1.Elastic stack: analyse van security logs. Inleiding.

ElasticSearch

Initially, Elasticsearch is a solution for full-text search, but with additional conveniences such as easy scaling, replication, and more, which has made the product very convenient and a good solution for high-load projects with large volumes of data. Elasticsearch is a non-relational (NoSQL) document storage in JSON format and a search engine based on full-text search using Lucene. The hardware platform is the Java Virtual Machine, so the system requires a significant amount of CPU and RAM resources to operate.
Each incoming message, whether from Logstash or through an API request, is indexed as a 'document' – analogous to a table in relational SQL. All documents are stored in an index – analogous to a database in SQL.

Example of a document in the database:

{
  "_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",
    ]
}

All work with the database is built on JSON requests via the REST API, which either return documents by index or some statistics in the format: question - answer. To visualize all the responses to requests, Kibana was developed, which is a web service.

Kibana

Kibana stelt u in staat om gegevens te doorzoeken en statistieken op te vragen uit de elasticsearch-database, op basis waarvan vele fraaie grafieken en dashboards worden opgebouwd. Het systeem heeft ook administratiefuncties voor de elasticsearch-database, in komende artikelen zullen we deze service nader bekijken. Laten we nu een voorbeeld van dashboards voor de Check Point firewall en de OpenVas kwetsbaarheidsscanner tonen, die u kunt bouwen.

Voorbeeld van een dashboard voor Check Point, de afbeelding is klikbaar:

1.Elastic stack: analyse van security logs. Inleiding.

Voorbeeld van een dashboard voor OpenVas, de afbeelding is klikbaar:

1.Elastic stack: analyse van security logs. Inleiding.

Conclusie

We hebben bekeken waaruit de ELK-stackbestaat, hebben kennisgemaakt met de belangrijkste producten, en in de cursus zullen we apart het schrijven van de configuratiebestanden voor Logstash, het instellen van dashboards op Kibana, het leren van API-aanroepen, automatisering en nog veel meer behandelen!

Dus houd de updates in de gaten (Telegram, Facebook, VK, TS Solution Blog), Yandex.Zen.

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster