เซิร์ฟเวอร์นี้กำลังทำอะไร


13

ฉันมีลินุกซ์เซิร์ฟเวอร์เสมือนเหลืออยู่จากแผนกไอทีก่อนหน้านี้ พวกเขามีชื่อเช่น 'เวทมนต์' หรือ 'สิ่งของ' ฉันไม่แน่ใจว่าสิ่งที่พวกเขากำลังทำ ... หรือถ้าฉันต้องการพวกเขา ...

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


2
คุณมีข้อมูลประจำตัวในการเข้าสู่เครื่องเหล่านี้หรือไม่?
Skyhawk

ฉันมีข้อมูลประจำตัวที่จะทำสิ่งที่ฉันต้องการกับเครื่อง
blsub6

9
ความคิดเห็นที่ไร้ค่าทั้งหมด แต่ชื่อของคำถามนี้จะทำให้เกมโชว์ยอดเยี่ยม
แมตต์ซิมมอนส์

คำตอบ:


20

สถานที่สองแห่งที่จะเริ่มต้น:

  • บริการฟัง ( netstat) - นี่ควรพูดโดยทั่วไปให้ความคิดที่ดีของสิ่งที่เกิดขึ้นกับระบบ
  • /root/.bash_history (หรือของผู้ใช้รายอื่นหากพวกเขาไม่ได้ใช้รูท) - สิ่งใดก็ตามที่เกิดขึ้นบนคอนโซลจะเป็นการดีเลิศที่เกี่ยวข้องกับวัตถุประสงค์ของระบบ
  • /var/log - ดูบันทึกมาตรฐานและมองหาแอปพลิเคชันที่เกี่ยวข้อง
  • แพคเกจที่ติดตั้ง - นี่คือเฉพาะสำหรับการกระจายของลินุกซ์ที่พวกเขากำลังทำงานอยู่ แต่ถ้าบันทึกมีให้ดู /var/log/dpkg.log, /var/log/yum.logฯลฯ

2
สิ่งอื่น ๆ ที่จะมองไปที่มีงาน cron (ระบบทั้งสอง/etc/crontabและ/etc/cron.*และงานต่อผู้ใช้)
DerfK

1
และจะเป็นอย่างไรps uaxwหรือtopเพื่อดูว่าเกิดอะไรขึ้น :)
KARASZI István

12

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

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


4
+1 - วิธีเดียวที่จะค้นหาว่ามีบริการใดทำงานอยู่บ้างเพื่อปิดใช้งาน งานล่าสุดของฉันมี "เซิร์ฟเวอร์การพิมพ์" ของ Windows NT4 ซึ่งเพิ่มขึ้นหลายปีหลังจากที่มันควรจะตาย วันที่มันถูกปิดสิ่งต่าง ๆ มากมายทั้งที่ไม่มีใครรู้ว่ากำลังวิ่งอยู่บนกล่องนั้น
voretaq7

1
หยุดชั่วคราวและรอ และหลังจากผ่านไปสองเดือนและผู้ใช้สุ่มบางคนบ่นว่าการแชร์ทางลัดหรืออย่างอื่นไม่ทำงาน (แต่ใช้งานได้!) ให้เปิดใช้งาน
adamo

5
@adamo ... ย้ายข้อมูล / ฟังก์ชันการทำงานไปยังเครื่อง / VM ที่รองรับที่รู้จักแล้วปิดสวิตช์ถ้าปิดอีกครั้ง
Chopper3

7

ฉันแปลกใจที่เห็นว่าคำตอบแรกที่แนะนำไม่ได้ps -efดังนั้นฉันจะเพิ่ม: ถ้าคุณต้องการรู้ว่าระบบกำลังทำอะไรอยู่ตอนนี้อ่านรายการกระบวนการโดยให้ความสนใจเป็นพิเศษกับรากที่มีอยู่และ ไม่ว่าจะมีกระบวนการที่เป็นเจ้าของโดยผู้ใช้ที่ตั้งชื่ออย่างเป็นความลับ (mysql, ชื่อ ฯลฯ )

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

ข้อยกเว้นที่น่าสังเกต ได้แก่ จดหมาย - ดู syslog ในพื้นที่และmailqสำหรับรายละเอียดเกี่ยวกับสิ่งที่กำลังดำเนินการโดย sendmail - และบริการเรียกใช้ตามความต้องการประเภทซึ่ง/etc/xinetd.confเป็นเดิมพันที่ดีอย่างน้อยที่สุดสำหรับ Linux ที่ใช้ Redhat ล่าสุด

หวังว่าจะช่วย; แจ้งให้เราทราบหากคุณพบบางสิ่งโดยเฉพาะอย่างยิ่งเราสามารถช่วยระบุ!


+1 lsofสำหรับ lsof -iสามารถเป็นเพื่อนที่ดีที่สุดของคุณในสถานการณ์เหล่านี้
Brian

1

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


1

โอ้ที่รักมันสนุกดี

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

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

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

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

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

โชคดี!


+1 สำหรับประโยคแรกซึ่งฉันแน่ใจว่าเป็นสิ่งที่เราทุกคนคิดเมื่ออ่านคำถาม :)
John Gardeniers

0

การสแกนพอร์ตจะเปิดเผยบริการใด ๆ ที่สามารถเข้าถึงเครือข่ายได้

จากเซิร์ฟเวอร์ในเครื่อง: nmap 127.0.0.1

หรือคุณสามารถบอก nmap ให้ทำการสแกน subnet / mask


2
หรือแม้กระทั่งเพียงแค่ netstat
John Gardeniers

0

อีกมุมหนึ่งคือดูสิ่งที่กำหนดค่าให้เชื่อมต่อกับเซิร์ฟเวอร์ หาก foozle.example.com ถูกกำหนดค่าในไคลเอนต์อีเมลของ CEO อาจเป็นเซิร์ฟเวอร์อีเมล ไคลเอนต์ FTP อาจชี้ไปที่เว็บเซิร์ฟเวอร์ในบางประเภท ฯลฯ


ในขณะที่มันจะทำงานปัญหาคือเครื่องอื่น ๆ และอาจเป็นไปได้ว่าทุกบัญชีผู้ใช้บนเครื่องเหล่านั้นจะต้องมีการตรวจสอบมากกว่าเครื่องเป้าหมาย
John Gardeniers

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

0

ps -ef สำหรับกระบวนการ, netstat -a สำหรับการรับฟังการบริการและ tcpdump เพื่อดูว่าทราฟฟิกใดที่ไปมาเป็นคำแนะนำที่ดี นอกจากนี้เนื่องจากเป็น Linux จึงมีโอกาสที่ดีที่จะมีไฟร์วอลล์ที่ทำงานอยู่ - ตรวจสอบกฎการตั้งค่าสำหรับมันควรให้เบาะแสที่ดีแก่คุณเกี่ยวกับบริการที่คาดว่าจะใช้กับโฮสต์นี้และโฮสต์ระยะไกลที่โฮสต์นี้เชื่อมต่อ . เช่น iptables - รายการแน่นอนว่าไฟร์วอลล์มีอะไรอีกที่จะลองใช้ลอง lsmod เพื่อค้นหาโมดูลไฟร์วอลล์และดู / var / log

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