2016-11-19 9 views
0

私の設定は、メールホスト用とウェブホスト用の2つのサーバで構成されています。 webhostにはSSL証明書があるので、mailhostサーバーにも同じもの(同じドメイン)が必要です。rsyncを使用してSSL証明書を別のサーバにコピーする方法

rsyncなどを使用してローカルWebホストサーバーから証明書ファイルをローカルメールホストサーバーに安全にコピーする方法はありますか?そして、キーを安全に保ち、dovecotにアクセスできるようにします。

私は両方の端でrsyncにsudo特権を与えようとしましたが(sudoersファイルも変更されましたが、まだ "no tty presentとno askpass program"と指定されています)、sshキーを使用しても成功しません。

私は何をしなければなりませんか? to_host_userでto_host_ipにrsync -P [email protected]_host_ip:path1 [email protected]_host_ip:path2

これはfrom_host_userとfrom_host_ip上のSSHポートにログインし、パス1からファイルをコピーし、ログおよびパス2

答えて

0

まず上のファイルを置き、あなた:

+0

)でアクセス権を変更する必要があります。あなたの答えに基づいてポートフォワーディングを行っています。私は、encyrpt certbotが自動的にSSL更新を行うのに役立つスクリプトを作成するつもりだと思う(Webページの所有権を確認するために必要なファイルを作る)。 rsync sudo特権を与えることは私が知っていたセキュリティ上のリスクですが、何とか安全に更新を自動化する方法があると考えました。 – kookon

0

rsyncがこのように動作しますWebサーバーとメールサーバーの両方で同じ証明書を使用しないでください。基本的な設定では、WebサーバーはWhatever.comを代替名(またはその逆)としてwww.whatever.comの証明書を持つ必要があり、メールサーバーはmail.whatever.comなどの証明書を持ちます。またはそのホスト名が何であっても。メールサーバーの証明書は、ではなく、のホスト名に対応する必要があります。 DNSに、whatever.comのメールがsomeserver.ispに行くべきMXレコードがある場合、それが提供しているドメインと同じトップレベルドメインの下にさえもないメールサーバを持つことは全く普通です。メールサーバーはsomeserver.isp.net、ではなく、 whatever.comの証明書が必要です。

第2に、これを過度に自動化しようとしているようです。複数のコンピュータで同じ証明書が必要な場合は、一般に、サーバー間で手動でコピーする必要があります(特権のないアカウント間でscpなどを使用)。その後、手動で各サーバーにインストールする必要があります。一方、letsencryptのような自動化された証明書生成システムを使用している場合は、おそらく、各サーバーで独立した証明書を生成するほうがよいでしょう。

rsyncをsudo経由でrootとして実行できるようにする、自動権限の昇格を許可すると、セキュリティ上の重大なリスクがあります。あなたが非常に慎重でない限り、システムへのアクセス権を持つ人は誰でもこれを利用することができます。 rsyncを使って、必要なファイル(/ etc/sudoersを含む)を変更するだけです!同様に、あるサーバーをルートとして別のサーバーにリモートで移動できるようにすると、1台のサーバーを引き継ぐことができるユーザーは、自動的に他のサーバーをフルコントロールできます。これは危険です!あなたが本当に必要な場合を除き、それをしないでください。その場合、あなたがしていることを本当に本当に理解する必要があります。

+0

rsyncの仕組みはわかっていましたが、SSL証明書ファイルが保護されているため、証明書をコピーできませんでした。 – kookon

+0

あなたはrootから(from_userのために)ログインするか、別のユーザーとして最初にログインし、sudo(つまり '' sudo chmod + r path_to_ssl_file '' ' – zabeltech

関連する問題