IIoTデバイスの開発者は、ソリューションを構築する特定のアプリケーションを超えて、困難な課題に直面しています。インターネット自体が、悪意のある悪用する捕食者でいっぱいのサメが生息する海域のようなものになっているのです。インターネットそのものが、悪意のある悪質な捕食者に満ちたサメの棲家と化しているのです。デバイスはインターネットに接続された瞬間に発見され、サービス拒否攻撃や侵入攻撃、ハッカーによるその他の悪用にさらされる可能性があります。では、IIoTデバイスを保護するために、開発者は何をすればよいのでしょうか。1つの解決策は、仮想プライベート・インターネット(VPI)とも呼ばれる、プライベート・ルーティングを備えたプライベート・ネットワーク・ソリューションを実装することです。このブログ記事では、Raspberry Pi デバイスで VPI をセットアップする方法について説明します。
remote.itとは何ですか?
remote.itは、オープンポートを必要としないエンドポイントデバイスへのリモートアクセスやP2P接続を提供するサービスです。"インダストリアル・インターネット・オブ・シングスのためのあなただけの安全なポータル "とでもいうべきものです。
インターネットを使用してエッジデバイスにリモートで安全にアクセスするためには、グローバルIPアドレスとオープンポートを使用する必要があります。これは、一般的にVPNやポートフォワーディングを使用して行われます。この方法の主な欠点は、インターネットにポートを開くと、デバイスが基本的に全世界にさらされることです。リモートでは、ルーターのポートを開くことなくリモートアクセスが可能になるため、この攻撃のリスクを排除することができます。
しかし、なぜこのようなことが可能なのでしょうか。泥棒は家に入るためにドアや窓を探しますが、ハッカーがオープンポートを探るのと同じことです。では、家に入りたいときはどうするのか?自分専用のポータルを使うのです。
Raspberry Piへのリモートアクセス
この仕組みを説明するために、Raspberry Piに接続して例を紹介します。
remote.itのアカウントを作成する
まず、https://app.remote.it/auth/#/sign-upにアクセスし、無料の remote.it アカウントを作成します。

- To complete setting up your account you will need to follow the instructions given in the verification email. If you cannot find the email, be sure to check your spam folder.
remote.itのウェブポータルにサインインする
アカウントを取得すると、remote.it のウェブポータルにサインインすることができます: https://app.remote.it

Raspberry Piにremote.itをインストールする。
始める前に、Raspberry PiがRaspbian StretchまたはBusterを使用していて、インターネットに接続されていることを確認します。
まず、最新のパッケージにアップデートしてください。

次に remote.it をインストールします(パッケージ名は "connectd" です)。

これでインストールは完了です。
Raspberry Piをremote.itのデバイスとして登録する
次に、Raspberry Piをremote.itのデバイスとして登録する必要があります。

デバイス登録スクリプトを実行する。
を選択し、remote.it アカウントの認証情報を使用してサインインします。

サインインに成功すると、Raspberry Pi のデバイス名を作成するよう促されます。この名前は、remote.it のウェブポータル画面上でこのデバイスを区別するために使用されます。使用できるのは、文字、数字、アンダースコア、スペース、ダッシュのみです。今回は、"My-Raspberry-Pi "というデバイス名を付けました。

デバイスの登録が完了すると、remote.itのアカウントにリンクされているメールアドレスに通知メールが送信されます。
次に、端末のリモートアクセスに使用するサービスを登録するため、「1」を選択します。

SSH接続でRaspberry Piに接続したいので、"SSH on port 22 "を選択することにします。SSH以外にも、様々なサービスを利用することができます。リストにないサービスで接続したい場合は、"Custom (TCP)" を選択して、カスタムサービスを登録することができます。

SSHのポート番号をデフォルトの22にするか、カスタムのポート番号にするかを決めます。デフォルトを使用する場合は「y」、カスタムのポート番号を使用する場合は「n」を選択します。

n」を選択した場合は、ご希望のポート番号の入力をお願いします。

次に、サービス名を作成するように指示されます。このサービス名は、Webポータルでも使用されます。文字、数字、アンダースコア、スペース、ダッシュのみ使用可能です。私は自分のサービスを "My-Raspberry-Pi_SSH" と名付けました。

これで機器登録とサービス登録は完了です。5」を選択し、機器登録スクリプトを終了します。

Raspberry Piへのリモート接続について
これでRaspberry Piにリモートで接続する準備が整いました。まず、Webポータルにサインインします。デバイスリストの下に、先ほど登録したデバイスの名前が表示されます。

デバイス名をクリックすると、「デバイスサービス」ダイアログが表示されます。

次にSSHサービス(私のは "My-Raspberry-Pi_SSH "という名前です)をクリックします。数秒後、SSH接続に必要なホスト名(例:proxy71.rt3.io)とポート番号(例:34936)を表示するポップアップダイアログが表示されます。
PuTTYなどのスタンドアロンSSHクライアントアプリケーションを使用するか、OSに応じてコマンドラインスクリプトを使用することができます。Windows 10の場合はコマンドプロンプト、macOSやLinuxの場合はターミナルウィンドウを使用して行うことができます。

さあ、つながろう!
ホスト名とポート番号に加えて、remote.it はあなたの便宜のためにPiとrootユーザー名を使ったいくつかの整形された SSH コマンドラインを提供しています。別のユーザー名を使用する場合は、3番目のオプションでLOGINという単語をプレースホルダーとして挿入し、自分のユーザー名を入力することができます。この例では、3番目のオプションを使用します。
行全体を選択し、ターミナルまたはコマンドプロンプトにコピーします(まだENTERを押さないでください)。次に、"LOGIN "という単語を編集し(左矢印を使い、その上にバックスペースを置く必要があります)、あなたのユーザー名に置き換えてください。この例ではユーザー名 "demo "を使用します。

ここで、"Enter "キーを押します。これでログインが開始されます。おそらく次のようなセキュリティメッセージが表示されると思いますが、これは全く正常です。続行するには、"yes "を入力してください。

プロンプトが表示されたら、パスワードを入力してください。
これでログインした状態になり、通常通りコンソールコマンドを実行できるようになりました。
Raspberry Piに接続されているだけでなく、Raspberry PiのSSHポートがインターネットに公開されていない状態です。もともとインターネットに接続していたネットワーク構成は変わっていません。リモートで、ポートの露出がないリモート接続を実現しているのです
インターネットを利用するあらゆるエッジデバイスに、あなただけの安全なポータルを!