เมื่อฉันต้องดูแลเซิร์ฟเวอร์ Linux ที่มีอยู่วิธีที่ดีที่สุดในการตรวจสอบว่าปลอดภัยหรือไม่


9

มีบทเรียนมากมายเกี่ยวกับวิธีการตั้งค่าเซิร์ฟเวอร์ที่ปลอดภัยใหม่

แต่ถ้าฉันต้องจัดการเซิร์ฟเวอร์ที่มีคนอื่นตั้งไว้ก่อนหน้านี้แล้วและฉันยังไม่รู้เกี่ยวกับการกำหนดค่ามากนัก

มีเครื่องมือบางอย่างที่ตรวจสอบ "ผู้ต้องสงสัยปกติ" โดยอัตโนมัติหรือมีรายการตรวจสอบบางอย่างที่ฉันสามารถผ่านไปได้เพื่อให้แน่ใจว่าไม่มีช่องโหว่ด้านความปลอดภัยที่ชัดเจนอยู่หรือไม่? มีบริการเว็บที่ตรวจสอบช่องโหว่จากระยะไกลหรือไม่

คำตอบ:


13

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

นอกจากนี้ยังติดตั้งOssec ; แม้ว่าจะไม่ใช่จุดประสงค์หลัก แต่ก็จะพบการกำหนดค่าผิดพลาดบางอย่าง (เช่นบัญชีที่กำหนดค่าไม่ถูกต้อง) และหน้าที่หลักของมัน - การตรวจจับการบุกรุกโดยใช้โฮสต์ - จะช่วยค้นหาว่ามีใครพยายามหาช่องโหว่จากช่องโหว่นี้หรือไม่


5
Nessus ไม่ได้เป็นโอเพ่นซอร์สอีกต่อไป ส้อมโอเพนซอร์สเรียกว่า openvas
ไม่ระบุตัวตน

1
ฉันรู้ว่า. แต่มันยังคงเป็นฟรี II-in-beer IIRC และโปสเตอร์ไม่เคยบอกว่าเขาต้องการเพียงระบบ F / OSS
niXar

+1 Nessus เป็นสิ่งที่ดีมากฉันจะดำเนินการต่อไปและการสแกน Nmap ที่โหลดผลลัพธ์ลงใน Nessus อาจช่วยให้รับช่องโหว่เพิ่มเติมได้ในบางกรณี
Mark Davidson

1
+1 สำหรับ OSSEC นอกจากนี้ยังมีโมดูลการตรวจสอบรูทคิท / ระบบที่คุณสามารถเรียกใช้แบบสแตนด์อโลน: ossec.net/rootcheck
sucuri

5

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

  • Nessus / OpenVAS (เครื่องสแกนช่องโหว่)
  • Nmap (เครื่องสแกนพอร์ต)
  • TCPdump / Wireshark (การดักจับแพ็กเก็ต libpcap)
  • SNORT (ระบบตรวจจับการบุกรุก)

(tcpdump ถูกติดตั้งบนระบบ linux หลายระบบเป็นค่าเริ่มต้นหรืออาจติดตั้งได้ง่ายจากที่เก็บแพคเกจและมีหน้าคนที่ครอบคลุม)

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


4

เป็นการตรวจสอบครั้งแรกอย่างรวดเร็วมาก:

วิ่ง

netstat -ltnp

ในฐานะที่เป็นราก ที่จะแสดงบริการทั้งหมดที่กำลังฟังบนเครือข่าย:

นี่อาจแสดงสิ่งที่คุณต้องการปิดตัวลงทันที จากนั้นคุณสามารถดำเนินการแก้ปัญหาต่อไปในคำตอบอื่น ๆ

สำหรับบริการที่จำเป็นต้องเรียกใช้ แต่ไม่สามารถเข้าถึงได้จากภายนอก (เช่นเซิร์ฟเวอร์ฐานข้อมูลท้องถิ่น) ให้พิจารณาเปลี่ยนการกำหนดค่าเพื่อฟังเฉพาะใน localhost / 127.0.0.1 ด้วยวิธีนี้ผู้ใช้ในท้องถิ่นสามารถเข้าถึงได้เท่านั้น


4

ฉันจะตรวจสอบ Bastille-Linux ที่http://www.bastille-unix.org/ซึ่งเป็นชุดของสคริปต์ที่คุณสามารถเรียกใช้และจะตรวจสอบการตั้งค่าระบบการอนุญาตไฟล์การตั้งค่าผู้ใช้ ฯลฯ ฉันใช้มันแล้ว หนึ่งหรือสองครั้งในกล่องของตัวเองและหากพบปัญหาเกี่ยวกับการติดตั้งเริ่มต้น (ส่วนใหญ่ r_x บน rsh / rsync utils) มันจะออกมาเป็น html / java + curses / text flat


3

distro อะไร

