Saya cukup baru di dunia sistem administrasi. Saya telah mengerjakan aplikasi baru-baru ini dan ketika saya memeriksa log server aplikasi saya, saya terus-menerus mendapatkan berbagai alamat IP yang mencoba ssh ke server saya dengan brute force. Berikut ini contoh log server saya:
Feb 14 04:07:20 foodwiz3 sshd[1264]: error: Could not load host key: /etc/ssh/ssh_host_ed25519_key
Feb 14 04:07:21 foodwiz3 sshd[1264]: reverse mapping checking getaddrinfo for coenamor.columbiansabbatical.com [23.249.167.223] failed - POSSIBLE BREAK-IN ATTEMPT!
Feb 14 04:07:21 foodwiz3 sshd[1264]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=23.249.167.223 user=root
Feb 14 04:07:23 foodwiz3 sshd[1264]: Failed password for root from 23.249.167.223 port 32997 ssh2
Feb 14 04:07:23 foodwiz3 sshd[1264]: Received disconnect from 23.249.167.223: 11: Bye Bye [preauth]
Feb 14 04:13:04 foodwiz3 sshd[1289]: error: Could not load host key: /etc/ssh/ssh_host_ed25519_key
Feb 14 04:13:05 foodwiz3 sshd[1289]: reverse mapping checking getaddrinfo for coenamor.columbiansabbatical.com [23.249.167.223] failed - POSSIBLE BREAK-IN ATTEMPT!
Feb 14 04:13:05 foodwiz3 sshd[1289]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=23.249.167.223 user=root
Feb 14 04:13:07 foodwiz3 sshd[1289]: Failed password for root from 23.249.167.223 port 41562 ssh2
Apakah ini sesuatu yang cukup normal, atau haruskah saya khawatir / melakukan sesuatu tentang hal itu?
Jawaban:
Selamat datang di dunia Internet yang indah ... Sudahkah Anda:
ssh
?Tetapi jawaban sebenarnya adalah: Ya, ini normal : BotNet Maffia selalu dapat menggunakan beberapa server yang sangat terlindungi ...
sumber
Merupakan hal yang wajar untuk melakukan uji coba login yang cukup untuk membuat log flooding.
Mengubah port SSH lebih merupakan jenis solusi 'keamanan karena ketidakjelasan', tetapi ini membantu mengatasi banjir. Saya menekankan itu tidak terlalu elegan; ada port de-facto untuk layanan karena suatu alasan.
Karena seharusnya diaktifkan secara default, tetapi pastikan Anda tidak dapat SSH ke server Anda sebagai root. Ini adalah nama pengguna yang cukup konsisten di antara server dan dengan demikian target utama untuk upaya masuk dengan kata sandi brute force. Terapkan pengaturan dengan baris berikut di
sshd_config
:Juga lihat ke dalam
fail2ban
log sshd monitor untuk pelanggar berulang. Misalnya, 5 gagal login dalam 3 menit dari IP tertentu akan membuat IP tersebut diblokir selama 10 menit. Saya menambah waktu larangan itu menjadi 24 jam untuk lebih mengurangi spam log - berhasil. :)sumber
Saya menyarankan Anda untuk melakukan beberapa hal:
/ etc / ssh / sshd_config
Instal
fail2ban
- memantau file log dan sementara atau terus-menerus melarang alamat rawan kegagalan dengan memperbarui aturan firewall yang ada (iptables
).Pastikan Anda mencantumkan putih lokasi tepercaya Anda.
sumber
Ya, khawatirlah . Anda mungkin tidak pernah terbakar, tetapi Anda harus mengikuti praktik terbaik TI. Lebih baik aman daripada menyesal.
Saya seorang admin jaringan di rumah sakit. Itu selalu merupakan ide yang buruk untuk menghubungkan kotak langsung ke internet. Yang Anda lihat adalah ribuan pemindai otomatis yang memindai kerentanan di internet. Saya melihat ini dan semua hal (scan port, berbagai tes kerentanan yang diketahui) untuk semua jenis perangkat lunak (ssh, telnet, ftp, dll.) Muncul di kotak id kami
. Mesin Anda harus berada di belakang solusi firewall / NAT dan Anda hanya boleh port-forward port yang diperlukan ke internet (80, 443 dll). Ini relatif mudah dilakukan.
Memiliki sesuatu yang dapat Anda gunakan untuk managemnt (SSH telnet) adalah ide yang buruk untuk menghadapi internet karena jika - untuk alasan apa pun - ada bug dalam perangkat lunak SSH / telnet di server itu, bot otomatis akan mendeteksi itu dalam sekejap dan Anda akan kacau. Bug dalam perangkat lunak terjadi setiap saat dan perlu beberapa saat agar patch dirilis atau Anda ingat untuk menambalnya.
Jika Anda perlu mengelola dari jarak jauh, lihat mengatur sesuatu seperti solusi VPN atau jika Anda menggunakan Windows, atur gateway layanan terminal untuk desktop jarak jauh. Saya tahu Anda dapat menggunakan Linux atau kotak Windows terpisah dengan 2 NIC untuk mengatur perutean dan akses jarak jauh untuk VPN dan NAT jika Anda hanya toko kecil. Kalau tidak, vendor seperti Cisco memiliki firewall hardware / solusi NAT (Cisco ASA).
Singkatnya, letakkan mesin Anda di belakang NAT. Hanya port forward port yang diperlukan untuk menjalankan tujuan layanan. Jangan port forward layanan yang digunakan untuk manajemen ke internet, sebaliknya cari ke VPN untuk manajemen jarak jauh.
PS Mengubah port SSH dapat membantu dengan volume log tetapi sebenarnya tidak mencegah akses ke SSH. Salah satu dari ribuan pencari kerentanan otomatis dapat dan akan melakukan pemindaian port untuk melihat port mana yang mendengarkan layanan apa. Anda dapat melakukannya sendiri dengan alat yang disebut nmap .
sumber
sshd
instance. Jumpshsh ssh bisa seaman kebanyakan konfigurasi VPN, tetapi secara umum, itu bukan cara kerjanya.Anda dapat mengkonfigurasi firewall internal kernel dengan iptables . Sehingga hanya beberapa mesin yang dapat melakukan ssh ke server Anda dan membiarkan paket IP lainnya jatuh. Lihat
man iptables
untuk informasi lebih lanjut.Misalnya, jika 192.168.1.67 adalah host tempat Anda ssh, maka pada jenis server:
sumber
Apakah Anda benar-benar membutuhkan server Anda di internet? Jika Anda benar-benar ingin memilikinya di internet maka pastikan sudah aman sebelum Anda menaruhnya di sana.
Mengubah port hanya keamanan melalui ketidakjelasan. Jika penyerang Anda lebih canggih daripada hanya menjalankan skrip, itu tidak akan membantu.
Beberapa hal yang sudah saya sebutkan juga saya rekomendasikan:
Saya baru saja bergabung dengan komunitas ini karena ada dua hal yang menurut saya belum ditangani secara memadai.
sumber
Contoh lain untuk jawaban @cff, jika Anda bermaksud untuk melarang "percobaan" berturut-turut di server SSH Anda:
Koneksi 'tag' yang satu ini mencoba dan jika lebih dari 4 terjadi dalam 600-an (10 juta), maka asalnya 'dilarang'. Gunakan ini alih-alih solusi @cff karena lebih aman (jika Anda mengunci diri, tunggu 10 juta dan coba lagi).
sumber