Computer >> คอมพิวเตอร์ >  >> ระบบ >> Linux

วิธีสร้าง SSH Honeypot เพื่อจับแฮกเกอร์ในเซิร์ฟเวอร์ Linux ของคุณ

วิธีสร้าง SSH Honeypot เพื่อจับแฮกเกอร์ในเซิร์ฟเวอร์ Linux ของคุณ

หากคุณเคยดูบันทึกการตรวจสอบสิทธิ์สำหรับเซิร์ฟเวอร์ของคุณ คุณจะรู้ว่าเซิร์ฟเวอร์ใดๆ ที่เชื่อมต่อกับอินเทอร์เน็ตอยู่ภายใต้ความพยายามในการเข้าสู่ระบบจากแฮกเกอร์อย่างต่อเนื่อง

แม้ว่าเซิร์ฟเวอร์ของคุณจะเป็นเซิร์ฟเวอร์งานอดิเรกที่ไม่รู้จักโดยสิ้นเชิง สคริปต์อัตโนมัติจะค้นหามันและพยายามใช้ SSH อย่างดุเดือดอย่างต่อเนื่อง แม้ว่าจะไม่น่าจะเข้ามาได้ตราบเท่าที่คุณใช้รหัสผ่านที่ซับซ้อนหรือมาตรการรักษาความปลอดภัยอื่นๆ แต่ก็ยังมีโอกาสที่จะประสบความสำเร็จได้เสมอ

โชคดีที่มีวิธีที่เป็นประโยชน์และสนุกสนานในการดักจับแฮ็กเกอร์เหล่านี้ในเซิร์ฟเวอร์ของคุณ และทำให้เสียสมาธิเกินกว่าจะสร้างปัญหาได้

SSH Honeypot คืออะไร

พูดง่ายๆ ก็คือ หม้อน้ำผึ้ง SSH เป็นตัวล่อที่ตั้งใจให้ดูเหมือนผลไม้ห้อยต่ำเพื่อดึงดูดอาชญากรไซเบอร์และหลอกล่อให้พวกมันกำหนดเป้าหมาย แต่นั่นไม่ใช่เป้าหมายที่แท้จริง และแฮ็กเกอร์มักไม่รู้ตัวจนกว่าจะสายเกินไป

วิธีสร้าง SSH Honeypot เพื่อจับแฮกเกอร์ในเซิร์ฟเวอร์ Linux ของคุณ

หม้อน้ำผึ้งมีได้หลายรูปแบบและมีประโยชน์หลายอย่าง บางครั้งมันก็เป็นมากกว่าสิ่งฟุ้งซ่าน แต่บางครั้งพวกเขาก็ใช้เพื่อรวบรวมข้อมูลเกี่ยวกับผู้โจมตี

หน่วยงานของรัฐหลายแห่งใช้ honeypots เพื่อจับอาชญากร ล่อให้เข้าโจมตี เพียงเพื่อรวบรวมข้อมูลเพื่อจับพวกเขาในภายหลัง แต่ผู้ดูแลระบบที่ทำงานให้กับบริษัทต่างๆ หรือแม้แต่มือสมัครเล่นที่ใช้เซิร์ฟเวอร์ Linux เพื่อความสนุกสนานก็สามารถใช้ honeypots ได้

เหตุใดจึงต้องใช้ SSH Honeypot

มีหลายเหตุผลที่บางคนอาจต้องการใช้ SSH honeypot บนเซิร์ฟเวอร์ของตน ในบางกรณี คุณอาจต้องการใช้เพื่อบล็อกการเชื่อมต่อในอนาคตจากพวกเขา บางทีคุณอาจแค่ต้องการล่อพวกเขาให้ห่างจากเป้าหมายที่แท้จริงในระบบของคุณ หรืออาจเป็นเพื่อการศึกษา:เพื่อช่วยเรียนรู้วิธีการทำงานของการโจมตี

