先日、実際に遭遇した事例で閉口したことがありました。
(どちらのなんのシステムのことかは詮索しないでください。)
わたしはとあるCSVファイルを自動でとあるサーバへSCPで送る、というスクリプトを書こうとしておりました。
が、通信相手が冗長しており、いま1号機と2号機のどちらがアクティブなのかを確認するルーチンを組まねばなりません。
ただ、サーバ側では定期的に自分がアクティブなのか否かを確認するスクリプトがすでに動いているとのことでした。
依頼されたのがサービスイン直前で時間がなく、ほかのタスクも抱えていましたので極力手間をかけたくない、またテストのためにフェイルオーバーをしてもらうことはすでに難しいフェイズに入っていました。
そのため、こちらからCSVを送るのではなく、サーバ側に依頼してアクティブと判断されたサーバからCSVを取りに来てほしいとお願いした処、先方も余計な手間をかけたくないとのことで断られました。
で、その際に言われたことが、
「なんでSCPなんか使うんですか?FTPで良いじゃないですか。」
それに対して、いくら閉じたネットワークといえどもパスワードを平文で送るわけには行かない。PJにもセキュリティ監査があるはずですが、いまだにそんなものが許容されうるのか、と質問したところ、
「パスワード? そんなのスクリプト内に平文で書けばいいじゃないですか。みんなそうやってますよ。」
とのお返事がありました。
確かにプログラムは動いてナンボではありますが、「平文でパスワード」などという暴挙の提案にいたたまれず、
「わたしは過去20年そんな方法で実装したことがないので、ちょっとやり方勉強してきますね。」と返しておきました。
社内にはプログラムを書くお仕事の方もたくさんいらっしゃいますし、インフラ事業部といえども簡単なスクリプトを書いて実装することは日常ありうるかと思いますが、あらゆる通信は可能な限り暗号化されるべきだと考えています。
たとえばいまどきhttpで公開されたサイトを誰が信用するでしょうか。
たしかに当該ネットワークはクローズドな環境ではありましたが、あまりの出来事にわたしの口もクローズしてしまいました。
余談ですが、本件はPJのもっとも上位のマネージャにこっそり報告しておきました。
こちらのマネージャさんはわたしの10年来のお知り合いで何度も一緒に苦労したことがある方ですので「適切に対処します」とのお言葉をいただきました。