AWSでハニーポット（T-Pot）用インスタンスを準備する

##1. はじめに
ここでは、AWS上でハニーポット「T-Pot」を動作させるためのインスタンス作成についてご紹介します。
なるべくワンステップごとの手順を紹介していますが、AWSに慣れてる方はどんどん飛ばしてご覧ください。

なお、AWS上でのT-Pot運用に関しては、以下の記事を参考にさせていただきました。ありがとうございます。

Amazon EC2(t2.medium)でT-Pot構築(その1)
https://graneed.hatenablog.com/entry/2018/06/10/030525

EC2上にHoneypot(T-Pot)をインストールして、サイバー攻撃をELKで可視化してみた
https://qiita.com/tarosaiba/items/871ab0c155578f8a38fe

##2. インスタンス作成の前に
作成するインスタンスに関して、以下の内容ぐらいは事前に把握しておくとスムーズだと思います。
マニアックな方はご自由にどうぞ。

- インスタンスのシステム要件
- 実際に作成するインスタンスのスペック
- インスタンスを設置するリージョン
- これらを踏まえた予測コスト

###2.1 インスタンスのシステム要件
T-Potの主なシステム要件について抑えておきましょう。

T-Pot
https://github.com/dtag-dev-sec/tpotce

System Requirementsにはいくつかのタイプが紹介されていますが、
Standard Installationでは次の通りです。

- OS: Ubuntu 18.04.x LTS 
- 6～8GB RAM
- 120GB SSD

![image.png](https://qiita-image-store.s3.amazonaws.com/0/254738/e1321474-b6bf-fb2f-db0c-58a4c64a86f0.png)


###2.2 実際に作成するインスタンスのスペック
以下のインスタンスをデフォルト設定で作成することとします。

- Ubuntu Server 18.04 LTS (HVM), SSD Volume Type
- t2.large
- 汎用SSD 120GB


###2.3 インスタンスを作成するリージョン
リージョンによってインスタンスの料金が若干異なります。
今回は「米国西部 (オレゴン)」としました。
観測を行いたいリージョンにこだわりがあれば、そのリージョンを選択しましょう。

###2.4 予測コスト
一ヶ月ぐらい動かしっぱなしにして、請求を見て、うおーー(＠_＠;)ってなることがないように、
「AWS 簡易見積りツール」を使って、予測コストを把握しておきましょう。

私の場合は、お小遣い程度で遊べたらいいなーという予算感です。
予算を上回る場合は、調査期間やスペックの見直しを。

AWS 簡易見積りツール
https://calculator.s3.amazonaws.com/index.html?lng=ja_JP#

先ほど決めたスペックを入力して、ざっくりと見積もってみます。
とりあえず、検証だけなので3日間ぐらいの稼働で、構築完了したらスナップショット取っておこうかなと、そんな感じ。
GuardDutyは無料枠を使って、S3とかCloudWatchとかは、誤差の範囲ということで。（適当）
![image.png](https://qiita-image-store.s3.amazonaws.com/0/254738/c4d9fa8f-bf08-5107-fb51-c3cfdd6aa57b.png)


3000円弱ですかね。後ほど請求アラームを設定しようと思いますが、これを目安にします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/254738/51dae268-ad79-52f3-d286-548fb88b4520.png)

以上で問題なさそうなので、構築していきましょう。


##3. AWSの登録
既存のAWSアカウントを使いました。
（ベストプラクティス的には、ユーザを作成してIAMロールを割り当てた方がいいと思いますがｗ　良い子は真似しないでね。）
AWSのアカウントがない方は、アカウント登録をしましょう。
登録方法はたくさん紹介されていると思うので省略します。
※無料枠の案内もありますが、今回利用するT-potは無料枠のインスタンスでは動作しませんのでご注意を。

https://aws.amazon.com/jp/


##4. EC2インスタンスの作成
T-Potのシステム要件を満たすEC2インスタンスを作成していきます。

###4.1 マネジメントコンソールからEC2コンソールを開く
EC2で検索してサジェストされた候補「EC2」をクリックします。（AWSってめっちゃサービスありますからね、、、）
![image.png](https://qiita-image-store.s3.amazonaws.com/0/254738/a1bff538-2d38-a8b9-b648-4982b7413d90.png)

こんな画面ですね。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/254738/1846c28b-8600-c0c5-9d12-4af0d9f2a61a.png)


###4.2 リージョンを選択
今回ハニーポットを設置したい「リージョン」を選択しましょう。


これで、当該リージョンのEC2インスタンスのコンソールが表示された状態です。

###4.3 インスタンスの新規作成開始
「インスタンスの作成」をクリックします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/254738/c72c76af-1d1c-da16-6e14-85b1d093c5f4.png)

###4.4 AMIの選択
Ubuntu Server 18.04 LTS (HVM), SSD Volume Type」を選択します。
アーキテクチャはデフォルト（x86）のままで。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/254738/82031b37-782b-d9ed-b258-4a8b60009556.png)


###4.5 インスタンスタイプの選択
「t2.large」を選択し、次の手順をクリックします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/254738/b5034425-6e34-4228-9add-6dfa232877dd.png)

###4.6 インスタンスの詳細の設定
デフォルトのままでも大丈夫です。次の手順をクリックします。

###4.7 ストレージの追加
デフォルトで汎用SSDが選択されています。
サイズを120GBに変更します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/254738/4e6076e2-a816-07cb-02e5-232a9acdf8c1.png)

###4.8 タグの追加
何も設定しなくてもOKです。後からでも追加できます。
一応、machine-name: t-pot-01とマシン名のタグを付けておきます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/254738/4cacbf1e-7a17-5581-6c96-d1f17b3a15c4.png)

###4.9 セキュリティグループの設定
いよいよ終盤です。
セキュリティグループは、現時点では自身のIPからのSSH接続のみ許可しましょう。（これ重要）
後ほどハニーポットのセットアップの過程で、SSHのポート変更やハニーポット用のポート開放も行います。
わかりやすいように、セキュリティグループ名もt-pot-01としておきます。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/254738/37ba997f-4b5a-5c9a-9d3e-44330e6fa726.png)

###4.10 インスタンス作成の確認

設定に間違いがないか確認し、間違いがなければ「起動」をクリックします。課金が開始されるので注意しましょう。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/254738/4081daa4-1237-f55d-ef4a-2e37567ec329.png)

## 5. 起動確認
ダッシュボード上にインスタンスが作成されたことがわかります。
pendingの表示がrunningに変わったら、起動完了です。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/254738/2872c6cd-e486-0143-32a7-b6f58f17cc75.png)


##6. インスタンスへの接続
「接続」から、作成したキーペアを使用して、インスタンスに接続します。
わからなかったらGoogle先生が教えてくれます。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/254738/98d7854e-36b0-0df5-150f-267e5ea3c999.png)

##7. 接続完了！
無事ログインできたら、インスタンスの作成完了です。
T-Potインストール中にこけることもあるので、ここでスナップショット取っておけたらベストですね。


##8. まとめ
まずはT-Pot用のインスタンス作成まで完了しました。
新規登録したAWSアカウントでも、今回作成するインスタンスは無料枠に収まらないので注意が必要ですね。
また、セキュリティグループの設定は、現時点では自身のIPからのSSH接続のみの許可です。
それ以外は、AWSのEC2を使ったことがあれば、特に困ることはないかと。
次の手順で、T-Potのセットアップを行っていきます。