- PR -

Linux Tipsでのsshの解説と鍵の取り扱いについて

1
投稿者投稿内容
樫田
常連さん
会議室デビュー日: 2002/07/18
投稿数: 25
投稿日時: 2003-04-17 15:35
この記事を読んで、非常にわかりやすく書かれているとは思いましたが、
一点だけ気になった部分があります。それは「セキュリティはシステムでは
なくプロセスである」という最も大切な観点が抜けているのではないか?
という点です。
まず、記述されている内容は、前回の「鍵交換方式のsshでアクセスするには」と
ペアになっているようですが、これを"技術的"に整理すると以下のとおりです。

作業A) 「鍵交換方式のsshでアクセスするには」
1) Windows側(SSHクライアント)で秘密鍵/公開鍵のペアを作成
2) ペアの鍵のうち、公開鍵をフロッピーにコピーして
LinuxのSSHサーバにインポートする
作業B) 「Linuxでsshの鍵を作成するには」
1) Linux側(SSHサーバ)で秘密鍵/公開鍵のペアを作成
2) ペアの鍵のうち、秘密鍵をフロッピーにコピーして
Windowsのクライアントにインポートする

作業はどちらでも好きな方法を実施すればよいのですが、この記事を
読んだユーザの中に「フロッピーではなくネットワークで送れば楽」と
考えて実行するユーザが存在する可能性は無いのか、という観点です。

まず作業Aについてフロッピーを使用せず、FTPなどのネットワーク転送に
より鍵を扱うことについては、ありえない作業ではありません。
(厳密にはMTMなどの危険が無いわけではありませんが)
しかし作業Bについて、ネットワーク転送により鍵を扱うことは絶対に避ける
べきです。なぜなら作業Aの鍵は"公開鍵"ですが、作業Bは"秘密鍵"だからです。

もちろんセキュリティの基本をきちんと把握している方にとっては、あまりにも
常識ですが、今の世の中にはセキュリティの基礎知識を身に付ける以前に
セキュリティの実装を行わざるを得ない管理者の方がたくさんいらっしゃいます。
そうした方がこれらの技術解説を読むこともあるでしょう。実際、"公開鍵"や
"秘密鍵"というキーワードは聞いたことはあるという程度の方々でも、この記事を
読んだだけでSSHシステムの実装は十分可能です。
そして、そのような方たちが、"秘密鍵"をフロッピーではなくネットワーク転送
してしまう可能性も十分にありえるのではないでしょうか?

単純に「セキュリティとはシステムによって実現できる」という観点であれば、
この記事のように鍵はフロッピーでやりとりをする、という具体的な方法のみを
記載すれば十分かもしれません。
さらに、この記事の中でわざわざ"公開鍵/秘密鍵"とは何であるか、という解説を
すべきだとも思いません。しかし「セキュリティとはプロセスである」と
いう観点であるならば、「秘密鍵をそのままネットワーク転送してはいけない」という
最も重要な一行だけでもぜひ含めるべきではないでしょうか。

最近世の中を騒がす、一連のセキュリティに関する問題を見ていると
「セキュリティとはプロセスである」という事実がただのお題目に成り
下がり、結局「セキュリティはシステムによって実現できる」と誤解されて
いる点や、セキュリティ指導を行う側がそれらの誤解を招くような表現を
"つい"しているのではないか、という自戒をも込めて意見させていただきます。
zanjibar
ぬし
会議室デビュー日: 2001/10/30
投稿数: 309
投稿日時: 2003-04-18 14:20
セキュリティは、守るものがあって、それにそった強度のものを選択するというのが
さらにそれ以前にあるような気がしますけど、どうでしょうか?

引用:

樫田さんの書き込み (2003-04-17 15:35) より:
この記事を読んで、非常にわかりやすく書かれているとは思いましたが、
一点だけ気になった部分があります。それは「セキュリティはシステムでは
なくプロセスである」という最も大切な観点が抜けているのではないか?


_________________
オープンソースのコンテンツマネジメントxoops事例
http://it.isogaya.co.jp/wakka/m034
樫田
常連さん
会議室デビュー日: 2002/07/18
投稿数: 25
投稿日時: 2003-04-18 16:53
>セキュリティは、守るものがあって、それにそった強度のものを選択するというのが
>さらにそれ以前にあるような気がしますけど、どうでしょうか?
>

どうかと言われても困ってしまうのですが、おっしゃるとおりセキュリティでは
守るべきものを明確にして、リスクを測定し、それにあわせた運用方法を含む
システムを構築する必要があるでしょう。これも非常に重要です。

ただ、今回の記事にある「SSHシステムの構築」というテーマにおいて、そこまでを
あえて説明する必要は無いような気がします。こうした記事の場合も、読んでもらう
ことを前提に書くわけですが、「SSHシステムの構築」の記事の前半において、私が
述べたように「セキュリティはプロセスである」や「セキュリティでは目標を定めて
リスク評価を行ってから実装する」などの議論を行うと、結局「セキュリティとは
そもそも何であるか」という文章になるでしょう。しかしこのような(重要とはいえ)
抽象論が続いてしまう場合、残念ながらその部分はお題目として読み飛ばされるか、
そもそも記事自体を読んでもらえない可能性があります。

そこで立ち戻った場合、そもそも私が主張するような「セキュリティはプロセス
である」を今回のような技術解説記事に含めることも、同じ抽象論に陥ってしまい、
読み飛ばされることになりそうです。
しかしはじめに書きたかったのは、明示的に「プロセスが重要である」という
主張を行うのではなく、書き手の方がそれを念頭において技術解説を行えば
よいのではないだろうか? という一点だけです。
もちろん、この記事を書いた方は「プロセス」の重要性についても十分ご存知
でしょうし、他の記事などではそのような記述をされているかもしれません。

しかし「プロセス」が重要であることを念頭におけば、今回の記事において公開鍵を
サーバ側で生成するか、クライアント側で生成するかの選択をする場合に、
「秘密鍵の取り扱いだけはくれぐれも注意しましょう」というわずか一行で十分
表現できます。それでも、やはり読み飛ばされる可能性がありますが、わずかの方
たちが「なぜ秘密鍵と公開鍵では同様の扱いをしてはならないのか?」という疑問を
感じて、その結果運用方法を考えるのであれば、当初の目的は達成できそうです。

以上、意図された事への回答になっているのでしょうか?
1

スキルアップ/キャリアアップ(JOB@IT)