Kelanjutan judul akan “sementara memiliki pengetahuan terbatas tentang keamanan internet”.
Saya baru-baru ini menyiapkan 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 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. Misalnya, sejauh mana komputer lain yang terhubung ke jaringan saya juga mengancam? Beberapa dari komputer ini digunakan oleh orang-orang dengan pengetahuan yang bahkan lebih rendah 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 kiddies naskah?
keyboard-interactive
otentikasi dan gunakan hanyapubkey
otentikasi.Jawaban:
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 kotak Anda dan Internet aktual dan hanya menggunakan port forwarding untuk SSH tapi itu tindakan pencegahan terhadap layanan lain. SSH sendiri sangat solid.
Saya memiliki orang-orang menekan server SSH rumah saya sesekali (terbuka untuk Time Warner Cable). Tidak pernah memiliki dampak aktual.
Beberapa hal tambahan yang dapat Anda lakukan untuk membuat SSH lebih aman adalah mencegah upaya berulang dari alamat IP yang sama untuk mesin rumahan seperti
di / etc / ssh / sshd_config yang akan membatasi berapa banyak koneksi yang dapat dibuat dalam satu baris sebelum login dengan sukses.
sumber
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.
sumber
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 alat IMO terbaik dalam menanggapi upaya brute-force adalah Fail2Ban - perangkat lunak yang memantau file log otentikasi Anda, mendeteksi upaya intrusi, dan menambahkan aturan firewall ke
iptables
firewall lokal mesin . Anda dapat mengonfigurasikan berapa banyak upaya sebelum larangan dan juga panjang larangan (standar saya adalah 10 hari).sumber
Cara lain untuk menangani ini adalah dengan mengatur VPN. Daripada menghubungkan langsung ke port SSH di server rumah Anda, Anda terhubung ke VPN terlebih dahulu, kemudian jalankan semua lalu lintas Anda melalui koneksi terenkripsi dan aman.
Cara ideal untuk menangani ini adalah dengan firewall yang menggabungkan VPN Endpoint, tetapi Anda juga dapat mengatur komputer Windows untuk bertindak sebagai server VPN.
Ini sebuah contoh:
http://www.howtogeek.com/135996/
Sekarang perlu diingat bahwa konfigurasi keamanan yang tepat akan melibatkan komputer publik (atau semi-publik) yang terisolasi dari jaringan internal Anda. Server web, atau komputer mana pun yang menghosting layanan yang tersedia untuk umum, harus berada di luar jaringan aman rumah atau kantor Anda. Anda akan menggunakan 2 router untuk membuat zona aman, atau DMZ, antara Anda dan Internet.
Dengan cara ini, jika server Anda diretas, itu tidak dapat digunakan sebagai vektor untuk menyerang komputer Anda yang lain.
Jadi setup akan terlihat seperti ini:
sumber
Jawabannya sangat bagus, saya hanya akan merekomendasikan dua hal:
sumber