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年目以降はもう少しかかります。内訳は以下のとおり。
見積前提
- データ転送量(受信)は自分のハニーポットの実績値より、0.3GB/日の前提としました。
- データ転送量(送信)は自分のハニーポットの実績値より、0.1GB/日の前提としました。
- 為替レートは110円/$を前提としました。
AWSの12か月間の無料利用枠の情報は以下を参照しました。
AWS クラウド無料利用枠 | AWS費用計算には以下の計算機を使いました。
Amazon Web Services Simple Monthly Calculator
初年度の費用
初年度は、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の設定まではできていません。
リザーブドインスタンスの購入
リザーブドインスタンスの購入手順です。
もし試しに数か月使うだけであればこの作業は不要です。
AWSコンソールにログインし、左のペインから
リザーブドインスタンス
リンクを押下。リザーブドインスタンスの購入
ボタンを押下。以下の画面の通りに検索条件を入力して
検索
ボタンを押下。カートに入れる
ボタンを押下して、カートを見る
ボタンを押下。購入
ボタンを押下して購入完了。
EC2インスタンスの作成
いよいよEC2インスタンスの作成です。
EC2ダッシュボード画面から
インスタンスの作成
ボタンを押下。Ubuntu Server 16.04の
選択
ボタンを押下。t2.medium
にチェックし、次へ。特に何も変更せず、次へ。
サイズを
30GB
に変更して、次へ。
T-Potの要求スペックは64GBですが、
EBSの1年間の無料利用枠に抑えるため、ここでは30GBにしました。
後述するデータ保持期間の設定を変更して、容量を節約します。
ただ、もう少しお金を払えるなら64GBにしてもOKです。特に何も変更せず、次へ。
新しいセキュリティグループを作成する
を選択、
セキュリティグループ名、説明を適当に入力、
ソースIPをマイIP
に変更して、確認と作成
ボタンを押下。
後でT-Potの各ハニーポット用にインバウンドの設定を追加しますが、
ここではセットアップ用に自分だけがSSHで接続できるようにします。確認して
作成
ボタンを押下。SSHでログインするためのキーを作成します。
キーペア名を適当に入力(ここでは、T-Pot-key-pairとしました)してから、
キーペアのダウンロード
ボタンを押下してダウンロードします。
その後、インスタンスの作成
ボタンを押下。
キーペアは再ダウンロードできないため注意!インスタンスの作成要求が完了しました。
長くなったので一旦ここまで。
AWSの操作だけで終わってしまった・・・。
続きはこちら。 graneed.hatenablog.com