มีข้อเสียในการติดตั้ง VNC หรือไม่


20

เรามี Intel NUC ในแผนกภาษาของมหาวิทยาลัยของฉันซึ่งเร็ว ๆ นี้จะโฮสต์เว็บแอปพลิเคชันที่ใช้โดยคณาจารย์และนักศึกษาในภาควิชา NUC ใช้งาน Ubuntu (14.10)

ฉันพอใจกับเทอร์มินัลและ SSH-ing เข้าสู่เซิร์ฟเวอร์ แต่ฉันพบว่างานจำนวนมากที่ฉันต้องทำนั้นทำได้ง่ายกว่ามากผ่านการแบ่งปันหน้าจอ (VNC)

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

ฉันอยากจะไม่รัน X หรือ VNC บนเซิร์ฟเวอร์ถ้าเราหนีไปได้ มันเป็นเซิร์ฟเวอร์หลังจากทั้งหมด

ฉันไม่เข้าใจตรรกะนี้จริงๆ มันไม่ได้เชื่อมต่อกับจอภาพ เข้าถึงได้เพียงผ่าน SSH เท่านั้น มีข้อเสียที่น่าประหลาดใจที่มีการเข้าถึง VNC ไปยังเซิร์ฟเวอร์ที่ฉันไม่รู้หรือไม่?

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

ข้อเสียของการติดตั้ง VNC บนเซิร์ฟเวอร์คืออะไร?

แก้ไข : นี่ไม่ใช่แค่เว็บเซิร์ฟเวอร์ มันเป็นโฮสต์ของแอปพลิเคชันอื่น ๆ ไม่แน่ใจว่ามันสร้างความแตกต่างหรือไม่


21
ฉันไม่สามารถจินตนาการอะไรคุณอาจจำเป็นต้องทำอย่างไรกับเว็บเซิร์ฟเวอร์ที่จะง่ายขึ้นโดยใช้แบบ GUI บางทีคุณควรยังถามเกี่ยวกับว่ามีวิธีที่ดีกว่าในการดำเนินงานที่คุณต้องการดำเนินการ
Michael Hampton

3
ไม่ว่าจะด้วยวิธีใดนี่เป็นโอกาสในการเรียนรู้สิ่งใหม่
Michael Hampton

9
มันเกี่ยวกับการ จำกัด พื้นผิว ด้วยบริการที่มากขึ้นอาจผิดพลาดได้มากขึ้นและถูกแฮ็คได้มากขึ้น ให้สิทธิ์คุณพูดอย่างนี้ แต่ก็ยังเป็นจริง ส่วนตัวฉันเกลียด VNC ด้วย แล้วการส่งต่อ X11 ผ่าน SSH ล่ะ
Michael Bailey

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

7
ฉันไม่ต้องการโพสต์สิ่งนี้เป็นคำตอบเพราะมันไม่ได้ตอบคำถาม "อะไรคือข้อเสียของ VNC" แต่ต้องอธิบายอย่างละเอียดเกี่ยวกับความคิดเห็นโดย @MichaelBailey: คุณไม่จำเป็นต้อง X หรือ VNC บนเซิร์ฟเวอร์ . SSH ไปยังเซิร์ฟเวอร์ที่มีการส่งต่อ X ช่วยให้โปรแกรมกราฟิกที่จริงการทำงานบนเซิร์ฟเวอร์ในขณะที่แสดงหน้าต่างบนเซิร์ฟเวอร์ X11 วิ่งบนท้องถิ่นเครื่อง คุณต้องการไลบรารี X11 ที่ใช้ร่วมกันบางตัวเท่านั้นบนเซิร์ฟเวอร์ซึ่งจะไม่ทำให้สิ้นเปลืองทรัพยากรในขณะที่คุณไม่มีโปรแกรมที่ใช้งานอยู่ IMO ประนีประนอมที่ดี
เจอรัลด์ชไนเดอร์

คำตอบ:


42

