新型コロナウイルス対策で、テレワークを実施している企業も多くなってきました。一人情シスの方や、情シスの仕事を片手間でこなしている方などは、テレワークの導入検討や、セキュリティー確保に忙しいかと思います。
テレワークの方法はいくつもありますが、すぐに思いつくのは、会社のルータやサーバーに対し、L2TPなどを利用し接続することです。しかし、クライアントPCが、直接社内のネットワークにつなぐことになるため、社内PC同等のセキュリティー対策を施した会社支給のPCである必要があると考えます。日常使いがノートPCの会社なら、L2TPの設定をして持って帰ってもらえばいいでしょう。しかし、日常使いがデスクトップPCである中小企業では、そのようなPCをすぐに用意することは難しいですし、新しいPCを社員分用意することも難しいと思います。
そこで、コスト的にもセキュリティー的にもオススメなのが、SSHポートフォワードとリモートデスクトップ(RDP)の併用です。SSHポートフォワードに関しては、以下の記事でも紹介していますので見てみてください。
SSHポートフォワードとリモートデスクトップ(RDP)
イメージとしては、以下の図のように RDP を SSH ポートフォワードさせて、社員の自宅PCから社内のPCにリモートデスクトップ接続します。
- リモートデスクトップ機能がついているWindows (Pro以上) が社内に必要
- 社内のPCでリモートデスクトップを許可
- SSHサーバーを設置
- 社外からSSHサーバーにアクセスできるように、ルーターのフォワード設定(xx.xx.xx.xxのppポートを、SSHサーバーのSSHポートに転送する)
- 社員は自宅PCから、SSHポートフォワード接続を実行
- 社員は自宅PCから、リモートデスクトップ接続を実
こうすることで、社員の自宅PCから、普段業務で利用しているPCをリモート操作することができます。使い勝手も多少遅延があること以外は社内で仕事しているのと変わりません。
さて、会社のルータにSSHフォワードの設定をするなら、RDPをそのままフォワードしてもいいのでは?と思われる方もおられるかもしれません。しかし、RDPを直接フォワードする場合、社員全員分のフォワード設定を行う必要がありますし、なによりRDPのポートを解放することになるためセキュリティー的に好ましくありません。
SSHポートフォワードとセキュリティ
SSHポートフォワードを利用すると、SSHの暗号化されたトンネルの中でRDP接続が行われます。Windows のリモートデスクトップ機能自体も暗号化されているようですが、より安心して通信ができます。
L2TPなどのVPN接続と比べて、社員の自宅PCからの接続はRDPポートだけになるため、個人持ちのPCが社内のPCと比べてセキュリティー的に劣っていたとしても、影響範囲は限定的です。もしも、個人のPCがRDP関連のウィルスに感染していた場合は影響がありますが、個人PCでもウィルス対策ソフトは入っているでしょうし、SSHのローカルフォワードで利用するポートが通常(3389)とは違うため、伝染する可能性も低いです。また、社内PC側でログインパスワードを安全なものに設定しておけば問題はありません。
自宅PCからSSHフォワードでRDP接続
SSHサーバーの構築は一緒に書くと長くなりますので、別途、以下の記事を参照してください。
SSHサーバの構築が終わった前提で、社員の自宅PCから接続する方法を紹介します。以下の順番で説明します。
- SSHコマンドを実行する環境を構築(Cygwinインストール)
- コマンド実行
- リモートデスクトップ接続
SSHコマンドを実行する環境構築
自宅の PC に Cygwin をインストールします(すでにsshコマンドがある環境の人は、コマンド実行に進んでください)。Cygwinインストールは、すべてデフォルトで構いません。
Cygwin のダウンロード:
https://www.cygwin.com/
コマンド実行
Cygwin を起動し、以下のコマンドを実行します。(Windows 10 標準を利用する場合は、コマンドプロンプトから以下を実行)
ssh shainA@xx.xx.xx.xx -p pp -L 13389:192.168.1.10:3389
RSAキー(公開鍵方式)を利用する場合は以下のようにして、キーを指定します。
ssh -i ".ssh/id_rsa" shainA@xx.xx.xx.xx -p pp -L 13389:192.168.1.10:3389
リモートデスクトップ接続
あとは、自宅PCから社内PCへリモートデスクトップ接続を行います。
SSHフォワードコマンドを実行した、自宅PCでキーボードのwindows+R で mstsc を入力しエンターキーで確定します。
出てきた画面に、127.0.0.1:13389 または、localhost:13389 と入力します。
この後、認証画面が出てきます。社内PCに設定しているユーザ名とパスワードを入力すれば、社内のPCにリモートデスクトップ接続できます。