ELK, SIEM from OpenSource, Open Distro: Notifications (alerts)

Hello and welcome to our new article on alerts in our SOCaaS solution. As you all know, alerts in any SOC play a vital role in notifying the response team.



They can interrupt the chain of cyber attacks or track this attack, depending on the policy of the enterprise and the team. You are probably wondering why we need to include more warnings. Aren't Open Distro Alert Modules Not Enough? This is because it lacks the number of outputs and its integrability with the rest of our solution like Thehive. We will introduce you to another alternative.



Table of contents for all posts.





The article is divided into the following sections:



* Install and configure ElastAlert, ElastAlert-Server and Praeco



* Create rules



1- ElastAlert, ElastAlert-Server Praeco:



1.1 :



A-



— Praeco: , Slack, , Telegram, Jira.



Praeco , , , Kibana (KQL).



— ElastAlert — , Elasticsearch. Elasticsearch : . Elasticsearch , , , . , , .



, , .



— Sigma: Sigma — , . , . — , .



B- :



cd /etc
git clone https://github.com/Yelp/elastalert.git
git clone https://github.com/ServerCentral/elastalert-server.git
git clone https://github.com/ServerCentral/praeco.git


URL-: https://github.com/ServerCentral/praeco



1.2- Elastalert:



cd /etc/elastalert
mkdir rules rule_templates
cp config.yaml.example config.yaml
nano config.yaml


elastalert config.yaml :



es_host: localhost



writeback_index: elastalert_status



rules_folder rules





. python 2.7, 3.6.





A- python3.6 Ubuntu:



sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.6


B- Python:



sudo update-alternatives — install /usr/bin/python python /usr/bin/python2.7
sudo update-alternatives — install /usr/bin/python python /usr/bin/python3.6


C- Python :



update-alternatives — config python


python3.6





python3.6



D-Install pip3:



sudo apt install python3-pip


E- PyYAML ( 5.1):



pip install PyYAML==5.1


F- elastalert



cd /etc/elastalert
pip3 install “setuptools>=11.3”
python setup.py install


G- :



cd /usr/local/bin/
./elastalert-create-index




ES Host : localhost
ES Port : 9200
Use ssl : t
Verify ssl :f


ES_username: admin ES_password: admin.



.





1.3- API:



API /etc/elastalert-server/config/config.json :



  • elastalert elastalertPath: /etc/elastalert
  • elasticsearch es_host: elasticsearch
  • writeback_index config.yaml: elastalert_status




A- (No Data):



, , _type elastalert. 7.x, , _type _doc.



, ( Praeco ) No Data.



, :



cd /etc/elastalert-server/src/handlers/metadata/
nano get.js


, : «elastalert»,



praeco.







B- Elastalert-Server:



sudo npm install
sudo npm run start


, . - (SSL_verify = False).





1.4- Praeco:



A- :



cd /etc/praeco/config
nano api.config.json




nano elastalert.yml






B- Praeco:



sudo npm install
export PRAECO_ELASTICSEARCH=localhost


C- BaseRule.cfg:



:



cp /etc/praeco/rules/BaseRule.config /etc/elastalert/rules/


Slack, SMTP Telegram.



URL- Slack Webhook, 2.



cd /etc/elastalert/rules/
nano BaseRule.config


URL- Webhook





D- Praeco:



npm run serve


, http://yourServerIP: 8080.



Praeco





2- :



2.1.- Praeco Slack webhook:



(Rules) -> (Add Rule):





, Open Distro Alerting Tool, .



UNFILTERED .



Close





Slack URL- -, 2, (#test).









Save







, Slack.





:





2.2- ElastAlert TheHive



, Praeco TheHive, elastalert-server.



Elastalert-server, Praeco, , , Praeco.



A- : «User_creation»:



-, Praceo, , URL- HTTP, .



, Save.





B- Thehive:



TheHive, Elastalert-Server



/etc/elastalert/rules



nano User_creation.yml




C. Praeco





Hive



, , Praeco, /etc/elastalert/rules:





D- TheHive:





2.3- Sigma :



, Sigma , Elastalert.



URL : https://github.com/Neo23x0/sigma.git





A- Sigma



cd ~
git clone https://github.com/Neo23x0/sigma.git


B-



cd ~/sigma/tools
pip3 install -r requirements.txt


( ) ( ):



./sigmac -t elastalert -c winlogbeat ../rules/windows/builtin/win_user_creation.yml






, (Praeco / Elastalert-Server) - .



, ( ) Praeco .



, .



: (Kibana → Discover Interface) , , . , , « ».



2.4- Wazuh theHive:



, , wazuh, wazuh praeco, , Hive:



A. wazuh :





rule.id ( ).



wazuh → Overview → Security events.





B- elastalert-server:



nano /etc/elastalert/wazuh-alert-TEST.yaml




C- :







. , , . .




All Articles