Solusi umum yang sederhana dan efektif adalah menggunakan logcheck .
sudo apt-get install logcheck
[edit /etc/logcheck/logcheck.conf to your liking]
logcheck secara berkala memindai semua log secara efisien (mulai dari yang terakhir kali dihilangkan), memfilter apa yang dilihatnya untuk menghilangkan apa pun yang dianggap normal, dan secara opsional mengirim email peringatan dengan apa pun yang tidak cocok dengan pola normal / rutin.
Gagasan utamanya adalah untuk berhati-hati terhadap tampilan entri serius dalam file log Anda, semuanya, setiap saat, jadi Anda tidak perlu melakukannya.
logcheck sangat dapat dikonfigurasi (man logcheck
). Anda dapat mengonfigurasi semuanya, termasuk:
- frekuensi pemeriksaan
- file log mana yang diperiksa
- apa yang dianggap normal vs tidak
- ke mana email peringatan (kejadian tidak normal) ke
dan lainnya. Pola abaikan (normal / rutin) Anda berada di beberapa file di bawah /etc/logcheck/ignore.d.* dan Anda dapat menyesuaikannya dengan kebutuhan Anda; terutama Anda mungkin ingin menambahkan pola Anda sendiri untuk diabaikan. Paket default Ubuntu hadir dengan serangkaian file yang luas dengan pola abaikan untuk banyak layanan, jadi tidak banyak yang bisa ditambahkan kecuali sistem Anda tidak biasa dalam menjalankannya. Ada 3 set profil file abaikan yang telah dikonfigurasi: abaikan.d.workstation , abaikan.d.server , dan abaikan.d.paranoid yang dapat Anda pilih.
Ide utama di balik logcheck adalah bahwa berbagai layanan yang berjalan pada suatu sistem, sudah mencatat peristiwa abnormal. Misalnya sshd atau pam sudah mencatat kegagalan otentikasi. Jadi komponen yang hilang utama adalah:
- memfilter apa yang normal
- The menyiagakan layanan
Keduanya disediakan oleh cek masuk dalam paket yang mudah. Anda dapat menggabungkan checkch dengan logging lainnya. Misalnya iptables dapat dikonfigurasi untuk syslog segala upaya koneksi jaringan yang tidak diizinkan secara eksplisit dengan menambahkan aturan:
iptables -A input -j LOG
iptables -A input -j DROP
segera setelah semua aturan yang diizinkan.
Saya menemukan logcheck jauh lebih bermanfaat daripada logwatch (disarankan dalam jawaban lain) karena itu sudah dipaket dengan sejumlah besar aturan untuk mengabaikan apa yang dianggap aktivitas normal. Hasilnya adalah rasio sinyal / noise yang jauh lebih tinggi di email peringatan itu. YMMV.
Keuntungan lain dari logcheck adalah bahwa ia orthogonal untuk layanan apa pun yang mencatat, jadi tidak ada duplikasi fungsi. Setiap kali Anda menambahkan layanan baru yang digunakan syslog
untuk mencatat peristiwa, abnormal atau tidak, ke dalam file apa pun di bawah /var/log
Anda mulai mendapatkan peringatan untuk itu secara otomatis.
BAGAIMANA:
Karena logcheck
sudah ada yang sudah dikonfigurasikan sebelumnya, dua baris di bagian atas jawaban ini pada dasarnya mencakup semua yang Anda butuhkan untuk memulai. Instal saja, dan buka file konfigurasi teratas:
/etc/logcheck/logcheck.conf
untuk mengubah alamat email Anda sehingga logcheck
email memberi tahu Anda.
Berikut ini adalah referensi yang ramah untuk langkah kedua secara lebih rinci . Karena Ubuntu didasarkan pada Debian, instruksi ini juga dapat digunakan di Ubuntu.
Ini referensi bagus lainnya .
Setelah Anda menginstal, proses peningkatan berkelanjutan dimulai. Seiring waktu, Anda memperbaiki aturan Anda untuk mengabaikan apa pun yang sudah Anda ketahui dan rasakan seharusnya tidak menjadi perhatian. Proses perbaikan ini semudah menambahkan baris teks ke file di editor teks favorit Anda.
Setiap baris dalam file abaikan adalah ekspresi reguler yang diperluas (lihat man 7 regex
), tetapi Anda dapat menggunakan string sederhana selama mereka cocok dengan baris log yang ingin Anda abaikan. Hanya ingat bahwa karakter seperti *
, ?
, '+', []
, ()
khusus dalam ekspresi reguler, jadi jika mereka benar-benar muncul di baris log, Anda harus melarikan diri mereka dengan garis miring terbalik \
di mengabaikan file.
Dengan kata lain: jika Anda mendapatkan peringatan yang tidak ingin Anda dapatkan, lihat baris log yang diemailkan kepada Anda, dan tambahkan pola yang cocok dengan itu, sebagai satu baris ke file abaikan pilihan Anda. Saya sarankan menggunakan
/etc/logcheck/ignore.d.<yourloglevel>/my-ignores
sebagai file abaikan pribadi Anda. Di mana <yourloglevel>
salah satu dari paranoid
,, server
atau
workstation
(seperti yang telah Anda pilih di file konfigurasi utama:) /etc/logcheck/logcheck.conf
. Lihatlah contoh-contoh di file abaikan lainnya untuk melihat bagaimana menghitung teks yang berubah sepanjang waktu seperti ID proses, atau cap waktu. Ada banyak contoh yang bisa dipelajari.
Satu tip terakhir: logcheck
dilengkapi dengan utilitas berguna yang disebut logcheck-test
yang sangat berguna untuk menguji aturan baru. man logcheck-test
untuk detail.