Berapa Risky Adakah Ia Jalankan Pelayan Rumah Dijamin Di belakang SSH?
Apabila anda perlu membuka sesuatu di rangkaian rumah anda ke internet yang lebih besar, adalah terowong SSH cara yang cukup selamat untuk melakukannya?
Sesi Soalan & Jawapan hari ini datang kepada kami dengan ihsan SuperUser-bahagian pembahagian Stack Exchange, kumpulan yang diketuai oleh komuniti laman web Q & A.
Soalan
Pembaca SuperUser Alfred M. ingin tahu sama ada dia berada di landasan yang betul dengan keselamatan sambungan:
Saya baru-baru ini menubuhkan sebuah pelayan kecil dengan komputer rendah yang menjalankan debian dengan tujuan menggunakannya sebagai repository git peribadi. Saya telah mendayakan ssh dan agak terkejut dengan ketepatan di mana ia mengalami serangan kekerasan dan sebagainya. Kemudian saya membaca bahawa ini adalah perkara biasa dan belajar tentang langkah-langkah keselamatan asas untuk menangkis serangan-serangan ini (banyak soalan dan pendua pada kesilapan pelayan dengannya, lihat contoh ini atau yang satu ini).
Tetapi sekarang saya tertanya-tanya sama ada semua ini bernilai usaha. Saya memutuskan untuk menubuhkan pelayan saya sendiri untuk keseronokan: Saya hanya boleh bergantung kepada penyelesaian pihak ketiga seperti yang ditawarkan oleh gitbucket.org, bettercodes.org, dan lain-lain. Sementara sebahagian daripada keseronokan adalah mengenai pembelajaran tentang keselamatan Internet, saya tidak masa yang cukup untuk mendedikasikannya untuk menjadi pakar dan hampir pasti bahawa saya mengambil langkah-langkah pencegahan yang betul.
Untuk menentukan sama ada saya akan terus bermain dengan projek mainan ini, saya ingin tahu apa yang saya benar-benar berisiko melakukannya. Sebagai contoh, sejauh mana komputer lain yang dihubungkan ke rangkaian saya mengancam juga? Sebahagian daripada komputer ini digunakan oleh orang-orang yang mempunyai pengetahuan yang lebih rendah daripada Windows menjalankan saya.
Apakah kebarangkalian bahawa saya mendapat masalah sebenar jika saya mengikuti garis panduan asas seperti kata laluan yang kuat, akses root yang cacat untuk ssh, pelabuhan bukan standard untuk ssh dan mungkin melumpuhkan log masuk kata laluan dan menggunakan fail2ban, denyhosts atau peraturan iptables?
Berikan cara lain, adakah ada serigala buruk yang patut saya khawatir atau kebanyakannya membuang skrip kiddies?
Sekiranya Alfred berpegang kepada penyelesaian pihak ketiga, atau penyelesaian DIYnya selamat?
Jawapan
Penyumbang SuperUser TheFiddlerWins meyakinkan Alfred bahawa ia agak selamat:
IMO SSH adalah salah satu perkara paling selamat untuk mendengar di internet terbuka. Jika anda benar-benar prihatin, ia akan mendengar pada pelabuhan tinggi yang tidak standard. Saya masih mempunyai firewall (tahap peranti) antara kotak anda dan Internet yang sebenarnya dan hanya menggunakan port forwarding untuk SSH tetapi itulah langkah berjaga-jaga terhadap perkhidmatan lain. SSH sendiri cukup padat.
Saya mempunyai ada orang yang memukul pelayan SSH rumah saya kadang-kadang (buka ke Time Warner Cable). Tidak pernah mempunyai kesan sebenar.
Penyumbang lain, Stephane, menyoroti betapa mudahnya untuk terus selamat SSH:
Menubuhkan sistem pengesahan utama awam dengan SSH adalah sangat tidak penting dan mengambil masa kira-kira 5 minit untuk persediaan.
Sekiranya anda memaksa semua sambungan SSH menggunakannya, maka ia akan menjadikan sistem anda lebih mantap kerana anda boleh berharap tanpa melabur LOT ke dalam infrastruktur keselamatan. Secara terang-terangan, itu sangat mudah dan berkesan (selagi anda tidak mempunyai 200 akaun - maka ia menjadi kemas) yang tidak menggunakannya harus menjadi kesalahan umum.
Akhirnya, Craig Watson menawarkan tip lain untuk mengurangkan percubaan pada pencerobohan:
Saya juga menjalankan pelayan git peribadi yang terbuka kepada dunia di SSH, dan saya juga mempunyai isu kekerasan yang sama seperti anda, jadi saya dapat bersimpati dengan situasi anda.
TheFiddlerWins telah membincangkan implikasi keselamatan utama yang mempunyai SSH terbuka pada IP yang boleh diakses secara umum, tetapi alat terbaik IMO sebagai tindak balas terhadap percubaan kekerasan adalah Fail2Ban - perisian yang memantau fail log pengesahan anda, mengesan percubaan pencerobohan dan menambahkan peraturan firewall kepada mesin tempatan
iptables
firewall. Anda boleh mengkonfigurasi betapa banyak percubaan sebelum larangan dan juga larangan panjang (kegagalan saya ialah 10 hari).
Mempunyai sesuatu untuk menambah penjelasannya? Bunyi dalam komen. Ingin membaca lebih banyak jawapan dari pengguna Stack Exchange yang berteknologi tinggi? Lihat thread perbincangan penuh di sini.