Giter Club home page Giter Club logo

spyglass-webapp's Introduction

Spyglass

Spyglass is a web application with associated components that allow a user to create on-demand bastion hosts for connecting to a remote private network. This is currently good enough to demonstrate; pull requests are welcome to add more operational functionality, amongst other features.

Prerequisites

To begin, you will need the following components:

  1. A YubiKey validation server. You could use YubiCloud, however we recommend setting up your own validation server. This is covered in Section 3 of "Demand-Provisioned Linux Containers for Private Network Access."
  2. An idea of what target OS you want your containers to run. For the demonstration, we used Ubuntu 14.04 from the Docker Registry.
  3. A version of SudoSH compiled for that OS.
  4. The scripts used to create the Docker image. These are in the docker-spyglass repository.
  5. A MySQL instance

Setup

  1. Clone all associated repositories (in addition to this repository, also clone spyglass-containerd, spyglass-seekerd, spyglass-dockerfile).
  2. Set up Passenger/Apache (or NGINX) as one would do for a Rails app.
  3. Configure settings for this app's config/database.yml values
  4. Devise needs to be configured for a local validation server if you're not using one. This is done in config/initializers/devise.rb. Specifically, the strings config.yubikey_api_id, config.yubikey_api_key, config.yubikey_api_url need to be set. A good default for config.yubikey_certificate_chain is Rails.root.join('config','yubikey-validation-cert.crt').to_s -- but you can change that to whatever certificate location you would like to use to validate your internal YubiKey server.
  5. bundle install will get all the prereqs in place
  6. RAILS_ENV=production rake db:seed should initialize the database and set up an initial admin account, with username admin and password admin.
  7. Ensure containerd is running in the background
  8. If you would like auditing, you may want to look at seekerd. This requires the setup of another host to capture the audit daemon, and is not as well implemented. Changes to the seeker code are required to not send screen/keyboard input data with every keystroke.

spyglass-webapp's People

Contributors

patcable avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.