Commit Graph

597 Commits (master)

Author SHA1 Message Date
Roberto Rodriguez 5859ba3dab HELK 6.2.2 - 030318
helk-analytics
+ Init file and Dockerfile updated with Spark version 2.3.0
+Jupyter Notebook from getting started folder updated
+ New jupyter notebook with graphframes example presented in BSColumbus 2018

helk-elk
+ Added properties to elasticsearch config file to set it as a standalone cluster. (It helps for when elasticsearch is restarted)
+ Updated Dashboards
+ Updated Kibana timeout to 60000
+ Updated Logstas - elasticsearch mapping templates after renaming fields.
+ Updated logstash filters renaming fields keeping a new flat schema. No more nested fields style.

helk-kafka
+ Updated Log retention hours to 2 hours

Resources:
- Created README to share all the blog posts, documentes and presentations that helped me to work on the HELK

Scripts
+ Deprecated most of the scripts used before to install ELK via TAR and DEB. Also deprecated scripts to updated geoip database.
2018-03-03 21:15:35 -05:00
Roberto Rodriguez aa17e077c0 Merge branch 'master' of https://github.com/Cyb3rWard0g/HELK 2018-02-25 02:59:47 -05:00
Roberto Rodriguez 063e5835ec HELK 6.2.2 - 022518
HELK Design
+ moved everything to docker-compose approach for a more modular design.
+ separated the HELK in 3 services:
++helk-elk, helk-kafka, helk-analytics
+ Updated Design picture to show WEF ideas and also show Jupyter Lab integrations.

HELK Docker-Compose
+ Added ESDATA volume to keep logs after contaners get stopped
+ Services restart automatically after reboot
+ created blank env file for Kafka service. This allows the host to pass its own local IP to Kafka. This is needed for advertised listener configs on each broker.

HELK-ELK Version
- Updated to 6.2.2

ELasticsearch
- Added local docker network as part of the network.host option. This allows the HELK-ELK service to publish its docker local IP to other services/images in the docker compose environment.

Logstash
+ minimal updates to  certain configs (Mainly renaming files and replacing certain strings)

Kibana
+ enableExternalUrls set to true for Vega visualization that need external libraries.

Spark - Analytics
+ Renamed service to Analytics
+ Integrated Apache Toree to allow Scala kernel in Jupyter
+ Pyspark, Scala and SQL are now available in Jupyter

Jupyter
+ Jupyter LAB has been enabled
2018-02-25 02:59:44 -05:00
Roberto Rodriguez db1d594403
Merge pull request #26 from rlarabee/patch-1
Update kafka-init
2018-02-19 23:14:20 -05:00
rlarabee d1d88f85a9
Update kafka-init
The KAFKA_USER variable was listed twice. It seemed to cause an issue with kafka when first starting up. After updating the issue went away.
2018-02-19 22:11:05 -06:00
Roberto Rodriguez d623246f4c HELK ELK 6.2.0 & New features
Elasticsearch
+ Deleted Docker elasticsearch config file (Duplicate)

Logstash
+ Adjusted Batch size to 300 (Testing)
+ Renamed scripts to follow a standard naming convention
+ Added a fingerprint filter to all logs to help reduce duplicate logs
+ Removed ELK Version strings from all Logstash configs so that I dont have to update every single script every time ELK gets updated.
+ Added Document_id to every logstash output config to take the fingerprint value.

Kibana
+ Renamed Index Patterns to standard naming convention.
+ Added experimental visualization vega setting. Enabling External URLs to use D3 libraries from their repos. This is grayed out in the Kibana config so user will have to enable it.
+ Updated name of index patterns across all visualizations and dashboards.

Kafka
+ Log retention is now 24 hours and not 268 Hours
+ added auto_offset_reset => "earliest" to beats kafka input config

Spark
+ updated es-hadoop version to 6.2.0 and added new spark jar packages: org.apache.spark:spark-sql-kafka-0-10_2.11:2.2.1 & databricks:spark-sklearn:0.2.3
+ Created an init file to run spark and jupyter all together as a service. This will allow us to restart jupyter and pyspark gracefully.

Winlogbeat
+ Updated Winlogbeat config to take PowerShell and Microsoft-Windows-WMI-Activity/Operational logs.

New Features
+ Cerebro
+ Python packages:
-scipy==1.0.0
  scikit-learn==0.19.1
  nltk==3.2.5
  matplotlib==2.1.2
  seaborn==0.8.1
  datasketch==1.2.5
  tensorflow==1.5.0
  keras==2.1.3
  pyflux==0.4.15
  imbalanced-learn==0.3.2
  lime==0.1.1.29

