A.
DASAR
TEORI
Pemasangan program intrusi deteksi sebenarnya
ditujukan untuk mendeteksi, memantau keadaan anomali jaringan yang disebabkan
salah satunya oleh penyusup (intruder). Setelah tahap pendeteksian biasanya IDS
dapat diset untuk dapat memberikan peringatan bagi network administrator.Type
IDS sendiri secara garis besar dibagi 2 yaitu host-based dan network-based IDS.
Pada praktikum kali ini, kita akan membahas salah satu contoh aplikas dari
host-based IDS, yaitu tripwire. Program tripwire berfungsi untuk menjaga
integritas file sistem dan direktori, dengan mencatat setiap perubahan yang
terjadi pada file dan direktori. Penggunaan tripwire biasanya digunakan untu
mempermudah pekerjaan yang dilakukan oleh System Administrator dalam
mengamankan System. Cara kerja tripwire adalah dengan melakukan perbandingan
file dan direktori yang ada dengan database system yang dibuat pada saat
tripwire diinstall. Perbandingan tersebut meliputi perubahan tanggal, ukuran
file, penghapusan dan lain-lainnya. Setelah tripwire dijalankan, secara
otomatis akan melakukan pembuatan database sistem. Kemudian secara periodik aka
selalu melaporkan setiap perubahan pada file dan direktori.
B.
LAPORAN
RESMI
Percobaan 1:
Proses Instalasi
1. Login
sebagai root
2. Lakukan
sinkronisasi terkini index paket software lokal dengan repository
#apt-get update

3. Lakukan
installasi tripwire
# apt-get install tripwire

Lalu akan muncul dialog seperti
dibawah. Perhatikan pesan yang muncul pada setiap dialog, lalu jawab dengan
“Yes”.

4. Masukkan
site key passphrase dan local key passphrase, setelah muncul dialog seperti
dibawah. Ulangi sekali lagi !
-
Enter site-key
passphrase:

-
Repeat the
site-key passphrase

-
Enter local
key passphrase

5. Kemudian
akan mucul dialog bahwa trip wire telah terinstal. Perhatikan pesan pada dialog
tersebut !

6. Ubah
mode dari 2 buah file dari tripwire : tw.cfg dan tw.pol.
#cd /etc/tripwire
#chmod 0600 tw.cfg tw.pol

Percobaan
2: Melakukan modifikasi pada file “Policy” dan file konfigurasi
Setelah proses instalasi berakhir,
lakukan langkah-langkah dibawah ini :
1. Modifikasi
file twpol.txt. Perhatikan setiap baris pada file tersebut. Lalu
Enkripsi file tersebut.
# vi /etc/tripwire/twpol.txt
# cd /etc/tripwire
# twadmin --create-cfgfile
--cfgfile ./tw.cfg
--site-keyfile
./site.key ./twcfg.txt

2. Modifikasi
file tw.cfg. Perhatikan setiap baris pada file tersebut. Lalu
Enkripsi file tersebut.
# vi /etc/tripwire/twcfg.txt
# cd /etc/tripwire
# twadmin --create-cfgfile
--cfgfile ./tw.cfg
--site-keyfile
./site.key ./twcfg.txt

Percobaan
3: Inisialisasi Database
Setelah melakukan langkah-langkah
pada point II, anda akan melakukan inisialisasi database dengan menjalankan
perintah :
#tripwire --init --cfgfile
/etc/tripwire/tw.cfg \
--polfile /etc/tripwire/tw.pol
--site-keyfile
/etc/tripwire/site.key \
--local-keyfile /etc/tripwire/HOSTNAME-local.key
HOSTNAME
adalah nama host komputer anda. Langkah ini mungkin membutuhkan waktu yang
relatif lama.
Percobaan
4: Melakukan Cek System
Pada tahap ini tripwire menyimpan
informasi awal dari file-file yang akan
dimonitor perubahannya :
# tripwire –check

Percobaan
5: Melakukan Update file “Policy”
Apabila ada perubahan pada file
twpol.txt, misalnya kita akan menambahkan atau mengurangi folder yang akan
dimonitor maka kita harus melakukan update dengan menjalankan perintah :
# cd /
# tripwire --update-policy
--cfgfile ./tw.cfg --polfile ./tw.pol \
--site-keyfile ./site.key
--local-keyfile ./HOSTNAME-local.key ./twpol.txt

