Coder Social home page Coder Social logo

inpher / sb Goto Github PK

View Code? Open in Web Editor NEW
11.0 4.0 0.0 40.77 MB

Resilient SSH bastion providing authentication, authorization, traceability and auditability

License: Other

Go 99.25% Shell 0.75%
bastion devops infrastructure jumphost security ssh ttyrec

sb's Introduction

SB logo

S(sh) B(astion)

Test status Go report License Release

Intro

As a junior DevOps, you probably learned that you don't mess with security, and that publicly exposing a host (server, vm, cloud instance, ...) to the internet is messing with security.

But you (and your teams) still need to access these distant hosts, and setting firewall rules for every employee of your company is just not manageable.

This is usually where SSH ProxyJump comes in play: having a central point from where you will connect to your infrastructure. You can firewall every distant host to the IP address of your jump host, and all you have to do is to ensure that this central point is secured!

This is cool, but now that you still have two main issues:

  • you need to provision every employee's SSH keys to every distant host
  • you need to revoke these keys on every distant host when the employee leaves
  • you just added a single point of failure in your infrastructure

sb enters the place

In a nutshell, sb fixes these three issues and then more!

As an SSH bastion, it works by piping two SSH connections together (employee -> sb -> distant host).

Since you now have two separate SSH connections, the user is authenticated on the bastion by the bastion, and this is where (and only where) their public SSH key sits... revoking just became easy!

But that's not it!

Without compromising the security, sb brings groups with shared SSH keys that stay on the bastion. You don't have to provision keys anymore, and you just have to grant access to distant hosts to your users.

But that's not it!

sb supports multi-primary replication between instances: you create users on one instance, they can use another geo-replicated instance in seconds!

Cherry on the cake

On top of security and high-availability, sb brings auditability and traceability for free to your infrastructure!

By only granting accesses to users and groups through sb, you can easily know who can (and did) access what at all time. This is, for example, required for ISO 27001.

Plus for higher norms (SOC1, SOC2, PCI-DSS, ...), every SSH session is recorded via TTYRec, so you can replay it!

And because you have the session recording, why not allow the users to replay their sessions with TTYPlay or even convert these recordings as GIF?

recording.gif

Documentation

Quick demo with Docker images:

  1. Demo

General and features documentation:

  1. Genesis and core ideology
  2. Permissions
  3. High Availability
  4. Usage examples
  5. Features

Administration documentation:

  1. Installation
  2. Setup first account
  3. Configuration
  4. Backup and restore
  5. Production deployment

License

Released under the MIT License

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.