All Projects → pampanic → pam_panic

pampanic / pam_panic

Licence: GPL-3.0 License
A PAM module that protects sensitive data and provides a panic function for emergency situations. Authentication through passwords or removable media.

Programming Languages

c
50402 projects - #5 most used programming language
shell
77523 projects
Roff
2310 projects
M4
1887 projects
Makefile
30231 projects

Projects that are alternatives of or similar to pam panic

fingerprint-gui
Use fingerprint readers with a Linux desktop environment
Stars: ✭ 47 (+34.29%)
Mutual labels:  pam, pam-module, pam-authentication
buddy-linux
Do you remember "Wubi Ubuntu Installer"? This project is both a replacement and an improvement of Wubi. You will be able to install your Debian (or derived) distribution on a PC without repartitioning it, simply by using a secondary/external boot device (like a USB drive).
Stars: ✭ 17 (-51.43%)
Mutual labels:  usb, usb-drive, usb-stick
Authorizer
Authorizer is a Password Manager for Android. It emulates an HID keyboard over USB and enters your credentials on your target device. Additionally it supports OTP 🔑📴
Stars: ✭ 172 (+391.43%)
Mutual labels:  encryption, usb
MultiOS-USB
Boot operating systems directly from ISO files
Stars: ✭ 106 (+202.86%)
Mutual labels:  usb, gpt
python-pam
Python pam module supporting py3 (py2 support still exists but is deprecated)
Stars: ✭ 96 (+174.29%)
Mutual labels:  pam, pam-authentication
Howdy
🛡️ Windows Hello™ style facial authentication for Linux
Stars: ✭ 3,237 (+9148.57%)
Mutual labels:  pam, pam-module
Rufus
The Reliable USB Formatting Utility
Stars: ✭ 16,917 (+48234.29%)
Mutual labels:  usb, gpt
Tinyusb
An open source cross-platform USB stack for embedded system
Stars: ✭ 2,257 (+6348.57%)
Mutual labels:  usb, usb-drive
PanicTrigger
An app for emergency situation
Stars: ✭ 19 (-45.71%)
Mutual labels:  panic, panic-button
unlock-luks-partition
Unlock a LUKS partition via SSH
Stars: ✭ 31 (-11.43%)
Mutual labels:  luks, luks-partition
alpine-linux-scripts
Alpine Linux Setup Scripts
Stars: ✭ 38 (+8.57%)
Mutual labels:  gpt, luks-partition
Sboot stm32
Secure USB DFU1.1 bootloader for STM32
Stars: ✭ 181 (+417.14%)
Mutual labels:  encryption, usb
LUKS-OPs
A bash script to automate the most basic usage of LUKS volumes in Linux VPS
Stars: ✭ 30 (-14.29%)
Mutual labels:  luks, luks-partition
pam pwnd
A PAM module to test passwords against previous leaks at haveibeenpwned.com
Stars: ✭ 33 (-5.71%)
Mutual labels:  pam, pam-module
CatWAN USB Stick
An Open Source USB Stick compatible with LoRa and LoRaWAN with Cortex M0+. To connect, review and analyze packages of LoRa®
Stars: ✭ 23 (-34.29%)
Mutual labels:  usb, usb-stick
EvilUSB
Quick utility to craft executables for pentesting and managing reverse shells
Stars: ✭ 33 (-5.71%)
Mutual labels:  usb
adamant-iOS
iOS native client for ADAMANT Decentralized Messenger
Stars: ✭ 20 (-42.86%)
Mutual labels:  encryption
SharpLoader
🔮 [C#] Source code randomizer and compiler
Stars: ✭ 36 (+2.86%)
Mutual labels:  encryption
VISAInstrument
基于NI-VISA/VISA32(Virtual Instrument Software Architecture)的仪器编程(C#),支持RS232、USB、GPIB及LAN通信接口的收发控制
Stars: ✭ 132 (+277.14%)
Mutual labels:  usb
FakeUSB
Make your own BadUSB device!
Stars: ✭ 14 (-60%)
Mutual labels:  usb

Build Status Language grade: C/C++

pam_panic

Purpose

pam_panic is a PAM module that protects sensitive data and provides a panic function for emergency situations.

How it works

You can choose from one of two options:

Using two removable media previous your own password

There are two removable media which work as keys: the auth key and the panic key. The auth key will let you pass to the password prompt whereas the panic key, if provided, will securely erase the LUKS header, rendering the data unreadable.

Using two passwords previous your own password

There are two passwords you are able to set: the key password and the panic password. The key password will let you pass to the original password prompt whereas the panic password, if provided, will securely erase the LUKS header, rendering the data unreadable.

Installation

Arch Linux AUR

There is

Ubuntu

There's a PPA updating for new releases.

To install the package using the PPA:

sudo add-apt-repository ppa:bandie/pampanic
sudo apt-get update
sudo apt-get install pampanic

From sources

You will need GCC or similar, as well as the PAM headers. Some distributions package the PAM headers as libpam0g-dev. Also you need dialog, autoconf and gettext. Some also need autopoint.

To compile and install it, do the following within the project's root directory:

$ [ ! -e ./configure ] && autoreconf -i
$ ./configure
$ make
$ sudo make install

Note: the paths of the reboot, poweroff, and cryptsetup commands are passed to the module at compile-time.

Preparation

If you want to use removable media you'll need two GPT-formatted removable storage devices, and said devices must have at least one partition. Here's an example fdisk session, showing how this might be accomplished:

$ sudo fdisk /dev/sdc

Welcome to fdisk (util-linux 2.31.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): g
Created a new GPT disklabel (GUID: AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA).

Command (m for help): n
Partition number (1-128, default 1): 
First sector (2048-15661022, default 2048): 
Last sector, +sectors or +size{K,M,G,T,P} (2048-15661022, default 15661022): 

Created a new partition 1 of type 'Linux filesystem' and of size 7.5 GiB.
Command (m for help): w

You'll find the UUID of your partition in /dev/disk/by-partuuid/. You can find out which device is which typing ls -l /dev/disk/by-partuuid/ in your favourite shell.

Configuration

The more easy way is to run pam_panic_config.

The hard way:
To configure the module, add the following to the appropriate PAM configuration file(s): (see pam.conf(5) for details on these files)

Using the removable media:

auth       requisite    /usr/local/lib/security/pam_panic.so auth=<UUID> reject=<UUID> reboot serious=<UUID>
account    requisite    /usr/local/lib/security/pam_panic.so

Using the two passwords:

auth       requisite    /usr/local/lib/security/pam_panic.so password reboot serious=<UUID>
account    requisite    /usr/local/lib/security/pam_panic.so

To set your passwords run pam_panic_pw as root in your preferred shell.

More information

See man 8 pam_panic and man 1 pam_panic_pw for more information.

TODO

Addendum

Poisoning memory when issuing a reboot or shutdown

If you want to be sure to have your memory clear of all information when issuing a reboot/shutdown you might want to add the options page_poison=on and slub_debug=P to your kernel arguments. For GRUB2 you just append it on your GRUB_CMDLINE_LINUX entry in /etc/default/grub and then issue a rebuild of the GRUB2 config: grub-mkconfig -o /boot/grub/grub.cfg

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].