สำหรับจุดประสงค์ของคู่มือนี้ เราใช้ honeypot เป็นหลักในการเบี่ยงเบนความสนใจ โดยเฉพาะอย่างยิ่ง แฮ็กเกอร์จะหันเหความสนใจจากการโจมตีส่วนที่เปราะบางมากขึ้นของเซิร์ฟเวอร์ของคุณ และทำให้พวกเขายุ่งเกินกว่าจะโจมตีเซิร์ฟเวอร์ของผู้อื่น

และอย่างน้อยในกรณีนี้ วิธีที่ใช้ก็เหมาะสำหรับการหัวเราะเช่นกัน

ติดอยู่ใน SSH

โดยพื้นฐานแล้ว สิ่งที่เราต้องทำคือดักแฮ็กเกอร์เมื่อพวกเขาพยายามบังคับให้เข้าสู่ระบบ SSH มีสองสามวิธีในการทำเช่นนี้ แต่วิธีที่ง่ายที่สุดคือส่งแบนเนอร์ SSH ที่ยาวมากให้พวกเขาช้าๆ

ด้วยวิธีนี้ สคริปต์อัตโนมัติของแฮ็กเกอร์จะรอแบนเนอร์อยู่ อาจอยู่ได้นานหลายชั่วโมง หากไม่ใช่วันหรือสัปดาห์ เนื่องจากสคริปต์เป็นแบบอัตโนมัติ แฮ็กเกอร์จึงน่าจะไม่สนใจมันมากนักและจะไม่สังเกตว่ามันค้างอยู่จนกระทั่งเวลาผ่านไปมาก

บางครั้งก็เรียกกันเล่นๆ ว่า "SSH tarpit" เนื่องจากสคริปต์ของแฮ็กเกอร์ติดอยู่ในนั้นและไม่สามารถออกไปได้เอง

สิ่งนี้ต้องการให้คุณทราบการใช้งาน SSH พื้นฐานบางอย่าง หากคุณไม่แน่ใจว่าจะใช้ SSH อย่างไร โปรดอ่านคู่มือนี้เพื่อเริ่มต้น

ไม่มีที่สิ้นสุด

โปรแกรมที่เราใช้เพื่อให้บรรลุสิ่งนี้เรียกว่าไม่มีที่สิ้นสุดและสร้างโดย skeeto

วิธีสร้าง SSH Honeypot เพื่อจับแฮกเกอร์ในเซิร์ฟเวอร์ Linux ของคุณ

เมื่อคุณลงชื่อเข้าใช้เซิร์ฟเวอร์แล้ว ให้โคลนที่เก็บ (คุณต้องมี git ติดตั้ง)

git clone https://github.com/skeeto/endlessh

ตอนนี้คุณมีที่เก็บบนเซิร์ฟเวอร์แล้ว คุณจะต้องสลับไปที่ไดเร็กทอรีนั้นและคอมไพล์มัน

cd endlessh
make

ข้อผิดพลาดบางอย่างอาจเกิดขึ้นขณะพยายามคอมไพล์โปรแกรม นี่น่าจะหมายความว่าคุณไม่มีการพึ่งพาที่โปรแกรมจำเป็นต้องคอมไพล์ คุณจะต้องตรวจสอบว่าไม่มีการอ้างอิงใด จากนั้นติดตั้งโดยใช้ตัวจัดการแพ็คเกจของการแจกจ่าย

เมื่อคุณมีโปรแกรมที่จะคอมไพล์แล้ว คุณจะต้องย้ายไปยังไดเร็กทอรี bin เพื่อให้อยู่ในเส้นทางของคุณ

sudo mv endlessh /usr/local/bin

คุณจะต้องตรวจสอบอีกครั้งเพื่อให้แน่ใจว่าตรวจพบในเส้นทางของคุณ

which endless

ควรพิมพ์/usr/local/bin/endlessh เส้นทาง. หากไม่เป็นเช่นนั้น คุณจะต้องแน่ใจว่าได้ย้ายไปยังไดเร็กทอรีที่ถูกต้อง

วิธีสร้าง SSH Honeypot เพื่อจับแฮกเกอร์ในเซิร์ฟเวอร์ Linux ของคุณ

