遠隔地にあるホスト間のデータを経路ごと暗号化されたネットワークを使用する事で安全に同期、バックアップを行います。 異なるホスト間のディレクトリ、及びファイルの同期にはrsync を使用し、接続には、SSHを利用して経路を暗号化します。 rsync の基本的な使い方と Open SSH のセキュリティについて触れています。
rsync とは、異なるディレクトリ、ファイルを比較して同期をとるツールです。dd コマンドと併用してハードディスクの差分更新やテープメディアへのバックアップツールとしてよく利用されています。また、ssh を用いて遠隔地にあるホストの特定のディレクトリと同期をとる事もできます。例えば Web / AnonyFTP といったディレクトリサービスのミラーホストとの同期更新など、暗号化されたネットワークで行う事ができます。
参照URL => Rsync 和訳ドキュメント
inetd サービスとして起動し、rsync プロトコル による 単独の rsync サーバーとして動作させる事や、ssh や rsh をソケットにする事が出来ます。また、 圧縮転送、差分コピーを利用し、高速に同期を実行が可能です。
互いのシステムに rsync をインストールしておく必要があります。
常に動作し、更新されるディレクトリ、及びシステムをバックアップする場合は、サービスを停止させる必要があります。例えば、ここで紹介しているメンテナンス用 Webディレクトリの場合でも、掲示板システムなどのCGIがはしって入る場合は、内容を安全にサブシステムへ引き継ぐには、それなりの工夫が必要になります。
例えば、POP3 や SuEXEC 環境など多くのユーザーが絡むサービスは、 LDAPサーバー によるアカウントの一元管理化や初めからグループ権限を意識する、又は、CLUSTER化を視野に入れたシステム、ネットワーク構築を前提にする必要も出てきます。
それが出来ない場合は、強力な root 権限でのコネクションを行い、タイムスタンプ、所有権・パーミッション等、全てを維持するモードで転送する事も可能ですが、WAN側に直接接するような環境下では危険で行うべきではありません。(後述)
Telnetな rsh などリモートログインの暗号化バージョンです。SSHプロトコル自体が暗号化されているため、安全にログイン、シェルコマンドを実行してリモートコントロールが可能になります。
SSH の利用目的は、主に遠隔地にあるホストのリモートログイン・コントロールが目的となりますが、プロトコル自体暗号化されているため、SSH へフォワーディング/トンネリングする事で、 FTP やS MTP などの暗号化されていないサービスを暗号化し、スニッフィング(盗聴)から守る目的で利用されます。余談ですがFTPでSSHを使用した場合は、認証コネ クションのみが暗号化され、データ通信は暗号化されません。
SSH / Open SSH があり、それぞれにプロトコル1/プロトコル2 が存在します。SSH / Open SSH はサーバー、クライアント共に暗号化に必要な鍵の互換性はありますが、基本的にサーバー、クライアント双方のプロトコルは同じである必要があります。 また、SSHは商用で、Open SSH は非商用で利用できます。大抵の Linux ディストリビューションでは、Open SSH は標準でインストールされています。
注意
SSH は Telnet や rsh に比べ、暗号化されているためセキュアな印象を受けます。しかし、経路が保護されるという話であって内部から感染するトロイの木馬などに対しては全くの無防備です。バックアップ用途でファイアーウォール以下にサーバーが設置されているのであれば、NFS(ファイルシステム)&rsync との同期で十分です。このために SSH サービスを稼動させる必要はありません。