Bagaimana Berisiko Apakah Menjalankan Server Rumah Aman Di Balik SSH?
Ketika Anda perlu membuka sesuatu di jaringan rumah Anda ke internet yang lebih besar, terowongan SSH adalah cara yang cukup aman untuk melakukannya?
Sesi Tanya Jawab hari ini datang kepada kami berkat SuperUser-subdivisi Stack Exchange, pengelompokan situs web Q&A berbasis komunitas.
Pertanyaan
Pembaca SuperUser, Alfred M. ingin tahu apakah dia berada di jalur yang benar dengan keamanan koneksi:
Saya baru-baru ini membuat server kecil dengan komputer low-end yang menjalankan debian dengan tujuan untuk menggunakannya sebagai repositori git pribadi. Saya telah mengaktifkan ssh dan cukup terkejut dengan ketepatan di mana ia menderita dari serangan brute force dan sejenisnya. Lalu saya membaca bahwa ini cukup umum dan belajar tentang langkah-langkah keamanan dasar untuk menangkal serangan ini (banyak pertanyaan dan duplikat pada serverfault yang berurusan dengannya, lihat misalnya ini atau ini).
Tapi sekarang saya bertanya-tanya apakah semua ini sepadan dengan usaha. Saya memutuskan untuk membuat server sendiri sebagian besar untuk bersenang-senang: Saya hanya bisa mengandalkan solusi pihak ketiga seperti yang ditawarkan oleh gitbucket.org, bettercodes.org, dll. Sementara bagian yang menyenangkan adalah tentang belajar tentang keamanan Internet, saya belum cukup waktu untuk mendedikasikan untuk menjadi ahli dan hampir yakin bahwa saya mengambil langkah pencegahan yang benar.
Untuk memutuskan apakah saya akan terus bermain dengan proyek mainan ini, saya ingin tahu apa yang benar-benar saya risiko melakukannya. Sebagai contoh, sejauh mana komputer lain yang terhubung ke jaringan saya juga mengancam? Beberapa komputer ini digunakan oleh orang-orang dengan pengetahuan yang bahkan lebih sedikit daripada komputer saya yang menggunakan Windows.
Berapa probabilitas saya mendapat masalah nyata jika saya mengikuti pedoman dasar seperti kata sandi yang kuat, akses root yang dinonaktifkan untuk ssh, port non standar untuk ssh dan mungkin menonaktifkan login kata sandi dan menggunakan salah satu aturan fail2ban, denyhosts atau iptables?
Dengan kata lain, apakah ada beberapa serigala jahat besar yang harus saya takuti atau apakah sebagian besar tentang mengusir anak-anak naskah?
Haruskah Alfred tetap berpegang pada solusi pihak ketiga, atau apakah solusi DIY-nya aman?
Jawabannya
Kontributor SuperUser, TheFiddlerWins meyakinkan Alfred bahwa itu cukup aman:
IMO SSH adalah salah satu hal paling aman untuk didengarkan di internet terbuka. Jika Anda benar-benar khawatir, dengarkan di port high-end non-standar. Saya masih memiliki firewall (level perangkat) antara komputer Anda dan Internet yang sebenarnya dan hanya menggunakan port forwarding untuk SSH tapi itu tindakan pencegahan terhadap layanan lain. SSH sendiri sangat solid.
saya memiliki memiliki orang-orang menekan server SSH rumah saya sesekali (terbuka untuk Time Warner Cable). Tidak pernah memiliki dampak yang sebenarnya.
Kontributor lain, Stephane, menyoroti betapa mudahnya mengamankan SSH lebih lanjut:
Menyiapkan sistem otentikasi kunci publik dengan SSH benar-benar sepele dan membutuhkan waktu sekitar 5 menit untuk pengaturan.
Jika Anda memaksa semua koneksi SSH untuk menggunakannya, maka itu akan membuat sistem Anda cukup tangguh seperti yang Anda harapkan tanpa menginvestasikan BANYAK ke dalam infrastruktur keamanan. Terus terang, ini sangat sederhana dan efektif (selama Anda tidak memiliki 200 akun - maka itu menjadi berantakan) sehingga tidak menggunakannya harus menjadi pelanggaran publik..
Akhirnya, Craig Watson menawarkan tip lain untuk meminimalkan upaya intrusi:
Saya juga menjalankan server git pribadi yang terbuka untuk dunia pada SSH, dan saya juga memiliki masalah brute-force yang sama seperti Anda, sehingga saya dapat bersimpati dengan situasi Anda.
TheFiddlerWins telah membahas implikasi keamanan utama dengan membuka SSH pada IP yang dapat diakses publik, tetapi IMO alat terbaik dalam menanggapi upaya brute-force adalah Fail2Ban - perangkat lunak yang memantau file log otentikasi Anda, mendeteksi upaya intrusi, dan menambahkan aturan firewall ke mesin lokal
iptables
firewall. Anda dapat mengonfigurasikan berapa banyak upaya sebelum larangan dan juga panjang larangan (standar saya adalah 10 hari).
Punya sesuatu untuk ditambahkan ke penjelasan? Berbunyi dalam komentar. Ingin membaca lebih banyak jawaban dari pengguna Stack Exchange yang mengerti teknologi lainnya? Lihat utas diskusi lengkap di sini.