トップ » SORACOM IoT DIY レシピ » IoTで遠隔機器へセキュアにアクセスしたい

SORACOM レシピ:IoTで遠隔機器へセキュアにアクセスしたい

遠隔地のPCやネットワーク機器にセキュアにリモートアクセス

公開日: 2020年5月

レシピ難易度:★★★★★

遠隔地にある特定業務用PCやサーバは現場での作業が基本となります。しかし、遠隔地からの操作が出来るようになると作業効率やサービスレベルの向上が見込めます。

遠隔地からの操作として一般的に考えうる手段(PCやサーバに専用ソフトウェアをインストールする方式、リモートアクセスするサーバやクライアントに追加のソフトウェアをインストールする方式、VPNを利用する方式など)と比較して、手軽さとセキュリティの確保のバランスが良いのがこのレシピでご紹介する方式となります。

汎用性・拡張性が高く安定運用が可能なワイヤレスマイクロサーバー ピセロ AK-130 とIoTプラットフォームSORACOMのセキュアなリモートアクセスサービス SORACOM Napterの機能を利用することで、遠隔地のPCやサーバに追加のソフトウェアやハードウェアを導入する必要がなくスピーディーにセキュアなリモートアクセスを実現します。

ソラコムの提供する IoT データ通信サービス SORACOM Air と オンデマンド・リモートアクセスサービス SORACOM Napter による、IoTテクノロジーによるリモートアクセスの使い勝手を体験いただける内容となっています。

本レシピでは、セットアップにターミナルでのコマンド処理が必要とされます。OSやネットワークの基礎知識が必要になるレシピとなりますので予めご了承ください。

全体構成

利用するソラコムサービス

サービス名概要
SORACOM AirIoT データ通信サービスです。ピセロ AK-130でのセルラー通信を実現します。
SORACOM Napterオンデマンド・リモートアクセスサービスです。遠隔地のSORACOM Airを搭載したデバイスにセキュアにリモートアクセスするために利用します

本レシピのゴール

  • 遠隔地のPCにセキュアにリモートデスクトップ接続できるようになる

本レシピの所要想定時間と金額

  • 想定所要時間: 約180分
  • 概算費用: 約48,000円(設定用PC本体を除く)

このコンテンツの進め方

上から内容を読み進みながら作業を行なっていきます。また左サイドに追従する目次からページ内の移動が可能です。

本コンテンツは現状のままで提供され、株式会社ソラコムは、誤りがないことの保証を含め、明示であると黙示であるとを問わず、本コンテンツの記載内容につき、いかなる種類の表明も保証も行いません。

掲載情報の閲覧及び利用により、利用者自身、もしくは第三者が被った損害に対して、直接的、間接的を問わず、株式会社ソラコムは責任を負いかねます。

本コンテンツを実践する中で用意された機器、利用されたサービスについてのご質問は、それぞれの機器やサービスの提供元にお問い合わせをお願いします。機器やサービスの仕様は、本コンテンツ作成当時のものです。

株式会社ソラコムが提供する機器・サービスについてのご質問は、 https://soracom.jp/contact/ をご確認の上、適切な窓口へのお問い合わせをお願いします。機器・サービスご利用前の導入相談は https://soracom.jp/contact/contactsales/ に、機器・サービスご利用開始後のサポートは、SORACOMユーザーコンソール内のサポートサイトから「リクエストを送信」(要ログイン)にてお問い合わせください。

Copyright (c) 2021 SORACOM, INC.

セキュアリモートアクセスの課題

リモートアクセスの仕組みは大きく分けて以下のように大別され、それぞれ課題があります。

  • サーバ・クライアントに専用ソフトウェアをインストールする方式
  • リモートアクセスするサーバやクライアントに追加のソフトウェアをインストールする必要がある
  • 外部サービスを経由する場合がある
  • VPNを経由する方式
  • VPNアプライアンスの管理コストが高い
  • VPNクライアントのライセンス管理とクライアントのキッティングが必要
  • VPNアプライアンスを常にインターネットに公開する必要がある

