BAB IV PERANCANGAN Pada bab ini dibahas perancangan sistem integrasi IDS menggunakan WBEM berdasarkan hasil analisis yang meliputi: 1. Lingkungan pengembangan yang
meliputi
batasan perancangan
dan arsitektur
implementasi integrasi IDS dan WBEM 2. Perancangan integrasi IDS pada WBEM yang akan dibangun meliputi: i.
Penurunan CIM dari framework CIM IDS untuk HBIDS dan NBIDS yang dipilih.
ii.
Perancangan CIM provider untuk masing-masing produk Snort IDS dan Ossec IDS
iii.
Perancangan CIM client
4.1 Lingkungan Pengembangan Dalam melakukan integrasi IDS menggunakan WBEM maka lingkungan pengembangan yang diperlukan adalah sebuah jaringan yang terdiri dari sebuah atau beberapa host dan minimal mempunyai sebuah server sekaligus host yang bertindak sebagai gateway. Sebagai prekondisi maka pada server harus dilakukan setting router.
4.1.1 Batasan Sistem Batasan integrasi IDS dalam WBEM adalah sebagai berikut: 1. CIM server yang akan berkomunikasi dengan CIM client menggunakan CIM server yang sudah ada, yaitu WBEM Services. 2. Jaringan yang akan digunakan untuk implementasi pada Tugas Akhir kali ini hanya berupa jaringan simulasi sederhana yang terdiri dari sebuah server yang diinstall Snort NBIDS dan berfungsi sebagai komputer gateway dan sebuah komputer host yang diinstall HBIDS 3. Integrasi IDS yang dilakukan hanya menggunakan 2 produk IDS yang dipilih berdasarkan perwakilan jenis HBIDS dan NBIDS, yaitu Snort IDS dan Ossec IDS dengan demikian provider yang dibuat hanyalah provider untuk Snort IDS dan Ossec IDS. 4. Komponen dan fitur dari masing-masing produk IDS tidak semuanya digunakan, cukup diambil sebagian yang dipandang dapat mewakili dan perlu untuk diimplementasikan serta dapat diturunkan berdasarkan framework CIM IDS yang telah ada. 5. WBEM Client hanya diimplementasikan secara sederhana dengan CLI (Common Line Interface.
IV-1
IV-2 4.1.2 Arsitektur Perancangan Integrasi IDS Menggunakan WBEM Pada perancangan IDS untuk Tugas Akhir kali ini akan dipilih salah satu produk yang mempunyai kemampuan Host Based IDS yaitu Ossec IDS sesuai dengan hasil analisis, hal ini dikarenakan Ossec paling banyak digunakan dibandingkan produk-produk Host Based IDS lainnya. Di samping itu Ossec memiliki kemudahan dalam instalasi dibandingkan dengan produk HBIDS yang lain. Sementara NIDS yang paling lengkap adalah Snort karena memiliki dokumentasi yang baik dan yang paling banyak digunakan oleh beberapa organisasi atau perusahaan. Perancangan arsitektur integrasi IDS menggunakan WBEM didasarkan pada hasil analisis integrasi IDS menggunakan WBEM. Pada perancangan ini aplikasi WBEM server, WBEM Client, repository, provider akan diletakkan pada tempat yang sama, yaitu pada komputer server. Elemen yang dikelola yaitu NBIDS juga akan diletakkan pada server yang bertindak sebagai gateway, sementara elemen HBIDS akan diletakkan pada host yang bertindak sebagai client.
Snort NBIDS Eth0 = 167.205.35.85
Ossec HBIDS
jaringan Internet
Eth1 = 192.168.0.1 Server Firewall WBEM SERVER
WBEM WBEM Client SERVER `
switch Intruder
Jaringan 192.168.0.0/24
Administrator Host 192.168.0.2 Ossec HBIDS
Gambar IV-1 Perancangan Arsitektur Integrasi IDS Menggunakan WBEM
4.2 Perancangan Integrasi IDS pada WBEM Langkah-langkah perancangan integrasi IDS menggunakan WBEM dapat dilihat pada skema berikut ini:
IV-3
Gambar IV-2 Langkah-langkah Perancangan Integrasi IDS pada WBEM
4.2.1 Penurunan Framework CIM untuk IDS Untuk dapat melakukan manajemen IDS dengan menggunakan WBEM maka harus dibuat CIM untuk setiap IDS yang akan dikelola. Dengan adanya framework CIM untuk IDS maka CIM cukup diturunkan dari framework IDS yang telah dibuat. Pembuatan CIM untuk suatu jenis IDS dilakukan terhadap kelas-kelas yang merepresentasikan komponen-komponen yang spesifik terhadap jenis IDS tersebut. Langkah selanjutnya setelah pembuatan CIM adalah memasukkan CIM tersebut ke dalam CIM Repository. CIM Repository merupakan tempat penyimpanan semua kelas yang dikelola oleh WBEM. CIM disimpan dalam CIM Repository dalam bentuk file .mof. Dalam Tugas Akhir ini dilakukan penyimpanan CIM Snort dan CIM Ossec ke dalam CIM Repository, karena IDS yang dipilih adalah Snort dan Ossec.
4.2.1.1 Penurunan Framework CIM Untuk Snort IDS Perancangan CIM untuk Snort IDS dilakukan dengan membuat penurunan terhadap framework IDS yang telah dibuat sebelumnya. Snort merupakan Network Based IDS dengan demikian kelas IDS_Snort dapat diturunkan dari IDS_NetworkIDS. Demikian juga komponen-komponen dari Snort dapat diturunkan dari komponen-komponen yang bersesuaian pada framework yang ada, yang mana komponen-komponen tersebut secara spesifik dimiliki oleh Network Based IDS. IDS_Snort merupakan hasil agregasi dari IDS_SnortSensor, IDS_SnortAnalysis, IDS_SnortSig, IDS_SnortResponse, dan IDS_SnortAlert. Snort menggunakan metode analisis misuse detection sehingga IDS_SnortAnalysis merupakan turunan dari IDS_MisuseDet. Dengan menggunakan metode analisis misuse detection maka bentuk basis pengetahuan yang digunakan adalah berupa signature sehingga Snort memiliki komponen IDS_SnortSig yang diturunkan dari IDS_NetSig. Demikian juga Snort hanya dapat memberikan respon secara pasif sehingga hanya memiliki komponen alert dari respon yang direpresentasikan oleh IDS_SnortAlert.
IV-4
Gambar IV-3 Hirarki Agregasi untuk Snort IDS
Dari hirarki agregasi untuk Snort IDS di atas untuk selanjutnya dibuat CIM untuk Snort IDS seperti yang tampak pada Gambar berikut ini:
Gambar IV-4 CIM Snort IDS (Lihat lampiran A-8 untuk kualitas gambar yang lebih baik)
IV-5 Tabel IV-1 Daftar Kelas Aregasi dari Klas Snort IDS
Kelas Agregasi IDS_Snort IDS_SnortSensor IDS_SnortAnalysis IDS_SnortSig IDS_SnortResponse IDS_SnortAlert
IDS_SnortSensorInSnort IDS_SnortAnalysisInSnort IDS_SnortSigInSnort IDS_SnortResponseInSnort IDS_SnortAlertInSnort
Instance Snort SnortSensor SnortAnalysis SnortSig SnortResponse MsSqlAlert ScanUppnpAlert RpcPortmapAlert OverSizeReqAlert BareByteAlert SnortSensorInSnort SnortAnalysisInSnort SnortSigInSnort SnortResponseInSnort MsSqlAlert ScanUppnpAlert RpcPortmapAlert OverSizeReqAlert BareByteAlert
Tabel IV-2 Daftar Kelas Asosiasi dari Kelas Snort IDS
Kelas Assosiasi
Instance
IDS_SnortAlertGivenBySnortSig IDS_SnortSigUsedBySnortAnalysys IDS_SnortSensorUsedBySnortSig IDS_SnortAlertUsedByOssecSig
SnortAlertGivenBySnortSig SnortSigUsedBySnortAnalysys SnortSensorUsedBySnortSig SnortAlertUsedByOssecSig
4.2.1.2 Penurunan Framework CIM untuk Ossec IDS Perancangan CIM untuk Ossec IDS dilakukan dengan membuat penurunan terhadap framework yang telah dibuat sebelumnya. Ossec merupakan Host Based IDS dengan demikian kelas IDS_Ossec dapat diturunkan dari IDS_HostIDS. Demikian juga komponen-komponen dari Ossec dapat diturunkan dari komponen-komponen yang bersesuaian pada framework yang ada, yang mana komponen-komponen tersebut secara spesifik dimiliki oleh Host Based IDS. IDS_Ossec merupakan
hasil
agregasi
dari
IDS_OssecSensor,
IDS_OssecAnalysis,
IDS_OssecSig,
IDS_OssecResponse, IDS_OssecAction dan IDS_OssecAlert. Ossec menggunakan metode analisis misuse detection sehingga IDS_OssecAnalysis merupakan turunan dari IDS_MisuseDet. Dengan menggunakan metode analisis analysis detection maka bentuk basis pengetahuan yang digunakan adalah berupa signature sehingga Ossec memiliki komponen IDS_OssecSig yang diturunkan dari IDS_HostSig. Di samping itu Ossec juga dapat memberikan respon secara aktif sehingga memiliki komponen alert dari respon yang direpresentasikan oleh IDS_OssecAlert dan aksi yang direpresentasikan oleh IDS_OssecAction. Fitur file integrity checker pada Ossec tidak terdapat dalam kelas framework IDS yang ada, sehingga tidak diturunkan.
IV-6
Gambar IV-5 Hirarki Agregrasi untuk Ossec IDS
Dari hirarki agregasi untuk Ossec IDS di atas untuk selanjutnya dibuat CIM untuk Ossec IDS seperti yang tampak pada Gambar 4-6.
Gambar IV-6 CIM Ossec IDS (Lihat lampiran A-9 untuk kualitas gambar yang lebih baik)
IV-7 Tabel IV-3 Daftar Kelas Agregasi dari Kelas Ossec IDS
Kelas Agregasi IDS_Ossec IDS_OssecSensor IDS_OssecAnalysis IDS_OssecSig IDS_OssecResponse IDS_OssecAlert
IDS_OssecSensorInOssec IDS_OssecAnalysisInOssec IDS_OssecSigInOssec IDS_OssecResponseInOssec IDS_OssecAlertInOssec
IDS_OssecActionInOssec
Instance Ossec OssecSensor OssecAnalysis OssecSig OssecResponse MailAlert ApacheAlert SquidAlert ProftpdAlert BindAlert OpenSSHAlert OssecSensorInOssec OssecAnalysisInOssec OssecSigInOssec OssecResponseInOssec MailAlert ApacheAlert SquidAlert ProftpdAlert BindAlert OpenSSHAlert HostDenyResp FWallDropResp
Tabel IV-4 Daftar Kelas Asosiasi dari Kelas Ossec IDS
Kelas Assosiasi
Instance
IDS_OssecAlertGivenbyOssecSig IDS_OssecActionGivenbyOssecSig IDS_OssecSigUsedbyOssecAnalysys IDS_OssecSensorUsedbyOssecSig IDS_SnortAlertUsedByOssecSig
OssecAlertGivenbyOssecSig OssecActionGivenbyOssecSig OssecSigUsedbyOssecAnalysys OssecSensorUsedbyOssecSig SnortAlertUsedByOssecSig
4.2.1.3 Perancangan MOF File dari Model Translasi CIM Implementasi CIM IDS membutuhkan translasi model CIM menjadi MOF. Untuk selanjutnya MOF akan memberikan deskripsi tekstual dari class, asscociation, properties, methods, dan yang lainnya. File .MOF akan ditampung pada CIM Repository. Pembuatan file .MOF yang akan dipakai dalam Tugas Akhir kali ini akan didasarkan pada framework CIM IDS yang ada pada subbab 2.2.5.2 dan penurunan framework CIM IDS untuk Snort IDS dan Ossec IDS yang ada pada subbab 4.2.1.
IV-8 Tabel IV-5 Daftar Mof File IDS yang diperlukan untuk Implementasi
Nama CIMClass IDS_Sensor
Nama MOF File IDSSensor.mof
IDS_Analysis
IDSAnalysis.mof
IDS_Knowledge
IDSKnowledge.mof
IDS_Response
IDSResponse.mof
IDS_CommonIDS IDSCommon.mof IDS_NetworkIDS
IDSNetwork.mof
IDS_HostIDS
IDSHost.mof
IDS_SnortIDS IDS_OssecIDS
IDSSnort.mof IDSOssec.mof
Keterangan Berisi kelas-kelas yang merepresentasikan komponen sensor Berisi kelas-kelas yang merepresentasikan komponen analisis Berisi kelas-kelas yang merepresentasikan komponen knowledge Berisi kelas-kelas yang merepresentasikan komponen respon Berisi kelas-kelas yang merepresentasikan IDS yang umum Berisi kelas-kelas yang merepresentasikan Network Based IDS Berisi kelas-kelas yang merepresentasikan Host Based IDS Berisi kelas-kelas yang merepresentasikan Snort IDS Berisi kelas-kelas yang merepresentasikan OSSEC IDS
4.2.2 Perancangan CIM Provider Pengimplementasian CIM Provider merupakan langkah berikutnya setelah penyimpanan CIM ke dalam CIM Repository. Seperti juga halnya harus dibuat sebuah CIM untuk masing-masing IDS, demikian juga harus dibuat sebuah CIM Provider untuk masing-masing IDS. CIM Provider merupakan penyedia data manajemen dan pelaku operasi manajemen yang sesungguhnya; berhubungan langsung dengan elemen jaringan yang dikelola. Oleh karena itu harus dibuat CIM Provider untuk Snort IDS dan CIM Provider untuk Ossec IDS.
4.2.2.1 Perancangan CIM Provider Snort IDS Dalam Tugas Akhir ini dilakukan pengimplementasian CIM Provider untuk Snort IDS. Seperti telah disebutkan pada Bab 3, terdapat lima jenis CIM Provider sebagai berikut: instance provider, method provider, association provider, indication provider, serta authorizable provider. Untuk Snort diimplementasikan tiga buah CIM Provider: instance provider, method provider, dan association provider. Semua method yang ada pada method provider dan association provider akan diimplementasikan, sehingga dapat mendukung invokasi method yang ada pada kelas CIM. Invokasi method dari Snort IDS yang akan diimplementasikan antara lain method Start() dan Stop() dari kelas IDS_Snort, serta AddSignature() dari kelas IDS_SnortSig) serta enumerasi keterhubungan antara kelas-kelas CIM yang ada. Pada instance provider diimplementasikan method berikut: enumerateInstances, enumerateInstanceNames, serta getInstance, sehingga dapat mendukung enumerasi kelas dan instance pada CIM.
IV-9 Tabel IV-6 Daftar CIM Provider Snort IDS
Provider InstanceProvider
AssociationProvider
MethodProvider
Method Enumerate Instances Enumerate Instances Names Get Instances Associators Associator Names References Reference Names
Invoke Method
Fungsi enumerasi instances enumerasi asosiasi enumerasi references invokasi method Start() dari IDS_Snort Stop() dari IDS_Snort Add() dari IDS_Snort
4.2.2.2 Perancangan CIM Provider Ossec IDS Untuk Snort diimplementasikan tiga buah CIM Provider: instance provider, method provider, dan association provider. Semua method yang ada pada method provider dan association provider telah diimplementasikan, sehingga dapat mendukung invokasi method yang ada pada kelas CIM (dalam hal ini method Start() dan Stop() dari kelas IDS_Ossec, serta AddSignature() dari kelas IDS_OssecSig) serta enumerasi keterhubungan antara kelas-kelas CIM yang ada. Pada instance provider diimplementasikan method berikut: enumerateInstances, enumerateInstanceNames, serta getInstance, sehingga dapat mendukung enumerasi kelas dan instance pada CIM.
Tabel IV-7 Daftar CIM Provider Ossec IDS
Provider InstanceProvider
AssociationProvider
MethodProvider
Method enumerateInstances enumerateInstancesNames getInstances Associators associatorNames References referenceNames invokeMethod
Fungsi enumerasi instances enumerasi asosiasi enumerasi references Invokasi method Start() dari IDS_Ossec Stop() dari IDS_Ossec Add() dari IDS_Ossec
4.2.3 Perancangan CIM Client WBEM menyediakan sebuah CIM Client, disebut CIM Workshop, yang dapat digunakan oleh semua kelas yang terdapat di dalam CIM Repository. CIM Client bertugas untuk melakukan inisiasi request operasi manajemen terhadap CIM Server. Di samping menggunakan CIM Client yang telah disediakan, dapat juga diimplementasikan CIM Client untuk digunakan secara spesifik oleh suatu
IV-10 kelas CIM. Dalam Tugas Akhir ini, akan dirancang CIM Client untuk Snort IDS dan Ossec IDS. Dengan menggunakan CIM Client tersebut diharapkan dapat dilakukan inisiasi request terhadap operasi enumerasi kelas, instance, dan assosiasi, serta invokasi method pada CIM Snort dan CIM Ossec. Pada Tugas Akhir kali ini antamuka CIM Client akan dibuat menggunakan CLI (Command Line Interface).
4.2.3.1 CIM Client Snort IDS Operasi manajemen yang dapat diinisiasi dengan menggunakan CIM Client untuk Snort IDS beserta file yang berhubungan dapat dilihat pada Tabel 4-4.
Tabel IV-8 Daftar CIM Client Snort IDS
File EnumerateInstanceNames AssociatorNames ReferensiNames InvokeCIMMethod InvokeAddSignature
Operasi Manajemen Enumerasi instances Enumerasi asosiasi Enumerasi references Invokasi method Start() dan Stop() dari IDS_Snort Invokasi method Add() dari IDS_SnortSig
4.2.3.2 CIM Client OSSEC IDS Operasi manajemen yang dapat diinisiasi dengan menggunakan CIM Client untuk Ossec IDS beserta file yang berhubungan dapat dilihat pada Tabel 4-5. Tabel IV-9 Daftar CIM Client Ossec IDS
File EnumerateInstanceNames AssociatorNames ReferensiNames InvokeCIMMethod InvokeAddSignature
Operasi Manajemen Enumerasi instances Enumerasi asosiasi Enumerasi references Invokasi method Start() dan Stop() dari IDS_Ossec Invokasi method Add() dari IDS_OssecSig