Skip to content
/ rock Public
forked from rocknsm/rock

Automated deployment scripts for the RockNSM network hunting distribution.

License

Notifications You must be signed in to change notification settings

itscollin/rock

This branch is up to date with rocknsm/rock:master.

Folders and files

NameName
Last commit message
Last commit date
Jul 3, 2019
Jul 12, 2020
May 20, 2021
Jul 3, 2019
Oct 2, 2019
Aug 24, 2018
Apr 14, 2020
Jun 29, 2023
Jun 29, 2023
Jun 29, 2023
Jul 3, 2019
Mar 19, 2019
Oct 2, 2019
Aug 19, 2018
Aug 19, 2018
Aug 19, 2018
Aug 25, 2019
Aug 21, 2018
Feb 21, 2019
Jul 3, 2019
Apr 26, 2023

Repository files navigation


Documentation | Download

ROCK is a collections platform, in the spirit of Network Security Monitoring by contributors from all over industry and the public sector. It's primary focus is to provide a robust, scalable sensor platform for both enduring security monitoring and incident response missions. The platform consists of 3 core capabilities:

  • Passive data acquisition via AF_PACKET, feeding systems for metadata (Bro), signature detection (Suricata), and full packet capture (Stenographer).
  • A messaging layer (Kafka and Logstash) that provides flexibility in scaling the platform to meet operational needs, as well as providing some degree of data reliability in transit.
  • Reliable data storage and indexing (Elasticsearch) to support rapid retrieval and analysis (Kibana) of the data.

Features

  • Full Packet Capture via Google Stenographer and Docket.
  • Protocol Analysis and Metadata via Bro.
  • Signature Based Alerting via Suricata.
  • Recursive File Scanning via FSF.
  • Message Queuing and Distribution via Apache Kafka.
  • Message Transport via Logstash.
  • Data Storage, Indexing, and Search via Elasticsearch.
  • Data UI and Visualization via Kibana.
  • Security - The system is developed and tested to run with SELinux enabled.

Installation and Usage

Please reference our documentation for all ROCK details to include:

  • installation
  • configuration
  • deployment
  • troubleshooting

Testing

We use molecule for testing playbooks using vSphere instances in one or more of the developers' labs. Specifically, we're using these CookieCutter templates for molecule, as found in the molecule/ directory.

If you're looking to run these tests in a different vCenter environment, you'll need ti edit the molecule block in molecule.yml for each of the scenarios. After that, you authenticate using the environment variables VMWARE_USER and VMWARE_PASSWORD. These are the standard Ansible environment variables and get passed to the respective VMware modules.

In molecule, the easiest way to is to create a .env.yml file in the root of the rock project directory with this information. Example:

---
VMWARE_USER: "[email protected]"
VMWARE_PASSWORD: "its-a-secret-to-everybody"

You can then run all the tests.

docker run --rm -ti -v $(pwd):/src  \
   -w /src quay.io/perched/molecule-vsphere test --all

Thanks

This architecture is made possible by the efforts of an ever-growing list of amazing people. Look around our Github to see the whole list.

About

Automated deployment scripts for the RockNSM network hunting distribution.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Jinja 39.7%
  • Shell 32.0%
  • Python 28.3%