web-dev-qa-db-ja.com

機密データを端末に書き込んでも安全ですか?

保護されたパスワードを保存するプログラムがありますが、インターフェイスは端末であり、パスワードはすべて目に見える形で書かれています。
私はセキュリティについて非常に限られた知識しかないので、それが安全かどうか確信が持てませんでした。質問がここに関連しているといいのですが。

pdate。プログラムは私が書いたものです。詳細は不要ですが、基本的にはクラウドに配置したNumPy配列を格納します。目に見えるということは、そのNumPy配列を読んでターミナルに出力しているということです。私はそれがすべてのおかげで間違いなく安全ではないことを学びました。

それを修正する方法はありますか? (うまくいけば簡単な方法)

アップデート私のディストリビューションはUbuntu Desktop 18.04.4です

2
Jo'

端末には、暗号化されていなくてもディスクに常駐する可能性のあるバッファーがあります(私はgnome-terminalについて知りませんが、Konsoleを使用しています。スクロールバックを無制限に設定すると、/tmpのどこかに暗号化されていないコンテンツがバッファーされます)

そして、別の問題はあなたのbash_historyかもしれません。入力した各コマンド(例外は、コマンドの前にスペースを追加する場合)は、ターミナルを適切に閉じた場合(つまり、システムクラッシュが発生した場合を除く)、~/.bash_historyファイルに移動します。

したがって、コンソールコマンドでパスワードなどの機密情報を入力する場合は、その行を手動で削除するか、コマンドの前にスペースを追加する必要があります(どこにも表示されませんでしたが、試行錯誤して自分で見つけました。 bash以外の他のシェルでは機能しない場合があります。たとえば、Zシェルではそうではありません。また、いつかbashから削除される可能性もあります。

~/.bashrcファイルには、次の2つの変数があります。

HISTSIZE=2000
HISTFILESIZE=2000

-1などの負の数に設定すると、bash履歴のサイズは無制限になります。また、bash履歴機能を無効にする場合は、それらをゼロに設定できます。 (bashの履歴は、発行したコマンド(構文や引数)を忘れた場合に役立つ機能です。たとえば、bash_historyには1歳近くの年齢があり、!約60,000行あります!)

ターミナルでrootのような別のユーザーとしてログインした場合、bash_historyはホームディレクトリではなく/root/.bash_historyに移動することに注意してください。

また、ターミナルからシステムを再起動または停止する場合(サーバーで作業しているとき、コンソールからログインしているとき、または単に楽しみのために)、次のコマンドを発行する必要があります。

history -c && some_halt_command

履歴バッファーがbash_historyにフラッシュされないようにします(前述の変数を使用して機能を無効にした場合、これは必要ないと思います)。

そう :
1)その行を履歴から手動で削除します
2)bashを使用する場合は、コマンドの前にスペースを追加します(ほとんど(すべてではない)のディストリビューションではデフォルトです)。
3)bash履歴を無効にする

3
Parsa Mousavi

これは、既存の安全なツールを活用する簡単な方法の1つです。

#!/bin/bash

# script to pack, encrypt, and copy all content of "private" 
# dir to another area that is synced with Dropbox. 

cd ~ 
tar -cvf private.tar private/
gpg --symmetric --force-mdc -o private.tar.gpg private.tar
shred -u private.tar
mv private.tar.gpg ~/Dropbox/private

自分でパスワードを入力する必要があります。強い(=長い)ものを選択してください。 from https://www.grc.com/passwords.htm または、sshキーペアを作成し、それを使用して完全な自動化を行います。 crontabスケジューリングを使用します。

0
Andreas F