ทั่วไป:

  • ตรวจสอบการตั้งค่า iptables และ / หรือไฟร์วอลล์
  • ตรวจสอบการกำหนดค่า SSHD
  • ตรวจสอบการกำหนดค่าบริการที่เข้าถึงได้จากภายนอกทั้งหมด
  • ตรวจสอบให้แน่ใจว่าคุณกำลังใช้งานซอฟต์แวร์ล่าสุดอยู่
  • ตรวจสอบช่องโหว่ของเคอร์เนล (uname -a และ google)
  • ตรวจสอบการอนุญาตของผู้ใช้และการอนุญาตของกลุ่มสำหรับไฟล์ที่แก้ไขได้

ไม่มีการแจกจ่ายพิเศษ / การแจกแจงทั้งหมด
Daniel Rikowski

นอกจากนี้คุณอาจต้องการดูรายการแพคเกจที่ติดตั้งไว้ บางอย่างเช่น dpkg - get-selections> installed_pkgs.txt สำหรับ distian เดเบียน
David Rickman

2
คุณอาจต้องตรวจสอบไฟล์ setuid / setgid ที่ผิดปกติซึ่งบัญชีใดมีการตั้งรหัสผ่านสิ่งที่เชลล์ล็อกอินของพวกเขาคือ ฯลฯ เพื่อกำจัดประตูด้านหลังที่ง่ายดาย
mas

คำแนะนำที่ดีเยี่ยมฉันลืมไปเลยว่ามันอาจจะเป็นหลุมขนาดใหญ่
David Rickman

3

การตรวจสอบที่ดีอันดับแรกคือการเรียกใช้ชื่อโฮสต์ nmapจากโฮสต์อื่นในเครือข่าย สิ่งนี้ให้มุมมองของคนนอกเกี่ยวกับสิ่งที่ netstat แสดงบนโฮสต์


3

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

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

หากเจ้านายของคุณไม่ยอมให้คุณแนะนำให้คนอื่นฟังดูดี :-)


+1: หากการสร้าง / การกำหนดค่านั้นไม่ได้จัดทำเป็นเอกสารและคุณมีเวลาอาจใช้โอกาสนี้ในการสร้างใหม่ แทนที่จะต้องทำภายใต้การข่มขู่ในภายหลัง จากนั้นคุณสามารถมั่นใจได้ว่ามันปลอดภัยและมันจะถูกบันทึกไว้สำหรับการอ้างอิงในอนาคต
Dan Carley

2

นอกจากนี้บางส่วนของการตอบสนองที่ดีมากที่นี่ตรวจสอบhttp://www.sans.org/ พวกเขามีเอกสารที่ดีมากหากคุณยินดีที่จะอ่านเล็กน้อยเพื่อให้เข้าใจถึง "การป้องกันในเชิงลึก" ได้ดียิ่งขึ้น

บางส่วนของสถานที่ขั้นพื้นฐานมาก:

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

1
จำไว้ว่าให้ จำกัด การเข้าถึงทางกายภาพด้วยไม่ใช่เฉพาะจากเครือข่าย
iny

1

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


1

สิ่งหนึ่งที่คุณสามารถทำได้เพื่อรับความรู้สึกสำหรับระบบเป็นdiff / etc โฟลเดอร์กับสดติดตั้ง (กับการปรับปรุงเดียวกันนำไปใช้.) นี้จะบอกคุณว่ามีการเปลี่ยนแปลงเพื่อให้คุณสามารถมุ่งเน้นไปกังวลด้านความปลอดภัยของคุณมี


1

เพื่อขยายสิ่งที่ mas กล่าวนี่คือคำสั่ง find อย่างง่ายเพื่อแสดงรายการไฟล์ setuid และ setgid ทั้งหมดบนระบบเพื่อตรวจสอบ

find / -type f \( -perm -4000 -o -perm -2000 \) -print

แน่นอนเหมือนที่คนอื่นพูดนี่คือทั้งหมดที่สมมติว่าเครื่องไม่มีรูทคิทอยู่แล้ว ...


1

Chrootkit / rkhunter เป็นผลไม้แขวนยาว หากคุณได้รับการติดตั้งรูทคิททุกอย่างที่รายงานจะถูกบุกรุกและไม่ช่วยอะไรมากดังนั้นโปรดดาวน์โหลดจากแหล่งที่รู้จักอย่าใช้สิ่งที่มีอยู่ในกล่อง เคล็ดลับที่ดีอีกข้อหนึ่งคือการติดตั้งเคอร์เนลที่คุณรู้ว่าดี (อย่างใดอย่างหนึ่งจากแพ็คเกจหรือหมุนของคุณเอง) ตรวจสอบ backdoors (lsof -i และ 0 uid non-root accounts) การตรวจสอบกฎไฟร์วอลล์มักจะบอกคุณได้มากมายเกี่ยวกับพฤติกรรมของผู้ดูแลระบบคนก่อน ใส่ wireshark / snort ลงไปแล้วพยายามมองเห็นสิ่งผิดปกติ ดูที่บันทึกกำลังจะไป ตรวจสอบไฟล์. profile / .bashrc ทั้งหมดสำหรับคำสั่งที่ผิดปกติ ค้นหาใน. ssh / known_hosts สำหรับโฮสต์หลบใด ๆ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.