Amazon LighsailにT-pot 22.04.0を構築した
はじめに
今回は、Amazon LightsailにT-pot22.04.0をインストールしたので、その手順を本記事にまとめました。(2023/04/10更新)
インスタンスの準備
T-pot 22.04.0のシステム要件
T-pot 22.04.0のシステム要件についてはSystem requirementsに記載されています。
T-potのインストールには最低8〜16GBのRAMと128GBのディスク、及び動作可能なインターネット接続が必要になります。
また、インストールドキュメント(Tecnical Concept, Post install)には以下のように記載されており、Debian11で動作することを前提としています。
T-Pot is based on the Debian 11 (Bullseye) Netinstaller and utilizes docker and docker-compose to reach its goal of running as many tools as possible simultaneously and thus utilizing the host's hardware to its maximum.
In some cases it is necessary to install T-Pot after you install Debian.
インスタンスの生成
AWSのサービスからLightSailを選択し、「インスタンスの生成」ボタンを押します。
リージョン
どこでも問題ないようですが、今回はTokyoを選択しました。
インスタンスイメージの選択
プラットフォームは「Linux/Unix」を選択、設計図は「OSのみ」「Debian10.8」「Debian11.4」を選択します。
インスタンスプランの選択
$80(CPU:4core、RAM:16GB、SSD:320GB、HDD:6TB)を選択します。$40でもインストールはできましたが、可視化ツールが正常に動作しませんでした。
インスタンス名の設定
インスタンス名は「T-pot」にしました。
インスタンスの生成が完了しました。
SSH接続
どのタイミングかは確認していませんが、途中でブラウザベースのSSH接続ができなくなってしまうため、Tera TermなどのターミナルエミュレータやコマンドからSSH接続して作業を行います。
まず、インスタンスの接続タブからsshキーファイルをダウンロードしておきます。
Tera Term
インストールはこちらから:https://ja.osdn.net/projects/ttssh2/releases/
この時点では、接続ポートは22です。 ユーザ名に「admin」を指定し、認証方式で「RDS/DSA/ECDSA/ED25519鍵を使う」を選択し、ダウンロードしたsshキーを指定して接続します。
sshコマンド
コマンドで接続する場合は以下のコマンドを実行します。
sudo su - chmod 600 <sshキーのパス> ssh -p 22 -l admin -i <sshキーのパス> <インスタンスのpublic IP>
Debian10からDebian11へアップグレード(現在はDebian11.4を選択できるためここは飛ばしてください。)
T-pot22.04.0はDebian11(bullseye)での動作が前提となっているので、T-potをインストールする前にアップグレードします。
バージョン確認
LInux,OSのバージョン
lsb_release -a
uname -mrs
Debianのバージョン
cat /etc/debian_version
既存のパッケージの更新
アップデートの過程でerrorを引き起こさないように、すべてのセキュリティパッチと保留中のアップグレードをDebian10に適応させ、システムを再起動します。
sudo apt-mark showhold | more sudo apt-mark unhold package_name sudo apt-get update sudo apt-get upgrade sudo apt-get full-upgrade sudo apt-get --purge autoremove sudo systemctl reboot
/etc/apt/souces.listの更新
/etc/apt/sources.list
で指定されたサーバからパッケージを取得しているようなので、アップグレードする前にこちらを書き換える必要があります。
before
deb http://cdn-aws.deb.debian.org/debian buster main deb-src http://cdn-aws.deb.debian.org/debian buster main deb http://security.debian.org/debian-security buster/updates main deb-src http://security.debian.org/debian-security buster/updates main deb http://cdn-aws.deb.debian.org/debian buster-updates main deb-src http://cdn-aws.deb.debian.org/debian buster-updates main deb http://cdn-aws.deb.debian.org/debian buster-backports main deb-src http://cdn-aws.deb.debian.org/debian buster-backports main
after
deb http://cdn-aws.deb.debian.org/debian bullseye main deb-src http://cdn-aws.deb.debian.org/debian bullseye main deb http://security.debian.org/debian-security bullseye-security/updates main deb-src http://security.debian.org/debian-security bullseye-security/updates main deb http://cdn-aws.deb.debian.org/debian bullseye-updates main deb-src http://cdn-aws.deb.debian.org/debian bullseye-updates main deb http://cdn-aws.deb.debian.org/debian bullseye-backports main deb-src http://cdn-aws.deb.debian.org/debian bullseye-backports main
最小限のシステムアップグレード
まず、最小のシステムインストールを行います。
sudo apt update sudo apt upgrade --without-new-pkgs
こちらの画面が出てきた場合は「はい」を選択します。
フルアップグレード
問題がなければ以下のコマンドでシステム全体のアップグレードを行います。
sudo apt full-upgrade
このような画面が出てきた場合は「keep the local version currently installed」を選択します。
Linuxシステムの再起動
システムの再起動を行い、アップグレードできていることを確認します。
sudo systemctl reboot lsb_release -a uname -mrs cat /etc/debian_version
T-pot 22.04.0のインストール
いよいよT-potのインストールに入ります。
Gitインストール
まずはじめにGitのインストールを行います。後に必要になるのでパスワードの設定も行います。
sudo su - apt-get update -y && apt-get upgrade -y passwd admin apt-get install git
T-potインストール
今回はこちらからクローンしました。
インストーラーのあるディレクトリに移動し、設定ファイルのdistributionを同名でコピーします。
管理画面のユーザ名とパスワードを設定する場合は、このファイルを編集します。
git clone https://github.com/telekom-security/tpotce cd tpotce/iso/installer/ cp tpot.conf.dist tpot.conf vim tpot.conf
default
myCONF_WEB_USER :webuser myCONF_WEB_PW :w3b$ecret
以下のコマンドでT-potをインストールします。
sudo ./install.sh --type=auto --conf=tpot.conf
※インストールの途中で中断してしまったり、エラーがでてしまった場合にはもう一度インスタンスを生成し直す必要があります。
インストールが完了すると再起動を促すメッセージが表示されるので、以下のコマンドで再起動を行います。
reboot
再起動するとT-potが起動できています。
アクセスポートの設定
管理用途のアクセス(管理画面、SSH接続、Cockpit)ができるように、Light SailのインスタンスのネットワーキングタブからIPv4ファイアウォールを編集します。
- 64294(Cockpit用ポート)
- 64295(SSH接続用ポート)
- 64297(webUI用ポート)
上記のポートは安全のため、DHCPサーバによって割り当てられているIPアドレスのみに限定すると良いかと思います。
DHCPにより割り当てられているIPアドレスはこちらのサイトから調べることができます。
※T-potのインストールを行い再起動すると、SSH接続のポートが変わっているので22番ポートでは接続できなくなります。
管理画面(webUI)の確認
Webブラウザでhttps://<インスタンスのpublic IP>:64297
を開きます。
「この接続ではプライバシーが保護されません」もしくは「潜在的なセキュリティリスクあり」と表示されますが、 「詳細情報」から「<IPアドレス> にアクセスする(安全ではありません)」もしくは「危険性を承知で続行」を選択します。
ポップアップでWebユーザ名とパスワードを求められるので、tpot.confで設定したものを入力します。
成功すると以下のような画面が表示されます。
この時点ではポートを開いていないので攻撃は観測できません。
SSH接続
次に、SSH接続を行います。
Tera Term
ここでは接続ポートは64295に設定します。 ユーザ名、sshキーを選択して接続します。
sshコマンド
こちらも接続ポートを変更する以外は先程と同様です。
sudo su - #chmod 600 <SSHキーのパス> //permissionが変更されていなければ ssh -p 64295 -l admin -i <SSHキーのパス> <インスタンスのpublic IP>
Cockpitにアクセス
先程の管理画面からCockpitを選択すると、再びセキュリティのリスクがある旨のメッセージが表示されますが、 「詳細情報」から続行します。
以下のような画面が表示され、マシンのユーザ名とパスワードを求められるので入力します。
通るとこのようにマシンの状態を視覚的に確認できます。
アクセスポートの開放
最後に、攻撃を受けるために1-64000のアクセスポートを開放します。
詳しいアクセスポートについてはRequired Portから確認できます。
少し時間をおいてWebUIからkibanaを開くと以下の様に攻撃が観測できました。
参考記事・サイト
How to upgrade Debian 10 to Debian 11 Bullseye using the CLI - nixCraft