T-Pot เป็นแพลตฟอร์ม honeypot แบบ multiarch (amd64, arm64) แบบกระจายทางเลือกทั้งหมดในที่เดียว รองรับ honeypot มากกว่า 20 แบบและตัวเลือกการแสดงภาพจำนวนนับไม่ถ้วนโดยใช้ Elastic Stack แผนที่การโจมตีแบบเคลื่อนไหวสด และเครื่องมือรักษาความปลอดภัยมากมายเพื่อปรับปรุงประสบการณ์การหลอกลวงให้ดียิ่งขึ้น
ตอบสนองความต้องการของระบบ การติดตั้ง T-Pot ต้องการ RAM อย่างน้อย 8-16 GB พื้นที่ว่างในดิสก์ 128 GB รวมถึงการเชื่อมต่ออินเทอร์เน็ตที่ใช้งานได้ (ขาออกไม่มีการกรอง)
ดาวน์โหลดหรือใช้การแจกจ่ายที่ทำงานอยู่และได้รับการสนับสนุน
ติดตั้ง ISO ด้วยแพ็คเกจ / บริการน้อยที่สุดเท่าที่จะทำได้ (ต้องใช้ ssh
)
ติดตั้ง curl
: $ sudo [apt, dnf, zypper] install curl
หากยังไม่ได้ติดตั้ง
เรียกใช้โปรแกรมติดตั้งที่ไม่ใช่รูทจาก $HOME
:
env bash -c "$(curl -sL https://github.com/telekom-security/tpotce/raw/master/install.sh)"
ปฏิบัติตามคำแนะนำ อ่านข้อความ ตรวจสอบข้อขัดแย้งของพอร์ตที่เป็นไปได้ และรีบูต
T-Pot - แพลตฟอร์ม Honeypot หลายแบบ All In One
TL;ดร
ข้อสงวนสิทธิ์
แนวคิดทางเทคนิค
สถาปัตยกรรมทางเทคนิค
บริการ
ประเภทผู้ใช้
ความต้องการของระบบ
ทำงานใน VM
ทำงานบนฮาร์ดแวร์
วิ่งอยู่ในคลาวด์
พอร์ตที่จำเป็น
การวางตำแหน่งระบบ
การติดตั้ง
มาตรฐาน / ไฮฟ์
กระจาย
เลือกดิสโทรของคุณ
รองรับราสเบอร์รี่ Pi 4 (8GB)
รับและติดตั้ง T-Pot
macOS และ Windows
ประเภทการติดตั้ง
ถอนการติดตั้ง T-Pot
เริ่มแรก
การวางแผนและใบรับรอง
การปรับใช้เซ็นเซอร์
การเริ่มต้นครั้งแรกแบบสแตนด์อโลน
การปรับใช้แบบกระจาย
การส่งข้อมูลชุมชน
เลือกใช้การส่งข้อมูล HPFEEDS
การเข้าถึงระยะไกลและเครื่องมือ
สสส
หน้า Landing Page ของ T-Pot
แดชบอร์ด Kibana
แผนที่โจมตี
ไซเบอร์เชฟ
อีลาสติกวิว
ตีนผี
การกำหนดค่า
ไฟล์กำหนดค่า T-Pot
ปรับแต่ง Honeypots และบริการของ T-Pot
การซ่อมบำรุง
ส่งออก
นำเข้า
รูปภาพ Docker ไม่สามารถดาวน์โหลดได้
เครือข่าย T-Pot ล้มเหลว
การอัปเดตทั่วไป
อัปเดตสคริปต์
รีบูตรายวัน
ปัญหาที่ทราบ
เริ่มทีพอต
หยุดทีพอต
โฟลเดอร์ข้อมูล T-Pot
บันทึกความคงอยู่
รีเซ็ตเป็นค่าจากโรงงาน
แสดงตู้คอนเทนเนอร์
หลุมดำ
เพิ่มผู้ใช้ใน Nginx (T-Pot WebUI)
นำเข้าและส่งออกวัตถุ Kibana
การแก้ไขปัญหา
บันทึก
แรมและพื้นที่เก็บข้อมูล
ติดต่อ
ปัญหา
การอภิปราย
ใบอนุญาต
เครดิต
นักพัฒนาและชุมชนการพัฒนาของ
ข้อความรับรอง
คุณติดตั้งและใช้งาน T-Pot ภายใต้ความรับผิดชอบของคุณ เลือกการปรับใช้ของคุณอย่างชาญฉลาด เนื่องจากระบบจะไม่มีทางตัดทิ้งไปได้
เพื่อความช่วยเหลือที่รวดเร็วในการค้นคว้าประเด็นและการสนทนา
ซอฟต์แวร์นี้ได้รับการออกแบบและนำเสนอโดยคำนึงถึงความพยายามอย่างดีที่สุด ในฐานะชุมชนและโครงการโอเพ่นซอร์ส บริษัทใช้ซอฟต์แวร์โอเพ่นซอร์สอื่นๆ จำนวนมาก และอาจมีจุดบกพร่องและปัญหาต่างๆ รายงานอย่างมีความรับผิดชอบ
Honeypots - ตามการออกแบบแล้ว - ไม่ควรโฮสต์ข้อมูลที่ละเอียดอ่อนใดๆ ตรวจสอบให้แน่ใจว่าคุณไม่ได้เพิ่มสิ่งใดเลย
ตามค่าเริ่มต้น ข้อมูลของคุณจะถูกส่งไปยัง Sicherheitstacho คุณสามารถปิดการใช้งานนี้ได้ในการกำหนดค่า ( ~/tpotce/docker-compose.yml
) โดยการลบส่วน ewsposter
แต่ในกรณีนี้การแบ่งปันคือการเอาใจใส่จริงๆ!
ส่วนประกอบหลักของ T-Pot ถูกย้ายไปยังอิมเมจ tpotinit
Docker ทำให้ T-Pot รองรับ Linux หลายรุ่น แม้แต่ macOS และ Windows (แม้ว่าทั้งคู่จะจำกัดอยู่เพียงชุดคุณสมบัติของ Docker Desktop) T-Pot ใช้นักเทียบท่าและนักเทียบท่าเขียนเพื่อบรรลุเป้าหมายในการใช้งานฮันนี่พอตและเครื่องมือต่างๆ ให้ได้มากที่สุดพร้อมกัน และด้วยเหตุนี้จึงใช้ฮาร์ดแวร์ของโฮสต์ให้เกิดประโยชน์สูงสุด
T-Pot เสนออิมเมจนักเทียบท่าสำหรับ honeypots ต่อไปนี้ ...
แอดโฟนี,
ซิสโกซ่า,
ซิทริกซ์ฮันนี่พอท,
หม้อต้ม,
เบี้ย,
ดีดอสสปอต,
ไดคอมพอต,
ไดโอเนีย,
หม้อยางยืด,
ไม่มีที่สิ้นสุด,
คนตะกละ,
หม้อนรก,
การประกาศ,
ฮันนี่พอท,
กับดักน้ำผึ้ง,
ไอโฟน,
เข้าสู่ระบบ4pot,
จดหมาย,
ยาเม็ด,
เรดดิชนี่พอท,
ยาม,
บ่วง,
แทนเนอร์,
เวิร์ดพอต
... ควบคู่ไปกับเครื่องมือต่อไปนี้ ...
ซ่อมแซมเครื่องมืออัตโนมัติเพื่อรีสตาร์ทคอนเทนเนอร์โดยอัตโนมัติโดยที่การตรวจสุขภาพล้มเหลว
Cyberchef เว็บแอปสำหรับการเข้ารหัส การเข้ารหัส การบีบอัด และการวิเคราะห์ข้อมูล
Elastic Stack เพื่อให้เห็นภาพเหตุการณ์ทั้งหมดที่ T-Pot จับได้อย่างสวยงาม
Elasticvue ส่วนหน้าของเว็บสำหรับการเรียกดูและการโต้ตอบกับคลัสเตอร์ Elasticsearch
สร้างสคริปต์ที่ใช้ pyshark เพื่อแยกข้อมูลเมตาของเครือข่ายและลายนิ้วมือจากไฟล์ pcap และการรับส่งข้อมูลเครือข่ายแบบสด
T-Pot-Attack-Map แผนที่การโจมตีแบบเคลื่อนไหวที่สวยงามสำหรับ T-Pot
P0f เป็นเครื่องมือสำหรับพิมพ์ลายนิ้วมือการรับส่งข้อมูลแบบพาสซีฟล้วนๆ
Spiderfoot เครื่องมืออัตโนมัติอัจฉริยะแบบโอเพ่นซอร์ส
Suricata เครื่องมือตรวจสอบความปลอดภัยเครือข่าย
... เพื่อมอบประสบการณ์นอกกรอบที่ดีที่สุดเท่าที่จะเป็นไปได้และระบบหม้อน้ำผึ้งหลายใบที่ใช้งานง่าย
ซอร์สโค้ดและไฟล์การกำหนดค่าจะถูกจัดเก็บอย่างสมบูรณ์ในที่เก็บ T-Pot GitHub อิมเมจนักเทียบท่าถูกสร้างขึ้นและกำหนดค่าไว้ล่วงหน้าสำหรับสภาพแวดล้อม T-Pot
Dockerfiles และการกำหนดค่าแต่ละรายการจะอยู่ในโฟลเดอร์นักเทียบท่า
T-Pot เสนอบริการมากมายซึ่งโดยทั่วไปแบ่งออกเป็นห้ากลุ่ม:
บริการระบบที่ระบบปฏิบัติการจัดทำ
SSH สำหรับการเข้าถึงระยะไกลที่ปลอดภัย
กองยืดหยุ่น
Elasticsearch สำหรับจัดเก็บกิจกรรม
Logstash สำหรับการนำเข้า รับ และส่งเหตุการณ์ไปยัง Elasticsearch
Kibana สำหรับแสดงกิจกรรมบนแดชบอร์ดที่แสดงผลอย่างสวยงาม
เครื่องมือ
NGINX ให้การเข้าถึงระยะไกลที่ปลอดภัย (พร็อกซีย้อนกลับ) ไปยัง Kibana, CyberChef, Elasticvue, GeoIP AttackMap, Spiderfoot และอนุญาตให้เซ็นเซอร์ T-Pot ส่งข้อมูลเหตุการณ์อย่างปลอดภัยไปยังกลุ่ม T-Pot
CyberChef เว็บแอปสำหรับการเข้ารหัส การเข้ารหัส การบีบอัด และการวิเคราะห์ข้อมูล
Elasticvue ส่วนหน้าของเว็บสำหรับการเรียกดูและการโต้ตอบกับคลัสเตอร์ Elasticsearch
แผนที่การโจมตี T-Pot แผนที่การโจมตีแบบเคลื่อนไหวที่สวยงามสำหรับ T-Pot
Spiderfoot เครื่องมืออัตโนมัติอัจฉริยะแบบโอเพ่นซอร์ส
ฮันนี่พอท
ตัวเลือกของ honeypots ที่มีให้เลือก 23 รายการโดยอิงตาม docker-compose.yml
ที่เลือก
การตรวจสอบความปลอดภัยเครือข่าย (NSM)
สร้างสคริปต์ที่ใช้ pyshark เพื่อแยกข้อมูลเมตาของเครือข่ายและลายนิ้วมือจากไฟล์ pcap และการรับส่งข้อมูลเครือข่ายแบบสด
P0f เป็นเครื่องมือสำหรับพิมพ์ลายนิ้วมือการรับส่งข้อมูลแบบพาสซีฟล้วนๆ
Suricata เครื่องมือตรวจสอบความปลอดภัยเครือข่าย
ระหว่างการติดตั้งและระหว่างการใช้งาน T-Pot มีบัญชีสองประเภทที่คุณจะใช้งาน ตรวจสอบให้แน่ใจว่าคุณทราบถึงความแตกต่างของบัญชีประเภทต่างๆ เนื่องจากเป็นสาเหตุที่พบ บ่อยที่สุด สำหรับข้อผิดพลาดในการตรวจสอบสิทธิ์
บริการ | ประเภทบัญชี | ชื่อผู้ใช้/กลุ่ม | คำอธิบาย |
---|---|---|---|
สสส | ระบบปฏิบัติการ | <OS_USERNAME> | ผู้ใช้ที่คุณเลือกระหว่างการติดตั้งระบบปฏิบัติการ |
งินซ์ | การตรวจสอบสิทธิ์ขั้นพื้นฐาน | <WEB_USER> | <web_user> ที่คุณเลือกระหว่างการติดตั้ง T-Pot |
ไซเบอร์เชฟ | การตรวจสอบสิทธิ์ขั้นพื้นฐาน | <WEB_USER> | <web_user> ที่คุณเลือกระหว่างการติดตั้ง T-Pot |
อีลาสติกวิว | การตรวจสอบสิทธิ์ขั้นพื้นฐาน | <WEB_USER> | <web_user> ที่คุณเลือกระหว่างการติดตั้ง T-Pot |
แผนที่การโจมตี Geoip | การตรวจสอบสิทธิ์ขั้นพื้นฐาน | <WEB_USER> | <web_user> ที่คุณเลือกระหว่างการติดตั้ง T-Pot |
ตีนผี | การตรวจสอบสิทธิ์ขั้นพื้นฐาน | <WEB_USER> | <web_user> ที่คุณเลือกระหว่างการติดตั้ง T-Pot |
ทีพอต | ระบบปฏิบัติการ | tpot | tpot ผู้ใช้ / กลุ่มนี้ถูกสงวนไว้โดยบริการ T-Pot เสมอ |
บันทึก T-Pot | การตรวจสอบสิทธิ์ขั้นพื้นฐาน | <LS_WEB_USER> | LS_WEB_USER ได้รับการจัดการโดยอัตโนมัติ |
ขึ้นอยู่กับอิมเมจ distro Linux ที่รองรับ, ไฮฟ์ / เซ็นเซอร์, การติดตั้งบนฮาร์ดแวร์จริง, ในเครื่องเสมือนหรือสภาพแวดล้อมอื่น ๆ มีข้อกำหนดที่แตกต่างกันที่ต้องปฏิบัติตามเกี่ยวกับ OS, RAM, ที่เก็บข้อมูลและเครือข่ายสำหรับการติดตั้ง T-Pot ที่ประสบความสำเร็จ ( คุณสามารถปรับ ~/tpotce/docker-compose.yml
และ ~/tpotce/.env
ตามความต้องการของคุณได้ตลอดเวลาเพื่อเอาชนะข้อกำหนดเหล่านี้)
ประเภททีพอท | แรม | พื้นที่จัดเก็บ | คำอธิบาย |
---|---|---|---|
รังผึ้ง | 16GB | เอสเอสดี 256GB | ตามหลักการทั่วไป ยิ่งมีเซ็นเซอร์และข้อมูลมากเท่าไร ก็ยิ่งต้องการ RAM และพื้นที่เก็บข้อมูลมากขึ้นเท่านั้น |
เซนเซอร์ | 8GB | เอสเอสดี 128GB | เนื่องจากบันทึกของ Honeypot ยังคงอยู่ (~/tpotce/data) เป็นเวลา 30 วัน พื้นที่จัดเก็บจึงขึ้นอยู่กับปริมาณการโจมตี |
T-Pot ไม่ต้องการ ...
ที่อยู่ IPv4 ผ่าน DHCP หรือกำหนดแบบคงที่
การเชื่อมต่ออินเทอร์เน็ตที่ใช้งานได้โดยไม่ต้องใช้พร็อกซี ... เพื่อการติดตั้งและการใช้งานที่ประสบความสำเร็จ
หากคุณต้องการการสนับสนุนพร็อกซีหรือคุณสมบัติที่ไม่ได้มาตรฐาน คุณควรตรวจสอบเอกสารของอิมเมจดิสโทร Linux ที่รองรับและ/หรือเอกสารประกอบของ Docker
อิมเมจ distro Linux ที่รองรับทั้งหมดจะทำงานใน VM ซึ่งหมายความว่า T-Pot จะทำงานได้ดี ต่อไปนี้ได้รับการทดสอบ / รายงานว่าใช้งานได้:
UTM (Intel และ Apple Silicon)
VirtualBox
VMWare Fusion และเวิร์กสเตชัน VMWare
มีรายงานว่า KVM ก็ทำงานได้เช่นกัน
คำแนะนำการกำหนดค่า / การตั้งค่าบางอย่าง:
แม้ว่าเวอร์ชันของ Intel จะทำงานได้อย่างเสถียร แต่การสนับสนุน Apple Silicon (arm64) ก็ได้ทราบปัญหาซึ่งใน UTM อาจจำเป็นต้องสลับ Display
เป็น Console Only
ในระหว่างการติดตั้งระบบปฏิบัติการครั้งแรกและหลังจากนั้นจึงกลับไปใช้ Full Graphics
ในระหว่างการกำหนดค่า คุณอาจต้องเปิดใช้งานโหมดที่หลากหลายสำหรับอินเทอร์เฟซเครือข่าย เพื่อให้ fatt, suricata และ p0f ทำงานได้อย่างถูกต้อง
หากคุณต้องการใช้การ์ด wifi เป็น NIC หลักสำหรับ T-Pot โปรดทราบว่าไดรเวอร์อินเทอร์เฟซเครือข่ายบางตัวไม่รองรับการ์ดไร้สายทั้งหมด ใน VirtualBox เช่น คุณต้องเลือกรุ่น "MT SERVER" ของ NIC
T-Pot ถูกจำกัดด้วยการสนับสนุนฮาร์ดแวร์ของอิมเมจ distro Linux ที่รองรับเท่านั้น ขอแนะนำให้ตรวจสอบ HCL (รายการความเข้ากันได้ของฮาร์ดแวร์) และทดสอบ distros ที่รองรับด้วย T-Pot ก่อนที่จะลงทุนในฮาร์ดแวร์เฉพาะ
T-Pot ได้รับการทดสอบและทราบว่าทำงานบน ...
Telekom OTC ใช้วิธีการหลังการติดตั้ง ... วิธีอื่นอาจใช้งานได้ แต่ยังคงไม่ได้รับการทดสอบ
ผู้ใช้บางรายรายงานการติดตั้งที่ทำงานบนคลาวด์และโฮสต์อื่น ๆ เช่น Azure และ GCP ข้อกำหนดด้านฮาร์ดแวร์อาจแตกต่างกัน หากคุณไม่แน่ใจ คุณควรค้นคว้าประเด็นและอภิปราย และทำการทดสอบการทำงานบางอย่าง ด้วย T-Pot 24.04.0 ขึ้นไป เราได้ลบการตั้งค่าที่ทราบว่ารบกวนการติดตั้งบนระบบคลาวด์ออก
นอกเหนือจากพอร์ตที่ระบบปฏิบัติการต้องการโดยทั่วไป เช่น การเช่า DHCP, DNS ฯลฯ T-Pot จะต้องใช้พอร์ตต่อไปนี้สำหรับการเชื่อมต่อขาเข้า/ขาออก ตรวจสอบสถาปัตยกรรม T-Pot เพื่อการแสดงภาพ นอกจากนี้บางพอร์ตจะแสดงเป็นรายการที่ซ้ำกัน ซึ่งถือว่าใช้ได้เนื่องจากใช้ในรุ่นต่างๆ
ท่าเรือ | โปรโตคอล | ทิศทาง | คำอธิบาย |
---|---|---|---|
80, 443 | ทีพีพี | ขาออก | การจัดการ T-Pot: การติดตั้ง อัปเดต บันทึก (เช่น OS, GitHub, DockerHub, Sicherheitstacho เป็นต้น |
64294 | ทีพีพี | เข้ามา | การจัดการ T-Pot: การส่งข้อมูลเซ็นเซอร์ไปยังกลุ่ม (ผ่านพร็อกซีย้อนกลับ NGINX) ไปยัง 127.0.0.1:64305 |
64295 | ทีพีพี | เข้ามา | การจัดการ T-Pot: การเข้าถึง SSH |
64297 | ทีพีพี | เข้ามา | การจัดการ T-Pot เข้าถึงพร็อกซีย้อนกลับ NGINX |
5555 | ทีพีพี | เข้ามา | ฮันนี่พอท: ADBHoney |
5,000 | udp | เข้ามา | ฮันนี่พอท: CiscoASA |
8443 | ทีพีพี | เข้ามา | ฮันนี่พอท: CiscoASA |
443 | ทีพีพี | เข้ามา | ฮันนี่พอท: CitrixHoneypot |
80, 102, 502, 1025, 2404, 10001, 44818, 47808, 50100 | ทีพีพี | เข้ามา | Honeypot: Conpot |
161, 623 | udp | เข้ามา | Honeypot: Conpot |
22, 23 | ทีพีพี | เข้ามา | ฮันนี่พอท: คาวรี |
19, 53, 123, 1900 | udp | เข้ามา | ฮันนี่พอต: Ddospot |
11112 | ทีพีพี | เข้ามา | ฮันนี่พอต: ไดคอมพอต |
21, 42, 135, 443, 445, 1433, 1723, 1883, 3306, 8081 | ทีพีพี | เข้ามา | ฮันนี่พอท: Dionaea |
69 | udp | เข้ามา | ฮันนี่พอท: Dionaea |
9200 | ทีพีพี | เข้ามา | Honeypot: ยางยืด |
22 | ทีพีพี | เข้ามา | Honeypot: ไม่มีที่สิ้นสุด |
21, 22, 23, 25, 80, 110, 143, 443, 993, 995, 1080, 5432, 5900 | ทีพีพี | เข้ามา | Honeypot: ประกาศ |
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 | ทีพีพี | เข้ามา | Honeypot: qHoneypots |
53, 123, 161, 5060 | udp | เข้ามา | Honeypot: qHoneypots |
631 | ทีพีพี | เข้ามา | ฮันนี่พอท: IPPHone |
80, 443, 8080, 9200, 25565 | ทีพีพี | เข้ามา | ฮันนี่พอท: Log4Pot |
25 | ทีพีพี | เข้ามา | ฮันนี่พอท: Mailoney |
2575 | ทีพีพี | เข้ามา | ฮันนี่พอท: Medpot |
6379 | ทีพีพี | เข้ามา | Honeypot: Redishoneypot |
5060 | tcp/udp | เข้ามา | Honeypot: SentryPeer |
80 | ทีพีพี | เข้ามา | Honeypot: บ่วง (แทนเนอร์) |
8090 | ทีพีพี | เข้ามา | ฮันนี่พอต: Wordpot |
พอร์ตและความพร้อมใช้งานของบริการ SaaS อาจแตกต่างกันไปตามตำแหน่งทางภูมิศาสตร์ของคุณ
เพื่อให้ honeypot บางตัวเข้าถึงฟังก์ชันการทำงานเต็มรูปแบบ (เช่น Cowrie หรือ Log4Pot) การเชื่อมต่อขาออกก็เป็นสิ่งจำเป็นเช่นกัน เพื่อดาวน์โหลดมัลแวร์ของผู้โจมตี โปรดดูเอกสารประกอบของ honeypot แต่ละรายการเพื่อเรียนรู้เพิ่มเติมโดยไปที่ลิงก์ไปยังที่เก็บข้อมูลของพวกเขา
ขอแนะนำให้คุณทำความคุ้นเคยกับวิธีการทำงานของ T-Pot และ honeypots ก่อนที่คุณจะเริ่มเปิดเผยต่ออินเทอร์เน็ต สำหรับการเริ่มต้นอย่างรวดเร็ว ให้รันการติดตั้ง T-Pot ในเครื่องเสมือน
เมื่อคุณคุ้นเคยกับวิธีการทำงานของสิ่งต่าง ๆ แล้ว คุณควรเลือกเครือข่ายที่คุณสงสัยว่ามีผู้บุกรุกเข้ามาหรือจาก (เช่น อินเทอร์เน็ต) มิฉะนั้น T-Pot มักจะไม่สามารถจับการโจมตีใดๆ ได้ (เว้นแต่คุณต้องการพิสูจน์ประเด็น)! สำหรับผู้เริ่มต้น แนะนำให้วาง T-Pot ไว้ในโซนที่ไม่มีการกรอง โดยที่การรับส่งข้อมูล TCP และ UDP ทั้งหมดจะถูกส่งต่อไปยังอินเทอร์เฟซเครือข่ายของ T-Pot เพื่อหลีกเลี่ยงการตรวจสอบพอร์ตการจัดการของ T-Pot คุณควรวาง T-Pot ไว้ด้านหลังไฟร์วอลล์และส่งต่อการรับส่งข้อมูล TCP / UDP ทั้งหมดในช่วงพอร์ต 1-64000 ไปยัง T-Pot ในขณะที่อนุญาตให้เข้าถึงพอร์ต> 64000 จาก IP ที่เชื่อถือได้เท่านั้นและ / หรือเปิดเผยเฉพาะพอร์ตที่เกี่ยวข้องกับกรณีการใช้งานของคุณ หากคุณต้องการตรวจจับการรับส่งข้อมูลมัลแวร์บนพอร์ตที่ไม่รู้จัก คุณไม่ควรจำกัดพอร์ตที่คุณส่งต่อ เนื่องจากคนตะกละและ honeytrap เชื่อมโยงพอร์ต TCP ใด ๆ ที่ไม่ได้ถูกครอบครองโดย honeypot daemons อื่น ๆ แบบไดนามิก และทำให้คุณแสดงความเสี่ยงได้ดีขึ้นต่อการตั้งค่าของคุณ .
ดาวน์โหลดหนึ่งในอิมเมจ distro Linux ที่รองรับ ทำตามคำแนะนำ TL; DR หรือ git clone
เก็บ T-Pot และรันโปรแกรมติดตั้ง ~/tpotce/install.sh
การรัน T-Pot บนระบบ Linux ที่ทำงานอยู่และรองรับนั้นเป็นไปได้ แต่แนะนำให้ติดตั้งใหม่ทั้งหมดเพื่อหลีกเลี่ยงปัญหาพอร์ตขัดแย้งกับบริการที่ทำงานอยู่ โปรแกรมติดตั้ง T-Pot จะต้องมีการเข้าถึงอินเทอร์เน็ตโดยตรงตามที่อธิบายไว้ที่นี่
ขั้นตอนในการติดตาม:
ดาวน์โหลดการกระจาย Linux ที่รองรับจากรายการด้านล่าง
ระหว่างการติดตั้ง ให้เลือกเวอร์ชัน ขั้นต่ำ netinstall หรือ เซิร์ฟเวอร์ ที่จะติดตั้งเฉพาะแพ็คเกจที่จำเป็นเท่านั้น
อย่า ติดตั้งสภาพแวดล้อมเดสก์ท็อปแบบกราฟิกเช่น Gnome หรือ KDE T-Pot จะไม่สามารถทำงานได้เนื่องจากความขัดแย้งของพอร์ต
ตรวจสอบให้แน่ใจว่าได้ติดตั้ง SSH เพื่อให้คุณสามารถเชื่อมต่อกับเครื่องจากระยะไกลได้
ชื่อการจัดจำหน่าย | x64 | อาร์ม64 |
---|---|---|
Alma Linux OS 9.4 บูต ISO | ดาวน์โหลด | ดาวน์โหลด |
การติดตั้งเครือข่าย Debian 12 | ดาวน์โหลด | ดาวน์โหลด |
การติดตั้งเครือข่าย Fedora Server 40 | ดาวน์โหลด | ดาวน์โหลด |
อิมเมจเครือข่าย OpenSuse Tumbleweed | ดาวน์โหลด | ดาวน์โหลด |
Rocky Linux OS 9.4 บูต ISO | ดาวน์โหลด | ดาวน์โหลด |
เซิร์ฟเวอร์สด Ubuntu 24.04 | ดาวน์โหลด | ดาวน์โหลด |
ชื่อการจัดจำหน่าย | อาร์ม64 |
---|---|
ระบบปฏิบัติการ Raspberry Pi ( 64Bit, Lite ) | ดาวน์โหลด |
โคลนพื้นที่เก็บข้อมูล GitHub: $ git clone https://github.com/telekom-security/tpotce
หรือปฏิบัติตาม TL; DR แล้วข้ามส่วนนี้
เปลี่ยนเป็นโฟลเดอร์ tpotce/ : $ cd tpotce
รันโปรแกรมติดตั้งโดยไม่ใช่รูท: $ ./install.sh
:
เปลี่ยนพอร์ต SSH เป็น tcp/64295
ปิดการใช้งาน DNS Stub Listener เพื่อหลีกเลี่ยงความขัดแย้งของพอร์ตกับ honeypots
ตั้งค่า SELinux เป็นโหมดมอนิเตอร์
ตั้งค่าเป้าหมายไฟร์วอลล์สำหรับโซนสาธารณะเป็นยอมรับ
เพิ่มที่เก็บของ Docker และติดตั้ง Docker
ติดตั้งแพ็คเกจที่แนะนำ
ลบแพ็คเกจที่ทราบว่าทำให้เกิดปัญหา
เพิ่มผู้ใช้ปัจจุบันในกลุ่มนักเทียบท่า (อนุญาตให้มีการโต้ตอบนักเทียบท่าโดยไม่ต้อง sudo
)
เพิ่มนามแฝง dps
และ dpsw
( grc docker ps -a
, watch -c "grc --colour=on docker ps -a
)
เพิ่ม la
, ll
และ ls
นามแฝง (สำหรับ exa
คำสั่ง ls
ที่ปรับปรุงแล้ว)
เพิ่ม mi
(สำหรับ micro
ทางเลือกที่ดีสำหรับ vi
และ / หรือ nano
)
แสดงพอร์ตที่เปิดอยู่บนโฮสต์ (เปรียบเทียบกับพอร์ตที่ต้องการของ T-Pot)
เพิ่มและเปิดใช้งาน tpot.service
ไปที่ /etc/systemd/system
เพื่อให้ T-Pot สามารถเริ่มและหยุดได้โดยอัตโนมัติ
ขึ้นอยู่กับการกระจาย Linux ที่คุณเลือก โปรแกรมติดตั้งจะ:
ทำตามคำแนะนำของโปรแกรมติดตั้ง คุณจะต้องป้อนรหัสผ่านผู้ใช้ ( sudo
หรือ root
) อย่างน้อยหนึ่งครั้ง
ตรวจสอบข้อความตัวติดตั้งเพื่อดูข้อผิดพลาดและเปิดพอร์ตที่อาจทำให้เกิดความขัดแย้งของพอร์ต
รีบูต: $ sudo reboot
บางครั้งก็เป็นเรื่องดีหากคุณสามารถสร้างอินสแตนซ์ T-Pot บน macOS หรือ Windows ได้ เช่น เพื่อการพัฒนา การทดสอบ หรือเพื่อความสนุกสนาน เนื่องจาก Docker Desktop ค่อนข้างจำกัด จึงไม่รองรับ honeypot หรือฟีเจอร์ T-Pot ทั้งหมด นอกจากนี้ โปรดจำไว้ว่าตามค่าเริ่มต้นไฟร์วอลล์ macOS และ Windows จะบล็อกการเข้าถึงจากระยะไกล ดังนั้นการทดสอบจึงจำกัดอยู่ที่โฮสต์เท่านั้น สำหรับการใช้งานจริงขอแนะนำให้รัน T-Pot บน Linux
หากต้องการเริ่มต้นใช้งาน เพียงทำตามขั้นตอนเหล่านี้:
ติดตั้ง Docker Desktop สำหรับ macOS หรือ Windows
โคลนที่เก็บ GitHub: git clone https://github.com/telekom-security/tpotce
(ใน Windows ตรวจสอบให้แน่ใจว่าโค้ดถูกตรวจสอบด้วย LF
แทนที่จะเป็น CRLF
!)
ไปที่: cd ~/tpotce
คัดลอก cp compose/mac_win.yml ./docker-compose.yml
สร้าง WEB_USER
โดยเรียกใช้ ~/tpotce/genuser.sh
(macOS) หรือ ~/tpotce/genuserwin.ps1
(Windows)
ปรับไฟล์ .env
โดยเปลี่ยน TPOT_OSTYPE=linux
เป็น mac
หรือ win
:
# OSType (linux, mac, win) # Most docker features are available on linux TPOT_OSTYPE=mac
คุณต้องแน่ใจด้วยตัวเองว่าไม่มีข้อขัดแย้งเกี่ยวกับพอร์ตที่ทำให้ T-Pot ไม่สามารถเริ่มทำงานได้
เริ่ม T-Pot: docker compose up
หรือ docker compose up -d
หากคุณต้องการให้ T-Pot ทำงานในพื้นหลัง
หยุด T-Pot: CTRL-C
(หากทำงานอยู่เบื้องหน้า) และ / หรือ docker compose down -v
เพื่อหยุด T-Pot โดยสิ้นเชิง
ด้วย T-Pot Standard / HIVE บริการ เครื่องมือ ฮันนีพอต ฯลฯ ทั้งหมดจะถูกติดตั้งบนโฮสต์เดียวซึ่งทำหน้าที่เป็นจุดสิ้นสุด HIVE ด้วย ตรวจสอบให้แน่ใจว่าเป็นไปตามความต้องการของระบบ คุณสามารถปรับ ~/tpotce/docker-compose.yml
ให้เข้ากับกรณีการใช้งานส่วนตัวของคุณ หรือสร้างการกำหนดค่าของคุณเองโดยใช้ ~/tpotce/compose/customizer.py
เพื่อรับประสบการณ์ T-Pot ที่ปรับแต่งให้เหมาะกับความต้องการของคุณ เมื่อการติดตั้งเสร็จสิ้น คุณสามารถไปที่ First Start ได้
T-Pot เวอร์ชันกระจายต้องมีโฮสต์อย่างน้อยสองโฮสต์
T-Pot HIVE การติดตั้งมาตรฐานของ T-Pot (ติดตั้งนี้ก่อน!)
และ T-Pot Sensor ซึ่งจะโฮสต์เฉพาะ honeypots เครื่องมือบางอย่าง และส่งข้อมูลบันทึกไปยัง HIVE
เซ็นเซอร์ จะไม่เริ่มทำงานก่อนที่จะสิ้นสุดการติดตั้ง เซ็นเซอร์ ตามที่อธิบายไว้ใน Distributed Deployment
การถอนการติดตั้ง T-Pot มีเฉพาะบน Linux distros ที่รองรับเท่านั้น
หากต้องการถอนการติดตั้ง T-Pot run ~/tpotce/uninstall.sh
และทำตามคำแนะนำในการถอนการติดตั้ง คุณจะต้องป้อนรหัสผ่านอย่างน้อยหนึ่งครั้ง
เมื่อการถอนการติดตั้งเสร็จสิ้นให้รีบูทเครื่อง sudo reboot
เมื่อตัวติดตั้ง T-Pot เสร็จสิ้นสำเร็จ ระบบจะต้องรีบูต ( sudo reboot
) เมื่อรีบูตแล้ว คุณสามารถเข้าสู่ระบบโดยใช้ผู้ใช้ที่คุณตั้งค่าระหว่างการติดตั้งระบบ การเข้าสู่ระบบเป็นไปตามประเภทผู้ใช้:
ผู้ใช้: [ <OS_USERNAME>
]
ผ่าน: [รหัสผ่าน]
คุณสามารถเข้าสู่ระบบผ่าน SSH เพื่อเข้าถึงบรรทัดคำสั่ง: ssh -l <OS_USERNAME> -p 64295 <your.ip>
:
ผู้ใช้: [ <OS_USERNAME>
]
ผ่าน: [รหัสผ่าน แนะนำให้ใช้คีย์ ssh]
คุณยังสามารถเข้าสู่ระบบจากเบราว์เซอร์ของคุณและเข้าถึง T-Pot WebUI และเครื่องมือ: https://<your.ip>:64297
ผู้ใช้: [ <WEB_USER>
]
ผ่าน: [รหัสผ่าน]
ไม่มีอะไรให้ทำมากนักยกเว้นเข้าสู่ระบบและตรวจสอบผ่าน dps.sh
ว่าบริการและ honeypots ทั้งหมดเริ่มต้นอย่างถูกต้องหรือไม่ และเข้าสู่ระบบ Kibana และ / หรือ Geoip Attack Map เพื่อตรวจสอบการโจมตี
การใช้งานแบบกระจายเกี่ยวข้องกับการวางแผนเนื่องจาก T-Pot Init จะสร้างเฉพาะใบรับรองที่ลงนามด้วยตนเองสำหรับ IP ของโฮสต์ HIVE ซึ่งโดยปกติจะเหมาะสำหรับการตั้งค่าแบบง่าย เนื่องจาก logstash จะตรวจสอบใบรับรองที่ถูกต้องเมื่อเชื่อมต่อ การตั้งค่าแบบกระจายที่เกี่ยวข้องกับ HIVE เพื่อให้สามารถเข้าถึงได้บน IP หลายตัว (เช่น RFC 1918 และ IP NAT สาธารณะ) และบางทีแม้แต่ชื่อโดเมนก็อาจส่งผลให้เกิดข้อผิดพลาดในการเชื่อมต่อโดยที่ไม่สามารถตรวจสอบใบรับรองได้ การตั้งค่าดังกล่าวจำเป็นต้องมีใบรับรองที่มีชื่อสามัญและ SAN (Subject Alternative Name)
ก่อนที่จะปรับใช้เซ็นเซอร์ใดๆ ตรวจสอบให้แน่ใจว่าคุณได้วางแผนชื่อโดเมนและ IP อย่างเหมาะสมเพื่อหลีกเลี่ยงปัญหาเกี่ยวกับใบรับรอง สำหรับรายละเอียดเพิ่มเติม โปรดดูฉบับที่ #1543
ปรับตัวอย่างการตั้งค่า IP / โดเมนของคุณและปฏิบัติตามคำสั่งเพื่อเปลี่ยนใบรับรองของ 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
ไฟล์การกำหนดค่า T-Pot ( .env
) อนุญาตให้ปิดการใช้งานการตรวจสอบ SSL สำหรับการเชื่อมต่อ logstash จาก SENSOR ไปยัง HIVE โดยการตั้งค่า LS_SSL_VERIFICATION=none
เพื่อเหตุผลด้านความปลอดภัย จึงแนะนำให้ใช้สำหรับห้องปฏิบัติการหรือสภาพแวดล้อมการทดสอบเท่านั้น
หากคุณเลือกที่จะใช้ใบรับรองที่ถูกต้องสำหรับ HIVE ที่ลงนามโดย CA (เช่น Let's Encrypt) logstash และ SENSOR ก็ไม่น่าจะมีปัญหาในการเชื่อมต่อและส่งบันทึกไปยัง HIVE
เมื่อคุณรีบูต เซ็นเซอร์ ตามคำแนะนำของโปรแกรมติดตั้งแล้ว คุณสามารถดำเนินการปรับใช้แบบกระจายต่อไปได้โดยการเข้าสู่ ระบบ HIVE และไปที่โฟลเดอร์ cd ~/tpotce
ตรวจสอบให้แน่ใจว่าคุณเข้าใจการวางแผนและใบรับรองก่อนดำเนินการใช้งานจริงต่อ
หากคุณยังไม่ได้สร้างคีย์ SSH เพื่อเข้าสู่ ระบบเซ็นเซอร์ อย่างปลอดภัย และอนุญาตให้ Ansible
เรียกใช้ Playbook บนเซ็นเซอร์:
เรียกใช้ ssh-keygen
ทำตามคำแนะนำและปล่อยข้อความรหัสผ่านว่างไว้:
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
ปรับใช้คีย์กับเซ็นเซอร์โดยการรัน 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.
ตามที่แนะนำให้ทำตามคำแนะนำเพื่อทดสอบการเชื่อมต่อ ssh -p '64295' '<your_user>@<SENSOR_IP>'
เมื่อปรับใช้คีย์สำเร็จแล้ว ให้รัน ./deploy.sh
แล้วทำตามคำแนะนำ
ระบุ TPOT_HIVE_USER
ENV บนเซ็นเซอร์ในการกำหนดค่า $HOME/tpotce/.env
(เป็นสตริงที่เข้ารหัส base64) ตอนนี้ให้ระบุสตริงเดียวกันใน LS_WEB_USER
ENV บน HIVE ในการกำหนดค่า $HOME/tpotce/.env
ลบสตริงและรีสตาร์ท T-Pot
ตอนนี้คุณสามารถลบเครื่อง SENSOR ได้อย่างปลอดภัย
T-Pot จัดทำขึ้นเพื่อให้ทุกคนที่สนใจ honeypots สามารถเข้าถึงได้ ตามค่าเริ่มต้น ข้อมูลที่บันทึกไว้จะถูกส่งไปยังแบ็กเอนด์ของชุมชน แบ็กเอนด์ชุมชนนี้ใช้ข้อมูลเพื่อป้อน Sicherheitstacho คุณสามารถเลือกไม่รับการส่งได้โดยลบ # Ewsposter service
ออกจาก ~/tpotce/docker-compose.yml
โดยทำตามขั้นตอนเหล่านี้:
หยุดบริการ T-Pot: systemctl stop tpot
เปิด ~/tpotce/docker-compose.yml
: micro ~/tpotce/docker-compose.yml
ลบบรรทัดต่อไปนี้ บันทึกและออกจาก micro ( 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
เริ่มบริการ T-Pot: systemctl start tpot
ขอแนะนำไม่ให้ปิดการใช้งานการส่งข้อมูลเนื่องจากเป็นวัตถุประสงค์หลักของแนวทางชุมชน - ดังที่คุณทราบกันดี ว่าการแบ่งปันคือการเอาใจใส่ ?
เนื่องจากเป็นการเลือกเข้าร่วม จึงเป็นไปได้ที่จะแบ่งปันข้อมูล T-Pot กับโบรกเกอร์ HPFEEDS บุคคลที่สาม
ทำตามคำแนะนำที่นี่เพื่อหยุดบริการ T-Pot และเปิด ~/tpotce/docker-compose.yml
เลื่อนลงไปที่ส่วน ewsposter
และปรับการตั้งค่า HPFEEDS ตามความต้องการของคุณ
หากคุณต้องการเพิ่มใบรับรอง CA ให้เพิ่มลงใน ~/tpotce/data/ews/conf
และตั้งค่า EWS_HPFEEDS_TLSCERT=/data/ews/conf/<your_ca.crt>
เริ่มบริการ T-Pot: systemctl start tpot
การเข้าถึงโฮสต์ / T-Pot ของคุณจากระยะไกลสามารถทำได้ด้วย SSH (บน tcp/64295
) และบริการและเครื่องมือบางอย่างมาพร้อมกับ T-Pot เพื่อทำให้งานวิจัยบางอย่างของคุณง่ายขึ้นมาก
ตามประเภทผู้ใช้คุณสามารถเข้าสู่ระบบผ่าน SSH เพื่อเข้าถึงบรรทัดคำสั่ง: ssh -l <OS_USERNAME> -p 64295 <your.ip>
:
ผู้ใช้: [ <OS_USERNAME>
]
ผ่าน: [รหัสผ่าน]
ตามประเภทผู้ใช้ คุณสามารถเปิด T-Pot Landing Page ได้จากเบราว์เซอร์ของคุณผ่าน https://<your.ip>:64297
:
ผู้ใช้: [ <WEB_USER>
]
ผ่าน: [รหัสผ่าน]
บนหน้า Landing Page ของ T-Pot เพียงคลิกที่ Kibana
แล้วคุณจะถูกส่งต่อไปยัง Kibana คุณสามารถเลือกจากแดชบอร์ดและการแสดงภาพที่หลากหลายซึ่งปรับแต่งให้เหมาะกับ honeypot ที่รองรับ T-Pot
บนหน้า Landing Page ของ T-Pot เพียงคลิกที่ Attack Map
และคุณจะถูกส่งต่อไปยังแผนที่โจมตี เนื่องจาก Attack Map ใช้เว็บซ็อกเก็ต คุณจึงอาจจำเป็นต้องป้อนข้อมูลประจำตัว <WEB_USER>
อีกครั้ง
บนหน้า Landing Page ของ T-Pot เพียงคลิกที่ Cyberchef
แล้วคุณจะถูกส่งต่อไปยัง Cyberchef
บนหน้า Landing Page ของ T-Pot เพียงคลิกที่ Elasticvue
แล้วคุณจะถูกส่งต่อไปยัง Elasticvue
บนหน้า Landing Page ของ T-Pot เพียงคลิกที่ Spiderfoot
แล้วคุณจะถูกส่งต่อไปยัง Spiderfoot
T-Pot นำเสนอไฟล์การกำหนดค่าที่ให้ตัวแปรไม่เพียงแต่สำหรับบริการนักเทียบท่า (เช่น honeypots และเครื่องมือ) แต่ยังสำหรับสภาพแวดล้อมการเขียนนักเทียบท่าด้วย ไฟล์การกำหนดค่าถูกซ่อนอยู่ใน ~/tpoce/.env
นอกจากนี้ยังมีไฟล์ตัวอย่าง ( env.example
) ซึ่งเก็บการกำหนดค่าเริ่มต้นไว้
ก่อนที่จะเริ่มรันครั้งแรก ~/tpotce/genuser.sh
หรือตั้งค่า WEB_USER
ด้วยตนเองตามที่อธิบายไว้ที่นี่
ใน ~/tpotce/compose
คุณจะพบทุกสิ่งที่คุณต้องการเพื่อปรับการติดตั้ง T-Pot Standard / HIVE:
customizer.py mac_win.yml mini.yml mobile.yml raspberry_showcase.yml sensor.yml standard.yml tpot_services.yml
ไฟล์ .yml
เป็นไฟล์เขียนนักเทียบท่า แต่ละไฟล์แสดงถึงชุด honeypots และเครื่องมือที่แตกต่างกัน โดยมี tpot_services.yml
เป็นเทมเพลตสำหรับ customizer.py
เพื่อสร้างไฟล์เขียนนักเทียบท่าแบบกำหนดเอง
หากต้องการเปิดใช้งานไฟล์เขียนให้ทำตามขั้นตอนเหล่านี้:
หยุด T-Pot ด้วย systemctl stop tpot
คัดลอกไฟล์นักเทียบท่าเขียน cp ~/tpotce/compose/<dockercompose.yml> ~/tpotce/docker-compose.yml
เริ่ม T-Pot ด้วย systemctl start tpot
หากต้องการสร้างไฟล์เขียนนักเทียบท่าที่กำหนดเอง:
ไปที่ cd ~/tpotce/compose
เรียกใช้ python3 customizer.py
สคริปต์จะแนะนำคุณตลอดกระบวนการสร้าง docker-compose.yml
ของคุณเอง เนื่องจากฮันนี่พอตและบริการบางอย่างใช้พอร์ตเดียวกัน มันจะตรวจสอบว่ามีความขัดแย้งของพอร์ตหรือไม่ และแจ้งให้ทราบเกี่ยวกับบริการที่ขัดแย้งกัน จากนั้นคุณสามารถแก้ไขได้ด้วยตนเองโดยปรับ docker-compose-custom.yml
หรือเรียกใช้สคริปต์อีกครั้ง
หยุด T-Pot ด้วย systemctl stop tpot
คัดลอกไฟล์เขียนนักเทียบท่าแบบกำหนดเอง: cp docker-compose-custom.yml ~/tpotce
และ cd ~/tpotce
ตรวจสอบว่าทุกอย่างใช้งานได้หรือไม่โดยเรียกใช้ docker-compose -f docker-compose-custom.yml up
ในกรณีที่มีข้อผิดพลาด ให้ปฏิบัติตามข้อกำหนด Docker Compose เพื่อการบรรเทาผลกระทบ เป็นไปได้มากว่าเป็นเพียงความขัดแย้งของพอร์ตที่คุณสามารถแก้ไขได้โดยแก้ไขไฟล์เขียนนักเทียบท่า
หากทุกอย่างทำงานได้ดี ให้กด CTRL-C
เพื่อหยุดคอนเทนเนอร์และเรียกใช้ docker-compose -f docker-compose-custom.yml down -v
แทนที่ไฟล์ docker compose ด้วยไฟล์ docker compose แบบกำหนดเองใหม่และผ่านการทดสอบเรียบร้อยแล้ว mv ~/tpotce/docker-compose-custom.yml ~/tpotce/docker-compose.yml
เริ่ม T-Pot ด้วย systemctl start tpot
T-Pot ได้รับการออกแบบให้มีการบำรุงรักษาต่ำ เนื่องจากเกือบทุกอย่างมีให้ผ่านอิมเมจนักเทียบท่า คุณจึงไม่ต้องทำอะไรนอกจากปล่อยให้มันทำงาน เราจะอัปเกรดอิมเมจนักเทียบท่าเป็นประจำเพื่อลดความเสี่ยงของการประนีประนอม อย่างไรก็ตามคุณควรอ่านหัวข้อนี้อย่างละเอียด
หากการอัปเดตล้มเหลว การเปิดประเด็นหรือการสนทนาจะช่วยปรับปรุงสิ่งต่างๆ ในอนาคต แต่วิธีแก้ปัญหาที่นำเสนอคือทำการ ติดตั้งใหม่ เสมอ เนื่องจากเรา ไม่สามารถ ให้การสนับสนุนข้อมูลที่สูญหายได้!
การรักษาความปลอดภัยของ T-Pot ขึ้นอยู่กับการอัปเดตที่มีให้สำหรับอิมเมจ distro Linux ที่รองรับ ตรวจสอบให้แน่ใจว่าได้ตรวจสอบเอกสารประกอบระบบปฏิบัติการและให้แน่ใจว่าระบบปฏิบัติการได้รับการติดตั้งการอัปเดตเป็นประจำ ตามค่าเริ่มต้น ( ~/tpotce/.env
) TPOT_PULL_POLICY=always
จะตรวจสอบให้แน่ใจว่านักเทียบท่าเริ่มต้นของ T-Pot ทุกคนจะตรวจสอบอิมเมจนักเทียบท่าใหม่และดาวน์โหลดก่อนที่จะสร้างคอนเทนเนอร์
การเปิดตัว T-Pot นั้นนำเสนอผ่าน GitHub และสามารถดึงได้โดยใช้ ~/tpotce/update.sh
หากคุณทำการเปลี่ยนแปลงที่เกี่ยวข้องกับไฟล์กำหนดค่า T-Pot อย่าลืมสร้างการสำรองข้อมูลก่อน!
การอัปเดตอาจมีผลกระทบที่ไม่คาดคิด สร้างการสำรองข้อมูลของเครื่องหรือไฟล์ที่มีค่าที่สุดสำหรับงานของคุณ!
สคริปต์อัปเดตจะ...
เขียนทับการเปลี่ยนแปลงในเครื่อง อย่างไร้ความปราณี เพื่อให้ซิงค์กับสาขาหลักของ T-Pot
สร้างการสำรองข้อมูลเต็มรูปแบบของ ~/tpotce
โฟลเดอร์
อัปเดตไฟล์ทั้งหมดใน ~/tpotce
เพื่อให้ซิงค์กับสาขาหลักของ T-Pot
กู้คืน ews.cfg
ที่คุณกำหนดเองจาก ~/tpotce/data/ews/conf
และการกำหนดค่า T-Pot ( ~/tpotce/.env
)
ตามค่าเริ่มต้น T-Pot จะเพิ่มการรีบูตรายวันรวมถึงการล้างข้อมูลบางส่วน คุณสามารถปรับบรรทัดนี้ได้ด้วย 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"'
ทราบปัญหาต่อไปนี้ เพียงทำตามขั้นตอนที่อธิบายไว้เพื่อแก้ไข
เมื่อไม่นานมานี้ Docker ได้แนะนำการจำกัดอัตราการดาวน์โหลด หากคุณดาวน์โหลดอิมเมจ Docker ผ่าน IP เดียวหรือ IP ที่ใช้ร่วมกันบ่อยครั้ง ที่อยู่ IP อาจทำให้อัตราการดาวน์โหลด Docker เกินขีดจำกัดแล้ว เข้าสู่ระบบบัญชี Docker ของคุณเพื่อขยายขีดจำกัดอัตรา
sudo su - docker login
T-Pot ได้รับการออกแบบมาให้ทำงานบนเครื่องที่มี NIC เดียวเท่านั้น T-Pot จะพยายามคว้าอินเทอร์เฟซด้วยเส้นทางเริ่มต้น แต่ไม่รับประกันว่าจะสำเร็จเสมอไป ควรใช้ T-Pot บนเครื่องที่มี NIC เพียงตัวเดียวอย่างดีที่สุด
บริการ T-Pot จะเริ่มต้นและหยุดโดยอัตโนมัติในการรีบูตแต่ละครั้ง (ซึ่งเกิดขึ้นวันละครั้งตามการตั้งค่าใน sudo crontab -l
ระหว่างการติดตั้ง)
หากคุณต้องการเริ่มบริการ T-Pot ด้วยตนเอง คุณสามารถทำได้ผ่าน systemctl start tpot
และสังเกตผ่าน dpsw
การเริ่มต้นของคอนเทนเนอร์
บริการ T-Pot จะเริ่มต้นและหยุดโดยอัตโนมัติในการรีบูตแต่ละครั้ง (ซึ่งเกิดขึ้นวันละครั้งตามการตั้งค่าใน sudo crontab -l
ระหว่างการติดตั้ง)
หากคุณต้องการหยุดบริการ T-Pot ด้วยตนเอง คุณสามารถทำได้ผ่าน systemctl stop tpot
และสังเกตการปิดคอนเทนเนอร์ผ่าน dpsw
ไฟล์บันทึกถาวรทั้งหมดจาก honeypots เครื่องมือ และบริการที่เกี่ยวข้องกับ T-Pot จะถูกจัดเก็บไว้ใน ~/tpotce/data
ซึ่งรวมถึงอาร์ติแฟกต์ที่รวบรวมไว้ซึ่งไม่ได้ถูกส่งไปยัง Elastic Stack
ข้อมูลบันทึกทั้งหมดที่จัดเก็บไว้ในโฟลเดอร์ข้อมูล T-Pot จะถูกคงอยู่เป็นเวลา 30 วันตามค่าเริ่มต้น
ดัชนี Elasticsearch ได้รับการจัดการโดยนโยบายวงจรการใช้งานดัชนี tpot
ซึ่งสามารถปรับเปลี่ยนได้โดยตรงใน Kibana (ตรวจสอบให้แน่ใจว่า "รวมนโยบายระบบที่ได้รับการจัดการ")
ตามค่าเริ่มต้น นโยบายวงจรการใช้งานดัชนี tpot
จะเก็บดัชนีไว้เป็นเวลา 30 วัน สิ่งนี้ให้ความสมดุลที่ดีระหว่างพื้นที่เก็บข้อมูลและความเร็ว อย่างไรก็ตาม คุณสามารถปรับนโยบายตามความต้องการของคุณได้
ข้อมูลบันทึกทั้งหมดที่จัดเก็บไว้ในโฟลเดอร์ข้อมูล T-Pot (ยกเว้นดัชนี Elasticsearch แน่นอน) สามารถลบได้โดยการเรียกใช้ clean.sh
บางครั้งสิ่งต่างๆ อาจพังเกินกว่าจะซ่อมได้ และการรีเซ็ต T-Pot ให้เป็นค่าเริ่มต้นจากโรงงานไม่เคยง่ายอย่างนี้มาก่อน (อย่าลืมป้อน cd ~/tpotce
)
หยุด T-Pot โดยใช้ systemctl stop tpot
ย้าย / สำรองข้อมูลโฟลเดอร์ ~/tpotce/data
ไปยังที่ปลอดภัย (นี่เป็นทางเลือก ในกรณีนี้)
ลบ ~/tpotce/data
โฟลเดอร์โดยใช้ sudo rm -rf ~/tpotce/data
รีเซ็ต T-Pot เป็นการกระทำที่ดึงมาครั้งล่าสุด:
cd ~/tpotce/ git reset --hard
ตอนนี้คุณสามารถรัน ~/tpotce/install.sh
ได้แล้ว
คุณสามารถแสดงคอนเทนเนอร์ที่เกี่ยวข้องกับ T-Pot ทั้งหมดได้โดยการรัน dps
หรือ dpsw [interval]
interval (s)
จะรัน dps.sh
อีกครั้งเป็นระยะ
Blackhole จะใช้ T-Pot ในลักษณะโหมดซ่อนตัวโดยไม่ต้องเข้าใช้เครื่องสแกนที่เป็นที่รู้จักอย่างถาวร และลดโอกาสที่จะถูกเปิดเผย แม้ว่านี่จะเป็นเกมแมวจับหนูเสมอ แต่ฟีเจอร์ blackhole นั้นเป็นโมฆะในการกำหนดเส้นทางคำขอทั้งหมดจากเครื่องสแกนจำนวนมากที่รู้จัก ในขณะที่ยังคงจับเหตุการณ์ผ่าน Suricata
คุณลักษณะนี้เปิดใช้งานโดยการตั้งค่า TPOT_BLACKHOLE=DISABLED
ใน ~/tpotce/.env
จากนั้นเรียกใช้ systemctl stop tpot
และ systemctl start tpot
หรือ sudo reboot
การเปิดใช้งานฟีเจอร์นี้จะลดการมองเห็นของผู้โจมตีลงอย่างมาก และส่งผลให้มีกิจกรรมน้อยลง อย่างไรก็ตาม ดังที่ได้กล่าวไปแล้ว มันไม่รับประกันว่าจะมีการลักลอบอย่างสมบูรณ์ และจะไม่ป้องกันการพิมพ์ลายนิ้วมือของบริการ honeypot บางอย่าง
Nginx (T-Pot WebUI) ช่วยให้คุณสามารถเพิ่มบัญชี <WEB_USER>
ได้มากเท่าที่คุณต้องการ (ตามประเภทผู้ใช้)
หากต้องการ เพิ่ม ผู้ใช้ใหม่ให้รัน ~/tpotce/genuser.sh
หากต้องการ ลบ ผู้ใช้ open ~/tpotce/.env
ให้ค้นหา WEB_USER
และลบสตริง base64 ที่เกี่ยวข้อง (เพื่อถอดรหัส: echo <base64_string> | base64 -d
หรือเปิด CyberChef แล้วโหลดสูตร "From Base64")
เพื่อให้การเปลี่ยนแปลงมีผลคุณต้องรีสตาร์ท T-Pot โดยใช้ systemctl stop tpot
และ systemctl start tpot
หรือ sudo reboot
การอัปเดต T-Pot บางอย่างจะทำให้คุณต้องอัปเดตออบเจ็กต์ Kibana เพื่อรองรับ honeypots ใหม่หรือเพื่อปรับปรุงแดชบอร์ดหรือการแสดงภาพข้อมูลที่มีอยู่ ตรวจสอบให้แน่ใจว่าได้ ส่งออก ก่อน เพื่อที่คุณจะได้ไม่สูญเสียการปรับเปลี่ยนใดๆ ของคุณ
ไปคิบานะ.
คลิกที่ "การจัดการสแต็ค"
คลิกที่ "วัตถุที่บันทึกไว้"
คลิกที่ "ส่งออกวัตถุ <no.>"
คลิกที่ "ส่งออกทั้งหมด" ซึ่งจะส่งออกไฟล์ NDJSON พร้อมออบเจ็กต์ทั้งหมดของคุณ ดำเนินการส่งออกแบบเต็มเสมอเพื่อให้แน่ใจว่ามีข้อมูลอ้างอิงทั้งหมดรวมอยู่ด้วย
ดาวน์โหลดไฟล์ NDJSON และแตกไฟล์
ไปคิบานะ.
คลิกที่ "การจัดการสแต็ค"
คลิกที่ "วัตถุที่บันทึกไว้"
คลิกที่ "นำเข้า" และคงค่าเริ่มต้นไว้ (ตรวจสอบออบเจ็กต์ที่มีอยู่และเขียนทับข้อขัดแย้งโดยอัตโนมัติ) หากคุณไม่ได้ทำการเปลี่ยนแปลงส่วนตัวกับออบเจ็กต์ Kibana
เรียกดูไฟล์ NDJSON เมื่อถูกถาม: "หากมีออบเจ็กต์ใดอยู่แล้ว คุณต้องการเขียนทับโดยอัตโนมัติหรือไม่" คุณตอบว่า "ใช่ เขียนทับทั้งหมด"
โดยทั่วไปแล้ว T-Pot จะถูกนำเสนอ โดย ไม่มีข้อผูกมัดใด ๆ เกี่ยวกับการสนับสนุน สามารถเปิดประเด็นและการอภิปรายได้ แต่ต้องเตรียมข้อมูลพื้นฐานที่จำเป็นเพื่อให้ชุมชนสามารถช่วยได้
ตรวจสอบว่าคอนเทนเนอร์ของคุณทำงานอย่างถูกต้องหรือไม่: dps
ตรวจสอบว่าทรัพยากรระบบของคุณยังไม่หมด: htop
, docker stats
ตรวจสอบว่ามีข้อขัดแย้งเกี่ยวกับพอร์ตหรือไม่:
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
ตรวจสอบบันทึกคอนเทนเนอร์แต่ละรายการ: docker logs -f <container_name>
ตรวจสอบบันทึก tpotinit
: cat ~/tpotce/data/tpotinit.log
สแต็คยืดหยุ่นนั้นหิวสำหรับ RAM โดยเฉพาะ logstash
และ elasticsearch
หากสแต็กยืดหยุ่นไม่พร้อมใช้งานจะไม่ได้รับบันทึกใด ๆ หรือเพียงแค่ทำให้เกิดความผิดพลาดเป็นไปได้มากที่สุดคือ RAM หรือปัญหาการจัดเก็บ
ในขณะที่ T -POT พยายามที่จะรีสตาร์ทบริการ / คอนเทนเนอร์เรียกใช้ docker logs -f <container_name>
(ไม่ว่าจะเป็น logstash
หรือ elasticsearch
) และตรวจสอบว่ามีคำเตือนหรือความล้มเหลวใด ๆ ที่เกี่ยวข้องกับ RAM
ความล้มเหลวในการจัดเก็บสามารถระบุได้ง่ายขึ้นผ่าน htop
T-POT มีให้ เช่นเดียวกับ โอเพ่นซอร์สโดย ไม่มี ความมุ่งมั่นใด ๆ เกี่ยวกับการสนับสนุน (ดูข้อจำกัดความรับผิดชอบ)
หากคุณเป็นนักวิจัยด้านความปลอดภัยและต้องการรายงานปัญหาอย่างรับผิดชอบโปรดติดต่อกับใบรับรองของเรา
โปรดรายงานปัญหา (ข้อผิดพลาด) เกี่ยวกับปัญหา GitHub ของเรา แต่แก้ไขปัญหาก่อน ปัญหาที่ไม่ได้ให้ข้อมูลเพื่อแก้ไขข้อผิดพลาดจะถูกปิดหรือแปลงเป็นการอภิปราย
ใช้ฟังก์ชั่นการค้นหาก่อนเป็นไปได้ที่ปัญหาที่คล้ายกันได้รับการแก้ไขหรือพูดคุยแล้วด้วยการแก้ปัญหาเพียงแค่ค้นหา
คำถามทั่วไปความคิดการแสดงและบอก ฯลฯ สามารถแก้ไขได้ในการอภิปราย GitHub ของเรา
ใช้ฟังก์ชั่นการค้นหาเป็นไปได้ที่การสนทนาที่คล้ายกันได้เปิดขึ้นแล้วพร้อมคำตอบเพียงแค่ค้นหา
ซอฟต์แวร์ที่ T-POT ถูกสร้างขึ้นจากการใช้ใบอนุญาตต่อไปนี้
GPLV2: Conpot, Dionaea, Honeytrap, Suricata
GPLV3: Adbhoney, Elasticpot, Ewsposter, Log4Pot, Fatt, Heralding, Ipphoney, Redishoneypot, Sentrypeer, Snare, Tanner
ใบอนุญาต Apache 2: CyberChef, Dicompot, Elasticsearch, Logstash, Kibana, Docker
ใบอนุญาต MIT: Autoheal, Ciscoasa, DDOSPOT, ElasticVue, Glutton, Hellpot, Maltrail
ไม่ได้รับ: Endlessh
อื่น ๆ : Citrixhoneypot, Cowrie, Mailoney, ใบอนุญาตยืดหยุ่น, WordPot
AGPL-3.0: Honeypots
โดเมนสาธารณะ (CC): Harvard Dataverse
หากไม่มีโอเพ่นซอร์สและชุมชนการพัฒนาเราภูมิใจที่ได้เป็นส่วนหนึ่งของ T-POT จะเป็นไปไม่ได้! เราขอขอบคุณ แต่ไม่ จำกัด เฉพาะบุคคลและองค์กรดังต่อไปนี้:
adbhoney
ซิสโกซา
Citrixhoneypot
conpot
เบี้ย
DDOSPOT
Dicompot
ดิโอเนีย
นักเทียบท่า
ความยืดหยุ่น
Elasticsearch
ความยืดหยุ่น
ไม่มีที่สิ้นสุด
ewsposter
ฟัตต์
คนตะกละ
Hellpot
การประกาศ
พ็อต
น้ำผึ้ง
Ipphoney
คิบานะ
บันทึก
log4pot
Mailoney
การละเมิด
medpot
P0F
redishoneypot
ผู้รักษา
Spiderfoot
บ่วง
คนฟอกหนัง
ซูริกาตา
พ็อต
บริษัท และองค์กรต่อไปนี้
นักเทียบท่า
ยืดหยุ่น
โครงการ Honeynet
... และแน่นอนว่า คุณ เข้าร่วมชุมชน!
ขอบคุณที่เล่น?
หนึ่งในข้อเสนอแนะที่ยิ่งใหญ่ที่สุดที่เราได้รับมาคือหนึ่งในนักพัฒนา Conpot:
"[... ] ฉันขอแนะนำ T-pot ซึ่งเป็น ... มันไม่ใช่มีดกองทัพสวิสอย่างแน่นอน .. มันเหมือนทหารกองทัพสวิสที่ติดตั้งมีดกองทัพสวิสในถังรถถังสวิส [ ... ] "
และจาก @robcowart (ผู้สร้าง Elastiflow):
"#TPOT เป็นหนึ่งในโซลูชั่น Turnkey Honeypot ที่ดีที่สุดที่รวบรวมได้ดีที่สุดมันเป็นสิ่งที่ต้องมีสำหรับทุกคนที่ต้องการวิเคราะห์และเข้าใจพฤติกรรมของนักแสดงที่เป็นอันตรายและภัยคุกคามที่พวกเขาทำกับองค์กรของคุณ"