Sidik Prasetiyo - A1311055
Dosen : Hendrik Setyo Utomo,ST
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
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
#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:
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;
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”,
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