Rekomendasi saya adalah menggunakan auditd . Ini masuk menggunakan subsistem audit kernel linux dan menurut saya cara yang tepat untuk melakukannya jika Anda serius. Dan mengingat sifat pertanyaan {security related} Anda harus menggunakan PAM juga. Pada tingkat standar hanya dengan menginstal auditd dan PAM , Anda seharusnya secara otomatis mendapatkan semua upaya SSH yang berhasil dan tidak berhasil masuk dalam file audit.log Anda. Jadi Anda benar-benar tidak perlu mengkonfigurasi apa pun, cukup auditd dan PAM yang diinstal. Saya tahu tangan pertama ini untuk SLES. Dan bertaruh RHEL dan versi perusahaan lain dari linux akan beroperasi dengan cara yang sama.
http://manpages.ubuntu.com/manpages/precise/man8/auditd.8.html
dalam log audit mentah yang dihasilkan oleh auditd, Anda dapat menggunakan sesuatu seperti aureport
menyaringnya yang dijelaskan dalam halaman manual auditd , menulis parser teks Anda sendiri, atau cukup menggunakan VI dan mencari kata kunci.
di sini ada /var/log/audit/audit.log
pengecualian file saya dengan saya ssh'ing ke server linux saya.
node=shark type=CRED_DISP msg=audit(1480622612.317:2211277): user pid=117768 uid=0 auid=23456 ses=2201 msg='op=PAM:setcred acct="ron" exe="/usr/sbin/sshd" (hostname=abc415.mycompany.us, addr=172.16.152.5, terminal=ssh res=success)'
- dari atas, nama server saya adalah hiu .
- banyak baris seperti ini ada di audit.log, saya ingin yang ini berdasarkan exe = "/ usr / sbin / sshd"
- jumlah akun yang dimasukkan ke dalam adalah nilai auid, yaitu 23456 untuk contoh ini
- nama akun pengguna yang terkait dengan auid ditentukan oleh acct = "ron"
- sering kali sistem audit akan mencatat hostname dns dari sistem yang mencoba terhubung, tetapi selalu memiliki alamat ipnya
- tanggal entri yang dalam waktu yang sangat singkat, jadi Anda harus mengonversinya melalui sesuatu seperti
date --date @1480622612.317
yang menghasilkan Thu Dec 1 15:03:32 EST 2016
dan ketika saya ssh'd ke server saya.
Kapan res=failed
saat Anda ingin menyelidiki alamat ip dan nama host untuk melihat sistem apa yang mencoba untuk terhubung, dengan apa yang dicoba nama pengguna. Dan jelas ssh yang berhasil mencoba untuk memahami apa yang terjadi pada sistem Anda - misalnya rekan kerja bob Anda yang duduk di meja yang sama setiap hari dengan hostname = bobscomputer dan ip address = 192.168.5.5; jika Anda melihat upaya ssh yang sukses pada jam 2 pagi kemarin di bawah nama penggunanya dari alamat ip 10.10.5.6 misalnya, maka mungkin ada baiknya Anda berbicara dengan bob untuk menyelidiki. Kemungkinan upaya hack oleh orang lain? Dan tidak lama setelah itu apakah ada upaya su untuk login log audit dari akun bob?
ketika Anda melihat berulang-ulang res=failed
dan auid=0
dan acct=root
kemudian itu seseorang yang mencoba untuk ssh ke kotak Anda ke account root, dan ketika Anda memodifikasi /etc/hosts.deny
dengan alamat IP untuk sshd.