หลังจากนั้นให้เปลี่ยนโปรแกรมเป็น service daemon เพื่อให้ทำงานเป็น systemd บริการ

sudo cp util/endlessh.service /etc/systemd/system/

เมื่อเสร็จแล้ว ให้เปิดใช้บริการเพื่อที่จะทำงานในพื้นหลัง

sudo systemctl enable endlessh
วิธีสร้าง SSH Honeypot เพื่อจับแฮกเกอร์ในเซิร์ฟเวอร์ Linux ของคุณ

โดยค่าเริ่มต้นendingh จะทำงานบนพอร์ตที่สูงกว่า 1024 เท่านั้น แต่เราต้องการให้มันใช้พอร์ต SSH เริ่มต้นเพื่อให้เราสามารถหลอกแฮกเกอร์ให้พยายามโจมตีได้ ในการดำเนินการนี้ เราต้องแก้ไขไฟล์บริการ

ตัวอย่างนี้ใช้ nano เพื่อแก้ไขไฟล์การกำหนดค่า แต่คุณสามารถใช้โปรแกรมแก้ไขข้อความได้ตามต้องการ

sudo nano /etc/systemd/system/endlessh.service

เมื่อเปิดไฟล์แล้ว ให้ยกเลิกหมายเหตุบรรทัดต่อไปนี้โดยลบอักขระ # ออก:

#AmbientCapabilities=CAP_NET_BIND_SERVICE

จากนั้นเติม # ที่จุดเริ่มต้นของบรรทัดนี้:

PrivateUsers=true
วิธีสร้าง SSH Honeypot เพื่อจับแฮกเกอร์ในเซิร์ฟเวอร์ Linux ของคุณ

บันทึกไฟล์และเรียกใช้คำสั่งนี้:

sudo setcap 'cap_net_bind_service=+ep' /usr/local/bin/endlessh

คุณจะต้องสร้างและตั้งค่าไฟล์คอนฟิกูเรชันเพื่อให้ไม่มีที่สิ้นสุดรู้ว่าควรรันพอร์ตใด คุณจะต้องสร้างไดเร็กทอรีใหม่ก่อน จากนั้นจึงสร้างไฟล์การกำหนดค่า

sudo mkdir -p /etc/endlessh
sudo vim /etc/endlessh/config

ไฟล์ปรับแต่งจะต้องมีบรรทัดเดียวในนั้น การดำเนินการนี้จะบอกendingh ให้ทำงานบนพอร์ต 22 ซึ่งเป็นพอร์ตเริ่มต้นสำหรับ SSH เราทำสิ่งนี้เพื่อให้เป็นเป้าหมายที่น่าดึงดูดยิ่งขึ้นสำหรับแฮกเกอร์ พวกเขาจะเห็นว่าพอร์ต SSH เริ่มต้นเปิดอยู่ จากนั้นลองเจาะเข้าไป

ป้อนข้อมูลต่อไปนี้ลงในไฟล์ปรับแต่งของคุณ:

Port 22
วิธีสร้าง SSH Honeypot เพื่อจับแฮกเกอร์ในเซิร์ฟเวอร์ Linux ของคุณ

คุณจะต้องเริ่มบริการที่ไม่มีที่สิ้นสุด

sudo systemctl start endlessh

นั่นคือทั้งหมดที่มีให้! ตอนนี้คุณใช้งานพอร์ต SSH เริ่มต้นได้ไม่สิ้นสุดและดักแฮกเกอร์ได้แล้ว

ทดสอบการใช้งาน

เพื่อให้แน่ใจว่า honeypot ทำงานตามที่ตั้งใจไว้ ลองแกล้งทำเป็นแฮ็กเกอร์สักครู่แล้วลองเข้าถึง SSH บนเซิร์ฟเวอร์ของคุณ

ssh root@<server-ip-address>

