Introdução
- 693
- 2
- Mrs. Christopher Okuneva
OpenSSL é um poderoso kit de ferramentas de criptografia. Muitos de nós já usamos o OpenSSL para criar chaves privadas da RSA ou CSR (solicitação de assinatura de certificado). No entanto, você sabia que pode usar o OpenSSL para comparar a velocidade do seu computador ou que também pode criptografar arquivos ou mensagens? Este artigo fornecerá algumas dicas simples de seguir sobre como criptografar mensagens e arquivos usando o OpenSSL.
Criptografar e descriptografar mensagens
Primeiro, podemos começar criptografando mensagens simples. O comando Linux a seguir criptografará uma mensagem “Bem -vindo ao LinuxCareer.com ”usando a codificação Base64:
$ eco "Bem -vindo ao LinuxCareer.com "| OpenSSL ENBASE64
V2VSY29TZSB0BYBMAW51eENHCMVLCI5JB20K
A saída do comando acima é uma string criptografada contendo mensagem codificada “Bem -vindo ao LinuxCareer.com ”. Para descriptografar a string codificada de volta à sua mensagem original, precisamos reverter o pedido e anexar -d opção para descriptografia:
$ echo "v2vsy29tzsb0bybmaw51eenhcmvlci5jb20k" | OpenSSL ENC -BASE64 -D
Bem -vindo ao LinuxCareer.com
A criptografia acima é simples de usar, no entanto, falta uma característica importante de uma senha, que deve ser usada para criptografia. Por exemplo, tente descriptografar a string a seguir com uma senha “passar“:
U2FSDGVKX181XSCMHKPIA6J0QD76N/NSJJTC9NRDUC0CBSLPZQXQ2DB7IPD7KEXJ
Para fazer isso, use OpenSSL novamente com o método -d de opção e codificação AES-256-CBC:
ECHO "U2FSDGVKX181XSCMHKPIA6J0QD76N/NSJJTC9NRDUC0CBSLPZQXQ2DB7IPD7KEXJ" | OpenSSL ENC -AES -256 -CBC -D -A
Como você provavelmente já adivinhou, para criar uma mensagem criptografada com uma senha como a acima, você pode usar o seguinte comando Linux:
$ echo "OpenSSL" | OpenSSL ENC -AES-256-CBC -A Digite a senha de criptografia AES-256-CBC:
Verificação-digite a senha de criptografia AES-256-CBC:
U2FSDGVKX185E3H2ME2D+QMCFKESXDTN8NCN/4SBLR8 =
Se você deseja armazenar a saída do OpenSSL em um arquivo em vez de stdout, basta usar o redirecionamento do stdout “>”. Ao armazenar a saída criptografada em um arquivo, você também pode omitir -a opção, pois você não precisa mais da saída para ser baseada em texto ASCII:
$ echo "OpenSSL" | OpenSSL ENC -AES-256-CBC> OpenSSL.dat
Digite senha de criptografia AES-256-CBC:
Verificação-digite a senha de criptografia AES-256-CBC:
$ FILE OpenSSL.dat
OpenSSL.DAT: dados
Para descriptografar o OpenSSL.Dat Arquive de volta ao seu uso de mensagem original:
$ OpenSSL ENC -AES -256 -CBC -D -in OpenSSL.dat
Digite senha de descriptografia AES-256-CBC:
OpenSSL
Criptografar e descriptografar o arquivo
Para criptografar arquivos com o OpenSSL é tão simples quanto criptografar mensagens. A única diferença é que, em vez do eco comando nós usamos o -em opção com o arquivo real que gostaríamos de criptografar e -fora Opção, que instruirá o OpenSSL a armazenar o arquivo criptografado em um determinado nome:
Aviso: verifique se o arquivo de saída criptografado recebe um nome de arquivo diferente do arquivo de entrada simples original. Também é recomendável fazer poucos testes de criptografia/descriptografar em dados fictícios antes de criptografar conteúdo importante.
$ OpenSSL ENC -AES -256 -CBC -IN /ETC /Services -Out Services.dat
Para descriptografar o uso do arquivo de serviços: uso:
$ OpenSSL ENC -AE -256 -CBC -D -in Services.DAT> Serviços.TXT
Digite senha de descriptografia AES-256-CBC:
Criptografar e descriptografar o diretório
Caso você precise usar o OpenSSL para criptografar um diretório inteiro que faria, o FIRS, T precisar criar o Gzip Tarball e, em seguida, criptografar o tarball com o método acima ou você pode fazer as duas coisas ao mesmo tempo usando o Pipe:
# tar cz /etc | OpenSSL ENC -AES -256 -CBC -OUT etc.alcatrão.gz.dat
alcatrão: removendo os líderes '/' dos nomes de membros
Digite senha de criptografia AES-256-CBC:
Verificação-digite a senha de criptografia AES-256-CBC:
Para descriptografar e extrair todo o Diretório ETC/ para você o uso atual do diretório de trabalho:
# OpenSSL ENC -AES -256 -CBC -D -in etc.alcatrão.gz.dat | Tar xz
Digite senha de descriptografia AES-256-CBC:
O método acima pode ser bastante útil para backups criptografados automatizados.
Usando chaves públicas e privadas
Nesta seção, mostraremos como criptografar e descriptografar arquivos usando chaves públicas e privadas. Primeiro, precisamos gerar chaves privadas e públicas. Isso pode ser simplesmente feito por:
$ OpenSSL Genrsa -Out private_key.PEM 1024
Gerando a chave privada RSA, módulo de 1024 bits
.. ++++++
.. ++++++
E é 65537 (0x10001)
A partir da chave privada, podemos gerar chave pública:
$ OpenSSL RSA -Em Private_Key.PEM -OUT Public_Key.PEM -Outform Pem -pubout
Escrevendo a chave RSA
Neste ponto, você deve ter uma chave pública e privada disponível em seu diretório de trabalho atual.
$ ls
chave privada.PEM public_key.PEM
Em seguida, criamos algum arquivo de amostra chamado Encrypt.txt com qualquer texto arbitrário:
$ eco "Bem -vindo ao LinuxCareer.com "> criptografar.TXT
$ Cat Encrypt.TXT
Bem -vindo ao LinuxCareer.com
Agora estamos prontos para criptografar este arquivo com a chave pública:
$ OpenSSL rsautl -Encrypt -inkey public_key.PEM -pubin -in Encrypt.txt -out Encrypt.dat
$ ls
Encrypt.DAT Encrypt.txt private_key.PEM public_key.PEM
$ Encrypt.dat
Encrypt.DAT: dados
Como você pode ver nosso novo criptografia.o arquivo dat não é mais arquivos de texto. Para descriptografar este arquivo, precisamos usar a chave privada:
$ OpenSSL rsautl -Decrypt -inkey private_key.Pem -in Encrypt.dat -out new_encrypt.TXT
$ cat new_encrypt.TXT
Bem -vindo ao LinuxCareer.com
A sintaxe acima é bastante intuitiva. Como você pode ver, descriptografamos um arquivo criptografado.dat em seu formulário original e salvá -lo como new_encrypt.TXT. Você pode, por exemplo.
Conclusão
O que você acabou de ler foi uma introdução básica à criptografia OpenSSL. Quando se trata de OpenSSL como um kit de ferramentas de criptografia, literalmente não tem limite para o que você pode fazer. Para ver como usar diferentes métodos de codificação, consulte a página Manual OpenSSL: Homem OpenSSL
Tutoriais do Linux relacionados:
- Como configurar um servidor OpenVPN no Ubuntu 20.04
- Como gerar um certificado SSL autoassinado no Linux
- Coisas para instalar no Ubuntu 20.04
- Teste de referência de unidade USB no Linux
- Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
- Uma introdução à automação, ferramentas e técnicas do Linux
- Como comparar o desempenho do disco no Linux
- Testando clientes HTTPS usando o OpenSSL para simular um servidor
- Mastering Bash Script Loops
- Coisas para fazer depois de instalar o Ubuntu 22.04 Jellyfish…
- « Instale a discórdia no Debian 9 Stretch Linux
- Como instalar Ruby on Rails no Debian 9 Stretch Linux »