いずれに方式にもメリットとデメリットがあり、システム管理者には多くの負担が必要です。

SORACOM Napterとは?

SORACOM NapterはSORACOM Air SIMに対してセキュアにリモートアクセスするサービスです。サーバやクライアントに追加のソフトウェアをインストールする必要はなく、クライアントからサーバに対してインターネット経由でセキュアかつ直接接続可能なのでこれまでの方式に比べてシンプルにリモートアクセスを実現できます。SORACOM Napterはリモートアクセスするアクセス元IPアドレスを都度ホワイトリストするのでインターネット側からはネットワークレベルで保護されており、アクセス監査ログも提供されるので企業での利用にも適しています。

SORACOM Airによるセルラー接続による接続性が提供されるので現状リモートアクセス先にインターネット接続回線がないケースにおいてもスピーディーに導入可能であり、本レシピのシナリオにあるように不定期にメンテナンスでしかアクセスしないケースにおいてはSORACOM Airの従量課金モデルによって通信コストを最適化できます。

Pisello/ピセロ AK-130とは

本レシピで利用するPisello/ピセロ AK-130(以下AK-130)はQuad Core 64bit CPU「ARM Cortex-A53」を搭載した最新のSoM「Raspberry Pi Compute Module 3」とLinux OSを採用したワイヤレスマイクロサーバです。ギガビットSW-HUB(ミラーリング対応)チップを搭載し、PCIe Minicard スロットx2、USBポートx2、SIMスロットを装備しているため汎用性・拡張性が高く、大型ヒートシンク採用で安定運用が可能です。

本レシピではIoTストアで提供されているAK-130にRaspbianをインストールし、追加の設定を行います。AK-130はこのレシピで紹介しているもの以外に便利な使い方が用意されていますので、ご興味ある方は販売元のエイビット社にぜひお問い合わせください。

準備

本レシピを行うためには以下のものをご用意ください。

ハードウェア

品名数量価格備考
ワイヤレスマイクロサーバー ピセロ AK-130-4 スターターキット142,900円キットの中には以下のものが含まれています。
・AK-130-4 本体 x 1台
SORACOM 特定地域向け IoT SIM (plan-D マイクロサイズ) x 1枚
microSD カードリーダー1約1,600円AK-130-4 用 Linux OS をmicroSD に書き込む際に使用します。
microSD カード1約1,000円16GB以上推奨。
有線 LAN アダプタ (USB 型のアダプタ等形状問わず)1約1,600円パソコンとAK-130-4の通信に使用します。
有線 LAN ケーブル1約500円パソコンとAK-130-4の通信に使用します。
パソコン1インターネット接続が可能でサイトへの接続が自由であること。Google Chrome 等の最新ブラウザーが利用可能な事。

※ 金額はレシピ作成時となります。金額は税込み・送料別です。その他は参考価格となります。

ご購入について

ハードウェアは以下よりご購入いただけます。

ご購入先にはSORACOM IoT ストア以外のショッピングサイトも含まれています。ご購入先や在庫、動作保証をするものではありませんのでご留意ください。

リモートデスクトップ先PCの情報確認

IPアドレスの確認

外部からリモートデスクトップする先のPCのIPアドレスを確認しておきます。

Windows PCのコマンドプロンプトで「ipconfig /all」コマンドの出力を確認しておきます。

ログインユーザの確認

リモートデスクトップで利用するユーザ名を確認します。リモートデスクトップ先のPCでコマンドプロンプトを開き「whoami」コマンドを実行し表示された文字列(下図赤線内)を控えておきます。

microSDカードの調達

AK-130にはOSを格納するRaspbian用のSDカードが付属しませんのでmicroSDカードを別で調達します。microSDカードは耐久性能を重視してドラレコ向けの製品を調達するのがおすすめです。

ドラレコ向けmicroSDカードの例

https://www.samsung.com/semiconductor/minisite/jp/memorycard/microsd/proendurance/

microSDカードへのRaspbianの書き込み

