การตรวจจับการสแกนพอร์ตมีลักษณะเฉพาะที่แยกมันออกจากเครื่องมือทั่วไป Fail2ban อ่านล็อกของแอปพลิเคชัน — และเมื่อพอร์ตที่ปิดถูกสแกน ก็ไม่มีแอปพลิเคชันอยู่ตรงนั้นเลย จึงไม่มีรายการในล็อกด้วย การสแกนเห็นได้เฉพาะที่ระดับไฟร์วอลล์ และตรงนั้นแหละที่ PSAD ทำงาน: มันอ่านข้อความที่ iptables เขียนเกี่ยวกับแพ็กเก็ตที่ถูกปฏิเสธ

เงื่อนไขบังคับ: การบันทึกล็อกต้องเปิดอยู่

นี่คือสาเหตุหลักที่ PSAD «ติดตั้งแล้วและไม่แสดงอะไรเลย» ถ้าไม่มีกฎบันทึกล็อกในไฟร์วอลล์ มันก็ไม่มีอะไรให้อ่าน และในระหว่างนั้นก็ไม่มีข้อผิดพลาดใดเกิดขึ้นด้วย

ถ้าคุณใช้ UFW:

sudo ufw logging low
sudo ufw status verbose

เพื่อให้แน่ใจว่าข้อความมาถึงจริง:

sudo journalctl -k | grep -c '\[UFW'
sudo grep -c 'UFW BLOCK' /var/log/ufw.log

ศูนย์จากทั้งสองคำสั่งแปลว่า PSAD จะไม่ทำงาน และเรื่อง Debian 12 กับ Ubuntu 24.04 ขอพูดแยก: ถ้าไม่มี rsyslog ไฟล์ /var/log/ufw.log ก็ไม่มีอยู่เลยและทุกอย่างไปที่เจอร์นัลของ systemd — และการตั้งค่าของ PSAD ก็ต้องคำนึงถึงเส้นทางล็อกนั้นด้วย

การติดตั้ง

sudo apt install psad
sudo psad --sig-update
sudo psad -R
sudo psad --Status

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

การตั้งค่าอยู่ใน /etc/psad/psad.conf และพารามิเตอร์ที่มีความสำคัญในทางปฏิบัติมีไม่มาก: ที่อยู่เมล เส้นทางล็อก และเกณฑ์ของระดับอันตราย

ระดับอันตราย

PSAD ให้ระดับ 1 ถึง 5 แก่แต่ละแหล่ง โดยอิงจากจำนวนพอร์ตที่ถูกแตะและความคล้ายของพฤติกรรมกับเทคนิคการสแกนที่รู้จัก

  • 1–2 — การสัมผัสพอร์ตที่ปิดเป็นครั้งคราว นี่คือพื้นหลังถาวรของอินเทอร์เน็ต ไม่ต้องตอบสนอง;
  • 3 — การไล่ตรวจพอร์ตอย่างเป็นระบบ ปกติคือสแกนเนอร์เพื่อการวิจัย ซึ่งมีอยู่หลายสิบตัวบนเครือข่าย;
  • 4–5 — การงมหาพอร์ตจำนวนมากอย่างจงใจจากที่อยู่เดียว มักพร้อมกับความพยายามซ่อนลักษณะของการสัมผัส

เกณฑ์การส่งเมลกำหนดด้วย EMAIL_ALERT_DANGER_LEVEL ค่า 3 มักหมายถึงอีเมลหลายฉบับต่อวัน และนั่นก็นำไปสู่กฎในโปรแกรมเมลอย่างรวดเร็วพอสมควร ที่สมเหตุสมผลกว่าคือตั้ง 4 แล้วดูส่วนที่เหลือบนหน้าสรุปสักหน้า

การบล็อกอัตโนมัติ: อย่าทำ

PSAD เองก็เพิ่มกฎลงไฟร์วอลล์ได้ (ENABLE_AUTO_IDS) และบนเซิร์ฟเวอร์ที่ทำงานลำพัง การเปิดใช้มันไม่เหมาะสม และเหตุผลนั้นหนักแน่น: ที่อยู่ผู้ส่งในแพ็กเก็ตปลอมได้ แค่มีคนส่งแพ็กเก็ตที่อยู่ถูกเปลี่ยนมาหาคุณก็พอ — แล้วคุณก็จะบล็อกที่อยู่ที่เขาเลือกไว้ และนั่นอาจกลายเป็นลูกค้าของคุณเอง เกตเวย์ชำระเงิน หรือบริการเฝ้าดูก็ได้

และถ้ายังต้องการการบล็อกอยู่ ให้เปิดใช้ด้วยเกณฑ์อันตรายที่สูงและมีการจำกัดเวลาเสมอ (AUTO_BLOCK_TIMEOUT) เพื่อไม่ให้รายการที่ผิดพลาดค้างอยู่ตลอดกาล

ในทางปฏิบัติควรทำอะไรกับมัน

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

ข้อสังเกตที่มีประโยชน์:

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

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

ตำแหน่งของมันในบรรดาเครื่องมือ

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