サーバーの基礎知識


リモート

(=リモコンみたいな)

サーバーと自分が別々の場所にいてもネットワーク越しに操作できる(=サーバーに入れる)。

① 物理的に同じ場所にいて、直接つないで使うのがローカル
  ⇒現実的ではない。
② サーバーと自分が別々の場所いいてネットワーク越しに使うのがリモート

SSH

(=身元を確認した上でサーバーに入れてくれる)

・SSHは、secure shellの略
・リモートのサーバーと自分のPCを安全に繋げてくれるサービスのこと

FTP・FFFTP

暗号化しない

SSH・SFTP/SCP

暗号化する

鍵認証

例)
SSH = サーバーの守り神

サーバーに入りたい人は、ユーザー名とパスワードを使って入る。

けど、パスワードだと、短いと知られてしまうし、長いと覚えられない。

ので、【ユーザー名と秘密鍵】を使って入る。

[サーバー][守り神] ← [サーバーに入りたい人]
   ≪公開鍵≫        鍵認証
     |           |
      ――――――――――――
           |
          ペアだ!

→ただ、PCを丸ごと盗まれたらだめ。
 ⇒盗まれても「パスフレーズ」を知らないとサーバーに入れない。

→秘密鍵は絶対にPCから出さない。

秘密鍵の最初の設定が面倒だが、簡単に侵入できたら困るからしょうがない。
日々アタックを受けているので、しっかり守るため情報セキュリティの対策は大事。

GW(ゲートウェイ)

(=ビルの入館ゲートのようなもの)

[サーバーに入りたい人] → [SSH守り神][ゲートウェイサーバー] → サーバー
     |                              ↑
      ―――――――――――――――――――――――――――――――
           × GWを通らないと入れません。

・開発GWは一人につきひとつ!

なぜGW使うのか:

①より高度なセキュリティ

SSH → ポート番号22番(デフォルト)
        (ドア番号)
= 例)SSH守り神がたくさんあるドアの中の22番ドアに入っている。

②脆弱性が発見されたときに、すぐに対応するため

GWを踏み台にしていれば、GWだけに対応すればよい。楽。

エージェントフォワーディング (agent forwarding)

(=PCから秘密鍵を持ち出さずに秘密鍵を使えるもの)

パソコンから秘密鍵を使わず、
・PCから開発GWに入る ⇒ OK
・開発GWからサーバーに入る

[鍵の番人][秘密鍵] ⇒ [サーバー入りたい人][GW] ⇒ [SSH守り神][サーバー]

↓ 

[鍵の番人] ⇒ [秘密鍵][サーバー入りたい人][GW] ⇒ [SSH守り神][サーバー]

なにでエージェントフォワードができるのか:
Mac:SSHエージェント

Win: WinSCP

Q:なぜGWに秘密鍵を置けるのか?

A:GWに侵入してもサーバーには行けないから大丈夫。

[サーバーに入りたい人] ⇒トンネル⇒ [GW] ⇒セッション⇒ [サーバー]