Scaleway上にHoneypot(T-Pot)をインストールする
はじめに
マルウェアとじゃれたり、攻撃者の足跡を観察してみたいと思ったのでハニーポットの運用をしてみることにした。ハニーポットって聞いたことはあるけど使ったことがなかったので、何か簡単にセットアップできてサクッと見れるのないかなーと思っていたら、 T-Pot
というお菓子の詰め合わせみたいなものがあったので、それを使ってみることにしました。ただ、 T-Pot
は要求するスペックが高い(メモリ4GB以上、DISK64GB以上)
GitHub - dtag-dev-sec/tpotce: T-Pot Universal Installer and T-Pot ISO Creator
※ 2018/10/29 自動的にプロビジョニングする playbook を作成したので、以下の手順を実行しなくても構築可能
環境選定
ハニーポットを構築するにあたり、VPSの利用か自宅で鯖を立てるかのどちらにしようか悩んだ結果、以下の理由からVPSを使うことにした。
VPSを選んだ理由
- 賃貸だから固定IPを取るのめんどくさい(申請)
- T-Potに耐えられるスペックのマシンが一台しかない
- 固定IP + 電気代を考えるならクラウド使うのと料金変わらなかったりする?
- 単純に旬のVPS使ってみたい
利用するVPS
当初はAWS一択(それ以外全然知らないし意識してなかった)だったが、友人から安いVPS Scaleway
があることを教えてもらい、急遽そちらを使うことにした。
ざっくり料金を見積もるとこんな感じになりそうだったので、お小遣い制の自分からするとどちらを使うべきかは明白。
※ Kibana が重いため最終的には 1-L のタイプ(約2,000円)を利用。
VPS | インスタンスタイプ | 値段 |
---|---|---|
EC2 | t2.mediam | 約5,000円 |
Scaleway | Start 1-M | 約1,000円 |
Scaleway利用の流れ
早速 Scaleway を利用してみる。
支払い情報入力
ログイン情報を入力してアカウント作成
同意
メールアドレスの確認
電話番号の入力(この後確認コードが飛んでくる)。81
日本 + 090の先頭を削除した 90
から番号を入力する。
最後にクレジットカード(必須)と住所情報を入力して完了(画面違うけど)
サーバーインスタンス作成
左上の Create Server
ボタンを押してサーバーインスタンス作成画面に飛ぶ。今回はT-Potのスペックを満たす以下のサーバーを選択。ちなみにロケーションは Amsterdam
の方がレスポンスが早かった。
OSは Ubuntu 16.04.x(Xenial)
を選択
ディスクの選択(ちなみに 150GB
volumeが付いてきてるが、サーバーインスタンス起動時はマウントされてない状態なので、別途マウントする必要がある。マウントしないとシステムボリュームの 50GB
だけしか使えない)
あとはそのままで、一番下の方にあるlaunchで完了する
アタッチメントされたディスクのマウント
これをやってなかったので、一日立たずに無事死亡しました。なので絶対やりましょう。公式にマウントまでの手順があるので、これを実施する。
How to attach and detach additional volumes to an existing server - Scaleway
fdisk -l
で追加でアタッチメントされているディスクを調べる(今回のは /dev/vdb: 139.7 GiB
)
# fdisk -l Disk /dev/vda: 46.6 GiB, 50000000000 bytes, 97656250 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 217FDD50-4437-4A58-8524-09728E4353CA Device Start End Sectors Size Type /dev/vda1 206848 97656216 97449369 46.5G Linux filesystem /dev/vda15 2048 206847 204800 100M EFI System Partition table entries are not in disk order. Disk /dev/vdb: 139.7 GiB, 150000000000 bytes, 292968750 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes
フォーマット
# mkfs -t ext4 /dev/vdb
マウント
# mkdir /data # mount /dev/vdb /data
再起動してもマウントされるようにする
# vi /etc/systemd/system/data.mount
[Unit] Description=Mount NDB Volume at boot [Mount] What=UUID="a0630171-a6c0-4f61-ab75-caeb55982eb2" Where=/data Type=ext4 Options=defaults [Install] WantedBy=multi-user.target
リロードと有効化
# systemctl daemon-reload # systemctl start data.mount # systemctl enable data.mount
T-Potが使えるようになるまで
ハニーポッターとして、群がってくる奴らを観察できるようにする。
インストール
サーバーにログインする
ssh root@xx.xx.xx.xx
Gitコマンドインストール
apt-get update apt-get install -y git
console-setup
のインストール。これがないと cp: cannot stat '/usr/share/consolefonts/Uni2-Terminus12x6.psf.gz': No such file or directory
というエラーがゴール手前で発生する。
apt-get install console-setup
ユーザを追加する(tpotユーザはこの中で使われるため避ける)
# adduser honeypotter # mkdir /home/honeypotter/.ssh # cp /home/ubuntu/.ssh/authorized_keys /home/honeypotter/.ssh/ # chown -R honeypotter:honeypotter /home/honeypotter/.ssh
T-Potのインストーラ実行
# git clone https://github.com/dtag-dev-sec/t-pot-autoinstall.git # cd t-pot-autoinstall # sudo su # ./install.sh
T-Potで使用するユーザを尋ねられるので、上で作成したユーザ honeypotter
を指定する
Make sure the SSH login for your normal user is working! Which user do you usually work with? This script is invoked by root, but what is your normal username? Enter username: honeypotter
インストールタイプの選択
########################################################## # # # How do you want to proceed? Enter your choice. # # # # Required: 4GB RAM, 64GB disk # # Recommended: 8GB RAM, 128GB SSD # # # # 1 - T-Pot's STANDARD INSTALLATION # # Standard Honeypots, Suricata & ELK # # # # 2 - T-Pot's HONEYPOTS ONLY # # Honeypots only, w/o Suricata & ELK # # # # 3 - T-Pot's INDUSTRIAL EDITION # # Conpot, eMobility, Suricata & ELK # # # # 4 - T-Pot's FULL INSTALLATION # # Everything # # # ########################################################## Your choice: 1
webアクセスするときのパスワード設定を求められるので適当な情報を入力
### Removing NGINX default website. ### Please enter a password for your user honeypotter for web access. Password: xxxx Repeat password: xxxx Adding password for user honeypotter
全てのセットアップが正常に終了すると、サーバーが再起動する。
webから状況を観察する
再起動したら以下のURLにアクセスすると、無事 Kibana のUIが表示される。
https://xx.xx.xx.xx:64297
SSHでログインする
ポートが22番から64295に変更されている
ssh root@xx.xx.xx.xx -p 64295