Fides provides your servers with a trusted CA certificate, and signs your OpenSSH certificates with the same key

Related tags

Security fides
Overview

Fides

Fides is an SSH certificate signing server. It enables zero-trust infrastructure for your engineers by dynamically, and transparently, issuing short-lived certificates with clearly defined permissions.

Fides is in active development and not yet complete. Want to help out? Contributions welcome. Let's make enterprise SSH authorization a commodity, together.

How it works

Fides provides your servers with a trusted CA certificate, and signs your OpenSSH certificates (generated by ssh-keygen) with the same key. As someone attempts to log into a server, sshd will check the signed OpenSSH certificate and authorize the user.
As signatures are checked against the public key of your CA, this works without copying your public key around - even for servers you have never dialed into before!

Why use Fides?
You could certainly just sign the certificates yourself, set them to never expire (or maybe a year), hand them out to your coworkers, and call it a day. It's no magic! What Fides enables you to do instead is dynamically generating signatures for a limited period of time, with a scoped set of privileges, all bound to your corporate accounts.

How to authorize Instead of SSH-ing directly into servers, you'll need to sign in to the fides command-line application first. It performs an OAuth device authorization, requests a certificate, and starts SSH with the proper parameters. This may look like so:

fides ssh some.host.tld

# Fides forwards all arguments to ssh
fides ssh -o ForwardAgent=yes some.host.tld

The ssh sub-command is optional: You can even symlink ssh to the fides executable, and continue to use it as a stand-in, with all the same options being forwarded.

Requirements

Fides requires a database to run; it understands everything there's a DBAL driver for, but you'll probably want to use SQLite, PostgreSQL, or MySQL.

Installation

Set up the project using composer:

composer create-project radiergummi/fides

During the setup, a CA certificate pair will be automatically generated. Make sure to keep these files secret!

Usage

After initializing Fides, you should create an initial admin account:

php bin/console user:add [email protected] --role=ROLE_ADMIN [--password=<SECURE PASSWORD>]

You may use this account to sign in to the web interface and configure Fides.

Note:
Fides doesn't require you to use local accounts -- in fact, it discourages it. Instead, you should connect it to your existing account provider using OAuth federation. Fides includes pre-configured connectors for common providers like Microsoft 365, Google Business, GitHub or Okta, but also allows you to set up any other OAuth-enabled provider.

TODO: Continue documentation

You might also like...
A cryptography API wrapping the Sodium library, providing a simple object interface for symmetrical and asymmetrical encryption, decryption, digital signing and message authentication.

PHP Encryption A cryptography API wrapping the Sodium library, providing a simple object interface for symmetrical and asymmetrical encryption, decryp

SyCaptchaBundle is a form protection bundle made for Symfony, including a set of CAPTCHA challenges that should stop any malicious requests from submitting your forms.

SyCaptchaBundle is a form protection bundle made for Symfony, including a set of CAPTCHA challenges that should stop any malicious requests from submitting your forms.

Obfuscate your data by generating reversible, non-sequential, URL-safe identifiers.

Laravel Hashid Laravel Hashid provides a unified API across various drivers such as Base62, Base64, Hashids and Optimus, with support for multiple con

Protect your server from griefer

A Simple anti grief PocketMine-MP Plugin

PHP 5.x support for random_bytes() and random_int()

random_compat PHP 5.x polyfill for random_bytes() and random_int() created and maintained by Paragon Initiative Enterprises. Although this library sho

Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.
Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.

Themis provides strong, usable cryptography for busy people General purpose cryptographic library for storage and messaging for iOS (Swift, Obj-C), An

A library for generating random numbers and strings

RandomLib A library for generating random numbers and strings of various strengths. This library is useful in security contexts. Install Via Composer

Fast, general Elliptic Curve Cryptography library. Supports curves used in Bitcoin, Ethereum and other cryptocurrencies (secp256k1, ed25519, ..)

Fast Elliptic Curve Cryptography in PHP Information This library is a PHP port of elliptic, a great JavaScript ECC library. Supported curve types: Sho

A multitool library offering access to recommended security related libraries, standardised implementations of security defences, and secure implementations of commonly performed tasks.

SecurityMultiTool A multitool library offering access to recommended security related libraries, standardised implementations of security defences, an

Owner
Moritz Friedrich
Moritz Friedrich
The Security component provides a complete security system for your web application.

Security Component The Security component provides a complete security system for your web application. It ships with facilities for authenticating us

Symfony 1.2k Jan 1, 2023
Pretty Good Privacy (PGP) is an encryption program that provides cryptographic privacy and authentication for data communication.

Pretty Good Privacy (PGP) is an encryption program that provides cryptographic privacy and authentication for data communication. PGP is used for signing, encrypting, and decrypting texts, e-mails, files, directories, and whole disk partitions and to increase the security of e-mail communications. Phil Zimmermann developed PGP in 1991.

[sCRiPTz-TEAM] 3 Dec 31, 2021
Security CSRF (cross-site request forgery) component provides a class CsrfTokenManager for generating and validating CSRF tokens.

Security Component - CSRF The Security CSRF (cross-site request forgery) component provides a class CsrfTokenManager for generating and validating CSR

Symfony 1.5k Jan 3, 2023
WordPress plugin that provides instant switching between user accounts.

User Switching Stable tag: 1.5.7 Requires at least: 3.7 Tested up to: 5.7 Requires PHP: 5.3 License: GPL v2 or later Tags: users, profiles, user switc

John Blackbourn 166 Dec 4, 2022
Security provides an infrastructure for sophisticated authorization systems, which makes it possible to easily separate the actual authorization logic from so called user providers that hold the users credentials.

Security provides an infrastructure for sophisticated authorization systems, which makes it possible to easily separate the actual authorization logic from so called user providers that hold the users credentials. It is inspired by the Java Spring framework.

Symfony 1.5k Dec 28, 2022
A PHP wrapper around the OpenSSL extension that provides a user-friendly interface for dealing with OpenSSL.

php-openssl-proxy About A PHP wrapper around the OpenSSL extension that provides a user-friendly interface for dealing with OpenSSL. What's up with th

Adão Pedro 4 Mar 5, 2022
Automatic Encrypt and Decrypt your database data. Tested and used on Laravel 8

Laravel Encrypt Database Automatic Encrypt and Decrypt your database data. Tested and used on Laravel 8. I'm yet building the tests. Important Note th

Wellington Barbosa 2 Dec 15, 2021
PHPIDS (PHP-Intrusion Detection System) is a simple to use, well structured, fast and state-of-the-art security layer for your PHP based web application

PHPIDS PHPIDS (PHP-Intrusion Detection System) is a simple to use, well structured, fast and state-of-the-art security layer for your PHP based web ap

null 752 Jan 3, 2023
Laravel Security was created by, and is maintained by Graham Campbell, and is a voku/anti-xss wrapper for Laravel, using graham-campbell/security-core

Laravel Security Laravel Security was created by, and is maintained by Graham Campbell, and is a voku/anti-xss wrapper for Laravel, using graham-campb

Graham Campbell 170 Nov 20, 2022