Commit Graph

46 Commits (1e356a7b2513eb204c33d228967e36acf6053b02)

Author SHA1 Message Date
Roberto Rodriguez 1e356a7b25 Initial Documentation
+ Added Jupyter Book (Easy) structure for initial docs.
+ Migrated GitHub Wiki -> GitHub pages Jekyll Static site
2020-01-21 15:20:44 -05:00
Roberto Rodriguez b4ce4ed105 Updated repo structure 2020-01-14 18:40:27 -05:00
Cyb3rWard0g a81fc35b1a Cleaning Repo
+ Updated README (initial update)
+ Removed unused files and folders
2019-10-02 21:50:28 -04:00
Roberto Rodriguez d10231195d Jupyter Updates
+ Updated notebooks connection to ES
+ Updaed Jupyter Image
2019-07-07 19:58:44 -04:00
Roberto Rodriguez c6b6d7c881 [HOT FIX] Jupyter & Logstash
helk-Jupyter
+ Deleted several notebooks that were repeating code and exercises
+ Consolidated notebooks to show the basics of python, pandas, Spark SQL, Pyspark and Graphframes
+ Updated pip libraries

helk-logstash
+ removed 999 pipeline output config since it was affecting logstash start
+ added z_originial_message condition when fingerprinting events. That helps for when I want to replicate events that have been already parsed by helk-logstash
2019-02-23 19:40:01 -05:00
Roberto Rodriguez cb5950ae32 [HOT-FIX] Logstash & Nginx
fix https://github.com/Cyb3rWard0g/HELK/issues/195
fix https://github.com/Cyb3rWard0g/HELK/issues/197
fix https://github.com/Cyb3rWard0g/HELK/issues/196
2019-02-22 10:33:30 -05:00
Roberto Rodriguez 64e00259fd README update and resources
- Added KSQL logo to HELK Ecosystem
- Updated features section with KSQL description
- Deleted a few images
2018-12-14 10:29:12 -05:00
Roberto Rodriguez dbcf5a1983 Updating README
Added Elastalert and Sigma information
2018-12-14 00:33:05 +03:00
Roberto Rodriguez 181c851a9e v0.1.6-alpha12132018
HELK base image
+ Updated to 0.0.3

