1. ホーム
  2. python

[解決済み] Pythonでユーザー名とパスワードを安全に保存したいのですが、どのような方法がありますか?[クローズド].

2022-08-25 20:44:17

質問

私は、ユーザー名とパスワードの組み合わせを使用してサードパーティのサービスから定期的に情報を取得する小さなPythonスクリプトを作成しています。私は100%防弾されたものを作成する必要はありませんが(100%は存在するのでしょうか)、私は、少なくとも誰かがそれを破るのに長い時間がかかるように、セキュリティの良い手段を伴うことを望みます。

このスクリプトは GUI を持たず、定期的に cron で定期的に実行されるので、実行するたびにパスワードを入力して復号化するのはうまくいきません。ユーザー名とパスワードを暗号化されたファイルに保存するか、SQLite データベースに暗号化して保存する必要がありますが、どのみち SQLite を使用するのでその方が望ましいですし は、ある時点でパスワードを編集する必要があります。さらに、現時点では Windows 専用であるため、おそらくプログラム全体を EXE でラップすることになるでしょう。

ユーザー名とパスワードのコンボを安全に保存して、定期的に cron ジョブで定期的に使用するために、ユーザー名とパスワードの組み合わせを安全に保存するにはどうしたらよいでしょうか。

どのように解決するのですか?

私は、次のような戦略をお勧めします。 ssh-agent . もし、ssh-agent を直接使えないのであれば、そのようなものを実装して、パスワードが RAM にのみ保存されるようにすることができます。 cron ジョブは、実行するたびにエージェントから実際のパスワードを取得し、それを一度だけ使用し、その後すぐに del ステートメントを使用してすぐに参照しないようにすることができます。

管理者は、起動時などに ssh-agent を起動するためにパスワードを入力する必要がありますが、これは平文のパスワードがディスク上のどこかに保存されることを回避するための合理的な妥協案です。