バッチ(.bat)とpowershell(.ps1)にてツールを作成しています。
ツール内でサーバへ接続するのですが、ID、PW、サーバのIPを
ツール実行ユーザに見せないようにしたいです。
できればWindows標準機能で実施したいのですが、
フリーソフト等を利用するしかないでしょうか。
暗号化やexe化を検討していますが、他に良い方法はありますでしょうか。
何のためにどの程度の隠蔽をしたいかによります。
ローカルで実行する以上、手掛かりがすべて得られる状態では完全な隠蔽は不可能です。実行時にユーザーがパスワードを入力し、それを元に必要なデータを復号するのが最もセキュリティが高いのではないかと思います。
障害発生時にローカルログを取得するためのツールで、ローカルで実行するものです。
実行する環境はインターネットに接続されていないので、完全な隠蔽までいかなくても、簡単に中が見れなければ問題ないです。
目的はサーバのIPをユーザが知り、サーバ内を確認できてしまうことを防ぎたいです。
それなら秘密にしたいデータをバイナリ化しておくのはどうでしょうか?
[System.Text.Encoding]::UTF8.GetBytes("hello")
この結果は次のようになります。
104
101
108
108
111
そしてこれは次のように元に戻すことができます。
[System.Text.Encoding]::UTF8.GetString((104, 101, 108, 111))
もちろんユーザーはこれをヒントに元のデータを復元することができます。しかし exe 化しても同じく簡単に復元できます。隠蔽しなくてはいけないのであれば、exe 化ではなく暗号化を検討する必要があると思いますが、exe 化で良いんでしょうか?
なるほど!秘密にしたい文字のみバイナリ化、思いつきませんでした。
ご教示頂いた方法と、exe化を組み合わせようと思います。
迅速に具体的な方法を教えて頂き、助かりました。ありがとうございました。
あなたの回答
tips
プレビュー