#1. はじめに
予め準備したUbuntu 18.04のEC2インスタンスに、T-potをセットアップしていきます。
今回は長期運用せず、T-potをインストールして動作していることを確認するまでとします。
#2. インストール前の準備
インストールを行う前に、T-potを使用する上でいくつかの点を考慮しておこうと思います。
##2.1. EC2上でのハニーポット運用は問題ないのか
この点については、以下のブログを参考にさせていただきました。
最新の状況を確認したい方や、慎重派な方は、ご自身でお問い合わせするのが良いでしょう。
ハニーポットの運用が規約違反でないか調べてみた#2
https://blackle0pard.net/wxn7jq/
##2.2. ネットワークとセキュリティグループの設定
万が一に備えて、他の用途に使用するインスタンスが存在しないVPCで、ハニーポットを動作さます。
ハニーポットを設置するサブネットはパブリックサブネットの必要があります。
また、現時点では自身のIPからの22/tcp接続がセキュリティグループで許可されていればOKです。
##2.3. CloudWatchアラームの設定
こちらも万が一に備えて、CPUの使用率が高止まりした場合や、大量のネットワークパケットが発生した場合には、インスタンスを強制的に停止するアラームを作成しました。
#3. T-potインストール
いよいよインストールを行っていきます。
インストール中にこけるのが心配な方は、一度スナップショットを取っておいても良いでしょう。
##3.1. OSのアップデート
いつものおまじない
sudo apt-get update
sudo apt-get upgrade -y
##3.2. ユーザの作成、デフォルトユーザの無効化
管理用に使用するアカウントを作成します。
sudo adduser USER-NAME
sudo gpasswd -a your-user sudo
作成したユーザでも、同じ鍵でログインできるようにします。
sudo mkdir /home/USER-NAME/.ssh/
sudo cp /home/ubuntu/.ssh/authorized_keys /home/USER-NAME/.ssh/
cd /home/USER-NAME/
sudo chown USER-NAME:USER-NAME .ssh/authorized_keys
他の記事でもおすすめされていたので、デフォルトユーザーを無効化します。
sudo passwd -l DEFAULTUSERNAME
##3.3. T-potリポジトリのクローン
ここは、本家のサイトのReadmeに記載の「Post-Install Auto」に従っていきます。
T-Pot 18.11
https://github.com/dtag-dev-sec/tpotce
git clone https://github.com/dtag-dev-sec/tpotce
cd tpotce/iso/installer/
cp tpot.conf.dist tpot.conf
tpot.confには、Web UIアクセス時のユーザ名やパスワードの設定が記述されているため、編集してデフォルトから変更しておきます。
##3.4. インストール実行
準備が整ったら、インストールを実行します。
./install.sh --type=auto --conf=tpot.conf
##3.5. 再起動
めでたくインストールが完了すると、再起動を促すメッセージが表示されるので、再起動しましょう。
sudo reboot now
#4. インストール後の設定変更
インストールが完了すると、管理用のSSHポートが64295/tcpに変更になります。
また、Web UIが64297/tcpで閲覧できるため、ここにもアクセスできるようにします。
よって、セキュリティグループの設定を以下のように変更します。
ここでも、ソースは自身のIPのみとするのが良いでしょう。
#5. コンソールへのSSHアクセス
変更したポート番号64295/tcpを用いて、SSHアクセスを試みます。
ちなみに、Elastic IPを割り当てていない場合は、再起動後にインスタンスのパブリックDNSやIPが変更になっていますのでご注意を。
#6. Web UIへのアクセス
Web UIへもアクセスできるようになったので、以下のURLでブラウザからアクセスしてみます。
https://[YOUR-PUBLIC-DNS]:64297
#7. セキュリティグループの変更
ここまでで、もう観測用のハニーポットのコンテナは実行中の状態です。
準備が整ったので、いよいよ攻撃が観測できるようにセキュリティグループでポートの開放を行います。
なお、今回は第三者に影響を与えないように注意するため、セキュリティグループのアウトバウンドのルールをすべて削除し、ハニーポットから開始されるアウトバウンドパケットはすべて拒否する設定にしました。(これのせいもあって、観測できたパケットは限定的となりました。。。)
セキュリティグループはステートフルであるため、この場合でも通常のWEB UIへの接続などは問題なく行えます。
あとは、観測を勧めていくのみです。
#9. おわりに
これでT-potをインストールすることができました。
セキュリティグループの設定と、インストール用のコマンド打ったぐらいでしたので、意外とあっさりできたなという印象です。
今回は試験的に短時間動作させたため、不審なファイルのアップロードなどはありませんでしたが、それでも複数種類の攻撃が観測できたのは興味深かったです。
#10. 参考サイト
EC2上にHoneypot(T-Pot)をインストールして、サイバー攻撃をELKで可視化してみた
https://qiita.com/tarosaiba/items/871ab0c155578f8a38fe
ハニーポット詰め合わせT-potをAmazon EC2上で10日間運用してかかった費用の話
http://onthesoup.hatenablog.com/entry/2017/05/31/234438
ハニーポットをT-Pot 17.10で構築してみた。
https://qiita.com/k-onishi/items/2d04ec4ea86a09d136ea