T-Pot adalah platform honeypot multiarch (amd64, arm64) yang terdistribusi secara opsional, mendukung 20+ honeypot dan opsi visualisasi yang tak terhitung jumlahnya menggunakan Elastic Stack, peta serangan langsung animasi, dan banyak alat keamanan untuk lebih meningkatkan pengalaman penipuan.
Memenuhi persyaratan sistem. Instalasi T-Pot memerlukan setidaknya 8-16 GB RAM, 128 GB ruang disk kosong, serta koneksi internet yang berfungsi (keluar tanpa filter).
Unduh atau gunakan distribusi yang berjalan dan didukung.
Instal ISO dengan paket/layanan seminimal mungkin (diperlukan ssh
)
Instal curl
: $ sudo [apt, dnf, zypper] install curl
jika belum diinstal
Jalankan penginstal sebagai non-root dari $HOME
:
env bash -c "$(curl -sL https://github.com/telekom-security/tpotce/raw/master/install.sh)"
Ikuti instruksi, baca pesan, periksa kemungkinan konflik port dan reboot
T-Pot - Platform Multi Honeypot Semua Dalam Satu
TL;DR
Penafian
Konsep Teknis
Arsitektur Teknis
Layanan
Jenis Pengguna
Persyaratan Sistem
Berjalan di VM
Berjalan di Perangkat Keras
Berjalan di Awan
Port yang Diperlukan
Penempatan Sistem
Instalasi
Standar / HIVE
Didistribusikan
Pilih distro Anda
Dukungan Raspberry Pi 4 (8GB).
Dapatkan dan instal T-Pot
macOS & Windows
Jenis Instalasi
Copot pemasangan T-Pot
Mulai Pertama
Perencanaan dan Sertifikat
Menyebarkan Sensor
Mulai Pertama yang Berdiri Sendiri
Penerapan Terdistribusi
Penyampaian Data Komunitas
Keikutsertaan Pengiriman Data HPFEEDS
Akses dan Alat Jarak Jauh
SSH
Halaman Arahan T-Pot
Dasbor Kibana
Peta Serangan
koki dunia maya
elastisvue
kaki laba-laba
Konfigurasi
File Konfigurasi T-Pot
Sesuaikan Honeypot dan Layanan T-Pot
Pemeliharaan
Ekspor
Impor
Gambar Docker Gagal Diunduh
Jaringan T-Pot Gagal
Pembaruan Umum
Perbarui Skrip
Reboot Harian
Masalah yang Diketahui
Mulai T-Pot
Hentikan T-Pot
Folder Data T-Pot
Catat Kegigihan
Reset Pabrik
Tampilkan Kontainer
lubang hitam
Tambahkan Pengguna ke Nginx (T-Pot WebUI)
Impor dan Ekspor Objek Kibana
Pemecahan masalah
Log
RAM dan Penyimpanan
Kontak
Masalah
Diskusi
Lisensi
Kredit
Pengembang dan komunitas pengembangan
Testimonial
Anda menginstal dan menjalankan T-Pot sesuai tanggung jawab Anda. Pilih penerapan Anda dengan bijak karena kompromi sistem tidak akan pernah bisa dikesampingkan.
Untuk bantuan cepat, teliti Isu dan Diskusi.
Perangkat lunak ini dirancang dan ditawarkan dengan mempertimbangkan upaya terbaik. Sebagai proyek komunitas dan sumber terbuka, proyek ini menggunakan banyak perangkat lunak sumber terbuka lainnya dan mungkin mengandung bug dan masalah. Laporkan secara bertanggung jawab.
Honeypots - menurut desainnya - tidak boleh menampung data sensitif apa pun. Pastikan Anda tidak menambahkan apa pun.
Secara default, data Anda dikirimkan ke Sicherheitstacho. Anda dapat menonaktifkan ini di konfigurasi ( ~/tpotce/docker-compose.yml
) dengan menghapus bagian ewsposter
. Namun dalam hal ini berbagi benar-benar berarti kepedulian!
Komponen utama T-Pot telah dipindahkan ke image Docker tpotinit
yang memungkinkan T-Pot sekarang mendukung beberapa distribusi Linux, bahkan macOS dan Windows (walaupun keduanya terbatas pada rangkaian fitur Docker Desktop). T-Pot menggunakan komposisi buruh pelabuhan dan buruh pelabuhan untuk mencapai tujuannya menjalankan sebanyak mungkin honeypot dan alat secara bersamaan dan dengan demikian memanfaatkan perangkat keras host secara maksimal.
T-Pot menawarkan gambar buruh pelabuhan untuk honeypot berikut ...
adbhoney,
ciscoasa,
citrixhoneypot,
konpot,
cowrie,
titik dospot,
dikompot,
dionaea,
pot elastis,
tak berujung,
pelahap,
neraka,
menggembar-gemborkan,
honeypot,
perangkap madu,
iPhone,
log4pot,
surat surat,
pot obat,
redishoneypot,
penjaga,
jerat,
penyamak,
pot kata
... di samping alat-alat berikut ...
Pemulihan otomatis adalah alat untuk memulai ulang container secara otomatis dengan pemeriksaan kesehatan yang gagal.
Cyberchef aplikasi web untuk enkripsi, pengkodean, kompresi dan analisis data.
Elastic Stack untuk memvisualisasikan dengan indah semua peristiwa yang ditangkap oleh T-Pot.
Elasticvue merupakan front end web untuk menjelajah dan berinteraksi dengan cluster Elasticsearch.
Buat skrip berbasis pyshark untuk mengekstraksi metadata jaringan dan sidik jari dari file pcap dan lalu lintas jaringan langsung.
T-Pot-Attack-Map peta serangan animasi yang indah untuk T-Pot.
P0f adalah alat untuk sidik jari lalu lintas yang murni pasif.
Spiderfoot merupakan alat otomatisasi intelijen sumber terbuka.
Suricata merupakan mesin Pemantau Keamanan Jaringan.
... untuk memberi Anda pengalaman terbaik dan sistem multi-honeypot yang mudah digunakan.
Kode sumber dan file konfigurasi disimpan sepenuhnya di repositori T-Pot GitHub. Gambar buruh pelabuhan dibuat dan dikonfigurasikan sebelumnya untuk lingkungan T-Pot.
File dan konfigurasi Docker individual terletak di folder buruh pelabuhan.
T-Pot menawarkan sejumlah layanan yang pada dasarnya dibagi menjadi lima kelompok:
Layanan sistem disediakan oleh OS
SSH untuk akses jarak jauh yang aman.
Tumpukan elastis
Elasticsearch untuk menyimpan acara.
Logstash untuk menyerap, menerima, dan mengirim peristiwa ke Elasticsearch.
Kibana untuk menampilkan acara di dasbor yang ditampilkan dengan indah.
Peralatan
NGINX menyediakan akses jarak jauh yang aman (proksi terbalik) ke Kibana, CyberChef, Elasticvue, GeoIP AttackMap, Spiderfoot dan memungkinkan sensor T-Pot mengirimkan data peristiwa dengan aman ke sarang T-Pot.
CyberChef aplikasi web untuk enkripsi, pengkodean, kompresi dan analisis data.
Elasticvue merupakan front end web untuk menjelajah dan berinteraksi dengan cluster Elasticsearch.
T-Pot Attack Map peta serangan animasi yang indah untuk T-Pot.
Spiderfoot merupakan alat otomatisasi intelijen sumber terbuka.
pot madu
Pilihan dari 23 honeypot yang tersedia berdasarkan docker-compose.yml
yang dipilih.
Pemantauan Keamanan Jaringan (NSM)
Buat skrip berbasis pyshark untuk mengekstraksi metadata jaringan dan sidik jari dari file pcap dan lalu lintas jaringan langsung.
P0f adalah alat untuk sidik jari lalu lintas yang murni pasif.
Suricata merupakan mesin Pemantau Keamanan Jaringan.
Selama instalasi dan selama penggunaan T-Pot ada dua jenis akun berbeda yang akan Anda gunakan. Pastikan Anda mengetahui perbedaan berbagai jenis akun, karena ini merupakan penyebab paling umum terjadinya kesalahan autentikasi.
Melayani | Jenis Akun | Nama Pengguna / Grup | Keterangan |
---|---|---|---|
SSH | sistem operasi | <OS_USERNAME> | Pengguna yang Anda pilih saat instalasi OS. |
Nginx | BasicAuth | <WEB_USER> | <web_user> yang Anda pilih saat instalasi T-Pot. |
Koki Cyber | BasicAuth | <WEB_USER> | <web_user> yang Anda pilih saat instalasi T-Pot. |
elastisvue | BasicAuth | <WEB_USER> | <web_user> yang Anda pilih saat instalasi T-Pot. |
Peta Serangan Geoip | BasicAuth | <WEB_USER> | <web_user> yang Anda pilih saat instalasi T-Pot. |
kaki laba-laba | BasicAuth | <WEB_USER> | <web_user> yang Anda pilih saat instalasi T-Pot. |
T-Pot | sistem operasi | tpot | tpot pengguna/grup ini selalu dicadangkan oleh layanan T-Pot. |
Log T-Pot | BasicAuth | <LS_WEB_USER> | LS_WEB_USER dikelola secara otomatis. |
Bergantung pada gambar distro Linux yang didukung, sarang/sensor, pemasangan pada perangkat keras nyata, di mesin virtual atau lingkungan lain, terdapat berbagai jenis persyaratan yang harus dipenuhi terkait OS, RAM, penyimpanan, dan jaringan agar instalasi T-Pot berhasil ( Anda selalu dapat menyesuaikan ~/tpotce/docker-compose.yml
dan ~/tpotce/.env
dengan kebutuhan Anda untuk mengatasi persyaratan ini).
Tipe T-Pot | RAM | Penyimpanan | Keterangan |
---|---|---|---|
Sarang lebah | 16GB | SSDnya 256GB | Prinsipnya, semakin banyak sensor & data, semakin banyak pula RAM dan penyimpanan yang dibutuhkan. |
Sensor | 8GB | SSD 128GB | Karena log honeypot disimpan (~/tpotce/data) selama 30 hari, penyimpanan bergantung pada volume serangan. |
T-Pot memang membutuhkan ...
alamat IPv4 melalui DHCP atau ditetapkan secara statis
koneksi internet yang berfungsi, non-proxy, ... untuk instalasi dan pengoperasian yang berhasil.
Jika Anda memerlukan dukungan proxy atau fitur non-standar, Anda harus memeriksa dokumen image distro Linux yang didukung dan/atau dokumentasi Docker.
Semua image distro Linux yang didukung akan berjalan di VM yang berarti T-Pot akan berjalan dengan baik. Berikut ini telah diuji/dilaporkan berfungsi:
UTM (Intel & Apple Silikon)
Kotak Virtual
VMWare Fusion dan Stasiun Kerja VMWare
KVM dilaporkan berfungsi juga.
Beberapa petunjuk konfigurasi/penyiapan:
Meskipun versi Intel berjalan stabil, dukungan Apple Silicon (arm64) memiliki masalah umum yang dalam UTM mungkin memerlukan peralihan Display
ke Console Only
selama instalasi awal OS dan kemudian kembali ke Full Graphics
.
Selama konfigurasi, Anda mungkin perlu mengaktifkan mode promiscuous untuk antarmuka jaringan agar fatt, suricata, dan p0f berfungsi dengan baik.
Jika Anda ingin menggunakan kartu wifi sebagai NIC utama untuk T-Pot, perlu diketahui bahwa tidak semua driver antarmuka jaringan mendukung semua kartu nirkabel. Di VirtualBox misalnya Anda harus memilih model "MT SERVER" dari NIC.
T-Pot hanya dibatasi oleh dukungan perangkat keras dari image distro Linux yang didukung. Disarankan untuk memeriksa HCL (daftar kompatibilitas perangkat keras) dan menguji distro yang didukung dengan T-Pot sebelum berinvestasi pada perangkat keras khusus.
T-Pot telah diuji dan diketahui dapat dijalankan di ...
Telekom OTC menggunakan metode post install... yang lain mungkin berfungsi, tetapi masih belum teruji.
Beberapa pengguna melaporkan penginstalan berfungsi di cloud dan hoster lain, misalnya Azure dan GCP. Persyaratan perangkat keras mungkin berbeda. Jika Anda tidak yakin, Anda harus meneliti masalah dan diskusi serta menjalankan beberapa pengujian fungsional. Dengan T-Pot 24.04.0 dan seterusnya, kami memastikan untuk menghapus pengaturan yang diketahui mengganggu instalasi berbasis cloud.
Selain port yang umumnya dibutuhkan oleh OS, yaitu mendapatkan sewa DHCP, DNS, dll. T-Pot akan memerlukan port berikut untuk koneksi masuk/keluar. Tinjau Arsitektur T-Pot untuk representasi visual. Juga beberapa port akan muncul sebagai duplikat, yang tidak masalah karena digunakan dalam edisi berbeda.
Pelabuhan | Protokol | Arah | Keterangan |
---|---|---|---|
80, 443 | tcp | keluar | Manajemen T-Pot: Instal, Pembaruan, Log (yaitu OS, GitHub, DockerHub, Sicherheitstacho, dll. |
64294 | tcp | masuk | Manajemen T-Pot: Transmisi data sensor ke sarang (melalui proksi terbalik NGINX) ke 127.0.0.1:64305 |
64295 | tcp | masuk | Manajemen T-Pot: Akses ke SSH |
64297 | tcp | masuk | Akses Manajemen T-Pot ke proksi terbalik NGINX |
5555 | tcp | masuk | Pot Madu: ADBHoney |
5000 | udp | masuk | Honeypot: CiscoASA |
8443 | tcp | masuk | Honeypot: CiscoASA |
443 | tcp | masuk | Pot Madu: CitrixHoneypot |
80, 102, 502, 1025, 2404, 10001, 44818, 47808, 50100 | tcp | masuk | Honeypot: Konpot |
161, 623 | udp | masuk | Honeypot: Konpot |
22, 23 | tcp | masuk | Pot Madu: Cowrie |
19, 53, 123, 1900 | udp | masuk | Honeypot: Ddospot |
11112 | tcp | masuk | Honeypot: Dikompot |
21, 42, 135, 443, 445, 1433, 1723, 1883, 3306, 8081 | tcp | masuk | Pot Madu : Dionaea |
69 | udp | masuk | Pot Madu : Dionaea |
9200 | tcp | masuk | Pot Madu: Pot Elastis |
22 | tcp | masuk | Honeypot : Tak ada habisnya |
21, 22, 23, 25, 80, 110, 143, 443, 993, 995, 1080, 5432, 5900 | tcp | masuk | Honeypot: Pemberitaan |
21, 22, 23, 25, 80, 110, 143, 389, 443, 445, 631, 1080, 1433, 1521, 3306, 3389, 5060, 5432, 5900, 6379, 6667, 8080, 9100, 9200, 11211 | tcp | masuk | Honeypot: qHoneypot |
53, 123, 161, 5060 | udp | masuk | Honeypot: qHoneypot |
631 | tcp | masuk | Honeypot: IPPSayang |
80, 443, 8080, 9200, 25565 | tcp | masuk | Pot Madu: Log4Pot |
25 | tcp | masuk | Pot madu: Mailoney |
2575 | tcp | masuk | Pot Madu : Medpot |
6379 | tcp | masuk | Honeypot: Redishoneypot |
5060 | tcp/udp | masuk | Honeypot: Penjaga Rekan |
80 | tcp | masuk | Honeypot: Jerat (Penyamak) |
8090 | tcp | masuk | Pot Madu: Pot Kata |
Port dan ketersediaan layanan SaaS mungkin berbeda berdasarkan lokasi geografis Anda.
Agar beberapa honeypot dapat mencapai fungsionalitas penuh (yaitu Cowrie atau Log4Pot), koneksi keluar juga diperlukan agar dapat mengunduh malware penyerang. Silakan lihat dokumentasi masing-masing honeypot untuk mempelajari lebih lanjut dengan mengikuti tautan ke repositori mereka.
Disarankan agar Anda memahami cara kerja T-Pot dan honeypots sebelum Anda mulai melakukan pemaparan ke internet. Untuk memulai cepat, jalankan instalasi T-Pot di mesin virtual.
Setelah Anda memahami cara kerjanya, Anda harus memilih jaringan yang Anda curigai ada penyusup di dalam atau darinya (yaitu internet). Jika tidak, T-Pot kemungkinan besar tidak akan menangkap serangan apa pun (kecuali Anda ingin membuktikan suatu hal)! Sebagai permulaan, disarankan untuk menempatkan T-Pot di zona tanpa filter, di mana semua lalu lintas TCP dan UDP diteruskan ke antarmuka jaringan T-Pot. Untuk menghindari penyelidikan port manajemen T-Pot, Anda harus meletakkan T-Pot di belakang firewall dan meneruskan semua lalu lintas TCP/UDP dalam kisaran port 1-64000 ke T-Pot sambil mengizinkan akses ke port > 64000 hanya dari IP tepercaya dan / atau hanya mengekspos port yang relevan dengan kasus penggunaan Anda. Jika Anda ingin menangkap lalu lintas malware pada port yang tidak diketahui, Anda tidak boleh membatasi port yang Anda teruskan karena glutton dan honeytrap secara dinamis mengikat port TCP apa pun yang tidak ditempati oleh daemon honeypot lainnya dan dengan demikian memberi Anda gambaran yang lebih baik tentang risiko yang dihadapi oleh setup Anda. .
Unduh salah satu gambar distro Linux yang didukung, ikuti instruksi TL;DR atau git clone
repositori T-Pot dan jalankan penginstal ~/tpotce/install.sh
. Menjalankan T-Pot di atas sistem Linux yang berjalan dan didukung dimungkinkan, tetapi instalasi yang bersih disarankan untuk menghindari konflik port dengan layanan yang sedang berjalan. Penginstal T-Pot memerlukan akses langsung ke internet seperti yang dijelaskan di sini.
Langkah-langkah yang Harus Diikuti:
Unduh distribusi Linux yang didukung dari daftar di bawah.
Selama instalasi pilih versi minimum , netinstall atau server yang hanya akan menginstal paket-paket penting.
Jangan pernah menginstal lingkungan desktop grafis seperti Gnome atau KDE. T-Pot akan gagal berfungsi karena konflik port.
Pastikan untuk menginstal SSH agar Anda dapat terhubung ke mesin dari jarak jauh.
Nama Distribusi | x64 | lengan64 |
---|---|---|
Alma Linux OS 9.4 Booting ISO | unduh | unduh |
Pemasangan Jaringan Debian 12 | unduh | unduh |
Pemasangan Jaringan Fedora Server 40 | unduh | unduh |
Gambar Jaringan OpenSuse Tumbleweed | unduh | unduh |
Rocky Linux OS 9.4 Booting ISO | unduh | unduh |
Server Langsung Ubuntu 24.04 | unduh | unduh |
Nama Distribusi | lengan64 |
---|---|
Raspberry Pi OS ( 64Bit, Ringan ) | unduh |
Kloning repositori GitHub: $ git clone https://github.com/telekom-security/tpotce
atau ikuti TL;DR dan lewati bagian ini.
Ubah ke dalam folder tpotce/ : $ cd tpotce
Jalankan penginstal sebagai non-root: $ ./install.sh
:
Ubah port SSH menjadi tcp/64295
Nonaktifkan DNS Stub Listener untuk menghindari konflik port dengan honeypot
Atur SELinux ke Mode Monitor
Tetapkan target firewall untuk zona publik ke ACCEPT
Tambahkan repositori Docker dan instal Docker
Instal paket yang direkomendasikan
Hapus paket yang diketahui menyebabkan masalah
Tambahkan pengguna saat ini ke grup buruh pelabuhan (izinkan interaksi buruh pelabuhan tanpa sudo
)
Tambahkan alias dps
dan dpsw
( grc docker ps -a
, watch -c "grc --colour=on docker ps -a
)
Tambahkan alias la
, ll
dan ls
( exa
, perintah ls
yang ditingkatkan)
Tambahkan mi
(untuk micro
, alternatif yang bagus untuk vi
dan/atau nano
)
Tampilkan port terbuka pada host (bandingkan dengan port yang diperlukan T-Pot)
Tambahkan dan aktifkan tpot.service
ke /etc/systemd/system
sehingga T-Pot dapat memulai dan berhenti secara otomatis
Tergantung pada distribusi Linux pilihan Anda, penginstal akan:
Ikuti instruksi penginstal, Anda harus memasukkan kata sandi pengguna ( sudo
atau root
) setidaknya sekali
Periksa pesan penginstal untuk kesalahan dan port terbuka yang mungkin menyebabkan konflik port
Nyalakan ulang: $ sudo reboot
Terkadang menyenangkan jika Anda dapat menjalankan instance T-Pot di macOS atau Windows, misalnya untuk pengembangan, pengujian, atau sekadar bersenang-senang. Karena Docker Desktop agak terbatas, tidak semua jenis honeypot atau fitur T-Pot didukung. Ingat juga, secara default macOS dan firewall Windows memblokir akses dari jarak jauh, jadi pengujian dibatasi pada host. Untuk produksi disarankan untuk menjalankan T-Pot di Linux.
Untuk menyiapkan dan menjalankannya cukup ikuti langkah-langkah berikut:
Instal Docker Desktop untuk macOS atau Windows.
Kloning repositori GitHub: git clone https://github.com/telekom-security/tpotce
(di Windows pastikan kodenya diperiksa dengan LF
bukan CRLF
!)
Kunjungi: cd ~/tpotce
Salin cp compose/mac_win.yml ./docker-compose.yml
Buat WEB_USER
dengan menjalankan ~/tpotce/genuser.sh
(macOS) atau ~/tpotce/genuserwin.ps1
(Windows)
Sesuaikan file .env
dengan mengubah TPOT_OSTYPE=linux
menjadi mac
atau win
:
# OSType (linux, mac, win) # Most docker features are available on linux TPOT_OSTYPE=mac
Anda harus memastikan sendiri tidak ada konflik port yang menghalangi T-Pot untuk memulai.
Mulai T-Pot: docker compose up
atau docker compose up -d
jika Anda ingin T-Pot berjalan di latar belakang.
Hentikan T-Pot: CTRL-C
(jika sedang berjalan di latar depan) dan/atau docker compose down -v
untuk menghentikan T-Pot sepenuhnya.
Dengan T-Pot Standard / HIVE semua layanan, alat, honeypot, dll. akan diinstal pada satu host yang juga berfungsi sebagai titik akhir HIVE. Pastikan untuk memenuhi persyaratan sistem. Anda dapat menyesuaikan ~/tpotce/docker-compose.yml
dengan kasus penggunaan pribadi atau membuat konfigurasi Anda sendiri menggunakan ~/tpotce/compose/customizer.py
untuk pengalaman T-Pot yang disesuaikan dengan kebutuhan Anda. Setelah instalasi selesai, Anda dapat melanjutkan ke First Start.
Versi T-Pot yang didistribusikan memerlukan setidaknya dua host
T-Pot HIVE , instalasi standar T-Pot (instal ini dulu!),
dan SENSOR T-Pot, yang hanya menampung honeypot, beberapa alat, dan mengirimkan data log ke HIVE .
SENSOR tidak akan dimulai sebelum menyelesaikan instalasi SENSOR seperti yang dijelaskan dalam Penerapan Terdistribusi.
Penghapusan instalasi T-Pot hanya tersedia di distro Linux yang didukung.
Untuk menghapus instalasi T-Pot run ~/tpotce/uninstall.sh
dan mengikuti instruksi uninstaller, Anda harus memasukkan kata sandi Anda setidaknya sekali.
Setelah uninstall selesai reboot mesin sudo reboot
Setelah Penginstal T-Pot berhasil diselesaikan, sistem perlu di-boot ulang ( sudo reboot
). Setelah di-boot ulang, Anda dapat masuk ke sistem menggunakan pengguna yang Anda atur saat instalasi sistem. Login sesuai dengan Jenis Pengguna:
pengguna: [ <OS_USERNAME>
]
lulus: [kata sandi]
Anda dapat login melalui SSH untuk mengakses baris perintah: ssh -l <OS_USERNAME> -p 64295 <your.ip>
:
pengguna: [ <OS_USERNAME>
]
pass: [kata sandi, kunci ssh direkomendasikan]
Anda juga dapat masuk dari browser Anda dan mengakses WebUI dan alat T-Pot: https://<your.ip>:64297
pengguna: [ <WEB_USER>
]
lulus: [kata sandi]
Tidak banyak yang bisa dilakukan kecuali login dan memeriksa melalui dps.sh
apakah semua layanan dan honeypot dimulai dengan benar dan login ke Kibana dan/atau Geoip Attack Map untuk memantau serangan.
Penyebaran terdistribusi melibatkan perencanaan karena T-Pot Init hanya akan membuat sertifikat yang ditandatangani sendiri untuk IP host HIVE yang biasanya cocok untuk pengaturan sederhana. Karena logstash akan memeriksa sertifikat yang valid pada saat koneksi, pengaturan terdistribusi yang melibatkan HIVE agar dapat dijangkau di beberapa IP (yaitu RFC 1918 dan IP NAT publik) dan bahkan mungkin nama domain akan mengakibatkan kesalahan koneksi di mana sertifikat tidak dapat divalidasi sebagai pengaturan seperti itu memerlukan sertifikat dengan nama umum dan SAN (Nama Alternatif Subjek).
Sebelum menerapkan sensor apa pun, pastikan Anda telah merencanakan nama domain dan IP dengan benar untuk menghindari masalah dengan sertifikat. Untuk lebih jelasnya lihat edisi #1543.
Sesuaikan contoh dengan pengaturan IP/domain Anda dan ikuti perintah untuk mengubah sertifikat HIVE :
sudo systemctl stop tpot sudo openssl req -nodes -x509 -sha512 -newkey rsa:8192 -keyout "$HOME/tpotce/data/nginx/cert/nginx.key" -out "$HOME/tpotce/data/nginx/cert/nginx.crt" -days 3650 -subj '/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd' -addext "subjectAltName = IP:192.168.1.200, IP:1.2.3.4, DNS:my.primary.domain, DNS:my.secondary.domain" sudo chmod 774 $HOME/tpotce/data/nginx/cert/* sudo chown tpot:tpot $HOME/tpotce/data/nginx/cert/* sudo systemctl start tpot
File konfigurasi T-Pot ( .env
) memungkinkan untuk menonaktifkan verifikasi SSL untuk koneksi logstash dari SENSOR ke HIVE dengan mengatur LS_SSL_VERIFICATION=none
. Untuk alasan keamanan, ini hanya disarankan untuk lingkungan laboratorium atau pengujian.
Jika Anda memilih untuk menggunakan sertifikat yang valid untuk HIVE yang ditandatangani oleh CA (yaitu Let's Encrypt), logstash, dan oleh karena itu SENSOR , seharusnya tidak memiliki masalah untuk menghubungkan dan mengirimkan lognya ke HIVE .
Setelah Anda me-reboot SENSOR seperti yang diinstruksikan oleh penginstal, Anda dapat melanjutkan penerapan terdistribusi dengan masuk ke HIVE dan masuk ke folder cd ~/tpotce
. Pastikan Anda memahami Perencanaan dan Sertifikat sebelum melanjutkan penerapan sebenarnya.
Jika Anda belum melakukannya, buat kunci SSH untuk masuk dengan aman ke SENSOR dan memungkinkan Ansible
menjalankan pedoman pada sensor:
Jalankan ssh-keygen
, ikuti instruksi dan biarkan kata sandi kosong:
Generating public/private rsa key pair. Enter file in which to save the key (/home/<your_user>/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/<your_user>/.ssh/id_rsa Your public key has been saved in /home/<your_user>/.ssh/id_rsa.pub
Terapkan kunci ke SENSOR dengan menjalankan ssh-copy-id -p 64295 <SENSOR_SSH_USER>@<SENSOR_IP>)
:
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/<your_user>/.ssh/id_rsa.pub" The authenticity of host '[<SENSOR_IP>]:64295 ([<SENSOR_IP>]:64295)' can't be stablished. ED25519 key fingerprint is SHA256:naIDxFiw/skPJadTcgmWZQtgt+CdfRbUCoZn5RmkOnQ. This key is not known by any other names. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys <your_user>@172.20.254.124's password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh -p '64295' '<your_user>@<SENSOR_IP>'" and check to make sure that only the key(s) you wanted were added.
Seperti yang disarankan, ikuti petunjuk untuk menguji koneksi ssh -p '64295' '<your_user>@<SENSOR_IP>'
.
Setelah kunci berhasil diterapkan, jalankan ./deploy.sh
dan ikuti instruksinya.
Identifikasi TPOT_HIVE_USER
ENV pada SENSOR dalam konfigurasi $HOME/tpotce/.env
(ini adalah string yang dikodekan base64). Sekarang identifikasi string yang sama di LS_WEB_USER
ENV pada HIVE di konfigurasi $HOME/tpotce/.env
. Hapus string dan mulai ulang T-Pot.
Sekarang Anda dapat menghapus mesin SENSOR dengan aman.
T-Pot disediakan agar dapat diakses oleh semua orang yang tertarik dengan honeypots. Secara default, data yang diambil dikirimkan ke backend komunitas. Backend komunitas ini menggunakan data untuk memberi makan Sicherheitstacho. Anda dapat membatalkan pengiriman dengan menghapus # Ewsposter service
dari ~/tpotce/docker-compose.yml
dengan mengikuti langkah-langkah berikut:
Hentikan layanan T-Pot: systemctl stop tpot
Buka ~/tpotce/docker-compose.yml
: micro ~/tpotce/docker-compose.yml
Hapus baris berikut, simpan dan keluar dari mikro ( CTRL+Q
):
# Ewsposter service ewsposter: container_name: ewsposter restart: always depends_on: tpotinit: condition: service_healthy networks: - ewsposter_local environment: - EWS_HPFEEDS_ENABLE=false - EWS_HPFEEDS_HOST=host - EWS_HPFEEDS_PORT=port - EWS_HPFEEDS_CHANNELS=channels - EWS_HPFEEDS_IDENT=user - EWS_HPFEEDS_SECRET=secret - EWS_HPFEEDS_TLSCERT=false - EWS_HPFEEDS_FORMAT=json image: ${TPOT_REPO}/ewsposter:${TPOT_VERSION} pull_policy: ${TPOT_PULL_POLICY} volumes: - ${TPOT_DATA_PATH}:/data - ${TPOT_DATA_PATH}/ews/conf/ews.ip:/opt/ewsposter/ews.ip
Mulai layanan T-Pot: systemctl start tpot
Disarankan untuk tidak menonaktifkan pengiriman data karena ini adalah tujuan utama dari pendekatan komunitas - seperti yang Anda semua tahu bahwa berbagi itu peduli ?
Sebagai Opt-In, dimungkinkan untuk berbagi data T-Pot dengan broker HPFEEDS pihak ketiga.
Ikuti instruksi di sini untuk menghentikan layanan T-Pot dan membuka ~/tpotce/docker-compose.yml
.
Gulir ke bawah ke bagian ewsposter
dan sesuaikan pengaturan HPFEEDS dengan kebutuhan Anda.
Jika Anda perlu menambahkan sertifikat CA, tambahkan ke ~/tpotce/data/ews/conf
dan atur EWS_HPFEEDS_TLSCERT=/data/ews/conf/<your_ca.crt>
.
Mulai layanan T-Pot: systemctl start tpot
.
Akses jarak jauh ke host/T-Pot Anda dimungkinkan dengan SSH (di tcp/64295
) dan beberapa layanan serta alat dilengkapi dengan T-Pot untuk membuat beberapa tugas penelitian Anda jauh lebih mudah.
Menurut Jenis Pengguna Anda dapat login melalui SSH untuk mengakses baris perintah: ssh -l <OS_USERNAME> -p 64295 <your.ip>
:
pengguna: [ <OS_USERNAME>
]
lulus: [kata sandi]
Menurut Jenis Pengguna Anda dapat membuka Halaman Arahan T-Pot dari browser Anda melalui https://<your.ip>:64297
:
pengguna: [ <WEB_USER>
]
lulus: [kata sandi]
Pada Landing Page T-Pot cukup klik Kibana
dan Anda akan diteruskan ke Kibana. Anda dapat memilih dari beragam dasbor dan visualisasi yang semuanya disesuaikan dengan honeypot yang didukung T-Pot.
Pada Landing Page T-Pot tinggal klik Attack Map
dan kalian akan diteruskan ke Attack Map. Karena Peta Serangan menggunakan soket web, Anda mungkin perlu memasukkan kembali kredensial <WEB_USER>
.
Pada Landing Page T-Pot cukup klik Cyberchef
dan Anda akan diteruskan ke Cyberchef.
Pada Landing Page T-Pot cukup klik Elasticvue
dan Anda akan diteruskan ke Elasticvue.
Pada Landing Page T-Pot cukup klik pada Spiderfoot
dan Anda akan diteruskan ke Spiderfoot.
T-Pot menawarkan file konfigurasi yang menyediakan variabel tidak hanya untuk layanan buruh pelabuhan (yaitu honeypot dan alat) tetapi juga untuk lingkungan penulisan buruh pelabuhan. File konfigurasi disembunyikan di ~/tpoce/.env
. Ada juga file contoh ( env.example
) yang menyimpan konfigurasi default.
Sebelum memulai pertama, jalankan ~/tpotce/genuser.sh
atau atur WEB_USER
secara manual seperti dijelaskan di sini.
Di ~/tpotce/compose
Anda akan menemukan semua yang Anda perlukan untuk menyesuaikan instalasi T-Pot Standard/HIVE:
customizer.py mac_win.yml mini.yml mobile.yml raspberry_showcase.yml sensor.yml standard.yml tpot_services.yml
File .yml
adalah file penulisan buruh pelabuhan, masing-masing mewakili kumpulan honeypot dan alat yang berbeda dengan tpot_services.yml
menjadi templat untuk customizer.py
untuk membuat file penulisan buruh pelabuhan yang disesuaikan.
Untuk mengaktifkan file penulisan, ikuti langkah-langkah berikut:
Hentikan T-Pot dengan systemctl stop tpot
.
Salin file penulisan buruh pelabuhan cp ~/tpotce/compose/<dockercompose.yml> ~/tpotce/docker-compose.yml
.
Mulai T-Pot dengan systemctl start tpot
.
Untuk membuat file penulisan buruh pelabuhan khusus Anda:
Pergi ke cd ~/tpotce/compose
.
Jalankan python3 customizer.py
.
Skrip ini akan memandu Anda melalui proses pembuatan docker-compose.yml
Anda sendiri. Karena beberapa honeypot dan layanan menempati port yang sama, ia akan memeriksa apakah ada konflik port dan memberi tahu mengenai layanan yang bertentangan. Anda kemudian dapat mengatasinya secara manual dengan menyesuaikan docker-compose-custom.yml
atau menjalankan kembali skrip.
Hentikan T-Pot dengan systemctl stop tpot
.
Salin file penulisan buruh pelabuhan khusus: cp docker-compose-custom.yml ~/tpotce
dan cd ~/tpotce
.
Periksa apakah semuanya berfungsi dengan menjalankan docker-compose -f docker-compose-custom.yml up
. Jika terjadi kesalahan, ikuti Spesifikasi Docker Compose untuk mitigasi. Kemungkinan besar itu hanya konflik port yang dapat Anda sesuaikan dengan mengedit file penulisan buruh pelabuhan.
Jika semuanya berfungsi dengan baik, tekan CTRL-C
untuk menghentikan container dan jalankan docker-compose -f docker-compose-custom.yml down -v
.
Ganti file penulisan buruh pelabuhan dengan file penulisan buruh pelabuhan khusus yang baru dan berhasil diuji mv ~/tpotce/docker-compose-custom.yml ~/tpotce/docker-compose.yml
.
Mulai T-Pot dengan systemctl start tpot
.
T-Pot dirancang dengan perawatan yang rendah. Karena hampir semuanya disediakan melalui gambar buruh pelabuhan, pada dasarnya tidak ada yang perlu Anda lakukan selain membiarkannya berjalan. Kami akan memperbarui image buruh pelabuhan secara berkala untuk mengurangi risiko kompromi; namun Anda harus membaca bagian ini dengan cermat.
Jika pembaruan gagal, membuka masalah atau diskusi akan membantu memperbaiki keadaan di masa depan, namun solusi yang ditawarkan adalah selalu melakukan instalasi baru karena kami tidak dapat memberikan dukungan apa pun untuk data yang hilang!
Keamanan T-Pot bergantung pada pembaruan yang disediakan untuk image distro Linux yang didukung. Pastikan untuk meninjau dokumentasi OS dan memastikan pembaruan diinstal secara berkala oleh OS. Secara default ( ~/tpotce/.env
) TPOT_PULL_POLICY=always
akan memastikan bahwa setiap kali T-Pot dimulai, buruh pelabuhan akan memeriksa gambar buruh pelabuhan baru dan mengunduhnya sebelum membuat kontainer.
Rilis T-Pot ditawarkan melalui GitHub dan dapat ditarik menggunakan ~/tpotce/update.sh
.
Jika Anda membuat perubahan apa pun yang relevan pada file konfigurasi T-Pot, pastikan untuk membuat cadangan terlebih dahulu!
Pembaruan mungkin mempunyai konsekuensi yang tidak terduga. Buat cadangan mesin atau file yang paling berharga untuk pekerjaan Anda!
Skrip pembaruan akan ...
tanpa ampun menimpa perubahan lokal agar sinkron dengan cabang master T-Pot
buat cadangan penuh folder ~/tpotce
perbarui semua file di ~/tpotce
agar sinkron dengan cabang master T-Pot
pulihkan ews.cfg
khusus Anda dari ~/tpotce/data/ews/conf
dan konfigurasi T-Pot ( ~/tpotce/.env
).
Secara default T-Pot akan menambahkan reboot harian termasuk beberapa pembersihan. Anda dapat menyesuaikan baris ini dengan sudo crontab -e
#Ansible: T-Pot Daily Reboot 42 2 * * * bash -c 'systemctl stop tpot.service && docker container prune -f; docker image prune -f; docker volume prune -f; /usr/sbin/shutdown -r +1 "T-Pot Daily Reboot"'
Masalah berikut diketahui, cukup ikuti langkah-langkah yang dijelaskan untuk menyelesaikannya.
Beberapa waktu lalu Docker memperkenalkan batasan kecepatan pengunduhan. Jika Anda sering mengunduh image Docker melalui IP tunggal atau bersama, alamat IP tersebut mungkin telah melampaui batas kecepatan pengunduhan Docker. Masuk ke akun Docker Anda untuk memperpanjang batas tarif.
sudo su - docker login
T-Pot dirancang untuk hanya berjalan pada mesin dengan satu NIC. T-Pot akan mencoba mengambil antarmuka dengan rute default, namun tidak ada jaminan bahwa ini akan selalu berhasil. Paling-paling gunakan T-Pot pada mesin dengan hanya satu NIC.
Layanan T-Pot secara otomatis dimulai dan dihentikan pada setiap reboot (yang terjadi sekali setiap hari sebagai pengaturan di sudo crontab -l
selama instalasi).
Jika Anda ingin memulai layanan T-Pot secara manual, Anda dapat melakukannya melalui systemctl start tpot
dan mengamati melalui dpsw
startup container.
Layanan T-Pot secara otomatis dimulai dan dihentikan pada setiap reboot (yang terjadi sekali setiap hari sebagai pengaturan di sudo crontab -l
selama instalasi).
Jika Anda ingin menghentikan layanan T-Pot secara manual, Anda dapat melakukannya melalui systemctl stop tpot
dan mengamati melalui dpsw
penutupan kontainer.
Semua file log persisten dari honeypot, alat, dan layanan terkait T-Pot disimpan di ~/tpotce/data
. Ini termasuk artefak yang dikumpulkan yang tidak dikirimkan ke Elastic Stack.
Semua data log yang disimpan di Folder Data T-Pot akan disimpan selama 30 hari secara default.
Indeks Elasticsearch ditangani oleh Kebijakan Siklus Hidup Indeks tpot
yang dapat disesuaikan langsung di Kibana (pastikan untuk "Sertakan kebijakan sistem terkelola").
Secara default, Kebijakan Siklus Hidup Indeks tpot
mempertahankan indeks selama 30 hari. Ini menawarkan keseimbangan yang baik antara penyimpanan dan kecepatan. Namun Anda dapat menyesuaikan kebijakan tersebut dengan kebutuhan Anda.
Semua data log yang disimpan di Folder Data T-Pot (kecuali indeks Elasticsearch tentunya) dapat dihapus dengan menjalankan clean.sh
. Terkadang ada kerusakan yang tidak dapat diperbaiki lagi dan menyetel ulang T-Pot ke default pabrik tidak pernah semudah ini (pastikan untuk memasukkan cd ~/tpotce
).
Hentikan T-Pot menggunakan systemctl stop tpot
.
Pindahkan / Cadangkan folder ~/tpotce/data
ke tempat yang aman (ini opsional, untuk berjaga-jaga).
Hapus folder ~/tpotce/data
menggunakan sudo rm -rf ~/tpotce/data
.
Setel ulang T-Pot ke komit terakhir yang diambil:
cd ~/tpotce/ git reset --hard
Sekarang Anda dapat menjalankan ~/tpotce/install.sh
.
Anda dapat menampilkan semua wadah T-Pot yang relevan dengan menjalankan dps
atau dpsw [interval]
. interval (s)
akan menjalankan kembali dps.sh
secara berkala.
Blackhole akan menjalankan T-Pot dalam mode sembunyi-sembunyi tanpa kunjungan permanen ke pemindai yang diketahui publik dan dengan demikian mengurangi kemungkinan terekspos. Meskipun hal ini selalu merupakan permainan kucing-kucingan, fitur lubang hitam tidak akan merutekan semua permintaan dari pemindai massal yang dikenal sambil tetap menangkap kejadian melalui Suricata.
Fitur ini diaktifkan dengan mengatur TPOT_BLACKHOLE=DISABLED
di ~/tpotce/.env
, lalu jalankan systemctl stop tpot
dan systemctl start tpot
atau sudo reboot
.
Mengaktifkan fitur ini akan mengurangi visibilitas penyerang secara drastis dan akibatnya mengurangi aktivitas. Namun seperti yang telah disebutkan, ini bukan jaminan untuk sepenuhnya tersembunyi dan juga tidak akan mencegah sidik jari pada beberapa layanan honeypot.
Nginx (T-Pot WebUI) memungkinkan Anda menambahkan akun <WEB_USER>
sebanyak yang Anda inginkan (sesuai dengan Jenis Pengguna).
Untuk menambahkan pengguna baru, jalankan ~/tpotce/genuser.sh
.
Untuk menghapus pengguna yang membuka ~/tpotce/.env
, cari WEB_USER
dan hapus string base64 yang sesuai (untuk memecahkan kode: echo <base64_string> | base64 -d
, atau buka CyberChef dan muat resep "Dari Base64").
Agar perubahan diterapkan, Anda perlu memulai ulang T-Pot menggunakan systemctl stop tpot
dan systemctl start tpot
atau sudo reboot
.
Beberapa pembaruan T-Pot mengharuskan Anda memperbarui objek Kibana. Baik untuk mendukung honeypot baru atau untuk menyempurnakan dashboard atau visualisasi yang sudah ada. Pastikan untuk mengekspor terlebih dahulu agar Anda tidak kehilangan penyesuaian apa pun.
Pergi ke Kibana
Klik pada "Manajemen Tumpukan"
Klik pada "Objek Tersimpan"
Klik pada "Ekspor objek <no.>"
Klik "Ekspor semua" Ini akan mengekspor file NDJSON dengan semua objek Anda. Selalu jalankan ekspor penuh untuk memastikan semua referensi disertakan.
Unduh file NDJSON dan unzip.
Pergi ke Kibana
Klik pada "Manajemen Tumpukan"
Klik pada "Objek Tersimpan"
Klik "Impor" dan biarkan default (periksa objek yang ada dan timpa konflik secara otomatis) jika Anda tidak membuat perubahan pribadi pada objek Kibana.
Telusuri file NDJSON Ketika ditanya: "Jika salah satu objek sudah ada, apakah Anda ingin menimpanya secara otomatis?" anda menjawab dengan "Ya, timpa semua".
Umumnya T-Pot ditawarkan apa adanya tanpa komitmen apa pun terkait dukungan. Permasalahan dan diskusi dapat dibuka, namun bersiaplah untuk menyertakan informasi dasar yang diperlukan, sehingga komunitas dapat membantu.
Periksa apakah container Anda berjalan dengan benar: dps
Periksa apakah sumber daya sistem Anda belum habis: htop
, docker stats
Periksa apakah ada konflik port:
systemctl stop tpot grc netstat -tulpen mi ~/tpotce/docker-compose.yml docker-compose -f ~/tpotce/docker-compose.yml up CTRL+C docker-compose -f ~/tpotce/docker-compose.yml down -v
Periksa log kontainer individual: docker logs -f <container_name>
Periksa log tpotinit
: cat ~/tpotce/data/tpotinit.log
Tumpukan elastis lapar untuk RAM, khususnya logstash
dan elasticsearch
. Jika tumpukan elastis tidak tersedia, tidak menerima log apa pun atau hanya terus menabrak itu kemungkinan besar adalah masalah RAM atau penyimpanan.
Sementara T -Pot terus mencoba memulai kembali Layanan / Kontainer menjalankan docker logs -f <container_name>
(baik logstash
atau elasticsearch
) dan periksa apakah ada peringatan atau kegagalan yang melibatkan RAM.
Kegagalan penyimpanan dapat diidentifikasi lebih mudah melalui htop
.
T-pot disediakan seperti open source tanpa komitmen mengenai dukungan (lihat penafian).
Jika Anda seorang peneliti keamanan dan ingin melaporkan masalah secara bertanggung jawab, silakan menghubungi CERT kami.
Harap laporkan masalah (kesalahan) tentang masalah GitHub kami, tetapi pemecahkan masalah terlebih dahulu. Masalah yang tidak memberikan informasi untuk mengatasi kesalahan akan ditutup atau dikonversi menjadi diskusi.
Gunakan fungsi pencarian terlebih dahulu, ada kemungkinan masalah serupa telah ditangani atau dibahas, dengan solusi hanya mencari.
Pertanyaan umum, ide, tunjukkan & katakan, dll. Dapat dibahas pada diskusi GitHub kami.
Gunakan fungsi pencarian, ada kemungkinan diskusi serupa telah dibuka, dengan jawaban hanya pencarian.
Perangkat lunak yang dibangun T-pot menggunakan lisensi berikut.
Gplv2: conpot, dionaea, honeytrap, suricata
Gplv3: adbhoney, elasticpot, ewsposter, log4pot, fatt, ombak, ipphoney, redishoneypot, sentrypeer, snare, tanner
Lisensi Apache 2: CyberChef, Dicompot, Elasticsearch, Logstash, Kibana, Docker
Lisensi MIT: Autoheal, Ciscoasa, Ddospot, Elasticvue, Glotton, Hellpot, Maltrail
Unlicense: Endlessh
Lainnya: Citrixhoneypot, Cowrie, Mailoney, Lisensi Elastic, WordPot
AGPL-3.0: Honeypots
Domain Publik (CC): Harvard Dataverse
Tanpa open source dan komunitas pengembangan kami bangga menjadi bagian dari, T-Pot tidak akan mungkin! Terima kasih kami diperluas tetapi tidak terbatas pada orang dan organisasi berikut:
Adbhoney
ciscoasa
Citrixhoneypot
conpot
Cowrie
ddospot
Dicompot
Dionaea
buruh pelabuhan
Elasticpot
pencarian elastis
elasticvue
EWLESSH
Ewsposter
fatt
pelahap
Hellpot
Dibersih
honeypots
Honeytrap
Ipphoney
Kibana
logstash
LOG4POT
Mailoney
Maltrail
Medpot
p0f
Redishoneypot
Sentrypeer
Spiderfoot
jerat
penyamak
Suricata
wordpot
Perusahaan dan organisasi berikut
buruh pelabuhan
elastis.io
Proyek Honeynet
... dan tentu saja Anda untuk bergabung dengan komunitas!
Terima kasih telah bermain?
Salah satu umpan balik terbesar yang kami dapatkan sejauh ini adalah oleh salah satu pengembang conpot:
"[...] Saya sangat merekomendasikan T-Pot yaitu ... itu bukan pisau tentara Swiss .. ini lebih seperti tentara tentara Swiss, dilengkapi dengan pisau tentara Swiss. Di dalam sebuah tank. Sebuah tank Swiss. [ ...] "
Dan dari @robcowart (pencipta elastiflow):
"#Tpot adalah salah satu solusi honeypot turnkey yang paling baik. Ini wajib dimiliki bagi siapa pun yang ingin menganalisis dan memahami perilaku aktor jahat dan ancaman yang mereka ajukan kepada organisasi Anda."