Apakah ada kerugian untuk menginstal VNC?

20

Kami memiliki Intel NUC di departemen bahasa universitas saya yang akan segera meng-host aplikasi web yang digunakan oleh fakultas dan mahasiswa di departemen. NUC menjalankan Ubuntu (14.10).

Saya nyaman dengan terminal dan SSH-ing ke server, namun saya menemukan bahwa banyak tugas yang harus saya lakukan jauh lebih mudah melalui screen-sharing (VNC).

Saya menyarankan kepada direktur teknis baru kami agar kami menginstal VNC di server ini untuk membuat hidup saya jauh lebih mudah (sebenarnya VNC sudah diinstal sebelum ia dipekerjakan, dan kemudian ia menghapus instalannya). Namun, dia menjawab dengan komentar berikut:

Saya lebih suka tidak menjalankan X atau VNC di server jika kita bisa lolos begitu saja. Bagaimanapun, ini adalah server.

Saya benar-benar tidak mengerti logika ini. Itu tidak terhubung ke monitor; satu-satunya akses ke dalamnya melalui SSH. Apakah ada beberapa kerugian ajaib untuk memiliki akses VNC ke server yang saya tidak sadari?

Jelas Anda membuka port lain untuk penyerang; bantahan: kita berada di belakang dua firewall universitas (firewall jaringan universitas utama serta firewall khusus subnet kita sendiri). VNC hanya akan dapat diselesaikan di dalam subnet kami, jadi saya bingung mengapa ini akan menjadi masalah selain "itu paket lain untuk dipelihara", dan dengan aptmanajer paket Ubuntu yang menjadi non-isu.

Apa kelemahan menginstal VNC di server?

Sunting : ini bukan hanya server web. Ini hosting sejumlah aplikasi lain. Tidak yakin apakah itu membuat perbedaan.

Chris Cirefice
sumber
21
Saya tidak bisa membayangkan apa pun yang mungkin perlu Anda lakukan dengan server web yang akan lebih mudah menggunakan GUI. Mungkin Anda juga harus bertanya tentang apakah ada cara yang lebih baik untuk melakukan tugas yang ingin Anda lakukan.
Michael Hampton
3
Apa pun itu, ini adalah kesempatan untuk mempelajari sesuatu yang baru.
Michael Hampton
9
Ini semua tentang membatasi permukaan. Dengan lebih banyak layanan, semakin banyak kesalahan yang terjadi dan semakin banyak yang bisa diretas. Memang Anda mengatakan ini, tetapi itu tetap benar. Juga secara pribadi saya benci VNC. Bagaimana dengan Penerusan X11 melalui SSH?
Michael Bailey
1
Jadi mengapa Anda perlu menggunakan alat ini di server? Dalam kebanyakan kasus, menggunakan peramban tanpa antarmuka grafis tidak akan berguna - tetapi Anda tidak akan mempertimbangkan menjalankan peramban di server. Apa pun alat yang Anda gunakan, cukup instal pada klien Anda dan akses data apa pun yang Anda butuhkan di server lebih disukai melalui ssh. Mungkin lihat sshfs
Ben
7
Saya tidak ingin memposting ini sebagai jawaban, karena itu tidak menjawab pertanyaan "Apa kelemahan VNC", tetapi untuk menguraikan komentar oleh @MichaelBailey: Anda tidak perlu X atau VNC di server . SSH ke Server dengan penerusan X memungkinkan program grafis untuk benar-benar berjalan di server sambil menampilkan windows pada server X11 yang berjalan di mesin lokal Anda . Anda hanya perlu beberapa pustaka X11 yang dibagikan di server yang tidak akan membuang sumber daya saat Anda belum menjalankan program yang menggunakannya. IMO kompromi yang bagus.
Gerald Schneider

Jawaban:

42

Ada banyak alasan:

  • Permukaan serangan: lebih banyak program, terutama yang berjaringan, berarti lebih banyak peluang bagi seseorang untuk menemukan bug dan masuk.

  • Permukaan yang rusak: seperti di atas, tetapi ganti "seseorang" dengan " Murphy ", dan "masuk" dengan "merusak harimu". Sebenarnya, "hancurkan harimu" mungkin juga berlaku pada poin sebelumnya.

  • Efisiensi sistem: X11, dan lingkungan GUI yang cenderung dijalankan oleh orang-orang, mengkonsumsi jumlah RAM yang layak, terutama pada sistem sumber daya terbatas seperti NUC. Tidak menjalankannya berarti lebih banyak sumber daya untuk melakukan pekerjaan yang bermanfaat.

  • Efisiensi operator: GUI tidak memungkinkan untuk membuat skrip dan bentuk otomatisasi lainnya. Mengklik sesuatu terasa produktif, tetapi sebenarnya ini tentang cara terburuk untuk melakukan sesuatu yang sangat teknis. Anda juga akan menemukan peluang kerja masa depan Anda sangat terbatas jika Anda tidak dapat skrip dan mengotomatiskan pekerjaan Anda - industri ini akan menjauh dari alat admin GUI. Heck, bahkan server Windows dapat diinstal bebas GUI hari ini, dan jika itu tidak membuat Anda berpikir tentang manfaat relatif dari hanya mengetahui cara mengklik pada sesuatu, saya benar-benar tidak tahu harus berkata apa kepada Anda.

