Minggu, 23 Desember 2012

Sidik Prasetiyo - A1311055  
Dosen : Hendrik Setyo Utomo,ST 

Tripwire berfungsi sebagai unix integrity checker yang bisa digunakan diberbagai platform linux dan Unix. Berikut adalah tulisan singkat yang membahas bagaimana cara mengimplementasikan Tripwire di Linux Redhat

1.    Install tripwire
#yum install tripwire
2.    Mengkonfigurasi tripwire
Ketika kita menginstall tripwire, akan terbentuk konfigurasi default yaitu: /etc/tripwire/tw.cfg Anda tidak bisa mengedit file ini karena file tersebut merupakan file binary terenkripsi, file versi cleartextnya adalah: /etc/tripwire/twcfg.txt.
File ini adalah file yang bisa diubah-ubah untuk menyesuaikan kebutuhan. Berikut adalah contoh konfigurasi:

ROOT =/usr/sbin
POLFILE =/etc/tripwire/tw.pol
DBFILE =/var/lib/tripwire/$(HOSTNAME).twd
REPORTFILE =/var/lib/tripwire/report/$(HOSTNAME)-$(DATE).twr
SITEKEYFILE =/etc/tripwire/site.key
LOCALKEYFILE =/etc/tripwire/$(HOSTNAME)-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

Banyak dari konfigurasi diatas bisa dijelaskan secara intuitif, hal yang harus kita perhatikan disini adalah “DBFILE” file ini berisi database pembanding, sebagai acuan pengecekan integritas sistem, file ini harus disimpan sebagai file read-only. Jika ada keadaan yang dinilai “false” oleh tripwire, maka tripwire akan mereport hal tersebut, hal ini bisa diatur dibagian “MAILNOVIOLATION” jika kita mendefinisikan “true” maka email akan dikirimkan setiap kali tripwire check dijalankan, sebaiknya kita set “false” karena selain membuat email jadi penuh, intruder bisa jadi menyadari keberadaan tripwire di dalam suatu host yang hendak dia hack.

Berikut adalah hal-hal yang diubah untuk konfigurasi yang saya miliki:
MAILMETHOD =SMTP
SYSLOGREPORTING =false
SMTPHOST =mail.polkatistas.org
SMTPPORT =25
Buat key file untuk site dan local:
#twadmin –generate-keys –site-keyfile ./site.key
#twadmin –generate-keys –local-keyfile ./local.key
Setiap kali anda membuat konfigurasi dan juga konfigurasi policy maka anda akan diminta memasukan key
Setelah kita melakukan editing terhadap konfigurasi tripwire(twcfg.txt) maka kita harus jalankan perintah berikut untuk membuat versi binarynya:
#twadmin –create-cfgfile –site-keyfile ./site.key twcfg.txt

3.    Membuat/mengedit policy
Policy di tripwire adalah otak dari tripwire, konfigurasi ini menspesifikan, apa yang harus dilihat, untuk apa dilihat dan apa yang harus kita lakukan. Tripwire mempunyai default policy, dan jika diperlukan ini bisa diubah tentusaja. Kita juga harus bisa memilah-milah file-file mana saja yang harus dimonitor, apa hal-hal yang tidak boleh berubah, sehingga jika berubah maka jadi indikasi adanya penyusupan sistem. Hal ini menjadi penting karena jika kita salah mendefinisikan terlalu strict ataupun terlalu longgar, maka bisa terjadi false positive alarm atau jadi ada intruder yang tidak terdeteksi.
a.    Struktur dan syntax dari policy
Disini saya akan menjelaskan struktur file dan sintax dari policy tripwire
i. Definisi variabel:

TWROOT=/usr/sbin;
TWBIN=/usr/sbin;
TWPOL=”/etc/tripwire”;
TWDB=”/var/lib/tripwire”;
TWSKEY=”/etc/tripwire”;
TWLKEY=”/etc/tripwire”;
TWREPORT=”/var/lib/tripwire/report”;
HOSTNAME=ssintraappdev01.sampoernastrategic.com;

ii. Definisi variabel:

@@section FS
SEC_CRIT = $(IgnoreNone)-SHa ; # Critical files that cannot change
SEC_SUID = $(IgnoreNone)-SHa ; # Binaries with the SUID or SGID flags set
SEC_BIN = $(ReadOnly) ; # Binaries that should not change
SEC_CONFIG = $(Dynamic) ; # Config files that are changed infrequently but accessed often
SEC_LOG = $(Growing) ; # Files that grow, but that should never change ownership
SEC_INVARIANT = +tpug ; # Directories that should never change permission or ownership
SIG_LOW = 33 ; # Non-critical files that are of minimal security impact
SIG_MED = 66 ; # Non-critical files that are of significant security impact
SIG_HI = 100 ; # Critical files that are significant points of vulnerability

iii. Contoh konfigurasi
(
rulename = “Invariant Directories”,
severity = $(SIG_MED)
)
{
/ -> $(SEC_INVARIANT) (recurse = 0) ;
/home -> $(SEC_INVARIANT) (recurse = 0) ;
/etc -> $(SEC_INVARIANT) (recurse = 0) ;
}

Hal yang harus kita perhatikan sewaktu membuat policy adalah pastikan file-file ataupun folder yang dimonitor adalah yang memang benar-benar perlu dan memang ada di operating system anda. Silahkan sesuaikan, memang membutuhkan banyak waktu.
b.    Buat policy
# twadmin –create-polfile twpol.txt
c.    Hapus file text konfigurasi baik file konfigurasi tripwire maupun file konfigurasi policy:
# rm twpol.txt twcfg.txt
File konfigurasi berformat text ini bisa kita buat dari versi binarynya jika kita perlu mengubah policy dan konfigurasi tripwire:
#twadmin –print-polfile > twpol.txt
#twadmin –print-cfgfile > twcfg.txt
4.    Inisialisasi database tripwire:
#tripwire –init

Dibagian ini pun anda akan diminta untuk mengisi passphrass yang ditanyakan, hasil dari perintah ini adalah database tripwire: /var/lib/tripwire/$(HOSTNAME).twd
5.    Jalankan check secara rutin via crontab:
#tripwire –check
Output hasil check akan dibuat dalam twr file: /var/lib/tripwire/report/$(HOSTNAME)-$(DATE).twr
6.    Setiap kali mengubah file yang tadi tertera dalam policy file jangan lupa lakukan step berikut:
#tripwire –update