microSDカードを調達できましたら続いてRaspbianのイメージをmicroSDカードに書き込みます。書き込みはRaspberry Piのダウンロードページで「Raspberry Pi Imager」をダウンロードして行います。本ドキュメントではmacOSでの作業例を示しますが、Windows環境の方は適宜読み替えて作業を進めてくださ

Raspbianのダウンロード

Raspbianは 以下のリンクからダウンロードします。

http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian_lite/images/raspbian_lite-2018-11-15/2018-11-13-raspbian-stretch-lite.zip

ダウンロードしたファイルはアーカイバでzip形式から解凍してimg形式にしおきます。

Raspberry Pi Imagerのダウンロード

Raspberry Piのホームページで「Raspberry Pi Imager」をダウンロードしますhttps://www.raspberrypi.org/downloads/

ダウンロードしたファイルを開いて、「Raspberry Pi Imager」のアイコンを「Applications」にドラッグアンドドロップします。

デスクトップの右上の虫眼鏡アイコン(Spotlight)をクリックして「Raspberry Pi Imager」を探して起動します

アラートダイアログが表示されたら「Open」をクリックします。

Raspbianのインストール

RaspbianとRaspberry Pi Imagerの両方を用意できたらパソコンにSDカードリーダーを接続し、microSDカードを挿入します。

Raspberry Pi Imagerを起動し、「CHOOSE OS」をクリックします。

メニューが表示されたら一番下までスクロールして「Use custom」をクリックします。

ファイルアクセスへの許可を求められたら「OK」をクリックします。

先にダウンロードしておいたRaspbianのimgファイルを選択します。

続いてRaspberry Pi Imagerで「CHOOSE SD CARD」をクリックします。

挿入したmicroSDカードを選択します。

注意: 間違ったSDカードを選択しないよう十分に注意してください。

RaspbianのイメージファイルとmicroSDカードを選択したら「WRITE」ボタンをクリックします。

注意: 間違ったSDカードを選択していないか確認してください。もし間違ったSDカードを選択している場合元から書き込んであったデータは失われます。この操作は取り消せません。

パスワードを入力し「OK」をクリックします。

ダイアログが表示されたら「OK」をクリックします。

書き込みが完了するとダイアログが表示されます。「CONTINUE」をクリックしてSDカードライターからmicroSDカードを取り出してください。

リモートデスクトップ先PCのセットアップ

リモートデスクトップの有効化

Windowsのデスクトップ左下の検索ウィンドウに「リモート」と入力し表示された「リモート デスクトップの設定」をクリックします。

表示された画面で「リモートデスクトップを有効にする」をクリックしてください。

ダイアログが表示されたら「確認」をクリックします。

AK-130のセットアップ

まず最初にAK-130自体の初期セットアップを行います。エイビット社提供のクイックスタートガイドを参照しSIMカード、ボタン電池(リチウムコイン電池:CR1632)、アンテナを取り付けます。取付作業は必ず本体から電源ケーブルを抜いた状態で行ってください。

SIMカードは予め別途購入したSORACOM Air SIMを利用します。SORACOM Airの導入についてはこちらのリンクをご参照ください。

https://soracom.jp/start/

microSDカードは模様のある面を上側にして、カチッと音がなるまで奥に押し込んでください。うまく取り付けられるとmicroSDカードは筐体の側面とフラットになります。

microSDカードは模様のある面を上にして差し込みます。

うまく取り付けられている例。

microSDカードを取り付けたらAK-130に電源ケーブルを接続して起動します。

PCとのシリアル接続

PCとAK-130をUSBケーブルで接続します。

PCでターミナルを起動してAK-130にシリアル接続します。

  • ボーレート:115200bps
  • データ長:8ビット
  • ストップビット長:1ビット
  • パリティ:なし
  • フロー制御:なし
screen /dev/tty.usbserial-14310 115200

注意: 上記例のシリアルポート名(/dev/tty.usbserial-14310)は環境によって異なります。

接続したらエンターキーを押してログイン画面が表示されることを確認し、ログインします。

  • ユーザ名:pi / パスワード:raspberry

