【GeneXus】AWSでプロテクション サーバー ~VPN編~


VPNってもっと面倒だったはず!?沖田です。
次は Open VPN を使って、VPN環境を構築していきます。
GeneXusに関わらずOpen VPN を使ってVPN環境を作るときには参考になる・・・はずw

***************************************
 注意事項
このブログに載っている情報等でライセンスの破損、
企業間でのトラブル等発生しても、
弊社及びブログ執筆者は一切の責任を負いません。

***************************************


AWSのVPNも考えたのですが
今回はやっぱりどこまでWindowsで行けるか知りたかったし
いつでもどこでもAWSが使えるわけじゃないので、今回は「Open VPN」を採用。
https://openvpn.net/
https://www.openvpn.jp/introduction/

とりあえずexeをダウンロードします。
https://www.openvpn.jp/download/

ローカルとサーバーにインストールします。
「Open VPN」はサーバーもクライアントも兼ねているので
どちらも同じexeで問題ないです。

途中ネットワークアダプターの追加を聞かれますが「インストール」で。

ここで一旦サーバーもクライアントも「Open VPN」を起動しましょう。
設定ファイルが無いよ!って言われますが、Windowsのタスクバーにアイコンが表示されればおkです。

「Open VPN」では以下の認証方法があります。
・静的鍵(Static Key)
・証明書認証
・ID/パスワード認証(プラグイン認証)
・二要素認証(PKCS#12)
https://www.openvpn.jp/document/authentication-methods/

今回は「証明書認証」を採用して実践します。
証明書は「vpnux PKI Manager」というツールを使うことで簡単に発行・管理できます。

「vpnux PKI Manager」を使用するためには.Net Framework が必要です。
サーバーの.Net Framework 3.5を有効にします。
https://cloudpack.media/6776

コントロールパネル > プログラムと機能 > Windows の機能の有効化または無効化 を選択。
するとWindows Serverの場合「Server Manager」が起動します。
「②Add roles and features」を選択します。

「Next」ボタンでどんどん次に進みます。



「.Net Framework 3.5」という文言が出てきたら、チェック付けて「Next」ボタン。

警告が出ますが、インストールは成功するはずなのでそのまま「Install」ボタン。

「Installation succeeded on XXXXXX-XXXXXX」と表示されればインストール成功です。「Close」ボタンで終了。

「vpnux PKI Manager」を使用し下記ページの手順通り行うだけです。
https://www.openvpn.jp/vpnux-pki/

以下ファイルの作成が完了したら、各場所に配置します。
・認証局の設置(ca.crt、dh1024.pem の作成)
・サーバーの秘密鍵、証明書の作成(server.crt、server.key の作成)
・クライアントの秘密鍵、証明書の作成(client.crt、client.key の作成)

サーバー側の C:\User\Administrator\OpenVPN\config に以下のファイルを配置します。

ローカルクライアント C:\User\[ユーザー名]\OpenVPN\config に以下のファイルを配置します。

次に設定ファイル「.ovpn」ファイルを作成します。
設定ファイルの内容によってサーバーかクライアントなのか区別します。
https://www.openvpn.jp/document/how-to/

「サンプル設定ファイル」をコピペで作成します。
サンプル設定ファイルが十分使えると思っているのでそのまま使用します。
https://www.openvpn.jp/document/how-to/#SampleConfigurationFiles

サーバーの設定ファイルは「server.ovpn」として
クライアントの設定ファイルは「client.ovpn」として
証明書と同じフォルダ「OpenVPN\config」に保存します。

サーバーの設定ファイルの一部を修正します。
dh dh1024.pem

dh dh20148.pem

クライアントの設定ファイルの一部をAWSのアドレス向けて修正します。
remote my-server-1 1194

remote 99.999.999.99 1194
「99.999.999.99」の部分をAWS EC2のIPv4パブリックIPに変更します。

そしてここでわかると思いますが
UDPポート1194を使用しているので
WindowsのファイヤーウォールとAWSのセキュリティを許可します。

サーバーのOpen VPNを起動します。
タスクバーのアイコンを右クリックして「接続」を選択。
「Initialization Sequence Completed」と表示されれば成功です。

次にクライアントのOpen VPNを起動します。
タスクバーのアイコンを右クリックして「接続」を選択。
「Initialization Sequence Completed」と表示されれば成功です。

タスクバーのアイコンも緑になればOK問題無いです。

これでVPN接続は完了している・・・はず。
本当はPing飛ばして確認したいのですが
私の環境では飛びませんでした(´・ω・`)
恐らくルーターの設定等だと思いますが、ココは今後の課題ということでm(_ _)m

ここまで来たら
クライアントのGeneXus X Ev3のライセンスマネージャーを起動します。
C:\Program Files (x86)\Artech\GeneXus\GeneXusXEv3JP\GxLMgr.exe

ローカルは期限切れになってますね。。。

コンピューターを選択をクリックして以下の設定にします。

各種設定をしたらOKをクリックして、
サーバー側のライセンス状態が表示されれば成功です。

私の環境だと期限切れの部分が未認証になりました\(^o^)/
正直検証した時は成功するか半信半疑でライセンス壊したくなかったので
そのあとライセンス移動して、ちゃんと動くか確かめました。
起動、ビルドともに問題ありませんでした\(^o^)/

最終的にこんな↓構成になりました(頑張って作った図をどうしても載せたいのでココに貼っとく)

設定にかけた時間が長かった _(:3」∠)_

これでライセンスはリモートで管理が可能になりました!
これで自社に戻って「君のライセンスは無いよ(・ω・)?」なんてことは無くなるはず!
(面と向かって言われたことは無いが、そういう状況にはなったことがあるよ!)

次の記事「04 その他 and あとがき」に続きます。