Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 

Repository files navigation

🔐 Portable Linux Password Vault

Linux LUKS2 Pass GnuPG License

Um cofre de senhas portátil utilizando LUKS2 + pass + GnuPG.

Armazene seu repositório de senhas em um pendrive ou SSD, protegido por múltiplas camadas de criptografia e totalmente sob seu controle.


📖 Índice


🚀 Visão geral

Este projeto mostra como criar um Password Vault portátil utilizando apenas ferramentas nativas do Linux.

Em vez de armazenar o diretório ~/.password-store no computador, ele passa a existir dentro de um container criptografado LUKS2, armazenado em um pendrive ou SSD.

Isso oferece:

  • armazenamento totalmente offline;
  • portabilidade entre computadores Linux;
  • independência de serviços em nuvem;
  • proteção contra perda ou roubo do dispositivo.

Important

Este projeto é destinado ao ecossistema Linux. O container utiliza LUKS2, formato suportado nativamente pelo cryptsetup.


💼 Caso de uso

Imagine que você trabalha em diferentes computadores Linux.

Ao invés de sincronizar senhas por Dropbox, Google Drive ou outros serviços, você simplesmente conecta seu pendrive:

USB SSD
│
└── vault.luks

Após desbloquear o Vault:

cryptsetup open vault.luks vault

Seu repositório do pass fica imediatamente disponível.

Ao terminar:

umount /mnt/vault
cryptsetup close vault

Todo o conteúdo volta a existir apenas como um único arquivo criptografado.


🏗 Arquitetura

flowchart TD

A[Pendrive / SSD]

A --> B[vault.luks]

B --> C[LUKS2]

C --> D["/dev/mapper/vault"]

D --> E[ext4]

E --> F["password-store"]

F --> G["*.gpg"]
Loading

🛡 Camadas de segurança

Cada camada protege a próxima.

Camada Tecnologia Objetivo
1 LUKS2 Protege todo o volume
2 AES-XTS Criptografia do dispositivo
3 ext4 Sistema de arquivos Linux
4 pass Organização das senhas
5 GnuPG Cada senha é criptografada individualmente

Na prática:

Senha
↓
arquivo .gpg
↓
password-store
↓
ext4
↓
LUKS2
↓
SSD

Mesmo que alguém copie o arquivo vault.luks, ele continuará completamente inacessível sem a senha do LUKS.

Mesmo que o Vault esteja aberto, as senhas continuam protegidas pelo OpenPGP utilizado pelo pass.

Tip

O pass adiciona uma segunda camada de proteção, pois cada entrada permanece criptografada individualmente usando sua chave GPG.


📦 Requisitos

sudo pacman -S \
    cryptsetup \
    e2fsprogs \
    pass \
    gnupg

🔨 Criando o Vault

1. Criar o container

dd if=/dev/zero of=vault.luks \
bs=1M \
count=10240 \
status=progress

2. Inicializar o LUKS2

cryptsetup luksFormat vault.luks

3. Abrir

cryptsetup open vault.luks vault

4. Criar o sistema de arquivos

mkfs.ext4 \
-L vault \
-O metadata_csum,64bit \
/dev/mapper/vault

5. Montar

mkdir -p /mnt/vault

mount /dev/mapper/vault /mnt/vault

🔑 Configurando o pass

Inicialize normalmente:

pass init "<ID-GPG>"

Copie seu repositório:

cp -a ~/.password-store \
/mnt/vault/password-store

Defina o novo local:

export PASSWORD_STORE_DIR=/mnt/vault/password-store

Adicione ao:

  • .bashrc
  • .zshrc

💻 Uso diário

Abrir

cryptsetup open /media/USB/vault.luks vault

mount /dev/mapper/vault /mnt/vault

export PASSWORD_STORE_DIR=/mnt/vault/password-store

Consultar:

pass github

Gerar senha:

pass generate github 32

Copiar para clipboard:

pass -c github

Listar:

pass ls

Fechar

umount /mnt/vault

cryptsetup close vault

💡 Boas práticas

Tip

Utilize uma senha forte para o LUKS.

Tip

Utilize uma chave GPG protegida por passphrase.

Tip

Faça backup periódico do repositório do pass.

Tip

Remova o dispositivo somente após desmontar o Vault.


💾 Backup do Header LUKS

O Header do LUKS contém todas as informações necessárias para descriptografar o volume.

Faça backup logo após criar o Vault.

cryptsetup luksHeaderBackup \
vault.luks \
--header-backup-file vault.header

Warning

Sem o Header, os dados podem se tornar irrecuperáveis mesmo que você conheça a senha.

Armazene o backup em outro dispositivo.

Nunca dentro do próprio Vault.


📚 Tecnologias

  • Linux
  • LUKS2
  • dm-crypt
  • cryptsetup
  • ext4
  • GnuPG
  • OpenPGP
  • pass

📄 Licença

Este projeto é distribuído sob a licença MIT.

Contribuições, sugestões e melhorias são sempre bem-vindas.

About

Armazenar suas senhas criptografadas por GnuPG num Pendrive protegido dentro de um vault com criptografia de vanguarda LUKS - ambiente Linux.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors