All Projects → groob → Moroz

groob / Moroz

Licence: mit
Moroz is a Santa server

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Moroz

Aws Service Catalog Terraform Reference Architecture
Apply Terraform configurations using CloudFormation through a proxy lambda
Stars: ✭ 84 (-9.68%)
Mutual labels:  devops
Promqueen
prometheus offline data recorder and backfiller
Stars: ✭ 88 (-5.38%)
Mutual labels:  devops
Vault Ui
Vault-UI — A beautiful UI to manage your Vault, written in React
Stars: ✭ 1,296 (+1293.55%)
Mutual labels:  devops
Ecs Pipeline
☁️ 🐳 ⚡️ 🚀 Create environment and deployment pipelines to ECS Fargate with CodePipeline, CodeBuild and Github using Terraform
Stars: ✭ 85 (-8.6%)
Mutual labels:  devops
Logstash Test Runner
Logstash configuration testing framework
Stars: ✭ 87 (-6.45%)
Mutual labels:  devops
The App
Sample application and CD Pipeline for DevOps Dojo
Stars: ✭ 88 (-5.38%)
Mutual labels:  devops
Letscertbot
Let's Certbot is a tool builds automated scripts base on Certbot for obtaining, renewing, deploying SSL certificates.
Stars: ✭ 84 (-9.68%)
Mutual labels:  devops
Ansible Interactive Tutorial
Interactive Ansible tutorials with dead simple setup via Docker
Stars: ✭ 1,309 (+1307.53%)
Mutual labels:  devops
Python Hponeview
DEPRECATED - no longer actively maintained. New repository: https://github.com/HewlettPackard/oneview-python
Stars: ✭ 87 (-6.45%)
Mutual labels:  devops
K3s Gitlab
k3s + Gitlab install notes
Stars: ✭ 89 (-4.3%)
Mutual labels:  devops
Hiring
Create WOW Moments. Create superfans.
Stars: ✭ 85 (-8.6%)
Mutual labels:  devops
Gomplate
A flexible commandline tool for template rendering. Supports lots of local and remote datasources.
Stars: ✭ 1,270 (+1265.59%)
Mutual labels:  devops
Copilot Cli
The AWS Copilot CLI is a tool for developers to build, release and operate production ready containerized applications on Amazon ECS and AWS Fargate.
Stars: ✭ 1,285 (+1281.72%)
Mutual labels:  devops
Otomi Core
Otomi Container Platform, a suite of integrated best of breed open source tools combined with automation & self service, all wrapped together and made available as an enterprise ready and single deployable solution
Stars: ✭ 84 (-9.68%)
Mutual labels:  devops
Lambda Cost Calculator
Forecast Lambda functions costs 💰
Stars: ✭ 91 (-2.15%)
Mutual labels:  devops
Terraformize
Apply\Destory Terraform modules via a simple REST API endpoint.
Stars: ✭ 84 (-9.68%)
Mutual labels:  devops
Jira Steps Plugin
Jenkins pipeline steps for integration with JIRA.
Stars: ✭ 88 (-5.38%)
Mutual labels:  devops
Libreselery
Continuous distribution of funding to your project contributors and dependencies. Integrated into GitHub Actions
Stars: ✭ 92 (-1.08%)
Mutual labels:  devops
Hoarder
A simple, api-driven storage system for storing code builds and cached libraries for cloud-based deployment services.
Stars: ✭ 91 (-2.15%)
Mutual labels:  devops
Ansible Podman Collections
Repository for Ansible content that can include playbooks, roles, modules, and plugins for use with the Podman tool
Stars: ✭ 89 (-4.3%)
Mutual labels:  devops

moroz

Moroz is a server for the Santa project.

Santa is a binary whitelisting/blacklisting system for macOS. It consists of a kernel extension that monitors for executions, a userland daemon that makes execution decisions based on the contents of a SQLite database, a GUI agent that notifies the user in case of a block decision and a command-line utility for managing the system and synchronizing the database with a server.

Santa is a project of Google's Macintosh Operations Team.

See this short video for a demo.

Configurations

Moroz uses TOML rule files to specify configuration for Santa. The path to the folder with the configurations can be specified with -configs /path/to/configs.

Moroz expects a global.toml file which contains a list of rules. The global config can be overriden by providing a machine specific config. To do so, name the file for each host with the santa machine id configuration parameter. By default, this is the hardware UUID of the mac.

Below is a sample configuration file:

client_mode = "MONITOR"
#blacklist_regex = "^(?:/Users)/.*"
#whitelist_regex = "^(?:/Users)/.*"
batch_size = 100

[[rules]]
rule_type = "BINARY"
policy = "BLACKLIST"
sha256 = "2dc104631939b4bdf5d6bccab76e166e37fe5e1605340cf68dab919df58b8eda"
custom_msg = "blacklist firefox"

[[rules]]
rule_type = "CERTIFICATE"
policy = "BLACKLIST"
sha256 = "e7726cf87cba9e25139465df5bd1557c8a8feed5c7dd338342d8da0959b63c8d"
custom_msg = "blacklist dash app certificate"

Creating rules

Acceptable values for client mode:

MONITOR | LOCKDOWN

Values for rule_type:

BINARY | CERTIFICATE

Values for policy:

BLACKLIST | WHITELIST

use the santactl command to get the sha256 value:

santactl fileinfo /Applications/Firefox.app

Build

The commands below assume you have $GOPATH/bin in your path.

go get -u github.com/golang/dep
dep ensure
cd cmd/moroz; go install; cd -

Run

moroz
See moroz -h for a full list of options.

Usage of moroz:
  -configs string
    	path to config folder (default "../../configs")
  -event-logfile string
    	path to file for saving uploaded events (default "/tmp/santa_events")
  -http-addr string
    	http address ex: -http-addr=:8080 (default ":8080")
  -tls-cert string
    	path to TLS certificate (default "server.crt")
  -tls-key string
    	path to TLS private key (default "server.key")
  -version
    	print version information

Quickstart

Download the moroz binary from the Releases page. Copy the configs folder from the repo somewhere locally. It must have the global.toml file.

Generate a self signed certificate which will be used by santa and the server for communication.

./tools/dev/certificate/create

Add the santa CN to your hosts file.

sudo echo "127.0.0.1 santa" >> /etc/hosts

Add the self signed cert to your system roots.

./tools/dev/certificate/add-trusted-cert

Install Santa:

The latest version of santa is available on the github repo page: https://github.com/google/santa/releases

Configure Santa:

You will need to provide the SyncBaseURL settings. See the santa repo for a complete guide on all the client configuration options.

Start moroz: Assumes you have the ./server.crt and ./server.key files.

moroz -configs /path/to/configs/folder

moroz icon by Souvik Bhattacharjeefrom the Noun Project.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].