มีเหตุผลมากมาย:

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

  • พื้นผิวที่มีข้อบกพร่อง: เหมือนด้านบน แต่แทนที่ "บางคน" ด้วย " เมอร์ฟี่ " และ "เข้า" ด้วย "ทำลายวันของคุณ" ที่จริงแล้ว "ทำลายวันของคุณ" อาจนำไปใช้กับจุดก่อนหน้าเช่นกัน

  • ประสิทธิภาพของระบบ: X11 และสภาพแวดล้อม GUI ที่ผู้คนมักใช้งานพวกเขาใช้ RAM ในปริมาณที่เหมาะสมโดยเฉพาะอย่างยิ่งในระบบทรัพยากรที่มี จำกัด เช่น NUC การไม่เรียกใช้หมายถึงแหล่งข้อมูลเพิ่มเติมสำหรับการทำงานที่เป็นประโยชน์

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


1
เมื่อไรมันก็ว้าวุ่น .. คุณตีฉันจนชกได้ประมาณ 30 วินาทีอีกครั้ง :) คำตอบที่ดี
ทิมบริคัม

3
จำนวนของเวลาที่ใช้กับ Mavis Beacon ในวัยหนุ่มของฉันจะต้องมีบางผลประโยชน์ ... <ยิ้ม>
womble

6
@ChrisCirefice จากนั้นฉันขอแนะนำให้คุณทำบางสิ่งในแบบที่ถูกต้องแทนที่จะใช้ความปลอดภัยของเซิร์ฟเวอร์ที่ใช้งานจริงเพื่อความสะดวกในการใช้งาน
André Borie

8
นั่นเป็นสัมผัสที่รุนแรงอังเดร ฉันอยากจะคิดว่าคริสมีความเข้าใจที่ดีขึ้นเล็กน้อยเกี่ยวกับความชอบของเขาในตอนนี้ไม่จำเป็นต้องเอาชนะการยัดไส้เขาออกไป
womble

4
@ChrisCirefice เป็นจริงสิ่งที่ความคิดความระมัดระวังเช่น "ไม่มีข้อมูลซุปเปอร์ที่มีคุณค่า" และ "หลังไฟร์วอลล์" คุณค่าของข้อมูลอยู่ในสายตาของผู้ดูและบทบาทของระบบสามารถเปลี่ยนแปลงได้อย่างละเอียดเมื่อเวลาผ่านไปดังนั้นข้อมูลที่มีค่ามากขึ้น (ต่อผู้โจมตี) จะค่อยๆจบลงด้วยการสะสมบนระบบที่ทุกคนคิดว่าไม่คุ้มค่าที่จะปกป้อง .. . และคุณก็ลงเอยที่หน้าแรกของทุกเว็บไซต์ข่าวเพราะมีเรื่องน่าอายเกิดขึ้น
womble

15

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

คุณกำลังจะติดตั้ง VNC เพื่อเข้าถึงสิ่งที่เป็นหน้าจอสีดำ ไม่คุณต้องการเข้าถึงสภาพแวดล้อมเดสก์ท็อปทั้งหมดและนั่นเป็นปัญหาที่แท้จริง

เมื่อคุณติดตั้งซอฟต์แวร์ Gnome (หรือที่คล้ายกัน) บนเดสก์ท็อปแล้วคุณสามารถพิจารณาว่าเซิร์ฟเวอร์ของคุณถูกบุกรุกเนื่องจากมีข้อบกพร่องมากมายเหลือไว้สำหรับใช้ในแอปพลิเคชั่นที่น่ากลัวและมีขนาดใหญ่ (นอกเหนือจากความจริงที่ว่า และใช้ทรัพยากรจำนวนมาก) อีกเหตุผลหนึ่งที่ทำไมฉันไม่แนะนำซอฟต์แวร์นี้และสภาพแวดล้อม Linux บนเดสก์ท็อปส่วนใหญ่ก็คือพวกเขาเข้าควบคุมทั้งระบบเกือบจะเหมือนกับรูทคิทและใช้ทุกอย่างในเวอร์ชันของตัวเอง ขอเรียกใช้ Policykit ไร้สาระนี้เป็นรูทที่ให้การอนุญาตตามไฟล์ XML ที่ไม่สามารถอ่านและคลุมเครือ ... การกำหนดค่าใครต้องการไฟล์ปรับแต่งที่มนุษย์สามารถอ่านได้ใครจะเก็บทุกอย่างในฐานข้อมูลไบนารีที่คุณสามารถ '

