Pertanyaan Bagaimana cara melacak upaya masuk SSH yang gagal?


Saya ingin melihat apakah seseorang telah mencoba masuk dengan brute force ke server Ubuntu 12.04 saya melalui SSH. Bagaimana saya bisa melihat apakah kegiatan-kegiatan seperti itu telah terjadi?


124
2017-08-20 06:32


asal




Jawaban:


Semua upaya login dicatat /var/log/auth.log.

1. Filter untuk login SSH interaktif brute-force

Buka terminal, dan ketik di bawah ini; jika lebih dari 1 halaman Anda akan dapat menggulir ke atas dan ke bawah; mengetik q untuk keluar:

grep sshd.\*Failed /var/log/auth.log | less
  • Inilah contoh nyata dari salah satu VPS saya:

    18 Agustus 11:00:57 izxvps sshd [5657]: Kata sandi gagal untuk root dari 95.58.255.62 port 38980 ssh2
    18 Agustus 23:08:26 izxvps sshd [5768]: Kata sandi gagal untuk root dari 91.205.189.15 port 38156 ssh2
    18 Agustus 23:08:30 izxvps sshd [5770]: Kata sandi gagal untuk siapa pun dari 91.205.189.15 port 38556 ssh2
    18 Agustus 23:08:34 izxvps sshd [5772]: Kata sandi gagal untuk asterisk pengguna yang tidak valid dari 91.205.189.15 port 38864 ssh2
    18 Agustus 23:08:38 izxvps sshd [5774]: Kata sandi gagal untuk sjobeck pengguna tidak valid dari 91.205.189.15 port 39157 ssh2
    18 Agustus 23:08:42 izxvps sshd [5776]: Kata sandi gagal untuk root dari 91.205.189.15 port 39467 ssh2
    

2. Cari gagal koneksi (yaitu tidak ada upaya masuk, bisa menjadi pemindai port, dll.):

Gunakan perintah ini:

grep sshd.*Did /var/log/auth.log | less
  • Contoh:

    5 Agustus 22:19:10 izxvps sshd [7748]: Tidak menerima string identifikasi dari 70.91.222.121
    10 Agustus 19:39:49 izxvps sshd [1919]: Tidak menerima string identifikasi dari 50.57.168.154
    Aug 13 23:08:04 izxvps sshd [3562]: Tidak menerima string identifikasi dari 87.216.241.19
    17 Agustus 15:49:07 izxvps sshd [5350]: Tidak menerima string identifikasi dari 211.22.67.238
    Aug 19 06:28:43 izxvps sshd [5838]: Tidak menerima string identifikasi dari 59.151.37.10
    

Cara mengurangi upaya masuk yang gagal / kasar

  • Coba aktifkan SSH Anda ke port non-standar dari default 22
  • Atau pasang skrip larangan otomatis seperti fail2banInstall fail2ban.

139
2017-08-20 06:48



Seberapa banyak keamanan yang Anda dapatkan dalam mengalihkan port SSH (bukankah mereka hanya dapat memindai Anda seperti yang Anda sebutkan) dan apakah itu layak untuk penggunaan yang kecil untuk pengguna yang sah? - Nick T
@NickT ternyata cukup untuk mengurangi upaya masuk secara signifikan. Di mana saya mendapatkan ribuan upaya dalam seminggu / hari, sejauh ini saya belum punya untuk bulan terakhir, cukup dengan mengganti port. - AntoineG
Saya pikir tidak mengizinkan login dengan kata sandi juga dapat membantu. - Luc M
Saya tahu ini adalah ubuntu, hanya ingin menyebutkan bahwa pada beberapa sistem seperti centos, file path adalah /var/log/secure - lfender6445
Beberapa sistem mengakses log dengan systemctl -eu sshd - alecdwm


Saya berpendapat bahwa pemantauan log adalah solusi lemah terutama jika Anda memiliki kata sandi yang lemah pada akun. Upaya kasar sering mencoba setidaknya ratusan kunci per menit. Bahkan jika Anda memiliki tugas cron yang disetel untuk mengirimi Anda email upaya kasar, itu mungkin beberapa jam sebelum Anda masuk ke server.

Jika Anda memiliki server SSH yang menghadap publik, Anda perlu sebuah solusi yang masukpanjang sebelum Anda dapat diretas.

Saya akan sangat menyarankan fail2ban. Wiki mereka mengatakan apa yang dilakukannya lebih baik daripada yang saya bisa.

Fail2ban memindai file log (mis. /var/log/apache/error_log) dan melarang IP yang menunjukkan tanda-tanda jahat - terlalu banyak kegagalan kata sandi, mencari eksploit, dll. Umumnya Fail2Ban kemudian digunakan untuk memperbarui aturan firewall untuk menolak alamat IP selama waktu tertentu, meskipun ada tindakan lain yang sewenang-wenang (misalnya mengirim email, atau baki CD-ROM yang dikeluarkan) juga bisa dikonfigurasi. Keluar dari kotak Fail2Ban dilengkapi dengan filter untuk berbagai layanan (apache, curier, ssh, dll).

Mendapatkan perlindungan dari itu sesederhana sudo apt-get install fail2ban.

Secara default segera setelah seseorang memiliki tiga upaya gagal, IP mereka mendapat larangan lima menit. Penundaan semacam itu pada dasarnya menghentikan upaya kekerasan SSH tetapi itu tidak akan merusak hari Anda jika Anda lupa kata sandi Anda (tetapi Anda harus menggunakan kunci!)


67
2017-08-23 09:12



Mengapa itu disebut gagal untuk melarang? - Pacerier
@Pacerier Baik dengan beberapa analogi, kegagalan login mengarah pada (2) larangan. - Sebi
Bwahaha Anda membuat hari saya @Pacerier Saya tidak pernah menganggapnya sebagai "kegagalan untuk melarang" secara harfiah. - adelriosantiago
Saya pikir ini harus diedit untuk menghapus "terutama" dari kalimat pertama. Nya hanya masalah jika Anda memiliki kata sandi yang lemah. Kata sandi yang kuat tidak dapat dipaksa paksa dalam keadaan apa pun, dan satu-satunya alasan untuk mencegah orang mencoba adalah mengurangi beban server. - Abhi Beckert