私はDebianボックスを管理する放浪環境でansibleを使用しています。複数のAnsibleプロビジョナーにはボルト暗号化されたデータ(データベースのルートパスワードなど)があるため、最初のプロビジョナーはボルトパスワードを一度入力する必要があります。現在このパスワードは に保存され/tmp
、各Ansibleプロビジョナーのスクリプトで読み取られ、/dev/null
最後のプロビジョナーが上書きして削除します。
Ansibleには、ボルトパスワードを返すスクリプトを呼び出す機能があります。したがって、このスクリプトは別のシェルで実行されます。
攻撃者が仮想マシンを正常に破損した場合は、一時ファイルを回復してボルトパスワードを取得できます。
これらの気まぐれな環境は本番環境で使用されていますが、より安全なアプローチを探しています。私の最初の考えは何とかメモリを読み書きすることでした。したがって、仮想マシンを再起動するとメモリが消去されます。上記のデータが何らかの形でディスク上で交換できることを知っています。しかし、このデータを取得するのは一時ファイル方式よりも難しいと思います。
編集する
構成者が失敗した場合は、セキュリティリスクについて言及することを忘れました。これにより、最後の構成プログラムが実行されず、一時ファイルがファイルシステムに残ります。
この問題の原因に対する解決策に興味がある人には、統合ソリューションを示す追加の回答を提供しました。
ベストアンサー1
1MB RAMディスクを作成するには、次のコマンドを使用しますtmpfs
。
mkdir /tmp/ramdisk
mount -t tmpfs -o size=1m myramdisk /tmp/ramdisk
RAMディスクはスワップされませんが、RAMディスクの使用中にスワップが発生しないようにする必要がある場合は、RAMディスクを使用するときramfs
にスワップをオフまたはオンにすることができますtmpfs
。swapoff -a
と。削除:swapon -a
tmpfs
umount /tmp/ramdisk
何かが欠けているかもしれませんが、に記載されているRAMディスクの利点は見えません/etc/fstab
。ただし、次のことは、必要に応じてユーザーだけがRAMディスクを使用できるようにするのに十分ですroot
(mode=0700
)。
tmpfs /tmp/ramdisk tmpfs rw,mode=0700,size=1m