\r\n\r\n
内部ネットワークに、外部からアクセスする必要のあるマシンがある場合、ネットワークのゲートウェイ・キーパーとしてBastionホストを使用することで解決できるかもしれません。
フォートレスとは、文字通り、要塞のような場所という意味です。コンピュータ用語では、ネットワーク上のマシンで、着信および発信接続のためのゲートウェイ・ガーディアンとして機能するものです。
Bastionホストは、インターネットからの着信接続を受け入れる唯一のマシンになるように設定することができます。そして、順番に、ネットワーク上の他のすべてのマシンが、Bastionホストからの着信接続のみを受け入れるように設定します。そのメリットは何でしょうか。
一番大事なのはセキュリティです。要塞型ホストは、その名の通り、非常に厳しいセキュリティを持つことができます。侵入者に対する最初の防衛線となり、他のマシンも確実に保護します。
また、残りのネットワーク設定も若干楽になります。ルーターレベルでポートを転送する代わりに、受信したポートをbastionホストに転送するだけでよいのです。そこから、アクセスを必要とする他のマシンにプライベートネットワークを拡張することができます。これについては、次のセクションで説明しますので、ご安心ください。
一般的なネットワーク設定の例です。外部からホームネットワークにアクセスする必要がある場合は、インターネットを経由してアクセスすることができます。ルーターはこの接続をあなたのbastionホストに転送します。Bastionホストに接続すると、ネットワーク上の他のマシンにアクセスできるようになります。この場合も、インターネットからBastionホスト以外のコンピュータに直接アクセスすることはできません。
砦を使う時間を確保するために十分な遅れをとる。
インターネット経由でルーターにアクセスする方法について、詳しい方はご存知でしょう。ほとんどのインターネットサービスプロバイダ(ISP)は、頻繁に変更される一時的なIPアドレスを割り当てます。静的IPアドレスが必要な場合、ISPは追加料金を請求することが多いです。最近のルーターには、ダイナミックDNSが組み込まれていることが多いので、これを利用するとよいでしょう。
ダイナミックDNSは、一定時間ごとにホスト名を新しいIPアドレスに更新するため、常にホームネットワークにアクセスすることができます。上記のサービスを提供しているプロバイダーは多数あり、そのうちの1社はIPを持たず、無料層まで用意している。なお、無料版では、30日ごとにホスト名の確認が必要となります。これは10秒ほどの作業ですが、とにかく念を押されます。
登録が完了したら、ホスト名を作成するだけです。ホスト名は一意でなければならず、それだけです。ネットギアのルーターであれば、月額確認不要のダイナミックDNSを無料で提供しています。
ルーターにログインし、ダイナミックDNSの設定を確認します。これはルーターによって異なりますが、詳細設定に潜んでいない場合は、お使いの**商人のユーザーマニュアルを確認してください。通常、入力が必要な設定は4つです。
ルーターにダイナミックDNSの設定がない場合、ローカルコンピューターにインストールしても、同じ結果を得るためのIP提供はありません。ダイナミックDNSを最新に保つには、このマシンがオンラインである必要があります。
ルーターは、着信接続をどこに転送するかを知る必要があります。これは、着信接続のポート番号に基づいて行われます。ここで、良い習慣は、デフォルトのSSHポート(22)を公開用ポートとして使用しないことです。
デフォルトのポートを使用しない理由は、ハッカーが特別なポートスニッファーをもっているからです。これらのツールは、ネットワーク上で開いている可能性のある既知のポートを常にチェックしています。ルーターがデフォルトのポートで接続を受け付けていることがわかると、共通のユーザー名とパスワードで接続要求を送り始める。
ランダムなポートを選択しても、悪意のあるスニッファーを完全に阻止することはできませんが、ルーターへのリクエストの数を大幅に減らすことができます。ルータが同じポートしか転送できない場合は、bastionホストがユーザ名とパスワードの代わりにSSHキーペア認証を使うように設定すればよいので、問題はない。
といった感じでルーターを設定する必要があります。
インストール時にこのオプションが選択されていない場合は、単にSSHを入力してください。
sudo apt install OpenSSH-client
sudo apt install OpenSSH-server
SSHをインストールした後、SSHサーバーが認証にパスワードではなくキーを使用するように設定されていることを確認してください。bastionホストのIPが、上記のポートフォワーディングルールで設定したIPと同じであることを確認してください。
簡単なテストをして、すべてがうまくいっていることを確認することができます。ホームネットワークの外にいることをシミュレートするために、スマートデバイスをモバイルデータのホットスポットとして使用することができます。ターミナルを開き、< username> をBastionホスト上のアカウントのユーザ名に、< dynamicdnasaddress> を上記手順aで設定したアドレスに置き換えて入力します。
ssh -p 52739 <ユーザー名>@<dynamicDNSaddress>.
すべてが正しく設定されていれば、Fortressホストのターミナルウィンドウが表示されるはずです。
SSH経由でどんなコンテンツでもトンネルできます(無理のない範囲で)。例えば、インターネッツからホームネットワーク上のSMB共有にアクセスしたい場合、Bastionホストに接続し、SMB共有へのトンネルを開く。以下のコマンドを実行するだけで、この魔法が使えるようになります。
ssh -L 15445:<IPAddressOfSMB>:445 -p 52739 <username>@<dynamicDNSAddress>
実際のコマンドは以下のとおりです。
ssh - L 15445:10.1.2.250:445 -p 52739 [email protected]
このコマンドを破るのは簡単だ。ルーターの外部SSHポート52739を経由して、サーバーのアカウントに接続します。ポート15445(任意のポート)に送信されたローカルトラフィックは、トンネルを経由して、IP 10.1.2.250とSMBポート445を持つコンピュータに転送されます。
もし、本当に賢くなりたいのであれば、次のコマンドを入力することで、コマンド全体をエイリアス化することができます。
alias sss='ssh - L 15445:10.1.2.250:445 -p 52739 [email protected]''です。
あとはssにterminalと入力すれば、ボブはあなたのおじさんです。
接続が確立されると、以下のアドレスでSMB共有にアクセスできるようになります。
**b://localhost:15445
つまり、ローカルネットワークにいるかのように、インターネットからローカル共有を閲覧することができるのです。前述したように、ほとんどのコンテンツにSSH接続が可能です。リモートデスクトップが有効なWindowsマシンにSSHトンネルでアクセスすることも可能です。
この記事は籠城ホスト以上の内容で、よくぞここまでと思うほどです。要塞ホストを持つことは、公共サービスを持つ他のデバイスを保護することを意味します。また、世界のどこからでもこれらのリソースにアクセスできることを保証します。コーヒーやチョコレート、またはその両方でお祝いしてください。取り上げるのは基本的な手順です。
インターネットからローカルリソースにアクセスする必要があり、現在これを行うためにVPNを使用していますか?SSHトンネルを使用したことがありますか?
写真提供:TopVectors/Depositphotos