GNU/Linux >> Belajar Linux >  >> Cent OS

Memantau dan Mendeteksi File yang Dimodifikasi menggunakan Tripwire di CentOS 7

Tripwire adalah Intrusion Detection System (IDS) gratis dan open source. Ini adalah alat keamanan untuk memantau dan mengingatkan perubahan file pada sistem. Tripwire adalah IDS kuat yang melindungi sistem Anda dari perubahan yang tidak diinginkan. Anda dapat menggunakannya untuk memantau file sistem Anda, termasuk file situs web, jadi ketika ada perubahan file yang tidak diinginkan, Tripwire akan memeriksa sistem Anda dan jika diatur dengan benar, dapat memberi tahu Anda melalui email.

Dalam tutorial ini, kami akan menunjukkan kepada Anda cara memantau dan mendeteksi perubahan apa pun pada file sistem Anda selain menggunakan Tripwire pada sistem CentOS 7. Kami akan menunjukkan cara menginstal dan mengonfigurasi Tripwire di CentOS 7, cara membuat file kunci Tripwire, mengonfigurasi dan menambahkan kebijakan tripwire, memeriksa sistem, dan mengaktifkan notifikasi email untuk tripwire dan pengaturan cron.

Apa yang akan kami lakukan

  1. Instal Tripwire di CentOS 7
  2. Konfigurasikan Kebijakan Tripwire untuk CentOS 7
  3. Memverifikasi Konfigurasi Tripwire
  4. Tambahkan Aturan Baru ke Kebijakan Tripwire
  5. Siapkan Pemberitahuan Email Tripwire dan Cron

Prasyarat

  • Sistem CentOS 7
  • Keistimewaan Root

Langkah 1 - Instal Tripwire di CentOS 7

Langkah pertama yang harus kita lakukan adalah menginstal Tripwire ke sistem. Secara default, tripwire tersedia di repositori CentOS 7.

Masuk ke server Anda dan perbarui semua paket.

ssh [email protected]
sudo yum update -y

Sekarang instal Tripwire menggunakan yum.

yum -y install tripwire

Setelah instalasi, kita perlu membuat file kunci baru.

Tripwire bekerja dengan 2 file utama.

  1. kunci situs:Digunakan untuk mengamankan konfigurasi Tripwire. Jadi, setiap perubahan pada konfigurasi tripwire tidak akan diterapkan hingga kami membuat konfigurasi lagi, dan kami akan dimintai frasa sandi 'site-key' untuk itu.
  2. local-key:Digunakan untuk memverifikasi biner tripwire. Ketika kita ingin memperbarui database sistem tripwire, kita perlu menjalankan perintah tripwire dan kita akan dimintai kata sandi untuk 'local-key'.

Mari buat file kunci tripwire baru (kunci situs dan lokal) menggunakan perintah di bawah ini.

sudo tripwire-setup-keyfiles

Perintah tersebut akan menghasilkan dua file kunci 'site-key' dan 'local-key', dan Anda akan dimintai kata sandi untuk masing-masing file tersebut.

Ketik 'kunci situs Anda sendiri ' frasa sandi dan tekan Enter.

Ketik 'local-key . Anda sendiri ' frasa sandi dan tekan Enter lagi.

Selanjutnya, tandatangani konfigurasi tripwire menggunakan 'site-key'.

Ketik 'kunci situs . Anda ' frasa sandi.

Dan sekarang untuk menandatangani kebijakan Tripwire, ketik 'local-key . Anda ' frasa sandi.

Tripwire telah diinstal pada CentOS 7, dan konfigurasi tripwire serta kunci baru terletak di direktori '/etc/tripwire'.

Langkah 2 - Konfigurasikan Kebijakan Tripwire untuk CentOS 7

Setelah instalasi tripwire yang kita bahas di langkah pertama, kita perlu menginisialisasi database tripwire dan memastikan tidak ada kesalahan.

Inisialisasi database tripwire menggunakan perintah tripwire di bawah ini.

sudo tripwire --init

Anda akan ditanya tentang frasa sandi 'local-key' dan kemungkinan besar Anda akan mendapatkan pesan kesalahan 'no such directory' seperti di bawah ini.

Kami mendapatkan kesalahan karena sistem tidak memiliki direktori dan file yang sudah ditentukan dalam konfigurasi tripwire. Untuk mengatasi kesalahan ini, kita perlu mengedit konfigurasi tripwire 'twpol.txt' dan menandatangani ulang konfigurasi tripwire.

