• This repository has been archived on 03/May/2024
  • Stars
    star
    519
  • Rank 85,261 (Top 2 %)
  • Language
    JavaScript
  • License
    Apache License 2.0
  • Created over 9 years ago
  • Updated over 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

LEGACY use https://github.com/mephux/kolide -- Envdb - Ask your environment questions with osquery.

!!!!!!!!!!!!!!!!!! LEGACY use https://github.com/mephux/kolide

Envdb - Environment Database

  • NOTE: envdb is still beta software.

Envdb turns your production, dev, cloud, etc environments into a database cluster you can search using osquery as the foundation.

Envdb allows you to register each computer, server or asset as a node in a cluster. Once a new node is connected it becomes available for search from the Envdb ui. Envdb was built using golang so the whole application, node client and server comes as one single binary. This makes it really easy to deploy and get working in seconds.

Video Intro: https://youtu.be/ydYr7Ykwzy8

How it works.

Envdb wraps the osquery process with a node agent (node as in cluster node) that can communicate back to a central location. When that node gets a new query, it's executed and then sent back to the tcp server for rendering. Once the request is processed it's then sent to any avaliable web clients using websockets.

Envdb has an embedded sqlite database for node storage and saved searches.

ui --websockets--> server --tcp--> node client.

Download

Pre-built versions (deb/tar.gz) of envdb are avaliable for linux 386/amd64. linux downloads

Building on macosx is easy tho, checkout the section below.

Building

Make sure you have Go installed. I used Go version 1.4.1.

deps

  • go get github.com/jteeuwen/go-bindata/...
  • go get github.com/elazarl/go-bindata-assetfs

make

  • git clone https://github.com/mephux/envdb.git
  • cd envdb
  • make

Usage

  • NOTICE: The default username and password for the UI.
usage: envdb [<flags>] <command> [<flags>] [<args> ...]

The Environment Database - Ask your environment questions

Flags:
  --help       Show help.
  --debug      Enable debug logging.
  --dev        Enable dev mode. (read assets from disk and
               enable debug output)
  -q, --quiet  Remove all output logging.
  --version    Show application version.

Commands:
  help [<command>]
    Show help for a command.

  server [<flags>]
    Start the tcp server for node connections.

  node --server=127.0.0.1 [<flags>] <node-name>
    Register a new node.

  users [<flags>]
    User Management (Default lists all users).

Server

$ envdb help server

  usage: envdb [<flags>] server [<flags>] [<command>]

  Start the tcp server for node connections.

  Flags:
    -p, --port=3636  Port for the server to listen on.
    -P, --http-port=8080  
                     Port for the web server to listen on.

  Args:
    [<command>]  Daemon command. (start,status,stop)
Running the server without a `command` (start, stop or status) will run the server in the foreground.

* Note: By default this will start the tcp server on port 3636 and the web server on port 8080.

Node Client

$ envdb help node

  usage: envdb [<flags>] node --server=127.0.0.1 [<flags>] <node-name>

  Register a new node.

  Flags:
    -s, --server=127.0.0.1  
                     Address for server to connect to.
    -p, --port=PORT  Port to use for connection.

  Args:
    <node-name>  A name used to uniquely identify this node.
`sudo envdb node --server <ip to server> SomeBoxName`
  • That's it - it's really that simple.

User Management

  • list users envdb users

  • add a new user envdb users --add

  • remove a new user envdb users --remove <email>

More UI

Self-Promotion

Like envdb? Follow the repository on GitHub and if you would like to stalk me, follow mephux on Twitter and GitHub.

TODO

  • add in memeory pagination for results.
  • Node/Server auth, verification and validation.
  • Code cleanup (will continue forever).

More Repositories

1

komanda

The IRC Client For Developers
JavaScript
1,783
star
2

komanda-cli

Komanda CLI Client
Go
161
star
3

ruby-nessus

Ruby-Nessus is a ruby interface for the popular Nessus vulnerability scanner.
Ruby
86
star
4

legacy-snorby

!! DO NOT USE THIS - THIS REPO HAS MOVED - https://github.com/Snorby/snorby !!
JavaScript
59
star
5

vim-jsfmt

Vim plugin for jsfmt. Auto format js code on save.
Vim Script
33
star
6

hexdump.js

A javascript utility for pretty hexdump output.
JavaScript
32
star
7

pidly

A super simple daemon library.
Ruby
32
star
8

vimstack

The vim configurations of a mad man.
Vim Script
27
star
9

bro.vim

bro.vim - A simple plugin for working with the bro scripting languages.
Zeek
22
star
10

ports.json

Ports JSON Object
22
star
11

dnas

Domain Name Analytics System
Go
14
star
12

annex

Simple client-side router
JavaScript
11
star
13

CVEasy

CVEasy is a ruby interface CVE database at http://cve.mitre.org.
Ruby
10
star
14

memory

Linux memory read/write lib
Go
8
star
15

ronin-team

Real-Time Security Research
Ruby
7
star
16

common

Commonly Used Functions
Go
6
star
17

ipdb

IpDB is a simple ruby interface to the ipinfodb IP geographical locator api.
Ruby
6
star
18

unified2

A ruby interface to the unified2 output format.
Ruby
6
star
19

clipby

clipboard manipulation and organization
Go
5
star
20

rmslack

Purge a slack channel of all messages.
Go
4
star
21

snoles

A snort rule parsing and construction framework.
Ruby
4
star
22

vendorlint

Make sure all dependents are properly vendored [BETA]
Go
3
star
23

sguil-web

SguilWeb - A web client for the popular Sguil security analysis tool.
JavaScript
2
star
24

ssm

Simple State Machine
Go
2
star
25

IR_Blacker

My mod of the limechat ir_black theme by Jeff Schoolcraft
1
star
26

lookycode

JavaScript
1
star
27

sensehat

raspberry pi sense hat lib - https://www.raspberrypi.org/products/sense-hat/
Go
1
star
28

ronin-webapp

A Web Application for Ronin.
Ruby
1
star
29

90sStyle

A very old school theme for the LimeChat IRC Client.
1
star
30

go-cuckoo

Go
1
star