あるウェブサービスにログインした上で情報を取得したりPOSTしたりするクライアントプログラムを作っています。公開して使ってもらいたいと思っているので、ウェブサービスにログインするための利用者自身のユーザ名・パスワードの取り扱いについて考えています。
ユーザ名とパスワードを環境変数に設定してプログラム側からそれを読み取るというテクニックがセキュアな取り扱い方法とされているのを知りましたが、実際の運用では.zshrcなりにexport文を平文でベタ書きすることになると思い(自分が日常的に使うならそうする)、結局パスワードファイルを作るのと差がないような気がしています。またwindowsでの環境変数設定は初心者には少し難しいとも思います。
またユーザ名・パスワードを入力させて暗号化ファイルを作るにしても、githubにソースコードを上げるならばそれを見て復号は容易にできてしまいますよね?
具体的なプログラムの提示のないふわっとした質問で申し訳ないのですが
- 日常的に頻繁に叩くCLIプログラムのつもりである(一々パスを打たせるのは辛い)
- Golangで同一ソースからWindows/Linuxのバイナリを作る(OSに依存したパスワード管理は使わない)
- どんなサービスであれパスが漏れていいということはありませんが、金融系のようなクリティカルなサービスへのアクセスではない
以上のような条件で、プログラム利用者のウェブサービスへのパスワードはどのように保存しておくのが一般的でしょうか?
#####追記
この場合のパスワード等はもちろん利用者本人には見えても構わないので、例えば何らかの攻撃によってローカルのファイルが覗かれたり…のような万一の場合を考えた時にセキュアな取り扱いはどうすべきなのだろう、というのが観点です(侵入されることまで考慮したらどうにもできない、というのはもっともですが)。
というか、完成したプログラムを公開した経験がないので、その辺りどの程度まで気にするべきかという感覚的なものがイマイチわからないので、アドバイスいただけたらと思います。
回答5件
あなたの回答
tips
プレビュー