เหตุใดระบบปฏิบัติการบน Linux จึงปลอดภัยกว่า Windows [ปิด]


19

ฉันได้ยินมาว่าระบบที่ใช้ Linux นั้นดีกว่าเพื่อความปลอดภัย เห็นได้ชัดว่าพวกเขาไม่มีไวรัสและไม่ต้องการซอฟต์แวร์ป้องกันไวรัส แม้แต่มหาวิทยาลัยของฉันก็อ้างสิ่งนี้ - พวกเขาปฏิเสธที่จะให้ Windows บนเซิร์ฟเวอร์ของพวกเขาซึ่งเป็นเรื่องน่าอายจริง ๆ เพราะเราต้องการใช้. NET Framework ในการสร้างเว็บไซต์บางแห่ง

เหตุผลเดียวที่ฉันเห็นว่า Linux ปลอดภัยกว่านั้นก็เพราะว่ามันเป็นโอเพ่นซอร์สดังนั้นข้อบกพร่องในทางทฤษฎีก็จะถูกจับและแก้ไขได้เร็วกว่า

ฉันรู้ว่าระบบปฏิบัติการทำงานอย่างไร แต่ยังไม่ได้เจาะลึกถึงวิธีการที่ระบบปฏิบัติการ Linux และ Windows ใช้งานได้จริง บางคนสามารถอธิบายความแตกต่างที่ทำให้ระบบบน Linux ปลอดภัยยิ่งขึ้นได้ไหม


5
ฉันไม่ได้ตอบคำถามของคุณอย่างแน่นอน แต่ฉันต้องการปกป้องทางเลือกของโรงเรียนของคุณเล็กน้อย โรงเรียนของฉันทำงานทั้งระบบ windows และระบบ linux ซึ่ง (ลอง) แบ่งปันระบบไฟล์ทั่วไป แต่ในทางปฏิบัติสิ่งนี้อาจมีราคาแพงเพราะหน้าต่างและโดเมน unix บนเครือข่ายไม่ได้อยู่ด้วยกันอย่างน่าเศร้า เนื่องจากเราเห็นว่าผู้ใช้ Windows จำเป็นต้องใช้องค์ประกอบโอเพ่นซอร์สมากกว่าตรงกันข้าม (ขออภัยเกี่ยวกับ. net) ดังนั้นจึงเป็นตัวเลือกที่น่านับถือที่พวกเขาสนับสนุน Linux บนฮาร์ดแวร์พื้นฐานพื้นฐานเช่นเซิร์ฟเวอร์เท่านั้น Linux รองรับบริการที่สำคัญที่สุดวันนี้
Notmyfault

ขอบคุณสำหรับการตอบกลับของคุณ - และสำหรับผู้ตอบแบบสอบถามคนอื่น ๆ เช่นกัน สำหรับบันทึกฉันสงสัยมากกว่าโกรธที่อ้างสิทธิ์ในมหาวิทยาลัยของฉัน
echoblaze

คำตอบ:


55

ฉันไม่คิดว่าระบบปฏิบัติการ "ปลอดภัย" การกำหนดค่าเฉพาะของระบบปฏิบัติการมีระดับความต้านทานต่อการโจมตีที่เฉพาะเจาะจง

ฉันอาจจะโดนไล่ออกเพราะเป็น "ผู้ขอโทษของ Microsoft" ที่นี่ แต่หัวข้อนี้หยิ่งยโสต่อการสรุปทั่วไปเกี่ยวกับ "Windows" ที่ไม่เป็นความจริง

Windows 1.0 - 3.11, 95, 98 และ ME อ้างอิงจาก DOS เชื้อสายของระบบปฏิบัติการนี้ไม่มีการรักษาความปลอดภัยอย่างเป็นทางการ (พื้นที่ที่อยู่ที่ได้รับการป้องกันการแยกโหมดเคอร์เนล / ผู้ใช้ ฯลฯ ) โชคดีที่เมื่อเราพูดถึง "Windows" วันนี้เราไม่ได้พูดถึงระบบปฏิบัติการเหล่านี้

