リーズナブルに使えるIaaSサービスのLinodeでセキュリティを学習するための環境を構築してみました。
具体的にはLinodeにKali Linuxマシンを用意し、セキュリティ学習サービスで提供している脆弱なサーバーへVPN接続するまでを説明します。
Kali Linuxはペネトレーションテスト、セキュリティ脆弱性診断、セキュリティの学習などのために利用されているDebian系列のOSです。数百のペネトレーションテスト用のツールが用意されており、誰でも無料で利用することができます。
ターゲットマシンとして今回はTryHackMeというサービスを利用します。Kali LinuxからTryHackMeに対してVPN接続をすることで、TryHackMeで用意されているターゲットマシンへのアクセスができるようになります。
用意するもの
・Linodeアカウント
・Kali Linux (LinodeのMarketplaceから選択)
・TryHackMeアカウント
LinodeのMarketplaceからKali Linuxをインストール
標準ディストリビューションからもKali Linuxを選択できますが、Marketplaceからのインストールではユーザーインターフェースとツール一式が含まれているので本記事ではMarketplaceからインストールしていきます。
LinodeにログインしたらCreate -> Marketplaceを選択します。
Marketplaceの中にあるKali Linuxを選択します。
Kali Linuxは4GBのDedicated CPUまたはShared Compute Instanceが推奨されています
https://www.linode.com/ja/marketplace/apps/kali-linux/kali-linux/
Linodeのプロビジョニングが終了してから、ソフトウェアのインストールに45~60分かかります
ソフトウェアのインストールが完了したら、RootユーザーでのパスワードによるSSH接続を無効化するなどの最低限のセキュリティの設定は実施しておきましょう。
上記のSetupで作成したVNCユーザーを使い、Kali LinuxへVNC接続をするためのSSHのトンネルを張ります。(やっていることはSSHのポートフォワーディングです)
$ ssh -L 61000:localhost:5901 -N -l [username] [ip]
もしくはTeratermで実施する場合には、Kali LinuxマシンへSSH接続を確立した後、SSHポート転送の設定で実行します。
VNCクライアントからKali Linuxへ接続します。
Mac OSでは標準でVNCクライアントが利用可能ですが、windows端末ではRealVNCなどのVNCクライアントをインストールしてください。
vnc://localhost:61000
Setup時に指定したVNCユーザーのパスワードを入力すれば、Kali Linuxに接続できます。
TryHackMeの脆弱なサーバへVPN接続をする
本記事では例としてTryHackMeで提供されている脆弱なサーバーへのVPN接続を説明します。
TryHackMeへログインしたら、以下のURLからOpen VPNの設定ファイルをダウンロードします。
https://tryhackme.com/access
VPN設定のファイルは[ユーザー名].ovpnという名前でダウンロードされます。
日本のVPNサーバーは用意されていませんが、"US-West-Regular-1"を指定して問題なく利用できています
ダウンロードしたVPN設定ファイルをわかりやすいところに移動しておきます。
$ mkdir tryhackme
$ mv ~/Downloads/<username>.ovpn tryhackme/
Kali LinuxにOpenVPNをインストールします。
$ sudo apt install openvpn
OpenVPNコマンドを実行してVPN接続をします。
sudo openvpn tryhackme/<username>.ovpn
接続のステータスを確認し、Connectedにチェックが入っていればVPN接続ができていることを意味します。
これでTryHackMe内で提供されている脆弱なサーバーへアクセスができるようになりました。
まとめ
今回はLinodeにKali Linuxを容易にインストールできること、そしてTryHackMeへのVPN接続をする方法までを紹介しました。この環境が整えば、今回の例で使用したTryHackMeやその他のサービス(HackTheBox など)で学習をするための自分のマシンを持つことができます。
関連記事
アカマイ・テクノロジーズ合同会社のQiitaではLinode関連など開発者向けの記事を記載しております。