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.
- Introduction. Infrastructure and technology deployment for SOC as a Service (SOCasS)
- ELK stack - installation and configuration
- Walking through the open Distro
- Dashboards and ELK SIEM visualization
- Integration with WAZUH
- Alerting
- Making report
- Case Management
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- :
. , , . .