UNIX系サーバにsshでログインする際、秘密鍵を使ってログインする方も多いと思います。
そういった環境では下記の理由などで秘密鍵自体の管理が煩雑になりがちだと思います。
- 開発に利用するPCが複数台ある
- 公開鍵認証が必要な作業もいくつかある
いち開発者という視点で見た場合、
ちゃんと管理できてるという方は、どのように管理していますか?
管理できてないという方は、どうなっちゃってますか?

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。
Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。
UNIXとは、AT&Tのベル研究所で開発されたコンピューター用のマルチユーザー・マルチタスクのオペレーションシステム(OS)です。政府や教育機関や研究所で広範囲に採用されています。
Authentication(認証)は正当性を認証する為の工程です。ログイン処理等で使われます。
SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。
Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。
UNIXとは、AT&Tのベル研究所で開発されたコンピューター用のマルチユーザー・マルチタスクのオペレーションシステム(OS)です。政府や教育機関や研究所で広範囲に採用されています。
Authentication(認証)は正当性を認証する為の工程です。ログイン処理等で使われます。
1グッド
2クリップ
投稿2014/09/16 09:34
UNIX系サーバにsshでログインする際、秘密鍵を使ってログインする方も多いと思います。
そういった環境では下記の理由などで秘密鍵自体の管理が煩雑になりがちだと思います。
いち開発者という視点で見た場合、
ちゃんと管理できてるという方は、どのように管理していますか?
管理できてないという方は、どうなっちゃってますか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答1件
0
SSHの認証(UNIX系)という前提のもと、以下記載します。
【大規模なプロジェクトでの話】
これは開発期間中は関わる人員が多く、また開発環境自体に
ある程度フレキシブルに操作できる必要性があるからです。
また、共通アカウントを使用せず全て個人アカウントで作業を行い、
鍵の発行状況に関してもセキュリティ・マネージャーがしっかり管理します。
その上で、各アカウントのみがアクセスできる場所(通常は接続用端末のユーザーのホームディレクトリ)に鍵を保管します。
※入退室が管理され、作業履歴もきちんと残す環境に保管されることになります。
==>>大規模なプロジェクトでは作業に様々な制約を課すことで、
秘密鍵の扱い以前に十分にセキュアな状況を作り出します。
【小規模なプロジェクトでの話】
※現在の私のパターン
企業によってはUSBの差込口に封がされている場合もありますが、
そうでないのであれば、USBメモリに秘密鍵を入れて、それを持つ方が、
複数の端末に鍵を保管するよりセキュアな状況が作れます。
この問題はヒューマンエラーに弱いこと。
つまりUSBメモリをそもそも紛失してしまっては元も子もないことです。
数人の開発者を率いる必要がある場合、個々の開発者に対して
一定のセキュリティ教育を実施しても、もともとの性格や立ち振る舞いから
ヒューマンエラーを起こしやすい人というのはいます。
※これは100%防ぎきることが出来ないものです
ただし絶対に(いや絶対はないので99%としましょう)ヒューマンエラーを起こさないように配慮することが
出来れば、これは最も効率的で確実な方法だと思います。
※私はUSBメモリを持って移動する際は「必ずここに入れる」というルールを
徹底しています。そして作業前、作業後、移動前、移動後という節目で
チェックし、ミスを起こさないように気を付けています。当然ではありますが、
USB等手元にある状況ではお酒は一切飲みません(これは重要)。
フォルダは「顧客」→「プロジェクト」あるいは「顧客」→「システム」→「サーバー」といったわかりやすい構成にしておくとよいでしょう。
秘密鍵に限らず、顧客情報等の機密データは、顧客によっては(パスワード等を)メールで受信というケースもあったりするので、きちんとリスト化して管理しています。
完全にその顧客やプロジェクトから離任する場合は、適宜データを(メール、サーバー、PC等から)削除して、まっさらな状態に戻します。
こうすることで、煩雑になってしまう状況を少しでも回避することが可能です。
※このあたりは機密保持契約(NDA)の内容にも関係しますので、業務をする際に何らかの契約的な縛りがあれば、当然それに従った形で行う必要があります。
投稿2014/09/16 15:27
総合スコア73
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2014/09/17 07:17