Technical Preview #1325
Replies: 5 comments 6 replies
-
This is great! Just today I was adapting the auto installer because I need to deploy sensors on SLES. Thank you for this project. |
Beta Was this translation helpful? Give feedback.
-
thank you for all your hardwork and dedication to this project. |
Beta Was this translation helpful? Give feedback.
-
any updates on this? |
Beta Was this translation helpful? Give feedback.
-
Thank you for all your hard work we all appreciate it so much! Got it running via digital ocean on a 22.04 ubuntu! |
Beta Was this translation helpful? Give feedback.
-
is there a way to do specific installs with the preview:
|
Beta Was this translation helpful? Give feedback.
-
T-Pot - Technical Preview
T-Pot will be turning 10 years next year and this milestone will be celebrated when the time comes, which brings us today to the best time to reflect on how technology advanced, what this means for the project and how we can ensure T-Pot will meet the current and future requirements of the community.
TL;DR
$ git clone https://github.com/telekom-security/tpotce
$ cd tpotce/preview/installer/<distro>
$ ./install.sh
.env
:vi preview/.env
Table of Contents
Disclaimer
Last Time Departed
Jumping back to 2014 T-Pot was born as the direct ancestor of our Raspberry Pi images we used to offer for download (which probably by now only insiders will remember 😅). Docker was just the new kid on the block with the shiny new container engine everyone desperately unknowingly waited for and thus taking the dev-world by storm. At that point we wanted to ensure that T-Pot was something tangible, tethered to a physical device (Hello NUC my old friend 👋) while using latest technologies ensuring an easy transition should we ever leave hardware based installations (or VMs for that matter). And Oh-My-Zsh as you all know that day came faster than anticipated! (Special thanks @vorband, @shaderecker and @tmariuss for all of their contributions!)
Present Time
Flash Forward to today, T-Pot offers support for Debian, both as an ISO based installation or a post installation method (install your own Debian Server), support for OTC, AWS and other clouds through Ansible and Terraform Support. All of this in many different flavors and even a distributed installation. At the same time we are still relying on the same base concept we originally started with which does not seem fit for the foreseeable future.
In the last couple of years being independent of a certain platform was the one feature that stood out by far. The reason for this, until today, is the simple fact that T-Pot, although relying heavily on Docker, still relies on a fully controlled environment. This has its advantages but can not meet a demand where cloud based installations need different settings than we can provide (we can only run limited platform tests), companies follow different guidelines for allowed distributions or hosters simply offer Debian images slightly adjusted to their environments causing issues with the setting T-Pot relies on. Roll the dice or ask the Magic-8-Ball.
Destination Time
Back to the future of T-Pot. For a brief time we had the idea of T-Pot Light which should compensate for the missing platform support. A concept was whipped up to support all of T-Pot's dockered services on minimal installations of Debian, Fedora, OpenSuse and Ubuntu Server. And it worked! It worked so good that we have almost achieved feature parity for this Technical Preview and decided that this is the best candidate for the future of the development of T-Pot
We are thrilled to share this now, so you can test, provide us with feedback, open issues and discussions and give us the chance to make the next T-Pot the best T-Pot we have ever released!
Technical Preview
For the purpose of the Technical Preview T-Pot will still use the 22.04 images and for a great part rely on the 22.04 release. This will lay the groundwork though for the next T-Pot release by just relying on the latest Docker package repositories (yes, the distros mostly do not offer Docker's bleeding edge features), some tiny modifications on the host (installer and uninstaller provided!) and move all of T-Pot's core in its own Docker image with a simple, user adjustable, configuration.
Architecture
While the basic architecture still remains, the Technical Preview of T-Pot is mostly independent of the underlying OS with only some basic requirements:
System Requirements
The known T-Pot hardware (CPU, RAM, SSD) requirements and recommendations still apply.
Installation
Download one of the supported Linux distro images,
git clone
the T-Pot repository and run the installer specific to your system. Running T-Pot on top of a running and supported Linux system is possible, but a clean installation is recommended to avoid port conflicts with running services.Choose your distro
Choose a supported distro of your choice. It is recommended to use the minimum / netiso installers linked below and only install a minimalistic set of packages. SSH is mandatory or you will not be able to connect to the machine remotely.
Get and install T-Pot
$ git clone https://github.com/telekom-security/tpotce
$ cd tpotce/preview/installer
fedora
:$ cd fedora
$ ./install.sh
:tcp/64295
sudo
)dps
anddpsw
aliases (grc docker ps -a
,watch -c "grc --colour=on docker ps -a
)$ sudo reboot
T-Pot Config File
T-Pot offers a configuration file providing environment variables not only for the docker services (i.e. honeypots and tools) but also for the docker compose environment. The configuration file is hidden in the
preview
folder and is called.env
. There is however an example file (env.example
) which holds the default configuration.Before the first start set the
WEB_USER
andWEB_PW
. Once T-Pot was initialized it is recommended to remove the password and setWEB_PW=<changeme>
. Other settings are available also, these however should only be changed if you are comfortable with possible errors 🫠 as some of the features are not fully integrated and tested yet.macOS & Windows
Sometimes it is just nice if you can spin up a T-Pot instance on macOS or Windows, i.e. for development, testing or just the fun of it. While Docker Desktop is rather limited not all honeypot types or T-Pot features are supported. Also remember, by default the macOS and Windows firewall are blocking access from remote, so testing is limited to the host. For production it is recommended to run T-Pot on Linux.
To get things up and running just follow these steps:
$ git clone https://github.com/telekom-security/tpotce
$ cd tpotce/preview/compose
$ cp mac_win.yml ../docker-compose.yml
You can follow the README on how to Start T-Pot, however you may skip the crontab.
Start T-Pot
$ cd tpotce/preview/
$ docker compose up
(notice the missing dash,docker-compose
no longer exists with the latest Docker installation)$ docker compose -f /<path_to_tpot>/tpotce/preview/docker-compose.yml up
directly if you want to avoid to change into thepreview
folder or add an alias of your choice.docker compose
will now download all the necessary images to run the T-Pot Docker containerstpotinit
) will initialize and create thedata
folder in the path specified (by default it is located intpotce/preview/data/
):docker compose
will simply abort)CTRL-C
...$ docker compose up -d
docker compose down -v
T-Pot's Docker service will remain persistent and restart with a rebootcrontab -e
which will also add some container and image management.Stop T-Pot
$ cd tpotce/preview/
$ docker compose down -v
(notice the missing dash,docker-compose
no longer exists with the latest docker installation)$ docker compose -f /<path_to_tpot>/tpotce/preview/docker-compose.yml down -v
directly if you want to avoid to change into thepreview
folder or add an alias of your choice.Uninstall T-Pot
$ cd tpotce/preview/uninstaller/
fedora
:$ cd fedora
$ ./uninstall.sh
:$ sudo reboot
Feedback
To ensure the next T-Pot release will be everything we and you - The T-Pot Community - have in mind please feel free to leave comments in the
Technical Preview
discussion pinned on our GitHub Discussions section. Please bear in mind that this Technical Preview is made public in the earliest stage of the T-Pot development process at your convenience for your valuable input.Thank you for testing 💖
Special thanks to all the contributors and developers making this project possible!
Beta Was this translation helpful? Give feedback.
All reactions