Sekarang buat kesalahan log dari tripwire menggunakan perintah di bawah ini.

sudo sh -c "tripwire --check | grep Filename > no-directory.txt"

Semua direktori dan file yang tidak ada di sistem CentOS 7 terdaftar di file 'mo-directory.txt'

cat no-directory.txt

Edit konfigurasi tripwire 'twpol.txt' dengan menggunakan skrip bash berikut - jalankan skrip ini di terminal Anda.

for f in $(grep "Filename:" no-directory.txt | cut -f2 -d:); do
sed -i "s|\($f\) |#\\1|g" /etc/tripwire/twpol.txt
done

Setelah semua ini, kita perlu membuat ulang dan menandatangani ulang konfigurasi tripwire menggunakan perintah twadmin seperti yang ditunjukkan di bawah ini.

sudo twadmin -m P /etc/tripwire/twpol.txt

Ketikkan frasa sandi 'kunci situs' Anda.

Inisialisasi ulang database tripwire lagi, dan pastikan Anda tidak mendapatkan kesalahan.

sudo tripwire --init

Inisialisasi ulang database tripwire tanpa kesalahan.

Langkah 3 - Memverifikasi Konfigurasi Tripwire dan Memeriksa Sistem

Untuk memverifikasi konfigurasi tripwire, kita dapat menjalankan perintah pemeriksaan sistem seperti di bawah ini.

sudo tripwire --check

Dan Anda akan mendapatkan hasil yang mirip dengan berikut ini.

Jadi ini berarti tidak ada kesalahan dan tidak ada pelanggaran sistem yang ditemukan di sistem kami.

Sekarang kita akan mencoba menambahkan file baru di bawah direktori home root dan memeriksa lagi menggunakan tripwire.

Buka direktori home root dan buat file baru 'hakase-labs.txt'.

cd ~/
touch hakase-labs.txt

Sekarang periksa kembali sistem menggunakan perintah tripwire.

sudo tripwire --check

Dan Anda akan mendapatkan hasil pelanggaran baru pada sistem dengan tingkat keparahan 100 seperti di bawah ini.

Pada tahap ini, Tripwire diinstal dan dikonfigurasi untuk sistem CentOS 7.

Langkah 4 - Tambahkan Aturan Baru ke Kebijakan Tripwire

Pada langkah ini, kami akan menunjukkan cara menambahkan aturan baru ke konfigurasi kebijakan tripwire 'twpol.txt'.

Untuk melakukan pekerjaan ini, kita perlu menentukan nama aturan, tingkat keparahan, direktori untuk pemantauan, dan jenis file. Pada langkah ini, kita akan membuat aturan baru bernama 'Wordpress Data' untuk instalasi WordPress kita di direktori '/var/www/', dengan tingkat keparahan 'HIGH/SIG_HI', dan semua file di direktori tersebut kritis (keduanya kepemilikannya serta kode sumber tidak dapat diubah).

Buka direktori konfigurasi tripwire '/etc/tripwire' dan edit file konfigurasi 'twpol.txt' menggunakan vim.

cd /etc/tripwire/
vim twpol.txt

Pergi ke akhir baris dan rekatkan aturan WordPress berikut di sana.

# Ruleset for Wordpress
(
  rulename = "Wordpress Data",
  severity= $(SIG_HI)
)
{
        /var/www        -> $(SEC_CRIT);
}

Simpan dan keluar.

Buat ulang dan tanda tangani ulang konfigurasi menggunakan perintah twadmin seperti di bawah ini.

sudo twadmin -m P /etc/tripwire/twpol.txt

Ketikkan frasa sandi 'kunci situs' Anda.

Sekarang kita perlu membuat ulang database tripwire lagi.

sudo tripwire --init

Ketikkan frasa sandi 'local-key'.

Kumpulan aturan baru telah ditambahkan dan diterapkan ke konfigurasi kebijakan Tripwire.

Periksa sistem Anda menggunakan perintah tripwire di bawah ini.

sudo tripwire --check

Dan Anda harus mendapatkan hasil yang mengatakan tanpa kesalahan dan pelanggaran.

Sekarang buka direktori '/var/www/' dan buat file baru di dalamnya.

cd /var/www/
touch hakase-labs.php