HELK ELK Version
+ Now using 6.5.3 official ELK Docker Images (https://www.elastic.co/blog/elastic-stack-6-5-3-released)

helk_install
+ Users can now select between two deployments:
++ helk-kibana-analysis (KAFKA + KSQL + ELK + NGNIX + ELASTALERT)
++ helk-kibana-notebooks (KAFKA + KSQL + ELK + NGNIX + ELASTALERT + SPARK + JUPYTER)
+ Fixed https://github.com/Cyb3rWard0g/HELK/issues/131 . Users can now set up the Kibana UI User password during installation. Also, user can set the Elasticsearch elastic account password when using the Trial license option.

helk-elastalert
+ Elastalert deployed and ready to use with SIGMA integration. Blog available at https://medium.com/@Cyb3rWard0g

helk-elasticsearch
+ consolidated main configs in one
+ added more environment variables for ELASTIC_PASSWORD and default values in case it is not used to be compatible with the default values applied to HELK.

helk-logstash
+ updated to 6.5.3
+ simplified pipeline to have only one folder
+ logstash-entrypoint script can now enable elastic password on all logstash output conf files.
+ New environment variables (ELASTIC_PASSWORD, ELASTIC_HOST, ELASTIC_PORT)

helk-nginx
+ split the default config for the two deployment options (helk-kibana-analysis (trial/base) and helk-kibana-notebook-analysis (trial/base)

helk-kibana
+ Updated to version 6.5.3
+ Added new environment variables (ELASTICSEARCH_URL, SERVER_HOST, SERVER_PORT, ELASTIC_PASSWORD, ELASTIC_HOST, ELASTIC_PORT, ELASTICSEARCH_USERNAME, ELASTICSEARCH_PASSWORD, KIBANA_UI_PASSWORD) and logic to make the build more dynamic

helk-jupyter
+ updated Jupyterlab to 0.35.4
+ updated jupyterhub to 0.9.4
+ updated jupyterlab hub extension to 0.12.0
+ updated ES_HADOOP to 6.5.3
+ updated org.apache.spark:spark-sql-kafka-0-10_2.11:2.4.0
+ Added extra notebooks to test deployment and provide more information for analyst experiencing Jupyter for the first time

helk-kafka-base
+ reduced docker container size
+ updated Kafka to 2.1.0 (this affects Kafka brokers and zookeeper)

helk-kafka-broker
+ User can now define a list of topics to be created via the new environment variable KAFKA_CREATE_TOPICS. That needs to be defined either in the docker-compose file or while running the docker container on its own.

helk-zookeeper
+ reduced size of container
+ updated build to kafka 2.1.0

helk-KSQL
+ initial integration of KSQL
+ KSQL Server and KSQL CLI are available
+ Blog post coming soon ;)
2018-12-14 00:27:17 +03:00
Roberto Rodriguez 931d56729f HELK-07122018
License: GPL-3.0 Update
++ Updated all the local documents
++ Docker images in Dockerhub in progreess

Docker-Compose
++ Created two options: basic and trial

ELK Stack Docker Files
++ Created Trial Folders to make sure the configurations are set properly for when the user selects trial version of HELK.
++++ HELK trial = x-pack + trial license + security enabled
++ Deprecating the HELKs Platinum's Branch. Merging that branch with the HELKs master to allow user to select the type of license during the install process.

Jupyter
++ Getting ready for Jupyterhub
++ Created two folders: basic and trial to allow elasticsearch interaciton with username and password hardcoded in the spark session. trial license requires any interaction with elasticsearch to be authenticated.

Kibana
++ Added trial folder with scripts that set up security configs for the trial version of HELK. It creates users and roles to test the security features of x-pack

Logstash
++ Created trial folder with another pipeline folder in it. The pipeline in trial has output configs with elasticsearch's username and password hardcoded. Ready for when the user sets the build with trial license and wants to send logs to elasticsearch. The logstash configs are the same as the ones from the defailt pipeline. They only have username and password configs on all the output configs.

Nginx
++ set trial folder with the right config to allow Kibana handle the authentication process when user builds and installs HELK with a trial license. No need for nginx to handle the authentication.

helk_install bash script
++ Updated script to handle license choice : basic or trial
++ basic license is selected by default. If user selects trial, it runs the specific docker-compose file needed to build and install HELK with the right trial configs.
++ Updated also the CLI options. User now will have to specify the license for HELK. Example: sudo ./helk_install.sh -i 192.168.64.131 -l basic
2018-07-12 00:29:09 -04:00
Roberto Rodriguez ec4e491060 Minor updates
- Docker compose file order of volumes
- Kibana Dockerfile: removed comment
- README: Added Contributor
2018-06-12 01:28:26 -04:00
Roberto Rodriguez 10de1b6b0a HELK 6.2.4-050318
## Overall
+ Removed the Init files dependencies on all containers
+ Added more resources to the resources folder (papers and presentations)
+ Updated to-do list on main README
+ Removed Static Network setting. Addressing overlapping network issues (https://github.com/Cyb3rWard0g/HELK/issues/43)
+ Updated WIki and added new images to it
+ Started documenting potential error messages or bugs with a few quick fixes

## Helk Install Script
+ Script now collects information about Available Memory and Disk size for LINUX host ONLY. it only continues if the box hosting the HELK has at least 12GB of RAM and 50GB of Disk Available. (This can be overwritten manually by just editing the helk_install script before installing the HELK)

## ELK Stack
+ Started using Elastic Docker Images as a base
+ Updated ELK stack to 6.2.4 version
+ X-Pack Basic Free License attached to build automatically
+ Monitoring capabilities are now enabled in the build (Reason why Cerebro went away)

## Spark
+ Integrated Spark Standalone Cluster Manager
+ Spark Node running with Jupyter Notebook now points to the Helk-Spark-Master container for any execution of code
+ Added Spark Master and Worker Docker Images
+ Build runs now with 2 Workers and 1 Master by default.
+ Apache Arrow is enabled for Pandas Dataframe optimization
+ Created Spark-Base Docker Image (Applied to the Jupyter Image)

## Kafka
+ Kafka Container was split in Kafka Brokers and one Zookeeper
+ Helk runs with 2 Kafka Brokers and 1 Zookeeper by default

## Jupyter Container
+ Preparing to add Zeppelin Notebook. the Analytics container is now named Jupyter. It uses the Spark-Base image to build on the top and install the necessary packagess
+ New packages were added:
++ nxviz
++ hiveplot
 ++ pyarrow
+ Apache Arrow is not enabled on the Jupyter node to be able to optimize the use of Pandas DataFrames
2018-05-03 15:54:12 -04:00
Roberto Rodriguez 24e82eafad Updsted README 2018-04-10 03:03:19 -04:00
Roberto Rodriguez 492d0bfdac
Revert "Sigma integration" 2018-03-20 22:26:56 -04:00
Thomas Patzke 53a009673d Sigma integration 2018-03-17 01:27:10 +01:00
Roberto Rodriguez f02cac3280
Update README.md 2018-03-05 09:40:58 -05:00
Roberto Rodriguez 92d105ce51 Updated Apache Spark Kafka jar 2.3.0 2018-03-03 23:44:09 -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 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 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 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 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 c91d80a073 Updated README
Ubuntu Xenial specifically for the bash script build.
2018-01-11 14:10:28 -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 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 0a80cfbf80
Updated README 2018-01-08 17:58:42 -05:00
Roberto Rodriguez 463297dc96
Updated Readme 2018-01-06 17:14:43 -05:00
Robby Winchester 19a5e46576 Update ACE enrichment and add docker volumes
Added docker volume for elasticsearch data to persist
Added documentation for increasing memory of elasticsearch
Updated ACE logstash input for durable queue
2017-09-07 16:21:12 -07:00
Roberto Rodriguez bda7ab415a updated Readme, created enrichments folder, and organized logstash configs 2017-08-12 00:50:56 -04:00
Roberto Rodriguez e1c984c159 Update README.md 2017-08-11 23:24:06 -04:00
Roberto Rodriguez 161cac39cc Update README.md 2017-08-11 22:53:35 -04:00
Roberto Rodriguez ff69a99ee2 Update README.md 2017-06-29 11:21:59 -04:00
root b4b46ddeb1 updated scripts & docker-compose to integrate stable nginx config 2017-06-08 00:54:25 -04:00
Roberto Rodriguez e414179623 final updates disabling xpack 2017-06-07 01:48:59 -04:00
Roberto Rodriguez 651709538c update README instructions & elasticsearch config 2017-06-06 21:40:53 -04:00
Roberto Rodriguez a6b131f122 update README instructions 2017-06-06 17:48:53 -04:00
Roberto Rodriguez 91b700f785 update README instructions 2017-06-06 17:47:09 -04:00
Roberto Rodriguez 5e1cfaaa5a bash scripts and docker-compose update 2017-06-06 17:30:52 -04:00
Roberto Rodriguez f11d253ce2 Update README.md
fixed markdown code and subtitles
2017-05-26 02:31:12 -04:00
Roberto Rodriguez 38498bf238 Update README.md 2017-05-26 02:11:09 -04:00
Roberto Rodriguez fdf4351308 Update README.md 2017-04-14 01:29:04 -04:00
VVard0g 4152518e49 Initial README 2017-03-14 15:17:01 -04:00
VVard0g f7f4104ff7 Initial commit 2017-03-14 15:14:50 -04:00