• Stars
    star
    105
  • Rank 327,019 (Top 7 %)
  • Language
    Shell
  • Created over 6 years ago
  • Updated almost 5 years ago

Reviews

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

Repository Details

Tutorial to create full disk encryption with YubiKey, encrypted boot partition and secure boot with UEFI

YubiKey Full Disk Encryption

This repository contains a step-by-step tutorial to create a full disk encryption setup with two factor authentication (2FA) via YubiKey. It contains:

  • YubiKey encrypted root (/) and home (/home) folder on separated partitions
  • Encrypted /boot partition
  • UEFI Secure boot (self signed boot loader)
  • YubiKey authentication for user login

Currently guides for:

  • Arch Linux with helper scripts

Additional security chapter:

  • Disable INTEL AMT
  • Disable AMD PSP

Why

It took me several days to figure out how to set up a fully encrypted machine with 2FA. This guide should help others to get it done in minutes (hopefully). There exists a plenty bunch of tutorials but no one contains a step-by-step guide to get the above things done.

I guess the entire manual will take between 1 - 3 hours.

Prerequisites

You should be familiar with linux and should be able to edit files with vi Vi Cheat Sheet. You need an USB stick for the Linux Live environment and a second computer would be useful for look ups and to read this guide while preparing your fully encrypted Linux.

And of course you will need at least two YubiKeys.

WARNING: You gonna get a bricked machine if you only have a single Yubikey and it breaks.

Support this guide

Documentation

For the latest online documentation visit http://sandrokeil.github.io/yubikey-full-disk-encryption-secure-boot-uefi/. Refer the Quick Start section for a detailed explanation.

Documentation is in the book tree, and can be compiled using bookdown or Docker

$ docker run -it --rm -v $(pwd):/app sandrokeil/bookdown bookdown.json
$ docker run -it --rm -p 8080:8080 -v $(pwd):/app php:7.1-cli php -S 0.0.0.0:8080 -t /app/html

or run bookdown

$ ./vendor/bin/bookdown bookdown.json
$ php -S 0.0.0.0:8080 -t html/

Then browse to http://localhost:8080/

More Repositories

1

interop-config

Provides interfaces and a concrete implementation to create instances depending on configuration via factory classes with mandatory options check and ensures an uniform config structure.
PHP
58
star
2

php-to-zephir

Convert PHP 7 files to Zephir zep files and create a native PHP extension
PHP
28
star
3

ghost-theme-casperion

Casperion is a free Ghost theme. Casperion is based upon original Ghost theme Casper with some minor modifications and extensions.
JavaScript
27
star
4

docker-files

Docker files for Arch linux and development e. g. desktop apps, typescript, zehpir, ...
M4
26
star
5

citools

Composer meta package of PHP QA tools for Travis, Coveralls and Scrutinizer
PHP
12
star
6

EasyConfig

Zend Framework 2 (ZF2) module to retrieve specific module options and provides some abstract factories to create easily instances depending on configuration
PHP
11
star
7

BlockchainWalletApi

Zend Framework 2 (ZF2) client library for blockchain wallet api. Configure request, call the service and access the response data via objects.
PHP
9
star
8

docker-selenium-grid-phpunit

An example how to use a Selenium-Grid with Docker and PHPUnit/Mink
PHP
7
star
9

mongodb-event-store

MongoDB implementation of ProophEventStore
PHP
6
star
10

arangodb-php-client

ArangoDB PHP PSR 7/17/18 client implementation with transaction and batch support.
PHP
6
star
11

arangodb-event-store

ArangoDB implementation of ProophEventStore
PHP
5
star
12

arangodb-php-driver

A PHP extension for ArangoDB with fuerte and velocypack 🚀
C++
5
star
13

Z-Ray-Doctrine2

Doctrine 2 Plugin for Zend Z-Ray. Provides information about various Doctrine 2 elements. Get a deeper look how entities and entity mappings, queries with parameter, events and caches are used.
PHP
5
star
14

useful-slides

Useful slides around PHP, Docker, Doctrine 2 and more
4
star
15

mongodb-replica-connection-issue

MongoDB playground to reproduce PHP MongoConnectionException: No suitable servers found FIXED
Shell
2
star
16

vagrant-librarian-puppet

This project contains some examples to use vagrant with puppet provisioner. It's host OS independent. All the things are processed in the box.
Shell
2
star
17

HtmlElement

Zend Framework view helper plugin to use html tags like objects and to render them.
PHP
2
star
18

php-value-object-redux

Opinionated PHP immutable value object example with deep nesting, JsonSerializable, snake_case and camelCase
PHP
1
star
19

CodeGenerator

Zend Framework 2 (ZF2) code generator which generates form and input filter depending on database or doctrine 2 meta data
PHP
1
star
20

arangodb-php-driver-polyfill

A polyfill for the ArangoDB PHP extension for seamless integration
PHP
1
star
21

grunt-optimized-build-example

Learn how to make your Grunt tasks faster and have a fully fledged front-end build process with optimized assets and code quality assurance tools.
JavaScript
1
star