กำลังพยายามติดตั้งสภาพแวดล้อมเดสก์ท็อป Gnome บนเซิร์ฟเวอร์ Archlinux ของฉันบอกฉันว่า "ขนาดที่ติดตั้งทั้งหมด: 1370.86 MiB" นั่นเป็นเรื่องใหญ่ลองจินตนาการถึงพื้นผิวการโจมตีพิเศษที่อดีตเซิร์ฟเวอร์นี้จะมีเมื่อติดตั้งแล้ว สภาพแวดล้อมเดสก์ทอปอื่น ๆ นั้นไม่ค่อยดีนัก


"VNC เป็นโพรโทคอลที่น่ากลัวและมีข้อบกพร่องมากมาย (ที่ใหญ่ที่สุดคือการขาดการเข้ารหัส ... )" ในสถานการณ์ที่เราต้องการ VNC ไม่ใช่สภาพแวดล้อมของเซิร์ฟเวอร์
Keith Reynolds

@ KeithReynolds ใช่ แต่มันควรจะมีในตัวโดยเฉพาะอย่างยิ่งเมื่อคุณเปรียบเทียบกับ concurrents เช่น RDP ที่ทันสมัยซึ่งเข้ารหัสทันที (ปลอดภัยตราบใดที่คุณเชื่อถือใบรับรองของเซิร์ฟเวอร์)
André Borie

7
หนึ่งในปรัชญาการออกแบบคือการมีวิธีแก้ปัญหาที่เป็นไปได้ทั้งหมด (โดยทั่วไปเป็นเรื่องปกติของนักพัฒนา MS) และอีกวิธีหนึ่งคือการรวมสิ่งที่คุณต้องการ เกี่ยวกับ VNC: เมื่อต้องการความปลอดภัยบนเครือข่ายที่ไม่น่าเชื่อถือ ssh ต้องมีบัญชีและให้การเข้ารหัส เมื่อความปลอดภัยไม่เกี่ยวข้องการแชร์เดสก์ท็อปนั้นไม่จำเป็นต้องมีบัญชีระบบหรือโอเวอร์เฮดของการเข้ารหัส
Keith Reynolds

2
@KeithReynolds ปัญหาอื่นของ VNC คือการส่งบิตแมปบริสุทธิ์แทนคำสั่งวาดที่วาดบนฝั่งไคลเอ็นต์เช่น RDP สิ่งนี้ทำให้ VNC น่ากลัวที่จะใช้กับสิ่งอื่นนอกเหนือจากเครือข่ายท้องถิ่นในขณะที่ RDP ยังคงใช้ได้แม้ในเครือข่ายมือถือที่เส็งเคร็ง
André Borie

9

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

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


-8

ลองใช้วิธีนี้เพื่อให้ผู้อำนวยการด้านเทคนิคมีความสุข:

  • ติดตั้ง VNC และเดสก์ท็อปที่คุณต้องการ

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

  • อย่าส่งต่อพอร์ต VNC หากคุณจำเป็นต้องใช้ช่องสัญญาณ VNC (5900) ผ่าน SSH (พอร์ต 22) และเชื่อมต่อด้วยวิธีดังกล่าว

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

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


9
" คุณไม่ได้เพิ่มปัญหาด้านความปลอดภัยที่คุณไม่เคยมีมาก่อน " ไม่ใกล้เคียงกับความจริง การติดตั้งรหัสพิเศษ - และ Andre B ด้านบนช่วยให้คุณมีความคิดว่าเรากำลังพูดถึงรหัสพิเศษมากน้อยเพียงใด - เปิดโอกาสให้ผู้ใช้ภายใน (ssh'ed-in) เพิ่มระดับสิทธิ์
MadHatter สนับสนุนโมนิกา

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

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

1
@ พอลไม่ได้ความกังวลหลักของฉันไม่ได้เกี่ยวกับการขาดการเข้ารหัสของ VNC (สามารถลดลงได้โดยใช้ SSH tunneling) ปัญหาหลักคือพื้นผิวการโจมตีขนาดใหญ่ของสภาพแวดล้อมบนเดสก์ท็อป
André Borie

3
@ พอล: ถูกต้องฉันไม่มีความสมดุลอย่างแน่นอน ฉันไม่ใช่ Fox News: ฉันไม่จำเป็นต้อง "ยุติธรรมและสมดุล" ฉันดูแลระบบ: ฉันจะต้องมีสิทธิ
womble
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.