Hasil yang diperoleh setelah
melakukan update file policy adalah seperti berikut:

Percobaan
6: Melakukan Update Database dari System File
Database dari file system perlu di
update secara berkala. Proses update dapat menggunakan perintah
# tripwire --update -z low
--twrfile /var/lib/tripwire/report/host-yyyymmdd-tttttt.twr
Perintah tersebut berarti bahwa
tripwire akan membandingkan antara database yang ada dengan file yang ada di
system, kemudian akan menjalankan editor untuk memili perubahan di database.
Opsi dari twrfile adalah file report yang dibangkitkan dan disimpan pada folder
/var/lib/tripwire/report. Format penamaan file adalah berdasarkan tahun (yyyy),
bulan (mm), tanggal(dd) dan jam dalam format (HH-MM-SS). Ekstensi file report
adalah .twr.


C.
TUGAS
PERCOBAAN
1. Jalankan
perintah :
# tripwire –check

Hasilnya:

Catat dan analisa hasilnya.
2. Kerjakan
langkah-langkah dibawah dan analisa setiap langkahnya
a. Ubah
file policy twpol.txt
# vim /etc/tripwire/twpol.txt

b. Tambahkan
di baris paling bawah
(
rulename = "Kirim Notifikasi
ke email",
severity = $(SIG_HI),
emailto = root@localhost
)
Email akan dikirimkan ke akun email
dari root dari system yang anda monitor.
Biasanya, email akan ditujukan kea
kun user yang dapat bertindak sebagai root.

c. Lakukan
enkripsi terhadap file anda
# cd /etc/tripwire
# twadmin --create-polfile
--cfgfile ./tw.cfg \
--site-keyfile ./site.key
./twpol.txt

d. Ubah
file konfigurasi untuk memasukkan informasi smtp :
# vi /etc/tripwire/twcfg.txt
…
MAILMETHOD =SMTP
SMTPHOST =localhost
SMTPHOST =localhost
SMTPPORT =25
…

e. Lakukan
enkripsi terhadap file tersebut
# cd /etc/tripwire
# twadmin --create-cfgfile
--cfgfile ./tw.cfg
--site-keyfile ./site.key
./twcfg.txt

f. Jalankan
test dengan menggunakan perintah :
# tripwire –test –email
root@localhost

g. Check
email di akun user anda
$ mail
3. Buat
sebuah file kosong . Kemudian salinlah ke dalam direktori /bin
# touch newfile.sh
# cp newfile.sh /root
4. Lakukan
cek konsistensi dengan menjalankan perintah :
# tripwire –check
Catat dan analisa hasilnya.
5. Bandingkan
hasil dari perintah pada nomor 1 dan nomor 4.
D.
LATIHAN
1. Berikan
kesimpulan hasil praktikum yang anda lakukan.
Pada hasil
pratikum yang telah di jalankan maka tripware yang menjaga perubahan pada file
dan direktori. Apabila terjadi perubahan file maka secara otomatis melakukan
pemeriksaan file melalui cron.
2. Berdasarkan
percobaan yang anda lakukan, jelaskan cara kerja tripwire dalam melakukan
integrity checker ?
Jawab:
Integrity checker pada Tripwire bekerja dengan cara menghitung checksum (menghitung integritas) dari daftar-daftar direktory yang sudah dienkripsi dan menyimpannya di dalam sebuah database. Kemudian secara periodik atau ketika user memerintahkan untuk melakukan pengecekan, checksum dari program-program tersebut akan dihitung ulang dan dibandingkan dengan database checksum tersebut.
Integrity checker pada Tripwire bekerja dengan cara menghitung checksum (menghitung integritas) dari daftar-daftar direktory yang sudah dienkripsi dan menyimpannya di dalam sebuah database. Kemudian secara periodik atau ketika user memerintahkan untuk melakukan pengecekan, checksum dari program-program tersebut akan dihitung ulang dan dibandingkan dengan database checksum tersebut.
3. Carilah
referensi baik dari buku maupun Internet, aturan-aturan apa saja yang bisa
dideteksi oleh tripwire ?
Jawab:
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
#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
Tidak ada komentar:
Posting Komentar