Saya punya sedikit server SVN, dell optiplex lama menjalankan debian. Saya tidak memiliki permintaan tinggi pada server saya, karena itu hanya server SVN kecil ... tetapi ingin itu aman.
Saya baru saja memperbarui server saya ke optiplex yang lebih baru dan lebih baik, dan mulai mencari sedikit ke server lama. Saya menurunkannya setelah mengalami masalah. Ketika saya memeriksa log, penuh dengan upaya paksa dan entah bagaimana seseorang telah berhasil memasuki mesin saya. Orang ini menciptakan beberapa volume tambahan yang disebut "knarkgosse" dengan dua dir "root" dan "swap1" atau sesuatu. Tidak benar-benar tahu mengapa dan apa yang mereka lakukan, tetapi tentu saja ingin mencegah hal ini terjadi lagi. Saya menemukan ini agak aneh karena saya mengganti kata sandi saya beberapa bulan atau lebih, dan kata sandi selalu acak huruf dan angka disatukan ... tidak mudah untuk memaksa.
Saya tahu saya bisa mencegah root masuk, dan menggunakan sudoers ... dan mengubah port SSH, tapi apa lagi yang bisa saya lakukan?
Jadi saya punya beberapa pertanyaan:
Bagaimana saya bisa mencegah masuk selama 5 menit setelah X mencoba jumlah yang salah. Atau mencoba lambat setelah setiap percobaan salah?
Apakah ada semacam daftar hitam pusat dimana server dapat terhubung? Daftar hitam yang melacak alamat IP yang "tidak aman" dan tidak boleh diberikan akses?
Apa lagi yang bisa saya lakukan untuk menerapkan keamanan ke server saya?
Seperti yang saya katakan sebelumnya, saya menjalankan Debian 5 dengan Apache (masalah pengguna www-data?), Svn, mysql, php, phpmyadmin, hudson. Itu adalah pada jaringan rumah dengan port forwarding pada 80, 443, 8080, 8180, 23 dan 22.
sumber
Jawaban:
Fail2ban dan Port Knocking harus memenuhi sebagian besar kebutuhan Anda.
Mengubah port SSH Anda dan hanya mengizinkan otentikasi berbasis Kunci juga disarankan.
Dapat dikatakan bahwa Anda mungkin mencapai titik pengembalian yang semakin berkurang dengan menambahkan langkah-langkah keamanan tambahan, tetapi sekali lagi, terserah Anda untuk memutuskan kapan Anda "cukup aman".
Sebaiknya batalkan login root.
sumber
Tidak ada pengganti untuk kata sandi aman DAN otentikasi kunci. Yang sedang berkata, Fail2Ban adalah alat yang hebat untuk melarang IP pengguna yang mencoba untuk mengotentikasi terlalu banyak. Ini juga tersedia sebagai paket pre-built untuk sebagian besar distro. Berhati-hatilah, Anda dapat secara tidak sengaja mendapatkan diri Anda diblokir, jadi pastikan Anda juga memiliki IP pemulihan yang terdaftar putih atau akses konsol yang mudah ...
Fail2Ban memiliki beberapa contoh bagus tentang cara mengonfigurasi semua yang Anda tanyakan ... namun tidak, memiliki gudang universal untuk alamat yang buruk. Saya tidak berpikir ada repositori di mana pun karena kemudahan mendapatkan IP lain (dhcp renew / bot-net attack / etc ...). Saya juga akan menonaktifkan login melalui ssh menggunakan nama pengguna tipe 'administrator' yang umum (root / admin / administrator / sysop / dll.) Karena ini adalah yang paling sering digedor.
sumber
Saya telah menghentikan serangan brute force dengan:
sumber
Ada sejumlah saran bagus yang ditawarkan di sini. Saya dengan hormat menyarankan bahwa tiga hal harus membuat ini relatif aman:
UsePAM no
Semoga ini membantu.
sumber
Saya selalu menjadi penggemar berat CSF / LFD yang dapat memblokir alamat IP orang yang mencoba bruteforce, portscan, dan beberapa opsi lainnya. Ini pada dasarnya perl-wrapper besar untuk tabel IP, tetapi file konfigurasi tidak sulit dibaca dan dokumentasinya tidak buruk.
sumber
Anda juga bisa melihat ke sshguard. Saya belum menggunakannya tetapi saya sudah mendengar hal-hal baik.
Sumber:
http://isc.sans.edu/diary.html?storyid=9370
http://www.sshguard.net/
http://www.sshguard.net/docs/faqs/
"Sshguard memonitor server dari aktivitas logging mereka. Ketika log menyampaikan bahwa seseorang melakukan hal yang buruk, sshguard bereaksi dengan memblokirnya sebentar. Sshguard memiliki kepribadian yang sensitif: ketika seorang anak nakal nakal bersikeras mengganggu tuan rumah Anda, ia bereaksi lebih kencang dan kencang. "
sumber
Saya memiliki server SSH yang terhubung ke internet pada port default dan tidak pernah mengalami masalah ..
semoga membantu!
sumber
Ada cara yang lebih baik untuk melakukan ini, menggunakan fail2ban berarti Anda harus menambahkan aplikasi, dan itu beroperasi pada lapisan aplikasi.
Jika Anda menggunakan iptables, ini lebih efisien karena beroperasi di lapisan jaringan dan Anda tidak perlu menginstal aplikasi tambahan.
Gunakan modul terbaru iptables http://www.snowman.net/projects/ipt_recent/
sumber
Opsi (untuk digunakan selain langkah-langkah keamanan lainnya) adalah sshd mendengarkan pada port selain 22. Saya belum mencobanya sendiri, tetapi telah mendengar hal itu mengurangi jumlah serangan brute force murni oleh bot.
Saya harus menekankan bahwa ini bukan keamanan nyata, hanya mengurangi jumlah serangan brute force otomatis. Terlalu banyak pekerjaan untuk memeriksa setiap port kurasa.
sumber
telnet
saat ini. Seringkali merupakan ide yang lebih baik untuk menggunakan port yang tidak dicadangkan, seperti> 60k. iana.org/assignments/port-numbers memberi Anda daftar nomor port yang dipesan.I don't use te[l]net on this machine
- tetap seperti itu. Meskipun Anda menginginkan klien telnet untuk berbagai alasan, tidak ada alasan untuk menjalankan server telnet ketika Anda memiliki ssh. Kata sandi plaintext di atas kawat itu buruk .Sesuatu yang tidak disebutkan di sini dan seharusnya membatasi akses melalui firewall. Ini tidak sesuai dengan setiap situasi, tetapi jika Anda terhubung ke host dari lokasi yang konsisten dengan IP statis, Anda bisa memblokir SSH sepenuhnya kecuali untuk IP itu. Ini akan memastikan bahwa penyusup tidak bisa masuk. Seperti yang saya sebutkan sebelumnya, ini tidak selalu sesuai dengan setiap situasi, terutama jika IP Anda dinamis dan sering berubah.
sumber
DenyHosts, http://denyhosts.sourceforge.net/ , adalah proyek bagus yang saya miliki. Jika Anda menetapkan denyhosts untuk menyinkronkannya, itu akan mengunduh IP baru untuk ditambahkan ke daftar larangan yang harus memaksa sistem lain menggunakan denyhosts. Itu juga kedaluwarsa IP yang belum mencoba brute force untuk sementara waktu.
Menggunakan otentikasi kunci publik dan menonaktifkan pembuatan kata sandi mungkin adalah hal terbaik yang bisa Anda lakukan. Mengalahkan serangan brute force.
sumber
Apa yang efektif bagi saya:
Seperti yang orang lain katakan, tidak ada login root, PasswordAuthentication diatur ke no (hanya login dengan kunci) di sshd_config
Hanya satu atau dua pengguna yang diizinkan masuk melalui ssh dan mereka punya nama yang tidak jelas yang tidak ada dalam daftar nama pengguna alat kasar yang umum (yaitu, bukan "admin" atau "apache" atau "web" atau " johnny ")
Aturan firewall terbatas (pada dasarnya, semuanya diblokir kecuali port layanan saya dan ssh). Saya bahkan membatasi ping, untuk menangkal pindaian yang lebih kasar (banyak yang mengecewakan pasangan saya).
Di host web saya, saya membatasi akses ke beberapa alamat IP tertentu - tetapi ini sepertinya bukan pilihan bagi Anda. Tentu saja tidak dapat melakukannya sendiri di semua host kami. Anda mungkin juga ingin melihat "port-knocking."
Dan favorit saya: Modul respon aktif OSSEC untuk memblokir sejumlah kondisi brute force dan peringatan tentang kesalahan lain juga. Ia mendeteksi x login yang tidak valid dalam jumlah waktu y, dan kemudian memblokir (melalui perintah firewall-drop iptables) untuk periode waktu tertentu. Saya memblokir sekitar 12 jam sekarang untuk bersenang-senang. :)
Satu hal yang saya lakukan di sini untuk memastikan saya tidak memblokir terlalu banyak hal yang salah, adalah bahwa di /etc/ossec.conf, saya mengatur respons aktif ke level tinggi (yang tidak ada dalam konfigurasi default) dan kemudian buka sshd_rules.xml dan atur aturan yang ingin saya blokir ke level itu dan ubah ambang batas untuk blok vs. lansiran seperlunya.
Jika Anda menjalankan Apache, Anda juga dapat memblokir hal-hal yang melanggar aturan apache. Saya tidak memblokir ini hanya karena masalah NAT, saya ingin berpikir tentang memblokir seluruh universitas atau sesuatu. :) Selain itu, Anda dapat menulis aturan khusus untuk memblokir kondisi tertentu dalam file log, yang dapat sangat membantu.
sumber