Tugas Pendahuluan - Host Based IDS
A.
TUJUAN PEMBELAJARAN
1.
Mahasiswa memahami konsep aplikasi client
server di jaringan.
2.
Mahasiswa memahami konsep pemprograman
socket dasar.
B. DASAR TEORI
Pemasangan
program intrusion detector 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 dibagi 2, yaitu host-based dan network-based IDS. Pada praktikum kali ini,
akan membahas salah satu contoh aplikasi 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 untuk 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-lain.
Setelah tripwire dijalankan, secara otomatis akan melakukan pembuatan database
sistem. Kemudian secara periodik akan selalu melaporkan setiap perubahan pada
file dan direktori.
Pada
waktu pertama kali digunakan, tripwire harus digunakan untuk membuat database
mengenai berkas-berkas atau direktori yang ingin kita amati beserta “signature”
dari berkas tersebut. Signature berisi informasi mengenai besarnya berkas,
kapan dibuatnya, pemiliknya, hasil checksum atau hash (misalnya dengan menggunakan
program MD5), dan sebagainya. Apabila ada perubahan pada berkastersebut, maka
keluaran dari hash function akan berbeda dengan yang ada di database sehingga
ketahuan adanya perubahan. Selain Tripwire, tool yang yang digunakan utuk
melakukan pengecekan integritas sistem antara lain: TAMU (Texas A&M
University), ATP (The Anti-Tampering Program), dan sXid (men-tracks file-file suid
dan sgid, bisa mendeteksi jika ada kit root yang terinstal).
Tripwire
yang merupakan salah satu pilhan utilitas yang dapat digunakan oleh user dan
administrator untuk memeriksa perubahan yang terjadi pada file atau direktori. Hal
itu untuk menghindari adanya backdoor (pintu belakang untuk mendapatkan akses
illegal lagi), penyusupan karena adanya bug pada perangkat lunak, adanya malicious
code dan perubahan terhadap sistem oleh oramg lain yang sebenarnya tidak
mempunyai hak untuk itu. Dalam pemeriksaan keutuhan dan keaslian file ini, tripwire
perlu mengetahui file mana saja yang akan diperiksa baru setelah itu membandingkan
file yang akan diperiksa tersebut dengan informasi (database) yang telah
disimpan sebelumnya. Dan jika terjadi perubahan atau penambahan file baru Tripwire
akan melaporkannya sehingga administrator dapat segera memeriksa apakah
pengubahan atau penambahan file baru tersebut legal atau tidak.
Daftar
file atau direktori yang akan diperiksa Tripwire terdapat dalam file konfigurasi
Tripwire yang default-nya bernama tw.config. Sedangkan keadaan asli file
tersebut terdapat di dalam file database Tripwire yang default-nya bernama tw.db_@.
Karakter @ diganti dengan hostname komputer yang diinstal Tripwire. Yang
menjadi file inti dalam program Tripwire ini sebenarnya adalah kedua file tersebut
yaitu file konfigurasi tw.config dan file database tw.db_@. Karena itu sangat
disarankan pada saat menginstalasi program Tripwire agar kedua file ini diletakkan
pada tempat yang hanya di-mount read-only atau di media eksternal (seperti
disket atau NFS) sehingga tidak ada intruder yang dapat mengubahnya. Sebab jika
hal ini tidak dilakukan akan sangat mungkin menyebabkan kita tidak dapat
mengetahui seorang intruder yang telah berhasil masuk ke dalam sistem dan telah
menyiapkan backdoor. Hal ini dikarenakan pada saat intruder itu telah membuat
file baru atau mengubah suatu file untuk digunakan sebagai backdoor, ia sekaligus
dapat mengubah file database Tripwire sehingga jejaknya tidak akan terdeteksi
oleh Tripwire. Jika hal seperti ini terjadi, berarti program Tripwire yang telah
diinstalasi sama sekali tidak berguna. Contoh file yang membahayakankeamanan
sistem jika diubah: password user, group user, pengubahan UID/GID sebuah file
atau penambahan file yang memiliki setuid root, inetd, service, dan lain-lain.
C.
MENGGUNAKAN
TRIPWIRE
1.
Menginstal Tripwire dengan perintah
“apt-get install tripwire”,
2.
Mengikuti langkah-langkah instalasai yang
ada,
3.
Setelah terinstal, yang perlu diperhatikan
adalah dua file tripwire, yaitu file tripwire policy “twpol.txt” beserta
programnya “tw.pol”, dan file konfigurasi “twcfg.txt” beserta programnya
“tw.cfg”,
4.
Menjalankan tripwire dengan perintah
“twadmin [kode seterusnya]”,
5.
Untuk menjalankan testing email dengan
perintah “tripwire –test –email root@localhost”,
6.
Untuk mengecek email dengan perintah
“mail”.
7. Untuk melakukan pengecekan perubahan yang terjadi pada sebuah file yang dijaga oleh tripwire dengan perintah “tripwire --check”.
B. PERCOBAAN
I. 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”.
·
Do you wish to create/use your site key passphrase during
installation ? <Yes>
|
|
·
Do you wish to create/use your local key passphrase during
installation ? <Yes>
|
|
·
Rebuild Tripwire configuration file ? <Yes>
|
|
·
Rebuild Tripwire policy file? <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 !
Tripwire has been installed
The
Tripwire binaries are located in /usr/sbin and the database is located in /var/lib/tripwire. It is strongly advised
that these locations be stored on
write protected media (e.g. mounted RO
floppy). See /usr/share/doc/tripwire/README.Debian
for details.
6. Ubah mode dari 2 buah file dari tripwire :
tw.cfg dan tw.pol.
#cd /etc/tripwire
#chmod 0600 tw.cfg tw.pol
à mengubah hak
menjadi – rw- --- ---
II. 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-polfile --polfile ./tw.pol
--site-keyfile ./site.key ./twpol.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
III. 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 kami,
yaitu debian. Langkah
ini membutuhkan waktu yang relatif lama.
IV. Melakukan cek system
Pada
tahap ini tripwire menyimpan informasi awal dari file-file yang akan dimonitor
perubahannya :
# tripwire --check
V. 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
VI. 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 memilih
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.
D. TUGAS PERCOBAAN
1.
Jalankan perintah :
# tripwire –check
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 ke akun 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
E. LATIHAN
1.
Berikan kesimpulan hasil praktikum yang
anda lakukan.
è Apapun yang dilakukan oleh seorang pengguna terhadap
suatu sistem membutuhkan hak untuk melakukannya. Mulai dari menambah, mengubah,
maupun menghapus, tidak semua orang boleh melakukannya. Apapun yang terjadi
pada sebuah sistem dapat dengan tanpa disadari dilakukan oleh orang yang tak
berhak. Untuk dapat mengawasi sistem, dapat dengan mengawasi segala perubahan
yang terjadi pada sistem, dengan melihat log maupuan catatan-catatan lain
pendukung yang mencatat semua kejadian mulai awal hingga akhir. Dari situ dapat
dilihat apakah yang berhak merasa pernah melakukannya atau tidak. Jika tidak,
maka dapat diduga sistem telah diubah orang lain yang tak berhak.
2.
Berdasarkan percobaan yang anda lakukan,
jelaskan cara kerja tripwire dalam melakukan integrity checker
?
è Program
tripwire diperlukan kunci site key dan local passphrase sebelum menjalankan
file integrity checking. Sebelum menjalankan tripwire lakukan generate database
terlebih dahulu. Setiap melakukan edit file konfigurasi yang tersimpan dalam
twcfg.txt update file tersebut menjadi tw.cfg. Demikian juga pada pengeditan
file policy yang tersimpan dalam twpol.txt lakukan update tw.pol.
File integrity checking dapat dilakukan sesuai dengan kebutuhan, file mana yang akan dilakukan integrity checking. Oleh karena itu perlu suatu pengaturan file policy yang baru. Lakukan update database. Sehingga perubahan-perubahan file tersebut dapat dipantau oleh tripwire
File integrity checking dapat dilakukan sesuai dengan kebutuhan, file mana yang akan dilakukan integrity checking. Oleh karena itu perlu suatu pengaturan file policy yang baru. Lakukan update database. Sehingga perubahan-perubahan file tersebut dapat dipantau oleh tripwire
3.
Carilah referensi baik dari buku maupun
Internet, aturan-aturan apa saja yang bisa dideteksi oleh tripwire ?
è 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 dijelaskan struktur file dan sintax dari policy
tripwire
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;
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
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
Contoh konfigurasi
(
rulename = “Invariant Directories”,
rulename = “Invariant Directories”,
severity
= $(SIG_MED)
)
{
/ -> $(SEC_INVARIANT) (recurse = 0) ;
{
/ -> $(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
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
Daftar Pustaka
1. “Modul
8 Instrussion Detection System (Tripwire)”, URL
http://lecturer.eepisits.edu/~zenhadi/kuliah/NetworkSecurity/Prakt%20Modul%208%20Tripwire.pdf
2.
”URL http://opensource.telkomspeedy.com/wiki/index.php/Tripwire:_Notifikasi_email
3.
URL http://www.tldp.org/pub/Linux/docs/HOWTO/translations/id/otherformats/html/ID-Security-HOWTO-5.html
4.
http://ahmadrizkydoang.blogspot.com/2012_10_01_archive.html
No comments:
Post a Comment