Saya ingin memberikan penundaan masuk saat masuk melalui ssh. Saya mencoba beberapa cara untuk melakukan hal yang sama tetapi tidak dapat menemukan hasil yang diinginkan.
Saya mencoba langkah-langkah yang diberikan oleh tautan yang diberikan.
http://hostingfu.com/article/ssh-dictionary-attack-prevention-with-iptables
iptables -N SSH_CHECK
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j SSH_CHECK
iptables -A SSH_CHECK -m recent --set --name SSH
iptables -A SSH_CHECK -m recent --update --seconds 60 --hitcount 4 --name SSH -j DROP
Saya tidak memiliki modul pam yang diinstal pada mesin saya, jadi saya tidak dapat membuat modifikasi apa pun yang terkait dengan file pam
Jadi, ada yang mengizinkan saya menyarankan cara lain untuk melakukan hal yang sama?
Saya memiliki kernel linux telanjang yang berjalan pada platform tertanam.
linux
networking
ssh
sshd
Ram
sumber
sumber
fail2ban
gunakan infrastruktur tepat yang sudah Anda miliki - ssh log dan aturan iptables.Jawaban:
Metode # 1 - menonaktifkan login kata sandi
Jika Anda tidak memerlukan izin masuk dengan kata sandi, maka hanya dengan menolaknya akan memberi Anda efek yang diinginkan. Cukup tambahkan baris ini ke
/etc/ssh/sshd_config
:Selain itu, Anda dapat membatasi penggunaan kata sandi untuk pengguna tertentu yang menggunakan
Match
operator disshd_config
:Metode # 2 - iptables
Anda juga dapat menggunakan
iptables
untuk melacak upaya login yang gagal dan menjatuhkannya setelah batas tertentu. Ini mirip dengan contoh Anda dari hostingfu tetapi lebih mudah dimengerti.CATATAN: Baris pertama pada dasarnya membuat aturan yang hanya berlaku untuk paket yang digunakan untuk upaya koneksi baru pada port ssh. Baris kedua mengatakan bahwa jika ada lebih dari 4 upaya dari IP dalam 60 detik, maka lalu lintas dari IP tersebut harus dihitamkan. Solusi ini tidak peduli apakah upaya pada akun pengguna berbeda atau tidak.
Metode # 3 - gunakan PAM
Saya menyadari Anda mengatakan Anda tidak memiliki PAM yang tersedia, tetapi jika Anda melakukannya, ini adalah bagaimana Anda dapat menunda upaya login yang gagal. Jika maksud Anda hanya menunda kegagalan login ssh maka Anda dapat menggunakan modul PAM
pam_faildelay
. Modul PAM ini umumnya disertakan dengan campuran default.Pada sistem Fedora 19 saya, ini merupakan bagian dari instalasi default.
Contoh
Cari file yang terkait dengan
pam_faildelay
.Lihat apa RPM yang disediakan oleh:
Pemakaian
Untuk membuat penundaan kegagalan, Anda cukup menambahkan baris seperti ini ke
sshd
file konfigurasi pam Anda . Lagi pada Fedora / CentOS / sistem RHEL file ini terletak di sini:/etc/pam.d/sshd
.Untuk membuat penundaan 10 detik:
Penundaan 60 detik:
Contoh
Dengan penundaan 20 detik menggunakan metode di atas, saya mengubah
sshd
file konfigurasi PAM saya seperti:Sekarang ketika saya masuk:
Referensi
sumber
--hitcount 4
melebihi aturan akan black hole alamat IP yang menyinggung selama 60 detik.Nonaktifkan kata sandi. Tidak ada kata sandi, tidak ada serangan brutal.
Anda dapat menggunakan ssh-keys untuk masuk - yang seharusnya lebih aman dan lebih sulit untuk diretas.
sumber
Pada instalasi bersih Ubuntu 16.04 with
openssh-server
, sudah ada penundaan untuk upaya kata sandi yang salah lebih dari nol karakter. Penundaan tampaknya lebih dari 1 detik .Untuk percobaan kata sandi yang salah dari nol karakter tidak ada penundaan sehingga penyerang akan segera menentukan bahwa kata sandi Anda bukan string kosong jika memang bukan string kosong. Karena string kosong mungkin tidak diizinkan sebagai kata sandi, mereka sudah tahu itu sehingga mereka tidak akan mencoba string kosong.
sumber