SSH接続の有効化

AK-130の遠隔管理アクセス向けにSSH接続を有効化します。次のコマンドで設定画面を起動します。

sudo raspi-config

メニューが表示されたらカーソルキーで「5 Interfacing Options」を選択してエンターキーを押します。

続いて「P2 SSH」を選択してエンターキーを押します。

「Yes」を選択してエンターキーを押します。

「Ok」を選択してエンターキーを押します。

最後にカーソルキーを「Finish」に合わせてエンターキーを押します。

差分パッケージの適用

エイビット社のWebサイトから差分パッケージをダウンロードしAK-130に適用します。

差分パッケージの適用にはUSBメモリを用います。予めご用意の上以下の作業をすすめてください。

こちらのWebサイトにアクセスしページ下部のリンクからインストールガイドと差分パッケージをダウンロードします。

https://www.abit.co.jp/products/ak130/

ダウンロードしたインストールガイドに従ってAK-130に差分パッケージを適用します。

SORACOM接続設定

SORACOM接続にはAK-130に追加のソフトウェアパッケージをインストールが必要です。AK-130を設定用PCを経由してインターネットに接続して必要なソフトウェアをインストールします。

設定用PCに有線LANアダプターが必要になりますので予めご用意の上以下の作業を進めてください。

AK-130インターネット接続準備

初期セットアップ状態のAK-130はインターネットに接続できないため設定用PCのインターネット共有を経由して作業を進めます。

まずmacOSのインターネット共有を有効にします。デスクトップ左上のリンゴマークをクリックして「System Preferences」を起動します。

「Sharing」をクリックします。

「Share your connection from」で「Wi-Fi」を選択し、「To computers using」で有線LAN接続を選択します。(図の例ではThunderbolt Ethernet)

2つの選択を終えたら、画面左側の「Internet Sharing」にチェックを入れます。

アラートダイアログが表示されたら「Start」をクリックします。

注意: 予めPCのファイアウォール設定で外部からのDHCP接続要求を許可するように設定します。

設定用PCと起動済みAK-130のLAN-1ポートをLANケーブルで接続します。

以上でAK-130に設定用のインターネット接続が提供されました。続いて設定用PCをAK-130にUSBケーブルで繋ぎます。

AK-130追加設定

以下の作業はPCをAK-130にUSBケーブルを繋いでシリアル接続して行います。

本手順はAK-130に予めインターネット接続が必要です。AK-130インターネット接続準備を参考にしてインターネットに繋がる状態にした上で以下の作業を進めてください。

次のコマンドでIPアドレスが割り当てられていることを確認します(この例では192.168.2.8)

pi@raspberrypi:~$ ip a show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.8/24 brd 192.168.2.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::8878:8cb4:615c:5728/64 scope link
       valid_lft forever preferred_lft forever

注意: 設定用PCからIPアドレスが割り当てられない場合はAK-130を再起動して状況が改善するかお試しください。

続いて以下のコマンドでwvdialをインストールします

sudo apt-get update
sudo apt-get install wvdial -y

続いてAK-130にSORACOM接続情報を設定します。

sudo sh -c 'cat /etc/wvdial_AK-130.conf |
 sed -e "s/APN/soracom.io/g" 
     -e "s/(USER|PASSWORD)/sora/g" > /etc/wvdial.conf'

sudo sh -c 'echo "defaultroute
replacedefaultroute" >> /etc/ppp/peers/wvdial"'

AK-130起動時のセルラー接続を有効化します。

sudo systemctl enable wwan-modem@AK110

※ AK110 となっている部分はそのまま入力してください(130に書き換える必要はありません)

次のコマンドでAK-130を再起動して設定を反映します。

sudo reboot

AK-130の設定

ネットワーク構成の確認

AK-130を収容するネットワークの構成によって詳細は変わる場合がありますが、このレシピではLAN-1のネットワークが 192.168.0.0/24 で、AK-130に 192.168.0.252/24 を割り当てます。

LAN-1(eth0)のIPアドレス設定

