การบูทอัตโนมัติและการรักษาความปลอดภัยเซิร์ฟเวอร์ Linux ด้วยระบบไฟล์ที่เข้ารหัส


16

ฉันกำลังตั้งค่าเซิร์ฟเวอร์ Ubuntu ใหม่และฉันต้องการรักษาความปลอดภัยข้อมูลจากการโจรกรรม รูปแบบการคุกคามคือผู้โจมตีที่ต้องการฮาร์ดแวร์หรือผู้โจมตีที่ต้องการข้อมูล


โปรดรับทราบในส่วนนี้

รูปแบบการคุกคามไม่ได้รวมถึงผู้โจมตีที่ต้องการข้อมูล ฉันคิดว่าพวกเขาจะทำอย่างน้อยหนึ่งอย่างต่อไปนี้:

  1. ต่อ UPS เข้ากับสายไฟเพื่อให้เครื่องทำงานอย่างต่อเนื่อง

  2. แทรกอีเทอร์เน็ตบริดจ์หนึ่งคู่ระหว่างคอมพิวเตอร์และจุดสิ้นสุดเครือข่ายที่จะลดทราฟฟิกผ่านเครือข่ายไร้สายในช่วงที่เพียงพอซึ่งโฮสต์จะรักษาการเชื่อมต่อเครือข่าย

  3. เปิดกล่องและใช้โพรบบนบัสหน่วยความจำเพื่อจับสิ่งที่น่าสนใจ

  4. ใช้อุปกรณ์ TEMPEST เพื่อตรวจสอบสิ่งที่โฮสต์กำลังทำอยู่

  5. ใช้วิธีการทางกฎหมาย (เช่นคำสั่งศาล) เพื่อบังคับให้ฉันเปิดเผยข้อมูล

  6. อื่น ๆ


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

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

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

ดังนั้นตัวเลือกของฉันสำหรับการตั้งค่านี้คืออะไร? อย่างที่ฉันพูดไว้ก่อนหน้านี้ฉันต้องการมีทุกอย่าง (นอกเหนือจากพาร์ติชันสำหรับบูตขนาดเล็กที่ไม่มี / etc) เข้ารหัสดังนั้นฉันไม่ต้องกังวลว่าจะวางไฟล์ไว้ที่ไหนหรืออยู่ที่ไหน ' กำลังลงจอดโดยไม่ได้ตั้งใจ

เราใช้ Ubuntu 9.04 ถ้ามันสร้างความแตกต่าง


1
รูปแบบการคุกคามของคุณสวมเครื่องแบบที่มีตัวอักษรสามตัวหรือไม่ :)
สเวน

พวกเขาไม่สวมเครื่องแบบ :-) แต่อย่างจริงจังไม่; หน่วยงานของรัฐใด ๆ ที่แอบแฝงหรือไม่มีแนวโน้มที่จะฉลาดพอที่จะใช้ฮาร์ดแวร์ทั้งหมดไม่เพียง แต่สิ่งที่พวกเขาสามารถคว้าได้อย่างรวดเร็ว
Curt J. Sampson

1
ดูเหมือนคำถามของคุณจะขัดแย้งกันเอง ก่อนอื่นคุณพูดว่า "ฉันต้องการรักษาความปลอดภัยของข้อมูลจากการโจรกรรม" จากนั้นคุณพูดว่า "ไม่รวมถึงผู้โจมตีที่ต้องการข้อมูล" คุณสนใจข้อมูลหรือไม่?
Zoredache

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

+1 สำหรับการคิดถึงรูปแบบการคุกคามจริง ๆ แล้วมีคนจำนวนมากที่มีคำถามคล้ายกันลืมที่จะทำ
sleske

คำตอบ:


8

ฉันรู้ถึงตัวเลือกที่ฉลาดที่เรียกว่า Mandos

มันใช้การรวมกันของคู่คีย์ GPG, Avahi, SSL และ IPv6 ทั้งหมดที่เพิ่มเข้าไปในดิสก์ RAM เริ่มต้นของคุณเพื่อดึงรหัสผ่านกุญแจของรูติชันพาร์ติชันอย่างปลอดภัย หากเซิร์ฟเวอร์ Mandos ไม่ปรากฏบน LAN เซิร์ฟเวอร์ของคุณเป็นอิฐที่เข้ารหัสหรือเซิร์ฟเวอร์ Mandos ไม่เห็นสัญญาณ heartbeat จากซอฟต์แวร์ไคลเอ็นต์ Mandos ในช่วงระยะเวลาหนึ่งมันจะเพิกเฉยต่อคำขอในอนาคตสำหรับคู่คีย์นั้นและเซิร์ฟเวอร์ เป็นอิฐที่เข้ารหัสในครั้งถัดไปที่บูท

โฮมเพจของ Mandos

Mandos README


