
Tripwire adalah sistem deteksi intrusi berbasis host untuk Linux. Tripwire memonitor sistem Linux untuk mendeteksi dan melaporkan setiap perubahan yang tidak sah pada file dan direktori. Setelah baseline dibuat, tripwire memantau dan mendeteksi, file mana yang ditambahkan, file mana yang diubah, apa yang diubah, siapa yang mengubahnya, dan kapan file tersebut diubah. Jika perubahan tersebut sah, Anda dapat memperbarui database tripwire untuk menerima perubahan ini.
Juga, untuk solusi pemantauan, silakan merujuk ke semua artikel kami sebelumnya di Nagios
Panduan petunjuk langkah demi langkah ini menjelaskan cara memasang dan mengonfigurasi tripwire versi open source.
1. Unduh Tripwire
Unduh versi open source tripwire terbaru dari situs proyek tripwire sourceforget. Ekstrak kode sumber tripwire ke direktori /usr/src seperti yang ditunjukkan di bawah ini.
# cd /usr/src # wget http://internap.dl.sourceforge.net/sourceforge/tripwire/tripwire-2.4.1.2-src.tar.bz2 # bzip2 -d tripwire-2.4.1.2-src.tar.bz2 # tar xvf tripwire-2.4.1.2-src.tar
2. Instal Tripwire
Gunakan opsi awalan seperti yang ditunjukkan di bawah ini untuk menentukan direktori instalasi. Dalam contoh ini, saya telah menginstal tripwire di bawah /opt/tripwire. Selama make install, Anda akan diminta untuk memasukkan berbagai input pengguna, yang disorot dengan warna merah di bawah.
# cd tripwire-2.4.1.2-src # ./configure --prefix=/opt/tripwire # make # make install make[3]: Entering directory `/usr/src/tripwire-2.4.1.2-src' prefix="/opt/tripwire" sysconfdir="/opt/tripwire/etc" \ path_to_vi="/bin/vi" path_to_sendmail="/usr/sbin/sendmail" \ ./install/install.sh Installer program for: Tripwire(R) 2.4 Open Source LICENSE AGREEMENT for Tripwire(R) 2.4 Open Source Please read the following license agreement. You must accept the agreement to continue installing Tripwire. Press ENTER to view the License Agreement. [Note: Press enter key as instructed to view the license] Please type "accept" to indicate your acceptance of this license agreement. [do not accept] accept [Note: Type accept to accept the license] This program will copy Tripwire files to the following directories: TWBIN: /opt/tripwire/sbin TWMAN: /opt/tripwire/man TWPOLICY: /opt/tripwire/etc TWREPORT: /opt/tripwire/lib/tripwire/report TWDB: /opt/tripwire/lib/tripwire TWSITEKEYDIR: /opt/tripwire/etc TWLOCALKEYDIR: /opt/tripwire/etc CLOBBER is false. Continue with installation? [y/n] y [Note: Press y to continue the installation] The Tripwire site and local passphrases are used to sign a variety of files, such as the configuration, policy, and database files. (When selecting a passphrase, keep in mind that good passphrases typically have upper and lower case letters, digits and punctuation marks, and are at least 8 characters in length.) Enter the site keyfile passphrase: Verify the site keyfile passphrase: [Note: Assign a passphrase for site keyfile.] Generating key (this may take several minutes)...Key generation complete. (When selecting a passphrase, keep in mind that good passphrases typically have upper and lower case letters, digits and punctuation marks, and are at least 8 characters in length.) Enter the local keyfile passphrase: Verify the local keyfile passphrase: [Note: Assign a passphrase for local keyfile.] Creating signed configuration file... Please enter your site passphrase: Wrote configuration file: /opt/tripwire/etc/tw.cfg [Note: Enter the site passphrase.] Creating signed policy file... Please enter your site passphrase: Wrote policy file: /opt/tripwire/etc/tw.pol [Note: Enter the site passphrase] The installation succeeded.
- Frasa sandi situs akan mengamankan file konfigurasi tripwire tw.cfg
dan file kebijakan tripwire tw.pol. Anda harus menetapkan frasa sandi situs
bahkan untuk satu tripwire instance. - Frasa sandi lokal akan melindungi database tripwire dan file laporan.
3. Inisialisasi Database Tripwire
Untuk penggunaan pertama kali, Anda harus menginisialisasi database tripwire seperti yang ditunjukkan di bawah ini.
# cd /opt/tripwire/sbin/ # ./tripwire --init Please enter your local passphrase: Parsing policy file: /opt/tripwire/etc/tw.pol Generating the database... *** Processing Unix File System *** The object: "/sys" is on a different file system...ignoring. ### Warning: File system error. ### Filename: /cdrom ### No such file or directory ### Continuing... ### Warning: File system error. ### Filename: /floppy ### No such file or directory ### Continuing... ### Warning: File system error. ### Filename: /initrd ### No such file or directory ### Continuing... ### Warning: File system error. Wrote database file: /opt/tripwire/lib/tripwire/prod-db-srv.twd The database was successfully generated.
4. Ubah File Kebijakan Tripwire
Seperti yang ditunjukkan di atas, selama inisialisasi basis data tripwire, mungkin menampilkan pesan kesalahan "Tidak ada file atau direktori" untuk beberapa file default yang disebutkan dalam file kebijakan tripwire. Jika sistem Anda tidak memiliki file tersebut, edit file kebijakan dan beri komentar pada entri tersebut.
Misalnya, ubah /opt/tripwire/etc/twpol.txt file kebijakan tripwire dan beri komentar /cdrom dan /floppy seperti yang ditunjukkan di bawah ini.
( rulename = "OS Boot Files and Mount Points", ) { /boot -> $(ReadOnly) ; # /cdrom -> $(Dynamic) ; # /floppy -> $(Dynamic) ; /mnt -> $(Dynamic) ; }
Dengan menggunakan file kebijakan tripwire, Anda dapat menentukan direktori dan file yang perlu dipantau untuk perubahan. Anda juga dapat lebih terperinci dan menentukan atribut file yang harus dipantau atau diabaikan.
Berikut adalah beberapa properti sistem UNIX yang dipantau oleh tripwire.
- Penambahan, penghapusan, dan modifikasi file
- Izin dan properti file
- Stempel waktu akses
- Stempel waktu modifikasi
- Jenis file dan ukuran file
- Id pengguna pemilik dan id grup pemilik
- Pemeriksaan hash:Pemeriksaan Redundansi Siklik 32-bit yang sesuai dengan CRC-32, POSIX 1003.2; MD5, Algoritma Intisari Pesan Keamanan RSA; SHA, bagian dari algoritma SHS/SHA; HAVAL, algoritme tanda tangan 128-bit yang kuat
5. Perbarui File Kebijakan Tripwire
Setelah Anda memodifikasi file kebijakan, file tersebut perlu diperbarui seperti yang ditunjukkan di bawah ini.
# ./tripwire --update-policy --secure-mode low ../etc/twpol.txt Parsing policy file: /opt/tripwire/etc/twpol.txt Please enter your local passphrase: Please enter your site passphrase: ======== Policy Update: Processing section Unix File System. ======== Step 1: Gathering information for the new policy. The object: "/sys" is on a different file system...ignoring. ======== Step 2: Updating the database with new objects. ======== Step 3: Pruning unneeded objects from the database. Wrote policy file: /opt/tripwire/etc/tw.pol Wrote database file: /opt/tripwire/lib/tripwire/prod-db-srv.twd
Catatan: jika ada file yang telah dimodifikasi sejak Anda melakukan inisialisasi tripwire hingga kebijakan pembaruan tripwire, file tersebut akan dicantumkan di bawah output “Langkah 1:Mengumpulkan informasi untuk kebijakan baru” dari perintah di atas.
### Warning: Policy Update Changed Object. ### An object has been changed since the database was last updated. ### Object name: Conflicting properties for object ### /u01/app/oracle/oradata/dbfiles/prod01.dbf ### > Modify Time ### > CRC32 ### > MD5
6. Periksa apakah ada perubahan pada file dan perbarui basis data tripwire.
Setelah pengaturan tripwire selesai, Anda harus secara teratur melakukan pemeriksaan untuk mengetahui file apa yang ditambahkan atau dimodifikasi sejak terakhir kali database tripwire diperbarui. Anda dapat melakukan pemeriksaan ini secara interaktif dari baris perintah seperti yang ditunjukkan di bawah ini.
# ./tripwire --check --interactive Parsing policy file: /opt/tripwire/etc/tw.pol *** Processing Unix File System *** Performing integrity check... Wrote report file: /opt/tripwire/lib/tripwire/report/prod-db-srv-20081204-114336.twr
Ini akan secara otomatis membuka file laporan tripwire berikut di vi, di mana Anda dapat meninjau semua file yang telah ditambahkan atau dimodifikasi ke sistem. Seperti yang ditunjukkan di bawah ini, file “Ditambahkan” dan “Dimodifikasi” akan memiliki tanda centang di depannya, yang menunjukkan bahwa Anda menerima perubahan ini untuk diperbarui ke database tripwire.
=============================================================================== Report Summary: =============================================================================== Host name: prod-db-srv Host IP address: 192.168.1.10 Host ID: None Policy file used: /opt/tripwire/etc/tw.pol Configuration file used: /opt/tripwire/etc/tw.cfg Database file used: /opt/tripwire/lib/tripwire/prod-db-srv.twd Command line used: ./tripwire --check --interactive Remove the "x" from the adjacent box to prevent updating the database with the new values for this object. Added: [x] "/u01/app/oracle/diag/rdbms/proddb/proddb/trace/proddb_m000_11376.trc" [x] "/u01/app/oracle/diag/rdbms/proddb/proddb/trace/proddb_m000_11376.trm" Modified: [x] "/u01/app/oracle/diag/rdbms/proddb/proddb/metadata/INC_METER_CONFIG.ams" [x] "/u01/app/oracle/diag/rdbms/proddb/proddb/metadata/INC_METER_INFO.ams" Added object name: /u01/app/oracle/diag/rdbms/proddb/proddb/trace/proddb_m000_11376.trc Property: Expected Observed ------------- ----------- ----------- * Object Type --- Regular File * Device Number --- 2049 * Inode Number --- 12026017 * Mode --- -rw-r----- * Num Links --- 1 * UID --- oracle (1082) * GID --- oinstall (1083) * Size --- 837 * Modify Time --- Sat 06 Dec 2008 10:01:51 AM PST * Blocks --- 8 * CRC32 --- AYxMeo * MD5 --- AXSkOul8R/np0fQP4q3QLv Modified object name: /u01/app/oracle/diag/tnslsnr/proddb/listener/trace/listener.log Property: Expected Observed ------------- ----------- ----------- Object Type Regular File Regular File Device Number 2049 2049 Inode Number 2295281 2295281 Mode -rw-r----- -rw-r----- Num Links 1 1 UID oracle (1082) oracle (1082) GID oinstall (1083) oinstall (1083) * Size 5851880 5858608 * Modify Time Sat 06 Dec 2008 09:58:53 AM PST Sat 06 Dec 2008 11:39:56 AM PST * Blocks 11456 11472 * CRC32 ANdM8R CK+bWM * MD5 DCW84lCuD2YJOhQd/EuVsn CV8BMvZNJB9KQBXAf5yRDY Please enter your local passphrase: Incorrect local passphrase. Please enter your local passphrase: Wrote database file: /opt/tripwire/lib/tripwire/prod-db-srv.twd
7. Bagaimana cara melihat file laporan twr?
Semua file laporan tripwire dengan ekstensi *.twr disimpan di bawah direktori /opt/tripwire/lib/tripwire/report. file laporan tripwire *.twr bukan file teks, yang dapat Anda lihat secara langsung. Untuk melihat laporan, gunakan twprint dan konversi file *.twr ke format teks yang dapat dibaca seperti yang ditunjukkan di bawah ini.
# ./twprint --print-report --twrfile \ /opt/tripwire/lib/tripwire/report/prod-db-srv-20081204-114336.twr > \ /tmp/readable-output.txt
8. Pantau Integritas Sistem Linux Secara Teratur
Tambahkan pemeriksaan tripwire sebagai tugas cron untuk memantau dan melaporkan perubahan apa pun secara berkelanjutan. Misalnya, tambahkan baris berikut ke crontab Anda untuk menjalankan pemeriksaan tripwire setiap hari pada pukul 4:00 pagi
# Tripwire Monitor process 00 4 * * * /opt/tripwire/sbin/tripwire --check
9. Konfigurasi Tripwire dan Lokasi File Kebijakan
Gunakan twadmin untuk melihat file kebijakan tripwire saat ini. Hanya sebagian output yang ditampilkan di bawah ini.
#./twadmin --print-polfile @@section GLOBAL TWDOCS="/opt/tripwire/doc/tripwire"; TWBIN="/opt/tripwire/sbin"; TWPOL="/opt/tripwire/etc"; TWDB="/opt/tripwire/lib/tripwire"; TWSKEY="/opt/tripwire/etc"; TWLKEY="/opt/tripwire/etc"; TWREPORT="/opt/tripwire/lib/tripwire/report"; HOSTNAME=prod-db-srv;
Gunakan twadmin untuk mendapatkan informasi tentang semua file konfigurasi tripwire seperti yang ditunjukkan di bawah ini.
# ./twadmin --print-cfgfile ROOT =/opt/tripwire/sbin POLFILE =/opt/tripwire/etc/tw.pol DBFILE =/opt/tripwire/lib/tripwire/$(HOSTNAME).twd REPORTFILE =/opt/tripwire/lib/tripwire/report/$(HOSTNAME)-$(DATE).twr SITEKEYFILE =/opt/tripwire/etc/site.key LOCALKEYFILE =/opt/tripwire/etc/prod-db-srv-local.key EDITOR =/bin/vi LATEPROMPTING =false LOOSEDIRECTORYCHECKING =false MAILNOVIOLATIONS =true EMAILREPORTLEVEL =3 REPORTLEVEL =3 MAILMETHOD =SENDMAIL SYSLOGREPORTING =false MAILPROGRAM =/usr/sbin/sendmail -oi -t
Jika Anda menyukai artikel ini, silakan bookmark di lezat, Digg and Stumble it .