อะไรคือสัญญาณบอกเล่าว่าเซิร์ฟเวอร์ Linux ถูกแฮ็ก มีเครื่องมือใดที่สามารถสร้างและส่งอีเมลรายงานการตรวจสอบตามกำหนดเวลาได้หรือไม่?
อะไรคือสัญญาณบอกเล่าว่าเซิร์ฟเวอร์ Linux ถูกแฮ็ก มีเครื่องมือใดที่สามารถสร้างและส่งอีเมลรายงานการตรวจสอบตามกำหนดเวลาได้หรือไม่?
คำตอบ:
คุณทำไม่ได้
ฉันรู้ว่าฉันรู้ - แต่มันเป็นความจริงที่หวาดระแวงเศร้าจริง ๆ ;) มีคำแนะนำมากมาย แต่ถ้าระบบมีการกำหนดเป้าหมายโดยเฉพาะ - อาจเป็นไปไม่ได้ที่จะบอก เป็นการดีที่จะเข้าใจว่าไม่มีสิ่งใดปลอดภัยอย่างสมบูรณ์ แต่เราต้องทำงานให้ปลอดภัยยิ่งขึ้นดังนั้นฉันจะชี้ไปที่คำตอบอื่น ๆ แทน)
หากระบบของคุณถูกบุกรุกเครื่องมือในระบบของคุณจะไม่สามารถเชื่อถือได้เพื่อเปิดเผยความจริง
Tripwireเป็นเครื่องมือที่ใช้กันทั่วไป - มันแจ้งให้คุณทราบเมื่อไฟล์ระบบมีการเปลี่ยนแปลงแม้ว่าจะต้องมีการติดตั้งไว้ก่อน มิฉะนั้นรายการเช่นบัญชีผู้ใช้ใหม่ที่คุณไม่รู้จักกระบวนการแปลกประหลาดและไฟล์ที่คุณไม่รู้จักหรือการใช้แบนด์วิดท์ที่เพิ่มขึ้นโดยไม่มีเหตุผลชัดเจนคือสัญญาณปกติ
ระบบตรวจสอบอื่น ๆ เช่นZabbixสามารถกำหนดค่าให้แจ้งเตือนคุณเมื่อมีการเปลี่ยนแปลงไฟล์เช่น / etc / passwd
บางสิ่งที่เคยทำให้ฉันขาดหายไปในอดีต:
ls
(อาจเกิดขึ้นกับชุดคิทรูท)/
หรือ/var/
(ตัวย่อสคริปต์ส่วนใหญ่โง่หรือขี้เกียจเกินกว่าที่จะปกปิดเพลงของพวกเขา)netstat
แสดงพอร์ตเปิดที่ไม่ควรมีbind
แต่คุณมักจะใช้djbdns
)นอกจากนี้ฉันได้พบว่ามีสัญญาณที่เชื่อถือได้เพียงกล่องเดียว: หากคุณมีความรู้สึกไม่ดีเกี่ยวกับความขยันหมั่นเพียร (พร้อมอัพเดท ฯลฯ ) ของผู้ดูแลระบบที่คุณได้รับมรดกมาจากระบบ
มีวิธีตรวจสอบเซิร์ฟเวอร์ที่แฮ็คผ่านทางkill
-
เป็นหลักเมื่อคุณเรียกใช้ "kill -0 $ PID" คุณกำลังส่งสัญญาณ nop ไปยังตัวระบุกระบวนการ $ PID หากกระบวนการกำลังทำงานอยู่คำสั่ง kill จะออกตามปกติ (FWIW เนื่องจากคุณกำลังส่งสัญญาณ nop kill จะไม่มีอะไรเกิดขึ้นกับกระบวนการ) หากกระบวนการไม่ทำงานคำสั่ง kill จะล้มเหลว (สถานะออกน้อยกว่าศูนย์)
เมื่อเซิร์ฟเวอร์ของคุณถูกแฮ็ค / ติดตั้งรูทคิทสิ่งแรกสิ่งหนึ่งที่มันบอกเคอร์เนลให้ซ่อนกระบวนการที่ได้รับผลกระทบจากตารางกระบวนการ ฯลฯ อย่างไรก็ตามมันสามารถทำสิ่งดีๆได้ทุกประเภทในพื้นที่เคอร์เนลเพื่อโคลนรอบ ๆ กระบวนการ และนี่ก็หมายความว่า
a) การตรวจสอบนี้ไม่ใช่การตรวจสอบอย่างละเอียดเนื่องจากรูทคิทที่เข้ารหัส / ดีจะทำให้แน่ใจว่าเคอร์เนลจะตอบกลับด้วยการตอบกลับ "กระบวนการไม่มีอยู่" ทำให้การตรวจสอบซ้ำซ้อน b) ไม่ว่าจะด้วยวิธีใดเมื่อเซิร์ฟเวอร์ที่ถูกแฮ็กมีกระบวนการ "ไม่ดี" ทำงานอยู่ PID มักจะไม่แสดงภายใต้ / proc
ดังนั้นหากคุณอยู่ที่นี่จนถึงปัจจุบันวิธีการคือการฆ่า -0 ทุกกระบวนการที่มีอยู่ในระบบ (ทุกอย่างตั้งแต่ 1 -> / proc / sys / kernel / pid_max) และดูว่ามีกระบวนการที่ทำงานอยู่หรือไม่ แต่ไม่ได้รายงาน ใน / proc
หากกระบวนการบางอย่างเกิดขึ้นทำงาน แต่ไม่ได้รายงานใน / proc คุณอาจมีปัญหาในแบบที่คุณเห็น
นี่คือสคริปต์ทุบตีว่าการดำเนินการทั้งหมดที่ - https://gist.github.com/1032229 บันทึกไว้ในไฟล์บางไฟล์และดำเนินการหากคุณพบกระบวนการที่ไม่ได้รายงานใน proc คุณควรมีโอกาสในการเริ่มขุด
HTH
ฉันจะสองคำตอบที่ได้รับที่นี่และเพิ่มหนึ่งของฉันเอง
find /etc /var -mtime -2
สิ่งนี้จะบอกให้คุณทราบอย่างรวดเร็วหากไฟล์เซิร์ฟเวอร์หลักของคุณมีการเปลี่ยนแปลงใน 2 วันที่ผ่านมา
นี่คือจากบทความเกี่ยวกับการตรวจจับการแฮ็ก วิธีการตรวจสอบว่าเซิร์ฟเวอร์ของคุณถูกแฮ็ค
จากฉันสามารถตรวจสอบการบุกรุกที่ไม่พึงประสงค์บนเซิร์ฟเวอร์ของฉันได้อย่างไร
ใช้ IDS
SNORT®เป็นระบบป้องกันและตรวจจับการบุกรุกเครือข่ายโอเพนซอร์ซโดยใช้ภาษาที่ขับเคลื่อนด้วยกฎซึ่งรวมข้อดีของวิธีการตรวจสอบลายเซ็นโปรโตคอลและความผิดปกติ ด้วยการดาวน์โหลดหลายล้านครั้งจนถึงปัจจุบัน Snort เป็นเทคโนโลยีตรวจจับและป้องกันการบุกรุกที่มีการใช้งานกันอย่างแพร่หลายมากที่สุดทั่วโลกและกลายเป็นมาตรฐานที่แท้จริงสำหรับอุตสาหกรรม
Snort อ่านทราฟฟิกเครือข่ายและสามารถมองหาสิ่งต่าง ๆ เช่น "ไดรฟ์ด้วยการทดสอบปากกา" ซึ่งมีคนเพียงแค่เรียกใช้การสแกน metasploit ทั้งหมดกับเซิร์ฟเวอร์ของคุณ ดีใจที่ได้ทราบสิ่งเหล่านี้ในความคิดของฉัน
ใช้บันทึก ...
ขึ้นอยู่กับการใช้งานของคุณคุณสามารถตั้งค่าเพื่อให้คุณรู้ว่าเมื่อใดก็ตามที่ผู้ใช้เข้าสู่ระบบหรือเข้าสู่ระบบจาก IP แปลกหรือเมื่อใดก็ตามที่รูทเข้าสู่ระบบหรือเมื่อใดก็ตามที่มีคนพยายามเข้าสู่ระบบ จริง ๆ แล้วฉันมีเซิร์ฟเวอร์อีเมลฉันทุกบันทึกข้อความสูงกว่า Debug ใช่แม้กระทั่งประกาศ ฉันกรองบางอย่างของหลักสูตร แต่ทุกเช้าเมื่อฉันได้รับ 10 อีเมลเกี่ยวกับสิ่งที่ทำให้ฉันต้องการแก้ไขเพื่อหยุดมันเกิดขึ้น
ตรวจสอบการกำหนดค่าของคุณ - ฉันเก็บ / etc ทั้งหมดในการโค่นล้มเพื่อให้ฉันสามารถติดตามการแก้ไข
เรียกใช้การสแกน เครื่องมือเช่นLynisและRootkit Hunterสามารถแจ้งเตือนคุณถึงช่องโหว่ด้านความปลอดภัยที่เป็นไปได้ในแอปพลิเคชันของคุณ มีโปรแกรมที่รักษาแฮชหรือแฮชทรีของถังขยะทั้งหมดและสามารถแจ้งเตือนคุณถึงการเปลี่ยนแปลงได้
ตรวจสอบเซิร์ฟเวอร์ของคุณ - เช่นเดียวกับที่คุณพูดถึงพื้นที่ทำงาน - กราฟสามารถให้คำแนะนำแก่คุณได้หากมีสิ่งผิดปกติ ผมใช้Cactiที่จะเก็บตาบน CPU เครือข่ายการจราจรพื้นที่ดิสก์อุณหภูมิ ฯลฯ หากสิ่งที่มีลักษณะแปลกมันเป็นเรื่องแปลกและคุณควรจะหาเหตุผลว่าทำไมมันเป็นเรื่องแปลก
ฉันแค่อยากจะเพิ่มไปนี้:
ตรวจสอบประวัติทุบตีของคุณถ้ามันว่างเปล่าและคุณยังไม่ได้ล้างมันหรือล้างมันก็มีความเป็นไปได้ที่จะมีคนบุกรุกเซิร์ฟเวอร์ของคุณ
ตรวจสอบล่าสุด ไม่ว่าคุณจะเห็น IP ที่ไม่รู้จักหรือมันจะดูว่างเปล่า
จากนั้นตามคำตอบที่ระบุไว้ไฟล์ระบบมักจะถูกเปลี่ยนตรวจสอบวันที่แก้ไข อย่างไรก็ตามพวกเขามักจะยุ่งเกี่ยวกับวันที่แก้ไข
พวกเขามักจะติดตั้ง ssh รุ่นอื่นที่ทำงานบนพอร์ตแบบสุ่ม สิ่งนี้มักถูกซ่อนอยู่ในสถานที่แปลก ๆ หมายเหตุโดยปกติจะถูกเปลี่ยนชื่อเป็นอย่างอื่นที่ไม่ใช่ ssh ดังนั้นให้ตรวจสอบ netstat (อาจใช้งานไม่ได้เพราะมันมักจะถูกแทนที่) และใช้ iptables เพื่อบล็อกพอร์ตที่ไม่รู้จัก
ไม่ว่าในกรณีใดก็ตามนี่เป็นสถานการณ์ที่การป้องกันดีกว่ารักษา หากคุณถูกบุกรุกคุณควรจัดรูปแบบและเริ่มใหม่อีกครั้ง แทบจะเป็นไปไม่ได้ที่จะยืนยันว่าคุณล้างแฮ็คสำเร็จ
จดสิ่งต่อไปนี้เพื่อป้องกันเซิร์ฟเวอร์ของคุณจากการถูกบุกรุก
มีค่าในขณะที่รับทราบว่าเมื่อพวกเขาอยู่ในเซิร์ฟเวอร์เดียวพวกเขาจะตรวจสอบประวัติทุบตีของคุณและมองหาเซิร์ฟเวอร์อื่น ๆ ที่คุณเชื่อมต่อผ่าน ssh จากเซิร์ฟเวอร์นั้น พวกเขาจะพยายามเชื่อมต่อกับเซิร์ฟเวอร์เหล่านั้น ดังนั้นหากคุณถูกบังคับให้ดุร้ายเนื่องจากรหัสผ่านไม่ดีอาจเป็นไปได้มากที่พวกเขาจะสามารถเชื่อมต่อกับเซิร์ฟเวอร์อื่น ๆ
มันเป็นโลกที่น่าเกลียดที่นั่นฉันขอย้ำการป้องกันดีกว่ารักษา
หลังจากค้นหาสักหน่อยแล้วก็มีสิ่งนี้เช่นกันมันทำสิ่งที่ฉันได้ระบุไว้ข้างต้นท่ามกลางสิ่งอื่น ๆ : http://www.chkrootkit.org/และhttp://www.rootkit.nl/projects/rootkit_hunter.html
คุณควรตรวจสอบ GuardRail สามารถสแกนเซิร์ฟเวอร์ของคุณเป็นประจำทุกวันและบอกคุณว่ามีการเปลี่ยนแปลงอย่างไรในรูปแบบที่สวยงาม ไม่จำเป็นต้องมีตัวแทนและสามารถเชื่อมต่อผ่าน SSH ดังนั้นคุณไม่จำเป็นต้องทิ้งเครื่องและทรัพยากรด้วยตัวแทน
เหนือสิ่งอื่นใดมันฟรีสำหรับเซิร์ฟเวอร์สูงสุด 5 เครื่อง
ตรวจสอบที่นี่: