GNU/Linux >> Belajar Linux >  >> Linux

Tutorial Tripwire:Sistem Deteksi Intrusi Berbasis Host Linux

Foto milik judepics

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 .


Linux
  1. Tingkatkan kinerja sistem Linux dengan noatime

  2. Contoh Linux AuFS:Tutorial Sistem File Union Lainnya (Implementasi UnionFS)

  3. Cara memasang dan memasang sistem file di Linux

  1. Meningkatkan keamanan Linux dengan Advanced Intrusion Detection Environment (AIDE)

  2. Tutorial dasar sistem File Linux – ext2, ext3, ext4, JFS dan XFS

  3. Android - Distribusi linux apa yang berbasis Android?

  1. Cara Memformat Partisi Disk di Linux

  2. Pengantar Sistem File Linux

  3. Perintah Fsck di Linux (Perbaiki Sistem File)