ตราบใดที่ทุกอย่างได้รับการตั้งค่าอย่างถูกต้อง คุณจะเห็นว่า ssh คำสั่งค้างและไม่ทำอะไรเลย มาดูกันดีกว่าว่าเกิดอะไรขึ้นเมื่อคุณ (หรือแฮ็กเกอร์ตัวจริง) ออกคำสั่งนี้

ทำซ้ำคำสั่งเดิม แต่เพิ่ม -vvv ตั้งค่าสถานะเพื่อใช้ตัวเลือกแบบละเอียด

ssh -vvv root@<server-ip-address>
วิธีสร้าง SSH Honeypot เพื่อจับแฮกเกอร์ในเซิร์ฟเวอร์ Linux ของคุณ

ตอนนี้ควรเป็นที่ชัดเจนว่าเครื่องมือเล็กๆ นี้ดักจับคุณและป้องกันไม่ให้คุณเข้าถึง SSH บนเซิร์ฟเวอร์ของคุณได้อย่างไร มันช้า ทีละบรรทัด โดยส่งแบนเนอร์ SSH ขนาดใหญ่มากไปยังไคลเอนต์

และแน่นอน เนื่องจากแฮ็กมีระบบอัตโนมัติกับบอท พวกเขาจะไม่ตระหนักว่าสิ่งนี้กำลังเกิดขึ้นจนกว่าคุณจะเสียเวลาไปหลายชั่วโมง หรือไม่ใช่วัน

คำถามที่พบบ่อย

1. สิ่งนี้จะป้องกันแฮกเกอร์ไม่ให้เข้าถึง SSH หรือไม่

แม้ว่าจะเป็นเครื่องยับยั้งที่ดี แต่ก็ไม่รับประกันว่าจะหยุดแฮกเกอร์ได้อย่างสมบูรณ์ ในที่สุด แฮ็กเกอร์ที่ใส่ใจจะสังเกตเห็นว่าคุณได้สร้าง honeypot บนเซิร์ฟเวอร์ของคุณ และอาจลองใช้พอร์ตอื่นเพื่อเข้าถึง SSH บนเซิร์ฟเวอร์ของคุณ

อย่างไรก็ตาม วิธีนี้น่าจะเพียงพอสำหรับป้องกันแฮ็กเกอร์ที่มองหาแต่ผลไม้เตี้ยๆ เท่านั้น

2. ฉันจะใช้ SSH ได้อย่างไรหากโปรแกรมนี้ทำงานบนพอร์ตเริ่มต้น

คุณจะต้องเปลี่ยนพอร์ต SSH ที่ทำงานอยู่ นี่เป็นแนวทางปฏิบัติที่ดีแม้ว่าคุณจะไม่มี honeypot บนเซิร์ฟเวอร์ของคุณ เนื่องจากแฮกเกอร์จะลองใช้พอร์ตเริ่มต้นก่อนเสมอก่อนที่จะสแกนหาผู้อื่น

3. มีตัวเลือกอื่นที่ฉันสามารถเพิ่มลงในไฟล์ปรับแต่งได้หรือไม่

ใช่ มีการตั้งค่าอื่นๆ อีกหลายอย่างที่คุณเปลี่ยนได้ รวมถึงการเปลี่ยนความเร็วการหน่วง

คุณสามารถดูรายการตัวเลือกในไฟล์การกำหนดค่าตัวอย่างบนที่เก็บ Github

คำลงท้าย

ตอนนี้ คุณได้เรียนรู้วิธีตั้งค่า honeypot บนเซิร์ฟเวอร์ของคุณเพื่อดักแฮ็กเกอร์และทำให้พวกเขาเสียสมาธิเพื่อไม่ให้โจมตีอย่างอื่น วิธีนี้ยังห่างไกลจากวิธีเดียวที่จะรักษาความปลอดภัยในการเข้าถึง SSH ไปยังเซิร์ฟเวอร์ของคุณ

ดูบทความนี้ที่แสดงวิธีใช้คีย์เข้ารหัสเพื่อเข้าสู่ระบบ SSH เพื่อช่วยรักษาความปลอดภัยให้กับเซิร์ฟเวอร์ของคุณให้ดียิ่งขึ้น