Como apontado por Mat nos comentários , a menos que você configure especificamente a auditoria, é altamente improvável que o comando como tal seja deliberadamente armazenado em qualquer lugar e mantido em um formato diretamente acessível. grep -lR ... /
como root pode ser uma experiência esclarecedora (você pode querer remontar tudo noatime
primeiro ...).
No entanto, há sempre um "mas". Neste caso, uma possibilidade óbvia que eu posso ver (especialmente porque você não limpa com segurança as variáveis $ password ou $ estring no código que você mostrou) é que o conteúdo delas pode ser escrito para trocar espaço. Isso significaria que eles estão comprometidos com o armazenamento permanente pelo menos por um tempo, mesmo não na presença de um invasor ativo. Isso pode ser amplamente atenuado pela desativação do swap por completo ou pela execução de swap criptografado com uma chave de criptografia aleatória, o que torna a troca inacessível após uma reinicialização (porque a chave de descriptografia necessária para perdê-lo é perdida quando a RAM do sistema é limpa).
Eu imagino que 7zip é bem comportado o suficiente para limpar a senha de sua linha de comando rapidamente e depois para longe de suas variáveis internas assim que ela não for mais necessária, mas coisas como expansão os cronogramas principais podem ser mantidos por um longo período de tempo, aumentando assim o potencial para que eles sejam trocados. Aqueles não necessariamente permitirão a recuperação da senha, mas podem muito bem permitir a recuperação do texto original do arquivo criptografado. Um simples ps axw
emitido no momento certo mostrará alguém que está logado na senha em texto simples a partir da linha de comando, mas não é armazenado e a janela de oportunidade é pequena. / p>
Quando você envia o e-mail, presumo que ele contenha a senha em forma de texto não criptografado (ou algo que seja facilmente derivado no texto simples correspondente, como um corpo de mensagem codificado em Base64). Esse e-mail quase certamente será temporariamente gravado na fila de e-mails do sistema , o que significa que a senha acaba no disco (a menos que você tenha o diretório da fila de e-mail em um Disco RAM, que além do fato de que a fila de mensagens deve estar em armazenamento persistente apresenta seu próprio conjunto de problemas operacionalmente). Especialmente se você estiver executando uma configuração inteligente, o arquivo de fila provavelmente será excluído muito em breve, mas, como foi gravado no disco, "o dano está feito", por assim dizer. Algo como strings /dev/sd?
em qualquer servidor pelo qual o e-mail passa provavelmente recuperará a senha para qualquer pessoa que saiba o que procurar, a menos que você tome medidas específicas para atenuar essa ameaça.
É claro que o e-mail, em primeiro lugar, não foi projetado para ser completamente seguro. A única maneira de ter garantias confidenciais de confidencialidade com e-mail por SMTP (mesmo se você estiver usando SMTP sobre SSL ou STARTTLS, em toda a cadeia de servidores de e-mail) é criptografia de ponta a ponta, como S / MIME ou OpenPGP.
TL; DR: Seu aplicativo da Web provavelmente não armazena deliberadamente em qualquer lugar o comando, incluindo a senha ou a própria senha, mas outros componentes em que ela depende muito bem pode durante o curso de operações normais.