womble
sumber
1
Sialan womble .. kau pukul aku sampai pukul 30 detik lagi. :) Jawaban yang bagus.
Tim Brigham
3
Banyak waktu yang dihabiskan bersama Mavis Beacon di masa mudaku harus memiliki beberapa manfaat ... <grin>
womble
6
@ ChrisCirefice maka saya sarankan Anda meminta seseorang untuk melakukan hal-hal dengan cara yang benar alih-alih membahayakan keamanan server produksi untuk sedikit kemudahan penggunaan.
André Borie
8
Sentuhan yang keras, Andre. Saya ingin berpikir bahwa Chris memiliki pemahaman yang sedikit lebih baik tentang implikasi dari kesukaannya sekarang, tidak perlu mengalahkannya untuk itu.
womble
4
@ChrisCirefice sangat berhati - hati memikirkan hal-hal seperti "tidak ada informasi yang sangat berharga" dan "di balik firewall". Nilai data ada di mata yang melihatnya, dan peran sistem secara halus dapat berubah dari waktu ke waktu, sehingga data yang lebih berharga (bagi penyerang) perlahan-lahan terakumulasi pada suatu sistem yang semua orang pikir tidak layak dipertahankan. dan kemudian Anda berakhir di halaman depan setiap situs web berita karena sesuatu yang memalukan telah bocor.
womble
15

Masalahnya bukan VNC - jangan salah, VNC adalah protokol yang mengerikan dan memiliki banyak kekurangan (yang terbesar adalah kurangnya dukungan enkripsi sehingga semuanya berjalan di jaringan dalam teks biasa), tetapi itu bukan yang utama alasan penggunaannya tidak dianjurkan di server.

Anda akan menginstal VNC untuk mengakses apa, layar hitam? Tidak, Anda ingin mengakses seluruh lingkungan desktop, dan itulah masalah sebenarnya.