以下の作業はPCをAK-130にUSBケーブルを繋いでシリアル接続して行います。

ネットワーク構成の確認で把握したパラメータを /etc/dhcpcd.conf ファイルに書き込みます。書き込み後AK-130を再起動します。

/etc/dhcpcd.conf

interface eth0
 static ip_address=192.168.0.252/24
 static routers=192.168.0.1 # LAN内のゲートウェイ
 static domain_name_servers=192.168.0.1 # LAN内のDNSサーバ

注意: 設定はご利用のネットワーク環境によって異なります。設定値がわからない場合はシステム管理者に確認してください。

次のコマンドでAK-130を再起動して設定を反映します。

sudo reboot

NAT設定

以下の作業はPCをAK-130にUSBケーブルを繋いでシリアル接続して行います。

AK-130にNATの設定を追加します。以下コマンドの IPADDRESS の部分をリモートデスクトップ先のPCの情報確認で確認したPCのIPアドレスに置き換えて実行してください。

iptables-persistent をインストールした際に既存のiptables設定を永続化するかダイアログが表示されるのでYesで保存します。

sudo sh -c 'sed -i -e "s/^#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/" /etc/sysctl.conf'
sudo sysctl -p
sudo iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
sudo iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 3389 -j DNAT 
  --to IPADDRESS:3389
sudo apt-get install iptables-persistent -y

ルーティング設定

注意: ルーティング設定は「リモートアクセス先のPC」に設定します。「設定用PC」ではないのでご注意ください。

注意: 設定はご利用のネットワーク環境によって異なります。設定値がわからない場合はシステム管理者に確認してください。

「リモートアクセス先のPC」にルーティング設定を追加します。Windowsコマンドプロンプトを開いてコマンドを実行します。

route add 100.64.0.0 mask 255.192.0.0 192.168.0.252 -p

SORACOM Napterでのリモート接続

ここまでの準備で遠隔地のPCにリモートデスクトップする準備が整いました。早速SORACOM Napterでリモートデスクトップ接続をしてみましょう。

重要: AK-130のLAN-1ポートに設定用PCが接続されている場合は取り外し、AK-130のLAN-1ポートとリモート接続先PCをLANケーブルで接続します。

Microsoft Remote Desktopのインストール

この作業は「リモートアクセス元のPC」で行います。

App Storeアプリで「remote desktop」と検索し、「Microsoft Remote Desktop」をインストールします。

SORACOM Napterでのリモート接続設定

この作業は「リモートアクセス元のPC」で行います。

SORACOM Napterのご利用には費用がかかります。詳細はWebサイト(https://soracom.jp/services/napter/price/)をご参照ください。

SORACOM Web コンソールにログインし、AK-130内のSIMにチェックを入れてメニューから「On-demand Remote Access」をクリックします。

ダイアログの「Port to expose」に「3389」を、アクセス許可の時間を30分〜8時間の間で指定し「OK」ボタンをクリックします。

「Download Windows Remote Desktop profile」をクリックしてファイルをダウンロードします。

ダウンロードしたファイルをダブルクリックするとリモートデスクトップ接続できます。ログイン画面が表示されたらログインユーザの確認手順で控えておいたアクセス先PCのユーザ名とパスワードを入力してログインします。

ダイアログが表示されるので「Continue」をクリックします。

macOSからリモートのWindowsPCにリモートデスクトップすることが出来ました。

注意: リモートデスクトップ先の環境次第ですが、一般的なWindows 10のPCの場合リモートデスクトップは「後勝ち」で制御権を奪うことになるので複数人で利用する場合には予め周知の上ご注意ください。

SORACOM IoT DIY レシピ »

レシピの達成、おめでとうございます!

達成したことをTwitterで呟く

普段の生活やビジネスに役立つ #IoTレシピ 「IoTで遠隔機器へセキュアにアクセスしたい」 を達成しました!
@SORACOM_PR https://soracom.jp/recipes_index/3015


ご質問などはこちらよりお問い合わせください。

pagetop