ระบบปฏิบัติการตระกูล Windows NT (Windows NT 3.5, 3.51, 4.0, 2000, XP, 2003, Vista, 2008, และ 7) มีระบบความปลอดภัยที่สมเหตุสมผล "ได้รับการออกแบบใน" ตั้งแต่รุ่นแรกในปี 1992 ระบบปฏิบัติการคือ ออกแบบโดยคำนึงถึง TCSEC "Orange Book" และในขณะที่ไม่สมบูรณ์แบบฉันคิดว่ามันได้รับการออกแบบมาอย่างเหมาะสม

  • Windows NT คือ "ผู้ใช้หลายคน" ตั้งแต่ต้น (แม้ว่าการทำงานของผู้ใช้หลายคนที่ได้รับส่วนต่อประสานกราฟิกผู้ใช้พร้อมกันจากเซิร์ฟเวอร์เดียวกันจะไม่เกิดขึ้นจนกว่า Citrix WinFrame ในยุค Windows NT 3.51) มีการแยกโหมดเคอร์เนล / ผู้ใช้ที่มีการป้องกันพื้นที่ที่อยู่อาศัยฟังก์ชั่นฮาร์ดแวร์พื้นฐานของ MMU และ CPU (ฉันบอกว่ามันเป็น "Unix-y" มาก แต่จริงๆแล้วมันเป็น "VMS-y" มาก)

  • รูปแบบการอนุญาตระบบไฟล์ใน NTFS นั้นค่อนข้าง "รวย" และแม้ว่าจะมีหูดบางตัวที่สัมพันธ์กับ "การสืบทอด" (หรือการขาดมัน - ดูวิธีการแก้ไขข้อบกพร่องการออกแบบย้าย / คัดลอก NTFS หรือไม่ ) 10 ปีที่ผ่านมาหรือมากกว่านั้นเพื่อให้ระบบปฏิบัติการ Unix สไตล์มีการใช้งานฟังก์ชั่นที่คล้ายกัน (Novell NetWare เอาชนะ Microsoft เพื่อชกต่อยกับเรื่องนี้แม้ว่าฉันคิดว่า MULTICS มีทั้งคู่ชนะ ... > smile <)

  • ผู้จัดการควบคุมการบริการรวมถึงระบบการอนุญาตในการควบคุมการเข้าถึงโปรแกรมบริการเริ่ม / หยุด / หยุดชั่วคราวได้รับการออกแบบมาเป็นอย่างดีและมีความแข็งแกร่งในการออกแบบที่สถาปัตยกรรม "init.d" สคริปต์ "ต่างๆ" (เช่นเดียวกับ "ข้อตกลงของสุภาพบุรุษ" ") ในหลาย distros Linux

  • ผู้จัดการวัตถุผู้บริหาร (ดู http://en.wikipedia.org/wiki/Object_Manager_(Windows) ) ซึ่งเป็นการวิเคราะห์อย่างหลวม ๆ กับระบบไฟล์ / proc และระบบไฟล์ / dev รวมกันมีรูปแบบ ACL ที่คล้ายกับระบบไฟล์และมีความสมบูรณ์มากกว่า รูปแบบการอนุญาตใด ๆ ที่ฉันทราบสำหรับ / proc หรือ / dev บน Linux distro ใด ๆ

  • แม้ว่าเราจะสามารถพิจารณาข้อดีและข้อเสียของรีจิสทรีได้ แต่รูปแบบการอนุญาตสำหรับคีย์ในรีจิสตรีนั้นมีความละเอียดมากกว่ารูปแบบการตั้งค่าการอนุญาตไฟล์ในไดเรกทอรี / etc (โดยเฉพาะอย่างยิ่งฉันชอบความคิดเห็นของ Rob Short อีก: รีจีสตรีในบทสัมภาษณ์ "Behind the Code" ของเขา:http://channel9.msdn.com/shows/Behind+The+Code/Rob-Short-Operating-System-Evolution Rob เป็นหนึ่งในคนหลักที่อยู่เบื้องหลังรีจิสตรีของ Windows ในตอนแรกและฉันคิดว่ามันปลอดภัยที่จะบอกว่าเขาไม่ใช่ มีความสุขเสมอกับสิ่งที่เกิดขึ้น)

ลีนุกซ์เองก็เป็นแค่เคอร์เนล, ในขณะที่วินโดวส์นั้นมีปัญหาในการกระจายลีนุกซ์มากกว่า. คุณกำลังเปรียบเทียบแอปเปิ้ลและส้มเพื่อเปรียบเทียบกับสิ่งนั้น ฉันยอมรับว่า Windows "ยากกว่าการ" ล้วงลง "มากกว่าระบบที่ใช้ระบบปฏิบัติการ Linux บางตัว ในทางกลับกันลีนุกซ์ลีนุกซ์บางรุ่นก็ส่ง "crap" จำนวนมากไปด้วย. ด้วยการกำเนิดของ Windows "รสชาติ" ที่หลากหลายเป็นไปได้ (แม้ว่าจะไม่ใช่สำหรับคนทั่วไป) เพื่อสร้าง "การกระจาย" ของ Windows ที่แตกต่างกันในพฤติกรรมของพวกเขาจากค่าเริ่มต้นของ Microsoft (ไม่รวมบริการต่างๆเปลี่ยนสิทธิ์เริ่มต้น ฯลฯ ) .

Windows รุ่นต่าง ๆ มีการแบ่งปันค่าเริ่มต้นที่เลือกไม่ดีข้อบกพร่องที่อนุญาตให้ผู้ใช้ที่ไม่ได้รับอนุญาตได้รับสิทธิพิเศษปฏิเสธการโจมตีบริการ ฯลฯ เมล็ด Unix (และแอปพลิเคชันที่ใช้ Unix จำนวนมากที่ทำงานโดยค่าเริ่มต้น ปัญหาเดียวกัน Microsoft ได้ทำงานที่น่าทึ่งตั้งแต่ Windows 2000 ทำให้การแยกแอปพลิเคชันง่ายขึ้นเรียกใช้โปรแกรมที่มีสิทธิ์น้อยที่สุดและลบคุณลักษณะที่ไม่จำเป็นของระบบปฏิบัติการ

ในระยะสั้นฉันคาดเดาสิ่งที่ฉันพูดคือการกำหนดค่าเฉพาะของระบบปฏิบัติการที่กำหนดสำหรับความต้องการของคุณเกี่ยวกับความปลอดภัยมีความสำคัญมากกว่าระบบปฏิบัติการที่คุณใช้ การกระจาย Windows และ Linux มีความสามารถที่คล้ายกันมากเกี่ยวกับคุณสมบัติความปลอดภัย คุณสามารถใช้เทคนิคการรักษาความปลอดภัยที่มั่นคง (สิทธิ์น้อยที่สุดการติดตั้งแบบ จำกัด ของส่วนประกอบเสริมกลไกการพิสูจน์ตัวตนที่มีความปลอดภัยแบบเข้ารหัสลับ ฯลฯ ) ในทั้งสองระบบปฏิบัติการ ไม่ว่าคุณจะทำจริงหรือไม่ -นั่นคือสิ่งที่สำคัญ


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

ตกลง จุดที่ดี
Kyle Hodgson

1
+1 - ฉันเป็นผู้ใช้ Linux ที่บ้านและเป็นมืออาชีพด้านความปลอดภัย Windows ส่วนใหญ่ที่ทำงาน การกำหนดค่ามีความสำคัญมากกว่าระบบปฏิบัติการของตัวเองและแน่นอนคุณต้องเปรียบเทียบการกระจาย Linux กับ Windows ไม่ใช่แค่ 'Linux' และเคอร์เนล
romandas

3
ตบมือช้า +1
chickeninabiscuit

สิ่งหนึ่งที่ทำร้ายโลกของ Windows มาเป็นเวลานาน (แม้ว่าตอนนี้จะเป็นประวัติศาสตร์ส่วนใหญ่แล้ว) ก็เป็นเวลานานมากที่คุณต้องเป็นผู้ดูแลระบบท้องถิ่นเพื่อทำสิ่งต่าง ๆ ในขณะที่ในโลก * คุณจะต้อง ต้อง sudoer บนเครื่องนั้น ปัญหาที่เห็นได้ชัดคือสิ่งใดก็ตามที่ผู้ดูแลระบบในพื้นที่ทำงานโดยเครื่องส่วนใหญ่สามารถทำอะไรกับเครื่องได้ มันจะเป็นภัยคุกคามที่เท่าเทียมกับ linux / unix หากมันไม่ได้เป็นวิธีปฏิบัติที่รู้จักกันดีเสมอไปว่าจะไม่รูท แต่ทำ sudo / su เมื่อต้องการ ฉันเดาว่ามันไม่ใช่ปัญหาของ windows แต่เป็นซอฟต์แวร์ตัวหนึ่งและด้วย UAC นั้นส่วนใหญ่จะได้รับการแก้ไข
Fredrik

16

อีกสิ่งหนึ่งที่ไม่ได้กล่าวถึงคือความปลอดภัยใน Windows นั้นทึบกว่าใน Linux

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

เหมือนกับโปรแกรมส่วนใหญ่ในโลก windows - มันยากมากที่จะเข้าใจอย่างรวดเร็วว่าสิ่งใดมีผลกระทบต่อสภาพแวดล้อมแบบรันไทม์ระหว่างรีจิสตรีและ ACL


11

ไม่ทราบเกี่ยวกับการเปรียบเทียบการอนุญาตของไฟล์ ... เมื่อฉันเป็นผู้ดูแลระบบ UNIX / Linux NT4 มีไฟล์ ACL ที่ละเอียดกว่า UNIX / Linux แบบดั้งเดิม '777' การอนุญาตแบบดั้งเดิม แน่นอนว่าการอนุญาตไม่ใช่ทุกอย่างและฉันแน่ใจว่าการกระจาย Linux ที่ทันสมัยอย่างน้อยทำให้ ACL แบบละเอียดกลายเป็นใช้ได้แม้ว่าจะไม่ได้ใช้งานตามค่าเริ่มต้นก็ตาม ในมุมมองของฉันแนวคิดของ sudo และ root นั้นอยู่ใน UNIX มาโดยตลอดแม้ว่า Windows จะเพิ่มแนวคิดเหล่านี้อย่างต่อเนื่อง

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

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

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

บริษัท ในขณะที่พวกเขาทำซอฟต์แวร์ที่ยอดเยี่ยม (MSSQL, Exchange, Windows Server 2003 ล้วนยอดเยี่ยมในหนังสือของฉัน) เพียงแค่มีเป้าหมายที่แตกต่างกัน


5
ใช่; Windows ACLs นั้นละเอียดกว่า Linux / Unix ที่ไม่มี ACLs (แม้ว่ารุ่นที่ทันสมัยส่วนใหญ่จะมีตัวเลือกให้ใช้ ACLs) ความแตกต่างที่สำคัญคือผู้คนมักจะลงชื่อเข้าใช้ Windows ในฐานะผู้ดูแลระบบซึ่งยังคงเป็นการตั้งค่ามาตรฐานสำหรับแล็ปท็อป XP ที่ บริษัท จัดหาให้ - ในขณะที่ผู้ใช้บน Linux / Unix สิ่งนี้จำกัดความเสียหายที่สามารถทำได้บน Linux / Unix เมื่อเทียบกับ Windows - โดยค่าเริ่มต้น หากมีใครบางคนทำงานอย่างหนักตลอดเวลาการเดิมพันทั้งหมดจะถูกปิด (ยกเว้นว่าพวกเขาจะต้องเสียใจ - และเสียใจ - อุบัติเหตุไม่ช้าก็เร็ว)
Jonathan Leffler

"มันเป็นความจริงอย่างยิ่งที่แนวคิด sudo และรูทนั้นอยู่ในยูนิกซ์มาโดยตลอด คุณกำลังพูดเรื่องอะไร Windows NT ไม่เก่าเท่า Unix แต่ Windows NT มีการรักษาความปลอดภัยที่สมเหตุสมผล "ได้รับการออกแบบ" ตั้งแต่เปิดตัวในปี 2535 เป็นเรื่องน่าเสียดายที่ผู้ดูแลระบบ Windows จำนวนมากไม่ปรับใช้ผู้ใช้ด้วยบัญชี "จำกัด ผู้ใช้" (เช่น พวกเขาควรจะเป็นตั้งแต่เริ่มต้น) แต่นั่นไม่ควรทำให้ระบบปฏิบัติการเสียหาย
Evan Anderson

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

3
ฉันไม่เห็นด้วยอย่างยิ่ง ฉันถอดเดสก์ท็อปหลายพันเครื่องตั้งแต่ Windows NT 4.0 ด้วยบัญชีผู้ใช้ที่ จำกัด "RunAs" ซึ่งค่อนข้างคล้ายกับ "sudo" อยู่ในระบบปฏิบัติการตั้งแต่ Windows 2000 ("คลิกขวา, เรียกใช้ฟังก์ชันการทำงาน") ฉันจะบอกว่าการควบคุมบัญชีผู้ใช้เป็นคุณสมบัติที่โง่และไม่ควรรวมอยู่ในระบบปฏิบัติการ Microsoft ทำสิ่งที่ผิดโดยทำให้ "ปลอดภัย" ให้ทำงานในฐานะ "ผู้ดูแลระบบ" แทนที่จะทำให้ยากขึ้นและเจ็บปวดมากขึ้นในขณะที่สนับสนุนให้นักพัฒนาซอฟต์แวร์ทำงานเขียนซอฟต์แวร์ที่ไม่ได้ดูด (เช่นต้องใช้สิทธิ์ "ผู้ดูแลระบบ")
Evan Anderson

2
ผู้ใช้ Vista ที่เว็บไซต์ลูกค้าของฉันไม่เคยเห็น UAC เพราะพวกเขากำลังทำงานเป็นบัญชีผู้ใช้ที่ จำกัด คุณจะเห็น UAC เท่านั้นหากคุณใช้งานในฐานะ "ผู้ดูแลระบบ" คุณสามารถปิดการใช้งาน UAC ด้วยนโยบายกลุ่ม แต่คุณไม่จำเป็นต้องทำ
Evan Anderson

9

ในความคิดของฉันถ้าการกำหนดค่าระบบ Linux ที่ดีพอมีความปลอดภัยมากกว่าระบบ Windows เหตุผลบางประการคือ:

  1. เครื่องมือเครือข่ายที่เรียบง่ายและมีความอุดมสมบูรณ์: ตัวอย่างเช่นผู้ดูแลระบบ Linux สามารถดูการกำหนดค่าไฟร์วอลล์ปัจจุบันได้โดยง่ายโดยพิมพ์ "iptables -L -n" บนเชลล์ คุณสามารถดูได้ว่าพอร์ตใดบ้างที่เปิดอยู่บนเครื่องโดยการเรียกใช้ "nmap" จากเครื่องอื่น ๆ สิ่งนี้ทำให้ชีวิตง่ายขึ้นมากเนื่องจากคุณสามารถระบุพอร์ตที่อนุญาตให้เข้าถึงได้ง่ายและจากที่อยู่ ฯลฯ

  2. ไฟล์บันทึกข้อความในที่เดียว: ไฟล์บันทึกแบบข้อความในที่เดียว "/ var / log" ง่ายต่อการสำรองและวิเคราะห์ นอกจากนี้ยังมีเครื่องมือต่างๆเช่นนาฬิกาจับเวลาซึ่งสามารถตรวจสอบไฟล์บันทึกเหล่านี้และส่งอีเมลถึงคุณในสายสำคัญทำให้สิ่งต่างๆเป็นเรื่องง่าย เรายังสามารถเขียนเครื่องมือของเราเองเพื่อวิเคราะห์ไฟล์บันทึกและค้นหาข้อมูลที่เราสนใจบันทึกยังสามารถส่งออกไปยังเซิร์ฟเวอร์ syslog ระยะไกลได้ในกรณีที่เราไม่ต้องการให้มีไฟล์บันทึกอยู่บนเซิร์ฟเวอร์เดียวกัน

  3. ไม่ต้องกังวลเกี่ยวกับไวรัส: ไวรัสในลีนุกซ์น้อยลงหรือไม่เพราะมีระบบที่ใช้ Linux น้อยกว่าหรือเพราะผู้ใช้ทุกคนรัก Linux หรือเพราะ Linux มีความปลอดภัยมากกว่า เหตุผลไม่สำคัญ หากในตอนท้ายลีนุกซ์มีภัยคุกคามจากไวรัสน้อยลงแสดงว่าเป็นเรื่องดีเกี่ยวกับลีนุกซ์ ฉันเคยเห็นคนติดตั้งสองป้องกันไวรัสป้องกันสปายแวร์และป้องกันแอดแวร์ในเครื่องเดียวกัน เครื่องมือป้องกันเหล่านี้กิน CPU และหน่วยความจำจำนวนมาก

  4. รองรับภาษาการเขียนโปรแกรมมากมาย: มันง่ายในการเขียนโค้ดใน Linux C, C ++, Python, Perl, Java และอื่น ๆ ทำงานได้โดยไม่จำเป็นต้องติดตั้งแพ็คเกจเพิ่มเติมใด ๆ (ในกรณีที่คุณติดตั้งการกระจายขนาดใหญ่เช่น Fedora ซึ่งมาในรูปแบบดีวีดี) มันเพิ่มความปลอดภัยเนื่องจากเราสามารถทำงานซ้ำ ๆ ได้โดยการเข้ารหัส ดังนั้นถ้าทำผิดพลาดและมีปัญหามันจะอยู่กับบัญชีทั้งหมดและมันจะง่ายต่อการตรวจจับและแก้ไข หากเราต้องทำการเปลี่ยนแปลงเดียวกันกับบัญชี / ไดเรกทอรีจำนวนมากด้วยมือเราอาจทำผิดพลาดในหนึ่งหรือสองและอาจใช้เวลานานในการค้นหาข้อผิดพลาดดังกล่าว นอกจากนี้เราสามารถแก้ไขข้อผิดพลาดและค้นหาข้อผิดพลาดง่าย ๆ โดยใช้รหัส เนื่องจากไฟล์การกำหนดค่าทั้งหมดไฟล์ข้อมูลผู้ใช้ไฟล์บันทึก ฯลฯ เป็นข้อความมันง่ายในการเขียนโค้ดตามที่เราต้องการเพื่อให้บรรลุและมีหลายวิธีในการทำสิ่งเดียวกัน

  5. รหัสเปิดแหล่งที่มา: เนื่องจากคนจำนวนมากอาจได้เห็นรหัสมันเป็นเรื่องยากมากที่สปายแวร์ / แอดแวร์บางส่วนเป็นส่วนหนึ่งของแอปพลิเคชันที่มาพร้อมกับ Linux คุณยังสามารถดูซอร์สโค้ดได้หากการรักษาความปลอดภัยมีความสำคัญมากสำหรับบริการบางอย่างและดูว่ามันทำงานอย่างไร ถ้าคุณรู้ว่ามันทำงานอย่างไรคุณก็รู้ถึงข้อ จำกัด และเวลาที่มันจะพัง ในความเป็นจริงหากมีข้อ จำกัด ด้านความปลอดภัยที่รู้จักกันดีซึ่งจะมีการบันทึกไว้ใน man page เว็บไซต์แพคเกจและความคิดเห็นในไฟล์การกำหนดค่า นักพัฒนาไม่มีอะไรจะเสียเวลาบอกว่าถ้าคุณใช้เครื่องมือของเราในสถานการณ์เช่นนั้นมันมีความเสี่ยง อาจไม่เป็นประโยชน์สำหรับองค์กรที่ขายซอฟต์แวร์เพื่อบอกข้อ จำกัด ของซอฟต์แวร์และจะทำให้ซอฟต์แวร์ดูแย่และอาจลดการขาย / กำไร

  6. ฟรีและการทำงานร่วมกัน: แม้ว่านี่จะไม่เกี่ยวข้องกับความปลอดภัย สำหรับมหาวิทยาลัยที่มีค่าใช้จ่ายสำคัญระบบที่ใช้ Linux นั้นประหยัดกว่าระบบที่ใช้ Windows และไม่จำเป็นต้องซื้อลิขสิทธิ์สำหรับระบบปฏิบัติการรวมถึงซอฟต์แวร์เพิ่มเติมที่เราจะติดตั้งหลังจากติดตั้งระบบปฏิบัติการ เท่าที่การทำงานร่วมกันนั้นเกี่ยวข้องเราสามารถเชื่อมต่อจากเครื่อง Linux กับระบบปฏิบัติการอื่นและแชร์ไฟล์ได้อย่างง่ายดาย ใน linux เราสามารถติดตั้งระบบไฟล์จำนวนมากรวมถึง FAT, NTFS, HFSPLUS เราสามารถแชร์สิ่งต่าง ๆ โดยใช้ ftp, http, ssh, samba, nfs ฯลฯ และสิ่งเหล่านี้ทั้งหมดได้รับการติดตั้งหรือสามารถติดตั้งได้ด้วยคำสั่งเดียว ระบบปฏิบัติการอื่นโดยทั่วไปมีเพียงตัวเลือกเดียวในการแบ่งปันสิ่งต่าง ๆ

แต่หากไม่ได้กำหนดค่าอย่างถูกต้องระบบที่ใช้ระบบปฏิบัติการ Linux อาจทำให้เกิดปัญหามากขึ้นได้ ผู้ใช้หลายคนสามารถเข้าสู่ระบบในเวลาเดียวกันและทำเกือบทุกอย่างจากเชลล์ มันง่ายมากที่จะออกจากแบ็คดอร์โทรจันในกรณีที่ไฟร์วอลล์ไม่ได้รับการกำหนดค่าอย่างเหมาะสม ผู้โจมตีสามารถลบไฟล์บันทึกหรือเข้าไปยุ่งกับพวกเขาเพื่อซ่อนรอยทางของเขา ผู้โจมตีสามารถโค้ดบนเครื่องที่ถูกโจมตีได้ในขณะที่ผู้แก้ไขคอมไพเลอร์นักดีบักพร้อมใช้งานทันทีที่ผู้โจมตีเข้าถึงเชลล์ได้ เซิร์ฟเวอร์ ftp, http ทั้งหมดสามารถเรียกใช้จากบัญชีผู้ใช้ไม่ได้อยู่ในพอร์ตที่ปลอดภัย (1-1024) ดังนั้นผู้โจมตีสามารถดาวน์โหลดรหัสเซิร์ฟเวอร์ http รวบรวมและเรียกใช้เซิร์ฟเวอร์ http บนพอร์ต 6000 เพื่อให้ดูเหมือนเซิร์ฟเวอร์ X

ดังนั้นระบบ Linux จึงมีความปลอดภัยมากกว่าหากผู้ดูแลระบบรู้ว่ากำลังทำอะไรอยู่หรืออย่างน้อยก็รบกวนการค้นหาข้อมูลใน man man และเอกสารก่อนที่จะทำการเปลี่ยนแปลงใหม่


6

ความปลอดภัยของเซิร์ฟเวอร์เป็นมากกว่าแค่ระบบปฏิบัติการ ฉันจะบอกว่าปัจจัยที่เพิ่มขึ้นในการรักษาความปลอดภัยเซิร์ฟเวอร์คือคนที่ใช้งานเซิร์ฟเวอร์และความระมัดระวังในการล็อกสิ่งต่าง ๆ ลง

ถ้ามหาวิทยาลัยเป็นร้านค้า Linux พวกเขาจะไม่ยอมให้คุณใช้ Windows Server ไม่ว่าคุณจะค้นหาข้อมูลใดในการรักษาความปลอดภัยเซิร์ฟเวอร์ Windows ฉันจะตรวจสอบการใช้ Mono (www.mono-project.com) หากคุณต้องการใช้. NET Framework


6

transparancy

  • ทำงานps auxfและคุณรู้ว่าบริการใดกำลังทำงานอยู่ภายใต้บัญชีใด
  • เรียกใช้netstat -lnpและคุณรู้ว่าโปรแกรมใดที่พอร์ต TCP เปิด
  • เรียกใช้iptables -Lและคุณรู้ว่ากฎของไฟร์วอลล์มีอะไรบ้าง
  • เรียกใช้straceหรือlsofตรวจสอบการดำเนินการ
  • เรียกใช้ls -lahหรือtree -pugและคุณรู้แน่ชัดถึงความเป็นเจ้าของและการอนุญาตของโฟลเดอร์ที่สมบูรณ์
  • บันทึกอยู่ใน/var/logและสามารถตรวจสอบได้ด้วย "ค้นหาผ่านไฟล์"
  • ไม่มีการตั้งค่าที่ซ่อนอยู่ /etcทุกอย่างอยู่ในการอ่านของมนุษย์ การค้นหาไฟล์ข้อความหรือเก็บถาวรหรือใช้การควบคุมเวอร์ชัน (การโค่นล้ม / git) นั้นง่ายมาก

ล้างระบบการอนุญาต

  • ในฐานมีสิทธิ์ไฟล์เท่านั้น ไม่มี "สิทธิ์สำหรับคีย์ regex" สืบทอดสิทธิ์ ACL สืบทอดบริบทความปลอดภัยต่อกระบวนการหรือคุณสมบัติอื่น ๆ ที่ซ่อนอยู่
  • บิตการอนุญาตทำได้ง่าย:
    • เขียนลงไฟล์ = แก้ไขเนื้อหาไฟล์
    • เขียนบนโฟลเดอร์ = สร้าง / เปลี่ยนชื่อ / ลบโหนดไฟล์
    • Sticky = แก้ไขไฟล์ของตัวเองเท่านั้น
    • ไฟล์ที่มีการเรียกใช้งานหรือการอนุญาต setuid จะถูกเน้น (ในlsโหมดสี)
  • ง่าย ๆ "ค้นหาไฟล์ทั้งหมด" เผยสิทธิ์ผู้ใช้ที่มี
  • นอกจากนี้ ACL สามารถใช้ได้เฉพาะเมื่อจำเป็น
  • บัญชีผู้ใช้มีเพียงสองสถานที่ที่จะเขียนไฟล์ตามค่าเริ่มต้นของพวกเขาและ$HOME/tmp

ตัวเลือกความปลอดภัยขั้นสูง

  • SELinux / AppArmor สามารถ จำกัด กระบวนการในการเข้าถึงชุดไฟล์เฉพาะเท่านั้น (ด้านบนของการอนุญาตไฟล์)
  • คุก Chroot ทำให้ผู้ดูแลระบบสามารถเรียกใช้โปรแกรมที่แยกได้อย่างสมบูรณ์จากส่วนที่เหลือ ราวกับว่ามันถูกติดตั้งบนฮาร์ดไดรฟ์ที่ว่างเปล่ามีเพียงไฟล์ที่จำเป็นจริงๆ
  • ด้วยsudoผู้ใช้และกระบวนการสามารถได้รับอนุญาตให้เรียกใช้คำสั่งการจัดการเพียงไม่กี่คำ

จุดเดียวสำหรับการเข้าและยกระดับสิทธิ์

  • กระบวนการไม่สามารถรับสิทธิ์เพิ่มเติมด้วยตัวของมันเอง วิธีเดียวคือการเรียกใช้โปรแกรม "SetUID Root" อื่น ๆ เช่นsudoหรือติดต่อบริการ DBus ซึ่งตรวจสอบ PolicyKit ก่อน โปรแกรม SetUID เหล่านั้นสามารถพบได้ด้วยคำสั่ง "ค้นหาไฟล์ทั้งหมด"
  • IPC ระหว่างกระบวนการค่อนข้าง จำกัด ลดการโจมตีของเวกเตอร์
  • การเข้าถึงระบบ (ข้อความ console สก์ท็อประยะไกล, RPC, ลบคำสั่งอุทธรณ์ ฯลฯ .. ) sshทั้งหมดที่เกิดขึ้นผ่าน นั่นเป็นช่องสัญญาณ SSL ที่มีการตรวจสอบกุญแจสาธารณะ / ส่วนตัว

กระบวนการพื้นหลังที่ปลอดภัย

  • บริการพื้นหลังทำงานด้วยสิทธิ์ต่ำกว่าโดยเร็วที่สุด บริการต่างๆเช่น Apache, Dovecot และ Postfix มอบการเชื่อมต่อขาเข้าไปยังกระบวนการที่มีสิทธิพิเศษต่ำที่สุดโดยเร็วที่สุด
  • ล็อคตามค่าเริ่มต้น Microsoft ได้ใช้แนวทางนี้ใน Windows Server 2008 ด้วยเช่นกัน

เครื่องมือการตรวจสอบที่ดี

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

การปรับปรุงความปลอดภัยที่ดี

  • ทุกส่วนของระบบปฏิบัติการได้รับการอัพเดทด้านความปลอดภัย เมื่อ Apache, Python หรือ PHP ได้รับการติดตั้งผ่านตัวจัดการแพกเกจพวกเขาจะได้รับการอัพเดตเช่นกัน
  • มีการเปิดกว้างมากในสิ่งที่การปรับปรุงการรักษาความปลอดภัยแก้ไขเพื่อให้คุณสามารถหาวิธีที่มีผลต่อคุณ
  • ชุดซอฟต์แวร์ทั้งหมดใช้ไลบรารีเดียวกัน พวกเขาไม่ได้จัดส่งสำเนาแยกจากกัน
  • ไม่มี Patch วันอังคารกำลังรอการแก้ไขเมื่อแฮกเกอร์ใช้ประโยชน์จากข้อบกพร่องในป่า
  • มันง่ายสำหรับนักพัฒนาในการทดสอบการปรับปรุงความปลอดภัยและปรับใช้พวกเขา
  • ไม่ต้องรีบูตเครื่องเพื่อทำการอัปเดต ไฟล์สามารถถูกแทนที่ในขณะที่กระบวนการที่มีอยู่ให้เข้าถึงข้อมูลเก่าบนดิสก์ หลังจากนั้นคุณสามารถค้นหาว่าบริการใดบ้างที่จำเป็นต้องรีสตาร์ท ( lsof | grep =)
  • ระบบปฏิบัติการทั้งหมดสามารถอัพเกรดได้โดยไม่ต้องติดตั้งใหม่!

ทุกอย่างที่กล่าวถึงที่นี่จะถูกส่งมอบหรือทุกการกระจาย Linux หลักเช่น Red Hat, Debian, openSUSE หรือ Ubuntu


5

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

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


2
ความแตกต่างบางประการระหว่างระบบปฏิบัติการแบบผู้ใช้หลายคนและผู้ใช้เดี่ยว: jdurrett.ba.ttu.edu/courseware/opsys/os01a.htm
moshen

7
ตกลงฉันใช้ Linux มานานกว่า 12 ปีและใช้ระบบปฏิบัติการ UNIX ที่คล้ายกันมากขึ้น เท่าที่ฉันชอบ Linux คุณไม่สามารถพูดได้ว่ามันมีระบบการอนุญาตที่แข็งแกร่งกว่า Windows มันมีรูปแบบความปลอดภัยที่ดีกว่า Windows รุ่นแรก ๆ (เช่นไม่ได้เป็นผู้ดูแลระบบเสมอไป) แต่ WinNT และต่อมามีระบบการอนุญาตที่รัดกุมซึ่งไม่ได้ใช้เพื่อผลที่ดี Linux เวอร์ชันล่าสุดมี selinux ซึ่งแข็งแกร่งยิ่งขึ้น แต่นี่เป็นการเพิ่มที่ค่อนข้างเร็ว (หากมีประสิทธิภาพมาก)
Eddie

5

'ความปลอดภัยเป็นเรื่องของการควบคุม'

จากมุมมองของฉันใน Windows คุณมีการควบคุมน้อยกว่าใน Linux การแข็งตัวของ Windows คือ ... ยากขึ้น :) แม้ว่าเครื่องมือใด ๆ จะขึ้นอยู่กับทักษะของผู้ถือครอง แต่ฉันจะพิจารณาสิ่งต่อไปนี้:

  • Windows มีช่องโหว่ที่มีความเสี่ยงสูงและมีช่องโหว่โดยอัตโนมัติมากขึ้น (ไวรัส, botnets)
  • ผู้ดูแลระบบ Windows เป็น (หรือควร) หวาดระแวง (เพราะกลัวการถูกกระทบกระแทก) และทำให้แข็งตัวบ้าง
  • sysadmins Linux บางครั้งเชื่อมั่นมากเกินไปในความปลอดภัยของระบบปฏิบัติการและลืมเรื่องการชุบแข็ง
  • เมื่อแฮ็คแล้วในระบบ Linux คุณสามารถทำได้มากกว่าในระบบ Windows เนื่องจากมีเครื่องมือ commandl ine ที่ทรงพลังกว่า

ดังนั้นแม้ว่าฉันจะชอบ Linux มากกว่า Windows ฉันคิดว่าคุณไม่ควรเชื่อถือการติดตั้งเริ่มต้น


3

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

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


3

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


2

มีเหตุผลสำคัญอย่างหนึ่งที่ว่าทำไม Linux และ OpenBSD มีศักยภาพที่จะปลอดภัยกว่า windows นั่นคือความสามารถของระบบปฏิบัติการในการไฟร์วอลล์จากการโจมตีเครือข่าย

บน Windows แพ็คเก็ตเครือข่ายที่เข้ามาได้สัมผัสกับส่วนสำคัญของระบบปฏิบัติการมานานก่อนที่ไฟร์วอลล์ windows จะสามารถปฏิเสธแพ็กเก็ตได้ บน linux การใช้ IPTables หรือ OpenBSD โดยใช้ PF คุณสามารถแยกแพ็คเก็ตอันธพาลก่อนหน้านี้ในกระบวนการของระบบปฏิบัติการที่ได้รับแพ็คเก็ตเครือข่ายใหม่ - ลดการรับแสง

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


2

ไม่มีสิ่งเช่นระบบปฏิบัติการที่ปลอดภัยกว่าอีก ทุกอย่างขึ้นอยู่กับความรู้ของผู้ที่ดูแลระบบ

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

ระบบปฏิบัติการทั้งสองมีความปลอดภัยมากกว่าหรือน้อยกว่าระบบอื่น ๆ แน่นอนว่าเราสามารถพูดคุยเกี่ยวกับประวัติของแพลตฟอร์มและใช้สิ่งนั้นเพื่อพิจารณาว่าอันไหนปลอดภัยกว่าเมื่อเวลาผ่านไป แต่เราไม่ได้พูดถึง * nix OS จาก 10 ปีที่แล้วและปรับใช้ Windows NT 4 ในสภาพแวดล้อมการผลิต . เรากำลังพูดถึงระบบปฏิบัติการที่ทันสมัย ​​(หรืออย่างน้อยเราควรจะเป็น) และสิ่งที่สามารถมีความปลอดภัยที่ดีขึ้น

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

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

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


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

1

ไม่จำเป็นต้องสาปแช่งมหาวิทยาลัยของคุณสำหรับการใช้เซิร์ฟเวอร์ linux สำหรับข้อกำหนดเฉพาะของคุณดังที่ AdamB กล่าวให้ใช้ Mono (www.mono-project.com) อาจารย์ที่มีความสนใจในระบบปฏิบัติการมักชอบ linux แม้ผู้ที่ชื่นชอบระบบปฏิบัติการจะชอบ linux ก็ตามสำหรับสิ่งที่เข้าใจได้ง่ายว่าสิ่งต่าง ๆ ทำงานอย่างไรในการใช้งานจริงจากหนังสือ

  • ตอนนี้เกี่ยวกับความปลอดภัย

linux จะติดตาม DAC (การควบคุมการเข้าถึงตามอำเภอใจ) ซึ่งเป็นระบบที่ชาญฉลาดสำหรับการควบคุมการเข้าถึง ดังที่ได้กล่าวไว้ในคำตอบอื่น ๆ ใช่ linux คือวิธีที่ผู้ใช้หลายคนย้อนกลับมาและดังนั้นระบบควบคุมการเข้าถึงจึงดีกว่าที่อื่น ๆ

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

นอกจากความปลอดภัยแล้วความสามารถในการประหยัดทำให้ linux เป็นตัวเลือกที่ดีที่สุดสำหรับเซิร์ฟเวอร์ที่มีน้อยมาก และแอพพลิเคชั่นเหล่านี้ก็ได้รับการพัฒนาเป็นอย่างดี เช่น - Apache

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


1

ในขณะที่มีคำตอบที่ดีมากมายที่นี่ฉันแค่ต้องการเพิ่มว่าไม่มีสิ่งเช่นระบบปฏิบัติการที่ปลอดภัย

เป็นที่ทราบกันดีว่าถ้ามนุษย์สร้างแพลตฟอร์ม 'ปลอดภัย' มนุษย์อีกคนหนึ่งจะสามารถหาช่องโหว่ในแพลตฟอร์มนั้นได้ตามเวลา

ฉันเห็นด้วยที่ประโยคสองข้อแรกของ Evan คือสรุปความปลอดภัยของระบบปฏิบัติการที่ดีที่สุด:

ฉันไม่คิดว่าระบบปฏิบัติการ "ปลอดภัย" การกำหนดค่าเฉพาะของระบบปฏิบัติการมีระดับความต้านทานต่อการโจมตีที่เฉพาะเจาะจง

ดังนั้นไม่สำคัญว่าเราจะเปรียบเทียบ GNU / Linux, ระบบ BSD (ฟรี / เปิด / สุทธิ), Microsoft, Windows, Mac OSX, Symbian, PalmOS, Cisco IOS, AIX, QNX, Solaris, z / OS หรือใด ๆ "ระบบปฏิบัติการ" อื่น ๆ ที่ใช้งานเช่นทีวีเครื่องเล่น MP3 เตาอบไมโครเวฟ ฯลฯ

แต่ละเหล่านี้มีส่วนหนึ่งของทั้งหมดที่มีความสามารถในการถูกเอาเปรียบโดยบุคคลที่กำหนด

ด้วยเหตุนี้ผู้ขายส่วนใหญ่จึงมีเอกสารข้อมูลเกี่ยวกับวิธีการตั้งค่าระบบของพวกเขาให้มีความปลอดภัยในการกำหนดค่ามากที่สุด ซึ่งหมายถึงการใช้เทคโนโลยีอื่นเพื่อลดพื้นที่ผิว

เช่น:

  • NAT
  • reverse proxy
  • ไฟร์วอลล์

1
ฉันยังคงใส่เงินของฉันใน openbsd ทุกวันสำหรับ "โอกาสน้อยที่สุดที่จะเสี่ยงจากระยะไกล"
Kyle Hodgson

ฉันจะไม่นำเงินของฉันไปสู้กับคุณเช่นกัน! หากเราพูดคุยเกี่ยวกับ DOS <= 4 (ไม่มีไดรเวอร์ NDIS ก่อน 5.5 ผมเชื่อ?)
เวย์น

1

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

ระดับความปลอดภัย. NET Framework ส่วนใหญ่เกี่ยวข้องกับนโยบายกลุ่มของคุณการตั้งค่า PowerShell และ netsh console เหตุผลก็คือเคอร์เนล telemetry ที่พารามิเตอร์การเข้าถึงระดับต่ำที่มีการร้องขอการเข้าถึงแบบไดนามิกในหน่วยความจำ กรอบงาน Linux มักต้องการระดับความสนใจที่คล้ายคลึงกัน แต่ส่วนใหญ่เกี่ยวข้องกับการตั้งค่าสถานะที่คุณระบุเมื่อคุณกำหนดค่าภาษา Linux เมื่อกำหนดค่าอย่างเหมาะสมได้รับการพิสูจน์แล้วว่าปลอดภัยกว่า Microsoft Windows ที่กำหนดค่าความปลอดภัย แม้ว่าจะอยู่ในระดับ "ดี" ของการกำหนดค่า; เครื่องมือสามารถลื่นผ่าน IIS ของคุณและจุ่มลงในบริการของคุณโดยใช้ GUID เฉพาะ Linux โดยรวมทำให้สามารถควบคุมได้กว้างกว่า

จุดสำคัญ:

inodes and NTFS index primers and permissions in Windows (including registry) 
    are easier to sift through than an EXT hardnened Linux 

protocol traversal within Linux for exception handling are easier to find 
    than a solid configured Windows Firewall. 

cache indexes within ASP.NET are easier to violate than cache management    
    technologies which are well handled within GNU and C++ libraries
    they are practically built for parallel systems now. 

SQL parse queries, have been proven over and over again; MySQL is faster. 
    than MSSQL, though Oracle has been pushing the belt. Transactional 
    security is proven to be more secure on Windows, but for performance 
    and sheer flexibility shows that MySQL should be used or something 
    along the lines of a iSQL or NSQL (not SQLAB like Berkeley SQL which 
    MSSQL is based on) 

Gateway permissions, Linux has an amazing ability to fondle packets and tiny 
    little things that Windows can only put into sorting bins. This being 
    said, if you are running a Windows network, you have more network auditing 
    than a Linux network because the packages are easier to apply walls to 
    than DLL files and protocol requests. 

Surface layer GUI, .NET Framework offers strict field definitions; while Linux 
    allows intense PCRE and other Regular Expressions. 

รูปปั้นรัฐบาล:

OWASP proves over and over again that it is harder to crack a hardened Linux Server 
than it is to crack a hardened Windows Server. Why? Because the firewall and Group 
Policy does not allow as far a tuned key for aspects of the closed source framework 
within ASP.NET; Linux will let you choose a color for every letter on your command. 

NIST Shows over time that SQL management permissions are harder to parse with Windows 
while Linux PCRE makes it harder to bypass SQL queries whether it be within a GUI or 
a Web Interface. 

Carnagie Mellon shows that ASP.NET can hold higher regulations because it is built 
in a more module based context which employs the use of MVC frameworks and can potentially 
have a higher restriction. Meanwhile PHP and Java show that they are incredibly robust 
with their Obfuscation and encapsulation methodologies.

ความคิดเห็นส่วนตัว:

ระบบปฏิบัติการแต่ละระบบมีศักยภาพที่จะปลอดภัยกว่าส่วนที่เหลือนอกกรอบ ทำการเปรียบเทียบแบบดิบๆของเฟรมเวิร์กที่ทำงานที่ความปลอดภัยสูงกว่ากับ Linux หรือ Windows ฉันต้องบอกว่าส่วนหลักของความปลอดภัยของเว็บนั้นใช้เฟรมเวิร์กที่เข้ากันไม่ได้ แต่มีประสิทธิภาพมากที่สุด วิธีนี้จะยากยิ่งกว่าที่จะสลักเข้ากับสิทธิ์การเข้าถึงฮาร์ดไดรฟ์ดั้งเดิมและการจัดการไลบรารี วิธีนี้จะทำให้คุณมีชามเชื่อมอยู่บนระบบปฏิบัติการของคุณ ตามที่ Evan ได้กล่าวไว้กับ NTFS และ / proc หรือ / dev หากคุณใช้สิ่งที่ไม่สามารถพูดได้ มันยากที่จะแตก

สิ่งที่ฉันได้เรียนรู้จากการพัฒนาเว็บไซต์คืออย่าประมาทกรอบของคุณ .NET มีสิทธิ์ในการสร้างไดรฟ์ข้อมูลที่ใช้ร่วมกันและกลไกการควบคุมสำหรับกลุ่ม SQL Server ในขณะที่ Apache Source สามารถทำสิ่งเดียวกันกับระบบปฏิบัติการโดยใช้ Linux เป็นคำถามที่ค่อนข้างดีแม้ว่าฉันจะต้องพูดว่า Linux ให้ความปลอดภัยมากขึ้นในการควบคุมส่วนบุคคลและข้อ จำกัด หลายภาษาและการตรวจสอบ; ในขณะที่ Windows มีประสิทธิภาพในการตรวจสอบและบันทึกข้อมูลอย่างกว้างขวางด้วยอินเตอร์เฟซการดีบักตรรกะระดับสูง ทั้งคู่เปรียบเทียบได้ในที่สุดมันแคบลงเป็น "คุณล็อคมันได้ดีแค่ไหน" และ "มีกี่ระฆังและเสียงนกหวีดอยู่ที่นั่น?" ภายในกรอบ Apache มีการเพิ่มความปลอดภัยเพิ่มเติม

ในปัจจุบันการเปรียบเทียบ PHP บน Linux หรือ Windows เป็นที่ชัดเจนว่ามีส่วนขยายเพิ่มเติมที่คุณสามารถใช้ภายในระบบปฏิบัติการ Linux Windows มีระดับการจัดการสิทธิ์ที่แตกต่างกับ PHP ซึ่งทำให้การจัดการไดเรกทอรีและการเข้าถึงไฟล์ทำได้ยากขึ้น ภายใน Apache เช่น XAMPP, LAMPP หรือ WAMP ฉันจะรู้สึกว่า Windows มีความปลอดภัยน้อยลงเล็กน้อยเนื่องจากข้อเท็จจริงที่ว่าข้อ จำกัด ของไฟร์วอลล์นั้นง่ายต่อการละเมิดเนื่องจากมีการแชร์กฎการใช้ช่องทางเดียวกับเว็บเบราว์เซอร์ของคุณ ในอีกทางหนึ่ง Linux สามารถใช้แอพพูลและกลไกการรักษาความปลอดภัยระดับแพ็คเก็ตต่อไปซึ่งมีความซับซ้อนมากขึ้นในการเลียนแบบ Windows ต้องการให้คุณใช้ทุกด้านของระบบปฏิบัติการเพื่อให้ระบบเครือข่ายปลอดภัยยิ่งขึ้น

IIS (บนเซิร์ฟเวอร์ Microsoft ไม่ใช่ไคลเอนต์ Windows) บน Windows ที่มี ASP.NET ด้วยการผสม SEC_ATL ล่าสุดอาจมีความปลอดภัยมาก

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

ด้วย Linux, เคอร์เนลที่บางกว่าและเหมาะสมที่สุดสำหรับความปลอดภัยสุทธิมันดีกว่า (เช่นการหลอมรวมใน Apache กับ NSLUG)

ด้วย Windows คุณจะชอบการเขียนโปรแกรม Powershell modules และ adlay overlaying security สำหรับ ASP.NET framework ของคุณและกำหนดค่านโยบายกลุ่มของคุณเป็น USGS เพราะส่วนใหญ่แล้วมันไม่จำเป็นต้องปิดการรับส่งข้อมูลที่ Linux จะปฏิเสธโดยอัตโนมัติและไม่คิดว่า เกี่ยวกับ

พวกเขามีความสามารถเท่าเทียมกัน การกระจาย Linux แบบสดๆจะแข็งแกร่งกว่า Microsoft Windows Server ที่ไม่ได้กำหนดค่าและเพิ่งติดตั้งด้วยตัวช่วยสร้าง

เมื่อเวลาผ่านไป Linux จะเร็วกว่า Windows ในเกมความปลอดภัย เซิร์ฟเวอร์ Debian 3 ยังคงแข็งแกร่งกว่า Microsoft Server 2008 R2 ในทุกวันนี้และคาดเดาสิ่งที่พวกเขาสามารถรองรับเทคโนโลยีเดียวกันได้โดยไม่ต้องสร้างเคอร์เนลใหม่ เดเบียนยังคงสูบบุหรี่และฉันเห็นสิ่งนี้ด้วยตาของฉันเอง

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


0

ฉันเชื่อว่าลีนุกซ์เป็นทางเลือกที่ปลอดภัยกว่าเพราะใช้ซอฟต์แวร์โอเพ่นซอร์สอย่างแพร่หลาย

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

แต่ฉันไม่สามารถย้ำถึงสิ่งที่คนอื่น ๆ ข้างต้นได้กล่าวไว้แล้ว: ความปลอดภัยขึ้นอยู่กับการกำหนดค่า: ใครสนใจว่า openSSH จะไม่โทรกลับบ้านถ้าคุณไม่มีไฟร์วอลล์, รหัสผ่านรูทว่างเปล่าและเปิดใช้งาน PermitRootLogin ใน sshd;)


0

คำตอบสั้น ๆ : เริ่มแรก UNIX ได้รับการออกแบบให้มีความปลอดภัย Windows ได้รับการออกแบบให้เรียบง่าย ตอนนี้ลูกหลานของ UNIX จะแกล้งทำเป็นว่าง่ายกว่าสำหรับผู้ใช้ Windows อ้างว่าปลอดภัยมากขึ้น

พวกเขายังไม่ได้เจอกัน


2
Bah! Windows NT มีความปลอดภัยในการออกแบบเบื้องต้นมากกว่า Unix Unix มีการรักษาความปลอดภัยในภายหลังในภายหลัง ระบบปฏิบัติการ Unix ที่ทันสมัย ​​(เช่น Linux ซึ่งไม่ใช่ระบบปฏิบัติการ "Unix" จริง ๆ เนื่องจากเป็นฐานรหัสใหม่ที่สมบูรณ์) ได้รับการปรับปรุงอย่างมากจาก Unix ดั้งเดิม แต่ Windows NT ได้รับการออกแบบตั้งแต่ต้นจนถึง เป็นไปตามข้อกำหนดด้านความปลอดภัย "Orange Book" ของ US DoD
Evan Anderson

0

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

แม้แต่เวอร์ชันแรก ๆ ของ Linux / Unix ก็มีการแบ่งพาร์ติชันระหว่างแอพพลิเคชั่นและระหว่าง O / S และเลเยอร์แอปพลิเคชัน การแบ่งงานในขณะที่ไม่เหมาะเสมอไปก็ยุติธรรมอย่างน้อย

ดังนั้นมรดกของ Unix (หรือ Linux) สำหรับระบบที่แข็งแกร่งกว่าที่ต้องการความพร้อมใช้งานที่สูงขึ้น

สิ่งนี้ยังคงใช้อยู่ในปัจจุบันหรือไม่? นั่นเป็นคำถามอื่น


แน่นอนมันไม่ได้ สื่อเชิงลบมากมายที่ Windows ได้รับจากชุมชน Linux นั้นมีการกำหนดเป้าหมายโดยตรงที่เวอร์ชันก่อนหน้านี้และไม่สามารถคำนึงถึงความจริงที่ว่าสิ่งต่าง ๆ ได้ดำเนินไป Windows รุ่นสุดท้ายที่จะใช้ coop m / t คือ 3.1 และ Windows รุ่นสุดท้ายที่มีการเต้นของ DOS เป็นหัวใจคือ ME
Maximus Minimus

0

ตอนนี้ NT ได้เข้าสู่ Unix ในหลาย ๆ ที่ก่อนหน้านี้แล้วสิทธิ์ในการใช้ไฟล์และการป้องกันหน่วยความจำก็ไม่ได้เป็นปัญหาใหญ่อีกต่อไป

แต่ .... ในระบบ Unix การเข้าถึงอุปกรณ์ทั้งหมดจะต้องผ่านไฟล์ต่างๆซึ่งการรักษาความปลอดภัยสามารถทำได้อย่างง่ายดาย ตัวอย่างเช่นคุณรู้วิธีป้องกันผู้ใช้ X จากการเข้าถึงการ์ดเสียงใน Windows ในขณะที่ยังอนุญาตให้ผู้ใช้ Y หรือไม่ ใน Unix สิ่งนั้นเป็นเรื่องง่าย

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

d นี่เป็นเรื่องใหญ่: SELinux (และคุณสมบัติแซนด์บ็อกซ์ "Seatbelt" ของ Solaris และ Mac OS ที่เชื่อถือได้) สิ่งนี้เรียกว่า NDAC (การควบคุมการเข้าถึงโดยไม่ต้องมีการตัดสินใจ) หากคุณใช้การกระจาย OS ด้วยคุณสมบัติเหล่านี้มีความปลอดภัยสองชั้นที่เกิดขึ้นพร้อมกัน DAC ปกติ (ระบบการอนุญาต) ที่ Unix มีอยู่เสมอและ Windows รุ่นที่ทันสมัยมี - และด้านบนนั้น "ไฟร์วอลล์แอปพลิเคชัน" ที่ SELinux และระบบที่คล้ายกันกำหนด ตัวอย่างเช่นคุณสามารถตั้งค่านโยบายที่ระบุว่า Apache เว็บเซิร์ฟเวอร์ได้รับอนุญาตให้เขียนถึง / tmp และอ่านจาก / var / www และ / etc / apache การเข้าถึงดิสก์อื่น ๆ ทั้งหมดจะถูกปฏิเสธโดยไม่คำนึงถึงของการอนุญาต ในทำนองเดียวกันคุณสามารถระบุว่าสามารถรับการเชื่อมต่อขาเข้าบนพอร์ต 80 เท่านั้นและไม่ทำการเชื่อมต่อขาออก จากนั้นแม้ว่าจะมีข้อผิดพลาดที่อนุญาตให้ใครบางคนทำสิ่งที่เลวร้ายมากและแม้ว่า apache จะทำงานในฐานะรูท แต่ก็ไม่เป็นไร - นโยบายจะป้องกันมัน สิ่งนี้ต้องใช้โทษความเร็วเล็กน้อย (น้อยมาก) และอาจเป็นเรื่องเจ็บปวดหากคุณใช้การกำหนดค่าที่ผิดปกติ แต่ในกรณีปกติสามารถเพิ่มระดับความปลอดภัยของคุณได้เป็นจำนวนมากทั้ง Unix และ Windows แบบเก่า

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

ฉ สำหรับผู้ที่กล่าวว่า Windows NT ได้รับการออกแบบมาตั้งแต่ต้นเพื่อความปลอดภัย ... นั่นเป็นความจริงเคอร์เนลได้รับการออกแบบตั้งแต่เริ่มต้นด้วยความปลอดภัยขั้นสูงและคุณสมบัติผู้ใช้หลายคน แต่มีปัญหาหลักสองประการคือ: และ 2. ระบบปฏิบัติการโดยรวมได้รับการออกแบบให้มีความเข้ากันได้กับแอพพลิเคชั่น Windows รุ่นเก่าซึ่งมีความหมายหลายประการ Unix เป็นผู้ใช้งานหลายคนอยู่ตลอดเวลาดังนั้นแอปพลิเคชั่นจึงไม่แปลกใจเลยเมื่อมีการบังคับใช้การรักษาความปลอดภัย


ความปลอดภัยในการเข้าถึง "ไฟล์อุปกรณ์" ใน Windows NT ทำได้ผ่าน ACL ที่ใช้ในตัวจัดการวัตถุผู้บริหาร มีโมเดล ACL คร่าวๆเหมือนกับระบบไฟล์ Re: จุดของคุณ "a": โลโก้แอปพลิเคชันที่สอดคล้องกับแนวทางการพัฒนา w / Microsoft ไม่จำเป็นต้องมีการเข้าถึงเพื่อเขียนนอกไดเรกทอรีหลักของผู้ใช้ เรื่อง: "b": ฉันจะยอมรับว่ามีฟังก์ชันการทำงานของ MAC ที่ จำกัด ใน Windows Integrity-levels ที่เพิ่มเข้ามาใน Vista เป็นรูปแบบของ MAC "ไฟร์วอลล์ขั้นสูง" (เพิ่มใน Vista) สามารถ จำกัด ทราฟฟิกขาออกในแบบที่คุณอธิบายหากคุณเลือกที่จะกำหนดค่าด้วยวิธีดังกล่าว
Evan Anderson

Re: "e": โดยทั่วไปฉันเห็นด้วยว่าซอฟต์แวร์ที่น้อยลงหมายถึงโอกาสที่จะเกิดความล้มเหลว มีบิลด์ภายในของ Windows ที่ไม่มี GUI แต่ Microsoft เลือกที่จะไม่เผยแพร่ เรื่อง: "f": นักพัฒนาบุคคลที่สามมีปัญหามากกว่า: รับนโยบายความปลอดภัยเริ่มต้นที่มีสติที่ตั้งไว้ใน Windows มากกว่า Microsoft โดยส่วนตัวแล้วฉันคิดว่า Microsoft น่าจะเป็นเรื่องยากมากเกี่ยวกับแอพพลิเคชั่นที่มีพฤติกรรมไม่ดี แต่พวกเขาอาศัยอยู่ใน "พื้นที่" ที่แตกต่างจากผู้พัฒนาระบบปฏิบัติการโอเพ่นซอร์สฟรีและโอเพนซอร์สเมื่อมั่นใจได้ว่า
Evan Anderson

เรื่อง: "ระบบปฏิบัติการโดยรวม ... ได้รับการออกแบบให้มีความเข้ากันได้ ... " Win32 เป็นระบบย่อยของเคอร์เนล - ไม่ใช่ NT หาก Microsoft ต้องการ (หรือให้คนอื่น) คุณสามารถสร้าง "การกระจาย" ของ Windows NT ที่ไม่มีระบบย่อย Win32 ไม่มี GUI และบูตด้วยระบบย่อยเคอร์เนล "Interix" POSIX แทบทั้งหมดของ UI ในระบบปฏิบัติการ NT เป็นแบบ Win32 แต่เคอร์เนลสามารถรองรับสภาพแวดล้อมที่ไม่ใช่ Win32 อย่างสมบูรณ์แบบ
Evan Anderson

0

มีสาเหตุหลายประการที่ทำให้ระบบที่ใช้ Linux มักจะถือว่าปลอดภัยกว่าระบบ Windows

หนึ่งคือทักษะของเจ้าของ หากคุณเดินเข้าไปใน Best Buy หรือ Wal-mart (ที่นี่ในสหรัฐอเมริกา) และซื้อคอมพิวเตอร์โดยไม่ต้องคิดมากมันจะรัน Microsoft Windows นั่นหมายความว่ามีระบบ Windows จำนวนมหาศาลที่ดำเนินการโดยผู้ที่ไม่มีเงื่อนงำ เนื่องจากเกือบจะไม่มีใครซื้อคอมพิวเตอร์ Linux โดยบังเอิญ (อย่างน้อยก็นับจากที่ Microsoft ถูกตีกลับในเน็ตบุ๊ค) ผู้ใช้ Linux ส่วนใหญ่จึงรู้เรื่องคอมพิวเตอร์หรือมีการตั้งค่าคอมพิวเตอร์โดยคนที่ทำ สิ่งนี้ใช้ได้กับทุกสภาพแวดล้อมที่คุณรับคนที่ไม่รู้ว่ากำลังทำอะไรอยู่ คนที่ไม่ได้ใช้ Windows และคนที่ใช้ระบบปฏิบัติการที่แตกต่างหลากหลาย

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

หนึ่งคือวัฒนธรรม ในสภาพแวดล้อม Unix / Linux มีความแตกต่างที่ชัดเจนระหว่างบัญชีผู้ใช้รูทและบัญชีผู้ใช้และในเกือบทุกกรณีผู้คนทำงานในบัญชีผู้ใช้เมื่อไม่จำเป็นต้องเป็นรูท ในประสบการณ์ของฉันความแตกต่างไม่แข็งแกร่งเท่าในสภาพแวดล้อม Windows ในการที่ผู้ใช้แต่ละคนจะมีบัญชีเดียวโดยมีสิทธิ์ใด ๆ ที่เกี่ยวข้อง ฉันใช้คอมพิวเตอร์ที่ทำงานของฉันตอนนี้ที่ฉันมีหนึ่งบัญชีบัญชีผู้ดูแลระบบ ทุกสิ่งที่ฉันทำทำได้โดยบัญชีที่มีสิทธิ์สูง เมื่อฉันกลับบ้านไปที่กล่อง Linux ของฉันฉันจะทำเกือบทุกอย่างในบัญชีสิทธิพิเศษที่ จำกัด และเพิ่มขึ้นเมื่อฉันต้องการ ภรรยาของฉันต้องเถียงกันอย่างหนักเพื่อให้ได้สองบัญชีในคอมพิวเตอร์ของเธอในที่ทำงานหนึ่งบัญชีผู้ดูแลระบบปกติของเธอและอีกหนึ่งบัญชีที่มีสิทธิ์ จำกัด เพื่อให้เธอสามารถดูว่าผู้ใช้ปกติมีสิทธิ์ในการเรียกใช้สิ่งที่เธอเขียน

หนึ่งคือความเข้ากันได้ย้อนหลัง ในขณะที่ Unix ไม่ได้เริ่มระบบปฏิบัติการที่ปลอดภัย แต่ก็มีการรักษาความปลอดภัยก่อน โปรแกรมสำหรับลีนุกซ์ไม่ต้องการการรันในฐานะรูทเว้นแต่ว่าพวกเขาจะทำหน้าที่รูทจริงๆ ในทางกลับกัน Windows เรียกใช้โปรแกรมจำนวนมากที่ต้องใช้บัญชีผู้ดูแลระบบเพราะนั่นคือสิ่งที่นักพัฒนารันและทดสอบ (ดูย่อหน้าข้างต้น) และนักพัฒนาเหล่านั้นมักไม่ใส่ใจเรื่องความปลอดภัยและเคยทำงานได้ดี นั่นเป็นปัญหาใหญ่ที่ Microsoft พยายามแก้ไขด้วย UAC ฉันไม่คิดว่ามันเป็นทางออกที่ดีโดยเฉพาะ แต่บอกตามตรงเลย Microsoft จะไม่หาทางออกที่ดีที่นี่ (ฉันไม่คิดว่าการทิ้งความเข้ากันได้แบบย้อนหลังเป็นวิธีแก้ปัญหาที่ดีที่นี่)

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

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

แน่นอนมีเหตุผลที่ไม่ดีสำหรับการพิจารณาระบบปฏิบัติการที่ปลอดภัยน้อยกว่า บางคนมีระบบปฏิบัติการที่ชื่นชอบและไม่เสียโอกาสในการได้คนอื่น ๆ บางคนไม่ชอบ Microsoft หรือ Richard Stallman หรือบุคคลหรือองค์กรอื่น ๆ และลบล้างระบบปฏิบัติการที่เกี่ยวข้อง บางคนไม่ได้สังเกตว่า Microsoft มีการเปลี่ยนแปลงในช่วงหลายปีที่ผ่านมาเนื่องจากเมื่อไม่นานมานี้ที่ Microsoft ไม่ได้สนใจเรื่องความปลอดภัยและ Windows ก็มีความปลอดภัยน้อยกว่า Linux


-1

ไม่มีเหตุผลอื่นใดนอกจากความเฉื่อย ฉันเห็นผู้สนับสนุน Linux จำนวนมากสร้างข้อโต้แย้งกับ Windows (ไม่ใช่เฉพาะด้านความปลอดภัย) ซึ่งบนพื้นผิวนั้นดูเหมือนว่าใช้ได้ แต่ - ซึ่งเมื่อคุณขุดนิดหน่อย - ใช้ได้กับ Windows 3.1 หรือ 95/98 เท่านั้น

ฉันได้กล่าวไว้ก่อน แต่ในขณะที่ Windows อาจมีแพทช์เพิ่มเติม / ฯลฯ เหล่านี้มีการแก้ไขช่องโหว่ความปลอดภัยที่ได้รับการระบุ และไม่ใช่สิ่งที่ได้รับการแก้ไขที่คุณต้องกังวลใช่ไหม? ฉันไม่เชื่อว่าการเป็นโอเพนซอร์ซนั้นมีความปลอดภัยมากขึ้น การกลิ้งแพตช์ของคุณเองอาจใช้ได้สำหรับผู้ใช้ตามบ้าน แต่ผู้ใช้องค์กรหรือผู้ดูแลระบบมักต้องการสิ่งที่ได้รับการรับรองในการทำงาน (และได้รับการทดสอบอย่างเต็มที่) ด้วยแอพที่หลากหลายและรับรองว่าไม่ผิด การอัพเดตเคอร์เนลครั้งต่อไป เช่นเดียวกับการแก้ไขจากชุมชน FOSS

ดังนั้นในหนังสือของฉันมันเป็นส่วนผสมของความเฉื่อยอคติและการฝังอยู่ในวัฒนธรรม UNIX เพื่อการยกเว้นทางเลือก


-2

กระบวนการบน Linux / Unix ไม่สามารถเปลี่ยนสิทธิ์ของพวกเขาหลังจากที่พวกเขาได้รับมอบหมายให้ผู้ใช้กระบวนการบน windows สามารถเปลี่ยนสิทธิ์ของผู้ใช้ของพวกเขาและเปลี่ยนผู้ใช้ของพวกเขาในขณะที่กระบวนการกลาง

นี่คือสาระสำคัญว่าทำไม windows จึงปลอดภัยน้อยกว่า linux / unix


2
นั่นเป็นจริงหากบริบทที่กระบวนการทำงานนั้นมีสิทธิ์ "ทำหน้าที่เป็นส่วนหนึ่งของระบบปฏิบัติการ" (SE_TCB PRIVILEGE) หากคุณเริ่มต้นกระบวนการด้วยบริบทความปลอดภัยที่ไม่มี SE_TCB PRIVILEGE กระบวนการจะไม่สามารถ "เลียนแบบ" แบบสุ่ม (NT-ism สำหรับสมมติว่ามีบริบทความปลอดภัยอื่น) ผู้ใช้รายอื่น หากคุณใช้งานแอปพลิเคชันด้วย SE_TCB PRIVILEGE โดยไม่มีเหตุผลคุณควรได้รับสิ่งที่คุณต้องการ IMO
Evan Anderson

ดังนั้นการรักษาความปลอดภัยจึงถูกบังคับใช้โดย "บริบท" ซึ่งถูกอ้างอิงกับกฎทั่วทั้งระบบซึ่งเป็นเหตุผลว่าทำไม windows จึงปลอดภัยน้อยกว่า unix / linux
ไฟอีกา
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.