Saya telah mengkonfigurasi server ubuntu dengan openssh agar dapat terhubung dan menjalankan perintah dari sistem jarak jauh seperti telepon atau laptop. Masalahnya adalah ... Saya mungkin bukan satu-satunya.
Apakah ada cara untuk mengetahui semua upaya login yang telah dilakukan ke server?
Jawaban:
Di server Ubuntu, Anda dapat menemukan siapa yang masuk kapan (dan dari mana) dalam file
/var/log/auth.log
. Di sana, Anda menemukan entri seperti:sumber
lastb
perintah ?/var/log/auth.log
Pada distro berbasis Red Hat seperti Fedora / CentOS / RHEL Anda dapat memeriksa pengguna yang login di dalam file
/var/log/secure
.Jika Anda ingin informasi lebih lanjut, baca Tanya Jawab SuperUser ini berjudul: Bagaimana saya bisa mencatat upaya akses SSH dan melacak apa yang akhirnya dilakukan pengguna SSH di server saya? .
sumber
/var/log/secure
pada sistem Ubuntu saya./var/log/auth
di sistem saya. Itu sebabnya sebelum memposting jawabannya, saya memeriksa apakah saya punya/var/log/secure
di sistem saya, yang juga merupakan server Ubuntu :)/var/log/secure
./var/log/secure
adalah isme Fedora / CentOS / RHEL.Di Ubuntu Anda dapat masuk melalui SSH dan menggunakan perintah ekor Linux untuk menampilkan x jumlah baris terakhir dari
/var/log/auth.log
file Anda . Saat Anda masuk melalui SSH gunakan perintah berikut untuk melihat 100 baris terakhir dari log SSH Anda:atau bahkan lebih bersih
sumber
Perhatikan bahwa konfigurasi default pada Ubuntu adalah BUKAN login ssh login ke
/var/log/auth
file. Ini adalahINFO
level logging.Jika Anda ingin menyertakan upaya login di file log, Anda harus mengedit
/etc/ssh/sshd_config
file (sebagai root atau dengan sudo) dan mengubahLogLevel
dariINFO
menjadiVERBOSE
.Setelah itu, restart daemon sshd dengan
Setelah itu, upaya login ssh akan masuk ke
/var/log/auth.log
file.sumber
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.date --date @1480622612.317
yang menghasilkanThu 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
danauid=0
danacct=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.sumber
Saya tahu ini sudah lama tetapi saya menulis sesuatu untuk memonitor koneksi / upaya ssh yang berhasil dan gagal. Serta IP yang diblokir jika Anda menggunakan sshguard. Perangkat lunak ini ditulis dalam Python. Ini akan mengirim email kepada Anda ketika seseorang berhasil terhubung melalui ssh, ketika seseorang salah memasukkan kata sandi ssh atau ketika seseorang diblokir karena banyak upaya yang gagal. Semoga ini akan membantu seseorang di masa depan yang mencari masalah ini dan menemukan kode saya!
Untuk skrip python, saya menulis skrip bash untuk memantau prosesnya. Ia memeriksa apakah itu berjalan setiap menit melalui tugas root cron. Jika tidak berjalan, itu memulai proses lain. Yang disebut dengan tugas root cron setiap menit.
sumber
Hal terbaik yang pernah saya temui untuk perintah SSH logging adalah rootsh alat ini memungkinkan administrator mendapatkan setiap perintah dari setiap sesi dengan tingkat logging yang luas.
Saya telah menulis skrip untuk menginstal dan mengkonfigurasi ROOTSH di ubuntu dan CentOS / RHEL
unduh dari github di sini adalah tautannya
sumber