Docker Hub
+ New HELK image available
2018-02-15 03:28:48 -05:00
Roberto Rodriguez 829ed84d1b
Merge pull request #22 from leechristensen/master
Added WMI event log ingestion, primarily for WMI permanent event subscription detection
2018-02-08 14:32:24 -05:00
Lee Christensen 384b2d3f1e
Added wmiactivity 2018-02-07 20:36:57 -05:00
Lee Christensen c63bcfef95 Add Microsoft-Windows-WMI-Activity ingestion 2018-02-06 16:25:39 -05:00
Roberto Rodriguez 6b4054288b Installation Wiki Images 2018-02-06 07:39:57 -05:00
Roberto Rodriguez 644089c35a Updated ES-Hadoop to 6.1.3
+ Updated Spark Defaults config : elasticsearch-hadoop-6.1.3.jar
+ Updated Shell Script & Dockerfile to download elasticsearch-hadoop-6.1.3.zip
2018-02-04 22:59:52 -05:00
Roberto Rodriguez 0d7075e3cc Added more images for wiki
+ Updated Kafka design
+ Added Elasticsearch, Kibana, Logstash & Spark
2018-02-04 00:14:19 -05:00
Roberto Rodriguez 0df92d3b90 Kafka Images for Wiki 2018-02-01 20:27:11 -05:00
Roberto Rodriguez 3b17da481a Exposed Docker Ports properly
+ @bsisco via Issue #19 let us know that communication between systems and kafka was not working. I forgot to expose the right ports when running the HELK Docker image after being pulled.
2018-02-01 13:30:16 -05:00
Roberto Rodriguez 191275ef18 Contributors & Alpha Versions
+ Added Lee Christensen to contributors list
+ Updated Main install script to reflect Alpha version and latest ELK version (6.1.3)
2018-01-31 18:36:46 -05:00
Roberto Rodriguez 6928f74242 Spark & Kafka Communication
Updatd Design to show potential capability to start using Spark and Kafka
2018-01-31 18:31:46 -05:00
Roberto Rodriguez 25d4aa5996 HELK - Alpha ELK 6.1.3
+ ELK 6.1.3 version (Jun 30,2018 release)
+ Kafka Integration
-- Bash, DockerFile & Docker Image
+ Replaced ELK DEB Install Packages for TAR packages (Easier deployement and more control)
+ Logstash: JVM Heap 2GB default
+ ELK (Init Files created)
-- More control over service start
+ Left Linux DEB install bash script (deprecating it in next release)
+ ELK .yml files are not available to adjust deployment in an easier way.
+ Fixed Docker Run environment parameters to be call before pointing to the HELK image.
+ Edited every single file to have the right headers:
-- ELK version 6.1.3
-- Aplha Version
2018-01-31 17:52:50 -05:00
Roberto Rodriguez 5c5ffafd80 Updated Sysmon user fields for consistency
- Sysmon user (domain, sid, name) were not consistent with security logs.
2018-01-16 21:10:42 -05:00
Roberto Rodriguez 8cbda80112
Merge pull request #14 from jaredcatkinson/master
Cropped that for you ;-)
2018-01-15 22:24:26 -05:00
Jared Atkinson 7c01703f0b Cropped that for you ;-) 2018-01-16 04:17:28 +01:00
Roberto Rodriguez 41c70f29ce Merge branch 'master' of https://github.com/Cyb3rWard0g/HELK 2018-01-15 20:47:32 -05:00
Roberto Rodriguez 4ef706c5a6 Updated HELK Design 2018-01-15 20:42:57 -05:00
Roberto Rodriguez 56550d0c69
Update README.md 2018-01-15 20:11:13 -05:00
Roberto Rodriguez 15939ffc96 Updated HELK's Design & README
- Added ES-Hadoop connector to Design to show how Spark interacts with Elasticsearch
- Updated README to-do list to add Kafka to the build
2018-01-15 20:07:44 -05:00
Roberto Rodriguez 13995a4d66 Fixed curl installation 2018-01-11 16:16:23 -05:00
Roberto Rodriguez c91d80a073 Updated README
Ubuntu Xenial specifically for the bash script build.
2018-01-11 14:10:28 -05:00
Roberto Rodriguez 4f2bbfbc21 Added Official Docker install script
-Using Official Docker install script known as convenience script
- Saved a copy of the convenience script (Edge version) locally just in case (Script needs to be modified if it is intended to use in production.
2018-01-11 12:14:50 -05:00
Roberto Rodriguez 6bc8585fd8 Updating HELK after latest PR 2018-01-10 23:48:49 -05:00
Roberto Rodriguez 5626d4af42 Arranged folders, updated bash script & README
-Moved spark folder out of enrichments to root.
- Removed ipython & inotebook deb packages. Jupyter is installed via PIP only.
- Added new contributor to README
2018-01-10 23:46:38 -05:00
Roberto Rodriguez 7cf39f1c0d
Merge pull request #9 from esebese/patch-1
Update helk_linux_deb_install.sh
2018-01-10 12:22:24 -05:00
esebese 7b4cdd1777
Update helk_linux_deb_install.sh
While installing the HELK from local bash script, process did not go further in "Creating Kibana index-patterns, dashboards and visualizations automatically.." step. After some debugging, the problem detected in helk_kibana_setup.sh script which uses "curl". "curl" is not installed by default in 16.04.2 Ubuntu. As a conclusion, installation of "curl" was added to this script.
2018-01-10 20:09:46 +03:00
Roberto Rodriguez aaf2a531e9
Updated README
Feedback taken.
Changed Learn to Enable
2018-01-08 18:26:44 -05:00
Roberto Rodriguez 57b3dbe6e5 Fixed README
Mispelled image path
2018-01-08 18:22:29 -05:00
Roberto Rodriguez 8cd6dbb15b Updated README & Added Images
Added Dashboard and Discovery images
Updated To-Do List
2018-01-08 18:20:50 -05:00
Roberto Rodriguez 0f9d529993
Add files via upload 2018-01-08 17:59:08 -05:00
Roberto Rodriguez 0a80cfbf80
Updated README 2018-01-08 17:58:42 -05:00
Roberto Rodriguez ad9690a5d1 Merge branch 'master' of https://github.com/Cyb3rWard0g/HELK 2018-01-08 16:32:20 -05:00
Roberto Rodriguez f55cf1d749 HELK_UpdatedBeta_Version
- Added Jupyter Notebook example
- Created Install Script with Menu options
- Bashscript, Docker & Pull Docker image is now stable
2018-01-08 16:32:13 -05:00
Roberto Rodriguez 463297dc96
Updated Readme 2018-01-06 17:14:43 -05:00
Roberto Rodriguez ec597f700d
HELK_Stack
README Main Image
2018-01-06 16:49:42 -05:00
Roberto Rodriguez 49485a58f4 HELK_BetaVersion
Updated HELK beta version with Spark, GraphFrames and Jupyter Notebook capabilities
2018-01-06 16:46:20 -05:00
Roberto Rodriguez 7c1fe57477 Updated Template Name & Install script
- stop restarting logstash service in the install script
2017-12-21 23:24:51 -05:00
Roberto Rodriguez 75c48e14af Updated index pattern & install script
- kibana index patter creation script needed an update
- install script updated to be executed without sh
- updated sysmon template name to match sysmon logstash sysmon output config
2017-12-21 21:32:48 -05:00
Roberto Rodriguez 9a313bf6f3 Updated script headers & Kibana index creation script
- Forgot to save changes to a few logstash confs
- Forgot to save changes to kibana index creation script
2017-12-20 15:04:07 -05:00
Roberto Rodriguez 3178c85172 Updated scripts, Logstash confs, elasticsearch conf & created sysmon template
- Logstash
-- Cleaned output configurations
-- Created Sysmon teamplte
-- Added sysmon template to sysmon elasticsearch output
-- Removed sniffing = True from every elasticsearch output
- Scripts
-- Updated Install config
-- Added creation of Kibana index patterns to install script
-- Added headers to every script but posh script
-- renamed scripts to keep naming standard helk-*
2017-12-20 14:55:57 -05:00
Roberto Rodriguez e5f4d646fd Updated Posh filter
Removed param3 field from EID 400 and 600
2017-12-19 01:28:31 -05:00
Roberto Rodriguez e2be226b94 split logstash output & updated posh filter
- Updated PowerShell Filter and output to also parse 400 and 600
- Split winlogbeat output to show new indices
-- sysmon
-- application
-- system
-- security
-- powershell
2017-12-19 01:25:49 -05:00
Roberto Rodriguez 4df8d41913 Added geoip filter & updated install script
- Intel files path was updated
- Updated cronjob command line
2017-12-17 23:32:52 -05:00
Roberto Rodriguez 9131cae55d Updated HELK Install & Sysmon Logstash config
- Removed neo4j install (replacing it with something that could scale)
- Added creation of folder /op/helk and cron job in helk_install script
- updated sysmon logstash script to grap intelligence from the new path /opt/helk/otx
2017-12-17 17:47:33 -05:00
Roberto Rodriguez ed5665926d Update OTX script to pull last 30 days 2017-12-17 17:03:20 -05:00