1
ความคิดที่น่าสนใจ ฉันสมมติว่าคุณกำลัง PXE บูตเครื่องไคลเอนต์เพื่อให้คีย์สาธารณะ / ส่วนตัวไม่ได้อยู่ในฮาร์ดดิสก์ ถึงกระนั้นคุณสามารถสอดแนมคีย์แพร์ออกจากสายแล้วใช้สิ่งนั้นร่วมกับการส่งสัญญาณการเข้ารหัสคีย์จำนวนมากโดยคอมพิวเตอร์เซิร์ฟเวอร์เพื่อถอดรหัสไดรฟ์ เซิร์ฟเวอร์ "ทั้งหมดจะไม่แจกกุญแจหากไม่ได้ยินเสียงการเต้นของหัวใจในหน้าต่างเวลา xxx" ฟังดูเป็นวิธีที่เรียบร้อยในการนำมนุษย์เข้ามาในลูปเช่นกัน โครงการเรียบร้อย ไม่ยากที่จะเอาชนะหากว่าคุณสามารถเข้าถึงได้ แต่ก็เรียบร้อย
Evan Anderson

2
อีวานคุณต้องการที่จะอ่านคำถามที่พบบ่อยในดอส README ผมคิดว่า ....
ห้วนเจจอห์น

ฮึ่ม ฉันยังไม่ชัดเจนว่าทำไม Mandos จึงวิ่งข้าม LAN เท่านั้น เป็นเพราะไม่สามารถตั้งค่าที่อยู่ IP และเส้นทางเพื่อใช้อินเทอร์เน็ตได้หรือไม่
Curt J. Sampson

1
Curt, Mandos ใช้ที่อยู่ในท้องถิ่นของการเชื่อมโยง ipv6 เพื่อสื่อสารซึ่ง จำกัด เฉพาะ LAN ท้องถิ่น อย่างไรก็ตามหมายความว่าไม่ต้องการการกำหนดค่าภายนอก (dhcp) หรือขัดแย้งกับเซิร์ฟเวอร์อื่น ๆ บน LAN เดียวกัน en.wikipedia.org/wiki/…
Haakon

1
ในฐานะผู้เขียนร่วมของ Mandos ฉันเห็นด้วยกับ Haakon เท่านั้น มีวิธีที่ Mandos ใช้ที่อยู่ IPv4 ทั่วโลกโดยใช้เคอร์เนลip=และmandos=connectพารามิเตอร์ดูที่เมลนี้: mail.fukt.bsnet.se/pipermail/mandos-dev/2009-F กุมภาพันธ์/แต่โปรดทราบว่านี่ค่อนข้างบอบบางตาม ไคลเอนต์จะพยายามเชื่อมต่อกับเซิร์ฟเวอร์ที่ระบุเพียงครั้งเดียวและล้มเหลวอย่างถาวรไม่ได้ การกำหนดค่าที่แนะนำคือผ่าน LAN ฉันยังสามารถพูดถึงว่าดอสมีอยู่ในอูบุนตูตั้งแต่ 9.04 (และในการทดสอบ Debian)
เท็ดดี้

6

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

ความคิดของฉันคือ:

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

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

หากคุณกำลังจะถ่ายโอนคีย์ผ่านเครือข่ายคุณอาจ "เข้ารหัส" มัน สิ่งที่ผู้โจมตีต้องทำคือดักฟังกระบวนการ keying ขโมยเซิร์ฟเวอร์จากนั้นทำการ reverse-engineer การ "เข้ารหัส" ใด ๆ ที่คุณทำเมื่อคุณส่งรหัสผ่านเครือข่าย ตามคำนิยามคอมพิวเตอร์เซิร์ฟเวอร์ที่ได้รับคีย์ "เข้ารหัส" จากทั่วทั้งเครือข่ายจะต้องสามารถ "ถอดรหัส" คีย์นั้นเพื่อใช้งานได้ ดังนั้นจริงๆคุณไม่ได้เข้ารหัสกุญแจ - คุณแค่เข้ารหัสมัน

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

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

แก้ไข:

ฉันคิดว่าเรากำลังทำงานจากคำจำกัดความที่แตกต่างกันของคำว่า "รูปแบบการคุกคาม" บางที

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

หากคุณต้องการที่จะหยุดการขโมยฮาร์ดแวร์คุณจำเป็นต้องโบลต์มันลงล็อคขึ้นใส่ในคอนกรีต ฯลฯ

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

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


นี่เป็นส่วนเสริมที่ดีในการวิเคราะห์ความปลอดภัยดังนั้นฉันจึงให้ upvote แต่ก็ไม่ใช่คำตอบสำหรับคำถามของฉันเพราะคุณใช้รูปแบบการคุกคามที่แตกต่างกัน สังเกตสิ่งที่ฉันพูดในคำถามเกี่ยวกับผู้ที่ฉันเป็นและไม่ได้รับการปกป้อง
Curt J. Sampson

1
สำหรับความปลอดภัยทางกายภาพที่ดีขึ้นฉันต้องการดูตัวเลือกที่ราคาไม่แพงก่อน ในสภาพแวดล้อมปัจจุบันของเราเราต้องเสียค่าใช้จ่ายหลายพันดอลลาร์ในการติดตั้งบางสิ่งที่ไม่สามารถเอาชนะได้อย่างรวดเร็วโดยคนที่มีสลักเกลียวคู่
Curt J. Sampson

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

เป็นที่น่าสนใจที่จะเห็นความคิดเห็นเกี่ยวกับคำถามอายุเกือบ 8 ปี หากวิธีการแก้ปัญหาของคุณเหมาะกับคุณฉันดีใจอย่างแน่นอน
Evan Anderson

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