Ubuntuマシンをバックアップ「サーバー」として設定することに関する他のさまざまなチュートリアルとブログ投稿(これをサーバーと呼びますが、Ubuntuデスクトップを実行しているだけです)に従って、rsyncで新しいファイルをプッシュします。現時点では、作成したRSAキーを使用してrsyncとsshを使用してラップトップからサーバーに接続でき、サーバーも接続されているホームルーターにラップトップを接続するとプロンプトが表示されません。家から離れているときにラップトップからファイルを送信できるようにしたいと思います。私が見たチュートリアルの中には、セキュリティに関する簡単な提案がいくつかありましたが、それらに焦点を合わせていませんでした。
他の誰かがサーバーにハッキングするのを簡単にしすぎずに、サーバーにファイルを送信するラップトップを許可するにはどうすればよいですか?
ここに私がこれまでに行ったことを示します。
Ssh-keygenとssh-copy-idを実行して、ラップトップとサーバーのキーペアを作成しました。
サーバー上にスクリプトを作成して、公開IPアドレスをファイルに書き込み、ファイルを暗号化し、アクセスできるFTPサーバーにアップロードします(この部分の無料の動的DNSアカウントにサインアップできることはわかっていますが、 ftpアカウントを持っているので、実際にIPを公開する必要はありません。
私が見たものは次のとおりです。
ポート転送:サーバーにルーターの固定IPアドレスを割り当ててから、1つまたは複数のポートを転送するようにルーターに指示する必要があることを知っています。ポート22を使用するか、ランダムなポートを選択して使用する必要がありますか?
ファイアウォール(ufw)をオンにします。これは何をしますか、それとも私のルーターは必要なポート以外をすべてブロックしますか?
Fail2banを実行します。
これらのことはすべてやりがいがありますか?他に何かすべきですか?サーバーをセットアップして、RSAキーのみで(パスワードではなく)接続できるようにすることはできますか?サーバーが許可する接続の種類を制限することは可能ですか(例:sshのみ)?
これで質問が多すぎないことを願っています。私はUbuntuにはかなり慣れています(ただし、OSXではシェルおよびbashスクリプトを使用します)。絶対に最も安全な設定をする必要はありません。私は修正するのが難しい方法で簡単に壊れるほど複雑ではないので、合理的に安全なものが欲しいです。
さて、あなたは建築家を少しオーバーしようとしていると思います。 SSHは最も安全なファイル転送プロトコルの1つであり、すでにSSHでrsyncを実行している場合は、90%がそこにあります。ルーターは基本的なファイアウォールとして機能しているため、個人用バックアップサーバーのiptablesをオンにする必要はありません。
ポート22に固執します。
fail2banは、特にパスワードベースのログインが有効になっているパブリックサーバー用の素晴らしいスクリプトです。サーバー上では、修正するより多くの問題が発生します。実行することはお勧めしません。私の提案は次のとおりです。
PasswordAuthentication yes
からPasswordAuthentication no
、およびchallengeresponse
がno
に設定されていることを確認します。これにより、秘密鍵を持たないユーザーはログインできなくなります。それ以外は、デフォルトでほとんどカバーされます。 sshはトラフィックを暗号化し、ホスト/クライアントを検証します。その後はあまり残っていません。