こんとろーるしーこんとろーるぶい

週末にカチャカチャッターン!したことを貼り付けていくブログ

Amazon EC2(t2.medium)でT-Pot構築(その1)

Amazon EC2にT-Pot環境を構築したので、その手順をまとめます。

今回が初めてのAWS利用で、些細なところに右往左往したため、
同じくAWSを触ったことない人向けに、アカウント開設から一気通貫で書きます。
一から始める人に優しい内容になっているはず。
また、チューニングと費用の話についても触れていきます。

既に諸先輩方が投稿されているブログ記事やQiitaの記事の
焼き直しの部分がありますがご了承ください。

(実は2018年1月に構築済みでしたが、放置してしまっていたので、
気分を新たに再構築しながら本記事を書いています。)

こんな人におすすめ

以下の思いや悩みを持つ人向けの記事です。

  • ハニーポットに興味があり立てたいが自宅には立てられない。
    • 本当に自宅ネットワーク内に攻撃を受けるリスクが心配である。
    • 自宅のグローバルIPアドレスの主要なポートは既に埋まっている。
    • 自宅にハニーポット用のサーバを立てて保守するのは厳しい。
      (例えば、PCファンの音がうるさく家族に反対されるなど・・・。)
  • ついでにAWSも触ってみたい。
    • 興味はあったが、これまで特に目的がないため、触る機会がなかった。
  • ハニーポット運用に年間 約40,000円を払える。
    • 身銭を切ることで本気で取り組みたい。
    • 1日あたり缶コーヒー1本くらいなら払ってもいい。
    • 石油王なので金には糸目はつけない。

費用

先に、気になる費用(年間 約40,000円)の話を書きます。

年間 約40,000円の内訳は、主にt2.mediumのリザーブインスタンスの費用です。
1年間は続けてみようとの決意から、割安となるリザーブインスタンスを購入しました。

ただし、年間 約40,000円はAWSの12か月間の無料利用枠を使用した場合です。
2年目以降はもう少しかかります。内訳は以下のとおり。

見積前提

初年度の費用

初年度は、EBS 30GBとデータ転送(送信)15GBが無料です。
データ転送(送信)は、途中で無料利用枠を使い切るかもしれませんが、少額なので無視します。

費目 使用内容 料金(月額) 料金(年額)
EC2 t2.mediumのリザーブインスタンス(1年間) - $336.00
消費税 8% - $26.88
合計 - - $362.88

日本円にすると、39,917円です。

2年目以降の費用

EBSとデータ転送(送信)の分が増額となります。
データ転送(受信)には費用が発生しないようです。

費目 使用内容 料金(月額) 料金(年額)
EC2 t2.mediumのリザーブインスタンス(1年間) - $336.00
EBS 30GB $3.60 $43.20
データ転送(受信) 0.3GB/日 $0.00 $0.00
データ転送(送信) 0.1GB/日 $0.29 $3.48
消費税 8% - $30.61
合計 - - $413.29

日本円にすると、45,462円です。

使用するインスタンスタイプ

前述の通り、インスタンスタイプはt2.mediumを使用します。

T-Potの要求スペックは以下のとおりです。

4 GB RAM (6-8 GB recommended)
64 GB SSD (128 GB SSD recommended)
Network via DHCP
A working, non-proxied, internet connection

参考:GitHub - dtag-dev-sec/tpotce: T-Pot Image Creator

AWSインスタンスタイプのうち、
メモリ4GBの要求スペックを満たすインスタンスタイプはt2.medium以上です。

参考:インスタンスタイプ - Amazon EC2 (仮想サーバー) | AWS

補足)t2.microを使うとどうなるのか

実は、「Swap領域を確保しておけば、多少遅くなるけど動くやろ!」と思い、
一度、無料利用枠のt2.microで構築にチャレンジしました。

T-Potインストール直後は普通に動いているように見えたのですが、
数日運用すると、sshでログインしたターミナルから反応が返ってこない状態にまで陥りました。
T-Pot内で動いているelasticsearchがメモリを大量に使用していることが原因のようです。

AWSのアカウント作成

公式に丁寧なガイドがあるので、こちらを参照して作成しました。
aws.amazon.com

AWSアカウントの初期設定

アカウント作成して素のままでは危険とのことで、こちらを参照して設定しました。
qiita.com

私はCloudTrail、git-secretsの設定まではできていません。

リザーブインスタンスの購入

リザーブインスタンスの購入手順です。
もし試しに数か月使うだけであればこの作業は不要です。

  1. AWSコンソールにログインし、左のペインからリザーブドインスタンスリンクを押下。 f:id:graneed:20180609230519p:plain

  2. リザーブドインスタンスの購入ボタンを押下。 f:id:graneed:20180609230616p:plain

  3. 以下の画面の通りに検索条件を入力して検索ボタンを押下。 f:id:graneed:20180609230713p:plain

  4. カートに入れるボタンを押下して、カートを見るボタンを押下。 f:id:graneed:20180609230750p:plain

  5. 購入ボタンを押下して購入完了。

EC2インスタンスの作成

いよいよEC2インスタンスの作成です。

  1. EC2ダッシュボード画面からインスタンスの作成ボタンを押下。 f:id:graneed:20180609231304p:plain

  2. Ubuntu Server 16.04の選択ボタンを押下。 f:id:graneed:20180609231315p:plain

  3. t2.mediumにチェックし、次へ。 f:id:graneed:20180609231324p:plain

  4. 特に何も変更せず、次へ。 f:id:graneed:20180609231339p:plain

  5. サイズを30GBに変更して、次へ。
    T-Potの要求スペックは64GBですが、
    EBSの1年間の無料利用枠に抑えるため、ここでは30GBにしました。
    後述するデータ保持期間の設定を変更して、容量を節約します。
    ただ、もう少しお金を払えるなら64GBにしてもOKです。 f:id:graneed:20180609231351p:plain

  6. 特に何も変更せず、次へ。 f:id:graneed:20180609231357p:plain

  7. 新しいセキュリティグループを作成するを選択、
    セキュリティグループ名、説明を適当に入力、
    ソースIPをマイIPに変更して、確認と作成ボタンを押下。
    後でT-Potの各ハニーポット用にインバウンドの設定を追加しますが、
    ここではセットアップ用に自分だけがSSHで接続できるようにします。 f:id:graneed:20180609231403p:plain

  8. 確認して作成ボタンを押下。 f:id:graneed:20180609231410p:plain

  9. SSHでログインするためのキーを作成します。
    キーペア名を適当に入力(ここでは、T-Pot-key-pairとしました)してから、
    キーペアのダウンロードボタンを押下してダウンロードします。
    その後、インスタンスの作成ボタンを押下。
    キーペアは再ダウンロードできないため注意! f:id:graneed:20180609231429p:plain

  10. インスタンスの作成要求が完了しました。 f:id:graneed:20180609231445p:plain

  11. EC2ダッシュボード画面でしばらく待ち、インスタンスの状態がrunningになったらOKです。 f:id:graneed:20180609231502p:plain

長くなったので一旦ここまで。
AWSの操作だけで終わってしまった・・・。

続きはこちら。 graneed.hatenablog.com