Pengaturan pemberitahuan / deteksi intrusi otomatis apa yang baik untuk penggunaan desktop rumah?


27

Saya sudah menggunakan Linux cukup lama sekarang dan saya selalu merasa perlu memiliki pengaturan perangkat lunak / skrip pasif yang dapat mengingatkan saya tentang segala kegiatan jaringan yang mencurigakan seperti pemindaian, upaya login yang gagal, dll dengan cepat melalui email atau dengan pemberitahuan visual / audio.

Saya tahu bagaimana mencari melalui log dan barang-barang tetapi sebagian besar itu adalah proses manual, memakan waktu. Saya mencari sesuatu yang semi / sepenuhnya otomatis dengan beberapa kemampuan parsing log yang baik.

Saya mengetahui sistem IDS untuk memonitor jaringan seperti Snort, dll. Tetapi mereka adalah pekerjaan berat bagi pengguna rumahan rata-rata dan proses yang menyakitkan untuk bangkit dan berjalan.

Apa pilihan yang baik bagi saya sebagai pengguna rumahan?


Bagaimana Anda mendefinisikan 'pasif'? Seperti, sesuatu yang Anda jalankan sesekali sendiri untuk melihat apakah ada sesuatu yang mencurigakan terjadi?
Nanne

Jawaban:


15

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 sysloguntuk mencatat peristiwa, abnormal atau tidak, ke dalam file apa pun di bawah /var/logAnda mulai mendapatkan peringatan untuk itu secara otomatis.

BAGAIMANA:

Karena logchecksudah 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.confuntuk mengubah alamat email Anda sehingga logcheckemail 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-ignoressebagai file abaikan pribadi Anda. Di mana <yourloglevel>salah satu dari paranoid,, serveratau 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: logcheckdilengkapi dengan utilitas berguna yang disebut logcheck-testyang sangat berguna untuk menguji aturan baru. man logcheck-testuntuk detail.


Hai, saya suka ide di balik logcheck ... bisakah Anda mengarahkan saya ke panduan mendalam untuk itu? Terima kasih :)
irenicus09

1
@ irenicus09: Baru saja menambahkan bagian howto dengan tautan opsional untuk referensi.
arielf

Selamat untuk memenangkan hadiah, jawaban yang ditulis dengan sangat baik. Terima kasih :)
irenicus09

3

Jika Anda tidak memiliki banyak sistem di jaringan Anda, menyiapkan IDS seperti Snort mungkin berlebihan (terutama jika Anda tidak memiliki layanan jaringan di mesin Anda). Saya sarankan memulai dengan mengonfigurasi logwatch untuk mengirimi Anda laporan tentang apa yang terjadi pada sistem Anda. Setelah selesai, konfigurasikan syslog Anda sehingga Anda mendapatkan sebanyak mungkin informasi yang relevan.


Halo, saya suka jawaban Anda ... tetapi bisakah Anda membagikan sedikit lebih detail tentang bagaimana melakukan itu. Mengotak dengan konfigurasi bisa sangat rumit, terutama untuk pengguna yang tidak berpengalaman. Tapi saya akan menghargai jika Anda bisa mengarahkan saya ke panduan mendalam untuk itu. Terima kasih.
irenicus09

@ irenicus09 Saya pikir ini sudah cukup: Cara mengatur Logwatch pada sistem berbasis Ubuntu
AndrewX192

terima kasih untuk panduannya, saya telah berhasil mengatur logwatch & saya menyukainya. Untuk monitor port scan, saya juga telah menyiapkan portentry dan saya akan mencoba alat dan hal lain sebelum saya menyelesaikan mana yang terbaik untuk saya :)
irenicus09

1

Deteksi intrusi diperlukan untuk memastikan ketika Anda menjalankan layanan (ftp, web, nfs, ssh dll) di jaringan Anda. Ini karena mereka terpapar di internet dan karena:

  • konfigurasi salah
  • kerentanan perangkat lunak

mereka membutuhkan pemantauan harian oleh administrator jaringan yang berpengalaman. Jika Anda menjalankan layanan ini, Anda mungkin sudah memiliki pengetahuan minimum tentang cara menghindari masalah ini.

Jika Anda tidak menjalankan salah satu layanan ini, maka firewall router internet Anda, telah memblokir semua koneksi masuk pada port. Untuk memindai router jaringan Anda

Jika Anda semua hijau, maka Anda semua baik-baik saja.

Last but not least, mungkin router Anda memiliki sistem deteksi intrusi bawaan (karena 99% dari semua router menjalankan server linux striped down). Untuk ini, Anda harus memeriksa manual pabrikan router Anda.


Halo, terima kasih atas jawaban Anda. Ini cukup mendalam dan saya menyadari semua yang Anda bicarakan. Tapi maksud saya adalah katakanlah saya menjalankan berbagai layanan di sistem saya, bagaimana tepatnya saya melacak aktivitas dari perspektif keamanan. Saya membutuhkan solusi sederhana, mudah digunakan sebagai pengguna rumahan dan saya pikir Anda menghindari bagian itu :)
irenicus09
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.