[解決済み] パスワードを(平文ではなく)環境変数として設定ファイルに保存することは安全ですか?
2022-05-05 15:51:57
質問
私はrailsとdjango(と少しのphp)でいくつかのアプリに取り組んでいます。そして、それらのいくつかで私がやり始めたことの1つは、データベースや他のパスワードを特定の設定ファイル(またはdjangoアプリのsettings.py)で平文ではなく環境変数として保存することです。
このことをある共同研究者に相談したところ、彼はこのやり方は良くない、おそらくこれは一見して完璧に安全とは言えないと指摘しました。
そこで教えていただきたいのですが、これは安全なやり方なのでしょうか?これらのファイルにパスワードをプレーンテキストで保存する方がより安全なのでしょうか(もちろん、これらのファイルを公開レポなどに残さないように注意してください)。
解決方法は?
より理論的なレベルでは、私はセキュリティのレベルを次のように考えることが多い(強度の高い順に):
- セキュリティなし。 平文です。 見る場所を知っている人なら誰でもデータにアクセスできる。
- 難読化によるセキュリティ。 データ(平文)を環境変数や設定ファイルのようなトリッキーな場所に保存します。 攻撃者は最終的に何が起こっているのかを理解するか、それにつまずくことになります。
- 破るのが簡単な暗号化によって提供されるセキュリティ、(シーザー暗号を考えてみてください!)。
- 多少の努力で解読できる暗号化によって提供されるセキュリティ。
- 現在のハードウェアでは解読が不可能な暗号化によって提供されるセキュリティ。
- 最も安全なシステムは、誰も使うことができないシステムだ :)
環境変数とは より プレーンテキストのファイルよりも安全で、保存ではなく揮発性/使い捨てだからです。 例えば、"set pwd=whatever,"のようにローカル環境変数のみを設定し、スクリプトを実行した場合です。 スクリプトの最後にコマンドシェルを終了させるようなことをすると、その変数はもう存在しません。 あなたの場合は、最初の2つに該当し、かなり安全性が低いと言えるでしょう。 もし、このようなことをするのであれば、イントラネットやホームネットワークの外に展開することはお勧めしませんし、その場合は、テスト目的の場合に限ります。
関連
-
[解決済み】なぜRuby on Railsは、http://localhost:3000 の代わりに http://0.0.0.0:3000 を使用するのですか?
-
[解決済み] heroku open - no app specified
-
[解決済み] ウェブパッカーがアプリケーションを見つけ出せない
-
[解決済み] どなたか、collection_selectをわかりやすく説明していただけませんか?
-
[解決済み] DestroyとDeleteの違い
-
[解決済み] Railsでpng画像を文字列形式で表示するには?
-
[解決済み] バリデーションなしで属性を更新する方法
-
[解決済み] rails/rubyでgroup_byを使用する。
-
[解決済み] Heroku Error R14 (Memory quota exceeded): How do I solve this?
-
[解決済み] 後で平文を取り出すためのユーザーパスワードの保管について、倫理的にどのように取り組むべきでしょうか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】なぜRuby on Railsは、http://localhost:3000 の代わりに http://0.0.0.0:3000 を使用するのですか?
-
[解決済み] サーバーに接続できませんでした。そのようなファイルまたはディレクトリがありません (PG::ConnectionBad)
-
[解決済み】OS X Yosemite 10.10.5 で [Ruby on Rails] 5 をインストールすると extconf が失敗して終了コード 1 エラーになる。
-
[解決済み] Rails のインストールに失敗する: activesupport には Ruby のバージョン >= 2.2.2 が必要です。
-
[解決済み] Oauth2 Instagram API "リダイレクトURIが登録されたリダイレクトURIと一致しない"
-
[解決済み] RVMでRubyのデフォルトバージョンを設定するには?
-
[解決済み] Railsはsaveでモデル内の検証をスキップしますか?
-
[解決済み] Railsコンソール:リロード!モデルファイルの変更が反映されない?考えられる理由は何でしょうか?
-
[解決済み] MySQLのクエリ結果をCSV形式で出力するにはどうすればよいですか?
-
[解決済み] パスワードのハッシュ化と暗号化の違いについて