Blogブログ

AWS上にVPNサーバを構築する

梅雨の季節がやってきましたね
この季節は気持ちが上がらずツライ時期です
早く夏が来てほしいですね

夏といえば(ちがう)

コロナ禍からIT企業ではほとんどがテレワークを併用していると思います
そんなテレワークですが、セキュリティはちゃんと対策していますか?

小さな企業ではそこまでキッチリ考えているいないところもあるかもしれませんね

弊社では5月にISMSの認定を受けることが出来ました

ISMS認証取得に向け、セキュリティ周りを再度見直しました
テレワーク環境下では、サーバに対して自宅等からアクセスする必要が出てきます
自宅を固定IPにしていることはほぼなく、かといってIPアドレス制限を掛けないわけにもいかない、、、

もともとはオフィス内にYAMAHAのVPNルータを設置し、そこに対してVPN接続を行っていました
がしかし、うちのオフィス、17時以降のネットワーク速度があほみたいに遅い、、、

もう耐えられない!!

ということで、AWS上にVPNサーバを立てることにしました

なんのサービスを使おう

AWS上に立てると決めたものの、どのように立てるのか悩みました

EC2では結局通信量等で従量課金がある
VPNとなれば、みんな常時サーバを経由して通信を行うものですから、通信料はそれなりに行きそうです

もともとはこの関係でConoHaに建てようとしたのですが、サーバ借りすぎててもう追加で立てれなかった、、、

そんな時に見つけました「Amazon Lightsail」

Amazon Lightsail

Lightsailとは何ぞやというところなのですが
EC2よりもシンプルな料金体系をとっているVPS(仮想プライベートサーバ)サービスです

基本的に月額固定金額で利用することが可能
さらに、最低料金なんと3.5ドルから利用できます

素晴らしい

さっそく立ててみましょう

LightsailでVPSを立ち上げる

Amazon Lightsailの画面に行きましょう

そこで、「Create instance」です

Amazon Linux2 を選択しようと思います

ほんとに月額3.5ドルだ!!

通信量は1TB/月ですが、こんだけあれば大丈夫でしょう

適当に名前を付けて

Create Instance !!!!!!!!

一瞬で立ち上げりました

VPNサーバを立てる

それでは、このインスタンス上にVPNサービスを立ち上げましょう

巷にはいろいろなサービスが転がっています

OpenVPNなんかがよく使われているんですかね?

ただ、OpenVPNは別途クライアントソフトが必要だったりで、私の判断としてはナシ、、、

やはり、Windows,MacOS,Android,iOS全てに標準で対応しているプロトコルを利用したい

ということで、選択肢は「LT2P/IPsec」になりました

さて、LT2P/IPsecといえば、OSSの「SoftEther VPN」ですね

さらになんと、siomizさんがSoftEther VPNのDockerコンテナを提供してくれていました

神様がいました

さて、これを利用してVPNサービスを立ち上げましょう

ポートの解放

先ほど起動したインスタンスに対して、利用するポートを開放しましょう

ネットワーク設定を開きましょう

そして、必要なポートを開放していくだけです

いい感じですね

Dockerコンテナを立ち上げる

さて、次はSSHで接続しましょう
といっても、ブラウザで接続できます

ここをぽちっとすると

開きました、すごい

あとはこんな感じにコマンドをたたいていくだけです


$ sudo yum install -y docker
$ sudo systemctl start docker.service
$ sudo systemctl enable docker.service

$ sudo docker run -d --privileged -p 500:500/udp -p 4500:4500/udp -p 1701:1701/tcp -p 5555:5555/tcp -e PSK='{事前共有キー}' -e USERS='{ユーザ}:{パスワード}' -e SPW='{管理亜g面のパスワード}' -v /home/ec2-user/vpn_server.config:/usr/vpnserver/vpn_server.config --name softether siomiz/softethervpn

これだけです
ほんとに

試しに、Windowsで接続してみましょう

ここら辺から追加します

先ほどdockerコンテナを立ち上げた際に指定していた情報を入れ込みましょう

こんな感じに、接続済みになっていたらOKです

試しにCMANのWebサイトにアクセスし、VPNサーバ経由のIPアドレスになっているかを確認しましょう

https://www.cman.jp/network/support/go_access.cgi

VPNの利用内容

こんなに簡単に立てることが出来ました
また、Softether VPNはWindowsで動作する管理クライアントが存在しています

他の社員たちも利用できるよう、管理クライアントでユーザを追加していきましょう

弊社では、サーバへのSSHアクセスやステージング環境へのWebアクセス等はIPアドレスによる制限をかけています
VPNサーバを立てておくことで、自宅等のIPアドレスを逐次指定する必要がなくなり、かなり快適になります

皆様もぜひお試しください

牧長 心

執筆者

CEO

牧長 心