Lakukan pemeriksaan sistem menggunakan tripwire lagi.

sudo tripwire --check

Dan Anda akan mendapatkan hasil yang mengatakan pelanggaran sistem di direktori '/var/www/' dengan tingkat keamanan Tinggi 100.

Aturan baru telah ditambahkan dan diterapkan ke konfigurasi Kebijakan Tripwire.

Langkah 5 - Siapkan Pemberitahuan Email Tripwire dan Cron

Pada langkah ini, kami akan mengonfigurasi notifikasi untuk kebijakan aturan tripwire tertentu dan mengonfigurasi cronjob untuk pemeriksaan sistem otomatis. Kami akan mengirimkan laporan atas pelanggaran aturan 'Data Wordpress' ke alamat email '[email protected]'.

Untuk notifikasi email, tripwire menyediakan fungsi 'emailto' dalam konfigurasinya. Dan secara default, tripwire menggunakan Postfix atau Sendmail untuk mengirim laporan melalui email.

Sebelum mengonfigurasi notifikasi email, uji fitur notifikasi tripwire menggunakan perintah di bawah ini.

sudo tripwire --test --email [email protected]

Periksa email Anda dan Anda akan mendapatkan laporan email dari server Anda seperti di bawah ini.

Sekarang buka direktori '/etc/tripwire' dan edit konfigurasi 'twpol.txt'.

cd /etc/tripwire/
vim twpol.txt

Tambahkan baris baru 'emailto' di dalam aturan 'Data Wordpress' seperti yang ditunjukkan di bawah ini.

# Ruleset for Wordpress
(
  rulename = "Wordpress Data",
  severity= $(SIG_HI),
  emailto = [email protected]
)
{
        /var/www        -> $(SEC_CRIT);
}

Simpan dan keluar.

Buat ulang dan tandatangani konfigurasi menggunakan perintah twadmin.

sudo twadmin -m P /etc/tripwire/twpol.txt

Ketikkan frasa sandi 'kunci situs' Anda.

Dan buat ulang database tripwire.

sudo tripwire --init

Ketikkan frasa sandi 'local-key' tripwire Anda.

Konfigurasi untuk Pemberitahuan Email Tripwire telah selesai.

Sekarang lakukan beberapa pengujian dengan membuat file baru lagi di direktori '/var/www/'.

cd /var/www/
touch hakase.txt

Periksa kembali sistem Anda menggunakan perintah di bawah ini.

sudo tripwire --check --email-report

Catatan:

  • --email-report: Kirim laporan sistem ke alamat email yang ditentukan di setiap aturan.

Periksa email Anda dan Anda akan mendapatkan hasil seperti di bawah ini di email Anda.

Pemberitahuan email untuk Tripwire telah diaktifkan dan diterapkan.

Selanjutnya, kami akan mengaktifkan pemeriksaan sistem Tripwire otomatis menggunakan pengaturan cron. Untuk ini, buat skrip cron baru di bawah pengguna root menggunakan perintah crontab di bawah ini.

sudo crontab -e -u root

Rekatkan konfigurasi cron berikut.

0 0 * * * tripwire --check --email-report

Simpan dan keluar.

Catatan:

  • - Skrip cron akan melakukan pemeriksaan sistem tripwire setiap hari.

Sekarang restart layanan crond pada CentOS 7.

systemctl restart crond

Sekarang Anda akan mendapatkan pemberitahuan laporan tripwire ke email Anda setiap hari.

Tripwire telah diinstal dan dikonfigurasi untuk sistem CentOS 7.


Cent OS
  1. Pemantauan server dengan Icinga 2 dan Icingaweb 2 di CentOS 7

  2. Menggunakan ATA Over Ethernet (AoE) pada CentOS 7 (Inisiator dan Target)

  3. Menggunakan ATA Over Ethernet (AoE) Pada CentOS 6.3 (Inisiator Dan Target)

  1. Instal Alat Fsniper (Pemantauan Direktori) di CentOS, RHEL dan Fedora

  2. Bagaimana Cara Menginstal dan Mengkonfigurasi Fail2ban di CentOS 8?

  3. Centos 4.8 Dan Glibc 2.5?

  1. Cara Mengirim dan Mengunduh File Menggunakan Rsync

  2. Cara mengekstrak file RAR di CentOS/RHEL 7 dan 8

  3. tcpdump – putar file tangkapan menggunakan -G, -W dan -C