Setelah Anda menginstal semua perangkat lunak Gnome tingkat desktop ini (atau yang serupa), Anda sudah dapat mempertimbangkan server Anda dikompromikan, karena ada begitu banyak bug yang tersisa untuk dieksploitasi dalam kumpulan aplikasi yang mengerikan dan sangat besar ini (selain fakta bahwa itu tidak dirancang untuk produktivitas) dan menggunakan banyak sumber daya). Salah satu alasan lain mengapa saya tidak merekomendasikan perangkat lunak ini dan sebagian besar lingkungan desktop Linux adalah bahwa mereka mengambil alih seluruh sistem hampir seperti rootkit, dan mengimplementasikan versi segalanya sendiri (otentikasi? Tidak ada lagi pengguna dan grup yang solid , mari kita jalankan omong kosong Policykit ini sebagai root yang memberikan izin berdasarkan beberapa file XML yang tidak dapat dibaca ... konfigurasi? Siapa yang butuh file konfigurasi yang dapat dibaca manusia? Mari kita simpan semuanya dalam basis data biner yang Anda bisa '

Mencoba menginstal lingkungan desktop Gnome di server Archlinux saya memberi tahu saya "Total Ukuran Terpasang: 1370,86 MiB". Itu sangat besar, bayangkan permukaan serangan tambahan yang akan dimiliki oleh mantan server ini setelah diinstal. Lingkungan desktop lainnya tidak jauh lebih baik.

André Borie
sumber
"VNC adalah protokol yang mengerikan dan memiliki banyak kekurangan (yang terbesar adalah kurangnya enkripsi ...)" Dalam situasi ketika seseorang membutuhkan VNC, bukan lingkungan server, masalah Anda dapat dihindari dengan menyalurkan sesi VNC Anda melalui ssh.
Keith Reynolds
@KeithReynolds ya, tetapi harus built-in terutama ketika Anda membandingkannya dengan persetujuannya seperti RDP yang lebih "terkini" yang dienkripsi segera (aman selama Anda mempercayai sertifikat server).
André Borie
7
Satu filosofi desain adalah memiliki semua solusi yang memungkinkan (biasanya tipikal pengembang MS), dan lainnya adalah mengumpulkan apa yang Anda butuhkan (umumnya tipikal pengembang Linux). Mengenai VNC: Ketika keamanan dibutuhkan melalui jaringan yang tidak terpercaya ssh, memerlukan akun dan menyediakan enkripsi. Ketika keamanan bukan masalah, berbagi desktop yang tidak memerlukan akun sistem atau overhead enkripsi.
Keith Reynolds
2
@KeithReynolds masalah lain dari VNC adalah bahwa ia mengirimkan bitmap murni alih-alih menggambar perintah yang ditarik pada sisi klien seperti RDP. Ini membuat VNC mengerikan untuk digunakan pada apa pun selain jaringan lokal sementara RDP tetap baik bahkan pada jaringan seluler yang jelek.
André Borie
9

Jelas Anda membuka port lain untuk penyerang; bantahan: kita berada di belakang dua firewall universitas (firewall jaringan universitas utama serta firewall khusus subnet kita sendiri). VNC hanya akan dapat dicapai di dalam subnet kami, jadi saya bingung ...

Jangan pernah berasumsi bahwa karena sistem Anda berada di belakang firewall, di jaringan pribadi, Anda tidak perlu khawatir tentang keamanan. Banyak, jika tidak sebagian besar, intrusi yang berhasil dilakukan oleh orang dalam (karyawan, siswa, dll) yang memiliki akses ke jaringan tersebut.

Gene
sumber
-8

Coba ini untuk membuat direktur teknis senang:

  • Instal VNC dan desktop apa pun yang Anda suka

  • JANGAN pasang screensaver dalam bentuk apa pun. Mengapa? Anda tidak memiliki layar, dan desktop yang hanya duduk di sana tidak memakan banyak sumber daya.

  • JANGAN teruskan port VNC. Jika Anda perlu menggunakannya, terowongan port VNC (5900) melalui SSH (port 22) dan sambungkan ke sana.

Proses ini membuat Anda enkripsi dan semua keamanan SSH, yang sudah terbuka. Anda tidak menambahkan masalah keamanan yang belum Anda miliki sebelumnya.

Saya sudah melakukan ini di server saya sendiri, tidak ada penundaan tambahan yang nyata dalam proses VNC dibandingkan dengan koneksi langsung.

paul
sumber
9
" Anda tidak menambahkan masalah keamanan yang belum Anda miliki sebelumnya " bahkan tidak mendekati kenyataan. Memasang kode tambahan - dan Andre B di atas memberi Anda gambaran tentang seberapa banyak kode tambahan yang kita bicarakan - memberi lebih banyak peluang untuk peningkatan hak istimewa oleh pengguna lokal (ssh'ed-in).
MadHatter mendukung Monica
4
Saya setuju bahwa keamanan adalah tindakan penyeimbang, tetapi mengklaim bahwa tindakan (menginstal perangkat lunak tambahan) yang merupakan bagian dari trade-off tidak memiliki downside tidak jujur. Mengatakan ada beberapa ssh'ed di pengguna sama-sama menyesatkan: penulis pertanyaan mengatakan dia ssh'es di saat ini, dan kami tidak memiliki cara untuk mengetahui berapa banyak yang melakukannya.
MadHatter mendukung Monica
4
" OP telah menentukan bahwa SSH cukup aman ". Keamanan bukanlah properti yang Anda miliki atau tidak miliki; ini merupakan tingkat kesiapan terhadap model ancaman yang diberikan. Jika model ancaman adalah " akses tidak sah oleh pengguna jarak jauh ", maka ya, sshpertahanannya bagus. Jika model ancaman adalah " peningkatan hak istimewa oleh pengguna lokal resmi" , maka sshtidak ada pertahanan, dan memasang banyak kode tambahan pada server akan meningkatkan permukaan serangan secara signifikan. Womble adalah sysadmin berpengalaman dengan sekitar tujuh puluh ribu kali reputasi Anda di situs ini, jadi Anda mungkin ingin mudah dihina.
MadHatter mendukung Monica
1
@ paul Tidak, perhatian utama saya bukan tentang kurangnya enkripsi VNC (dapat dikurangi dengan menggunakan tunneling SSH), masalah utama adalah permukaan serangan yang sangat besar dari lingkungan desktop mana pun.
André Borie
3
@ paul: Anda benar, saya sama sekali tidak memiliki rasa keseimbangan. Saya bukan Fox News: Saya tidak perlu "adil dan seimbang". Saya seorang sysadmin: Saya harus benar .
womble