Maret 19, 2010

Network Security

Seperti yang kita lihat di saat ini, Internet telah tumbuh dan berkembang hingga mencapai angka beberapa juta unit komputer yang terkoneksi di berbagai belahan dunia. Dari hari ke hari pula informasi yang terkandung di dalam jaringan Internet tersebut semakin lengkap, akurat, dan penting. . Informasi telah menjadi suatu asset yang sedemikian berharga sehingga perlu mendapat perlakuan yang lebih spesifik. Selain itu pula, kemajuan yang dicapai dalam bidang pengembangan sistem operasi komputer sendiri dan utulitasnya sudah sedemikian jauh dimana tingkat performansi, keandalan dan fleksibilitas software menjadi kriteria utama dalam proses pengembangan software. Dengan semakin penting dan berharganya informasi tersebut dan ditunjang oleh kemajuan pengembangan software, tentunya menarik minat para pembobol (hacker) dan penyusup (intruder) untuk terus bereksperimen guna menemukan dan mempergunakan setiap kelemahan yang ada dari konfigurasi sistem informasi yang telah ditetapkan.
Bertolak dari kenyataan di atas, muncul sebuah konsep yang lebih sering disebut dengan Network Security. Pada awalnya, konsep ini menjelaskan lebih banyak mengenai keterjaminan (security) dari sebuah sistem jaringan komputer yang terhubung ke Internet terhadap ancaman dan gangguan yang ditujukan kepada sistem tersebut. Cakupan konsep tersebut semakin hari semakin luas sehingga pada saat ini tidak hanya membicarakan masalah keterjaminan jaringan komputer saja, tetapi lebih mengarah kepada masalah-masalah keterjaminan sistem jaringan informasi secara global. Beberapa negara Eropa dan Amerika bahkan telah menjadikan Network Security menjadi salah satu titik sentral perhatian pihak-pihak militer masing-masing.
Sebenarnya, masalah Network Security ini timbul dari konektivitas jaringan komputer lokal yang kita miliki dengan wide-area network (seperti Internet). Jadi, selama jaringan lokal komputer kita tidak terhubung kepada wide-area network, masalah Network Security tidak begitu penting. Tetapi hal ini bukan berarti memberikan arti bahwa bergabung dengan wide-area network adalah suatu hal yang ‘menakutkan’ dan penuh bahaya. Network Security hanyalah menjelaskan kemungkinan-kemungkinan yang akan timbul dari konektivitas jaringan komputer lokal kita dengan wide-area network.
Secara umum, terdapat 3 (tiga) kata kunci dalam konsep Network Security ini, yaitu:
• resiko / tingkat bahaya,
• ancaman, dan
• kerapuhan sistem (vulnerability)
Resiko atau tingkat bahaya
Dalam hal ini, resiko berarti berapa besar kemungkinan keberhasilan para penyusup dalam rangka memperoleh akses ke dalam jaringan komputer lokal yang dimiliki melalui konektivitas jaringan lokal ke wide-area network. Secara umum, akses-akses yang diinginkan adalah :
1. Read Access : Mampu mengetahui keseluruhan sistem jaringan informasi.
2. Write Access : Mampu melakukan proses menulis ataupun menghancurkan data yang terdapat di sistem tersebut.
3. Denial of Service : Menutup penggunaan utilitas-utilitas jaringan normal dengan cara menghabiskan jatah CPU, bandwidth maupun memory.
Ancaman
Dalam hal ini, ancaman berarti orang yang berusaha memperoleh akses-akses illegal terhadap jaringan komputer yang dimiliki seolah-olah ia memiliki otoritas terhadap akses ke jaringan komputer.
Kerapuhan System (Vulnerability)
Kerapuhan sistem lebih memiliki arti seberapa jauh proteksi yang bisa diterapkan kepada network yang dimiliki dari seseorang dari luar sistem yang berusaha memperoleh akses illegal terhadap jaringan komputer tersebut dan kemungkinan orang-orang dari dalam sistem memberikan akses kepada dunia luar yang bersifat merusak sistem jaringan.

Untuk menganalisa sebuah sistem jaringan informasi global secara keseluruhan tentang tingkat keandalan dan keamanannya bukanlah suatu hal yang mudah dilaksanakan. Analisa terhadap sebuah sistem jaringan informasi tersebut haruslah mendetil mulai dari tingkat kebijaksanaan hingga tingkat aplikasi praktisnya.
Sebagai permulaan, ada baiknya kita melihat sebuah sistem jaringan yang telah menjadi titik sasaran utama dari usaha-usaha percobaan pembobolan tersebut. Pada umumnya, jaringan komputer di dunia menggunakan sistem operasi Unix sebagai platform. Unix telah menjadi sebuah sistem operasi yang memiliki keandalan tinggi dan tingkat performansi yang baik. Tetapi, pada dasarnya Unix tersusun oleh fungsi-fungsi yang cukup rumit dan kompleks. Akibatnya, Unix juga memiliki beberapa kelemahan seperti bug-bug (ketidaksesuaian algoritma pemrograman) kecil yang kadang kala tidak disadari oleh para pemrogram Unix. Selain itu, utilitas-utilitas yang memanfaatkan Unix sebagai platformnya, seringkali mempunyai bug-bug tersendiri pula. Nah, hal-hal inilah yang sering dieksploitasi oleh para hacker dan intruder di seluruh dunia.
Guna mencegah berhasilnya eksploitasi para hacker dan intruder tersebut, dikembangkan sebuah konsep yang dikenal dengan UNIX Network Security Architecture. Arsitektur ini mencakup 7 lapis tingkat sekuriti pada jaringan. Ketujuh lapis tersebut adalah sebagai berikut :
• Lapis ke-7 : Kebijaksanaan
• Lapis ke-6 : Personil
• Lapis ke-5 : Local Area Network
• Lapis ke-4 : Batas Dalam Jaringan
• Lapis ke-3 : Gateway
• Lapis ke-2 : Paket Filtering
• Lapis ke-1 : Batas Luar Jaringan
Kebijaksanaan
Lapis kebijaksanaan menjadi pelindung terhadap keseluruhan program proteksi dan sekuriti jaringan yang diterapkan. Lapis ini mempunyai fungsi mendefinisikan kebijakan-kebijakan organisasi mulai dari resiko yang paling besar yang mungkin didapat hingga bagaimana mengimplementasikan kebijaksanaan yang diambil terhadap prosedur-prosedur dasar dan peralatan yang digunakan. Lapis ini menjadi salah satu penentu utama keberhasilan program proteksi dan sekuriti sistem.
Personil
Lapis ini mendefinisikan segi manusia dalam sistem jaringan informasi. Personil yang melakukan instalasi, konfigurasi, pengoperasian hingga orang-orang yang mampu menjalankan akses-akses yang tersedia di sistem adalah termasuk dalam lapis ini. Kebijakan yang diambil pada lapis ini pada dasarnya harus mencerminkan tujuan-tujuan yang ingin dicapai dalam program proteksi dan sekuriti ini.
Local Area Network
Lapis selanjutnya mendefinisikan peralatan-peralatan dan data-data yang harus mendapatkan proteksi. Selain itu, lapis ini juga mencakup prosedur-prosedur pengawasan dan kontrol yang sering diterapkan dalam sistem.
Batas Dalam Jaringan Batas
Dalam Jaringan mendefinisikan lapisan sistem yang terkoneksi secara fisik ke daerah “penyangga” yang menjadi pemisah antara sistem jaringan informasi lokal dengan jaringan luar. Batas ini menjadi penting karena titik ini menjadi sasaran utama usaha-usaha eksploitasi untuk memperoleh akses illegal. Ada baiknya daerah penyangga ini dikonsentrasikan pada satu titik sehingga penerapan prosedur pengawasan dan kontrol menjadi lebih mudah. Demikian pula bila datang serangan dari luar sistem, hanya akan terdapat satu titik masuk yang paling utama. Dengan demikian, akan lebih mudah mengisolasi sistem yang dimiliki dari konektivitas ke luar bila terjadi gangguan.
Gateway
Gateway mendefinisikan menjadi pintu utama dari dan ke sistem yang dimiliki. Kebijaksanaan proteksi dan sekuriti sebuah sistem yang terkoneksi dengan wide-area network seharusnya lebih mengarahkan usaha-usaha yang ada untuk mengamankan lapis ini sebaik mungkin. Servis-servis publik ada baiknya diletakkan pada lapis tersebut guna meminimisasi kemungkinan akses yang lebih jauh ke dalam sistem.
Paket Filtering
Lapis ini mendefinisikan platform yang berada di antara network interface lapis 3 (gateway) dengan network interface yang menjadi tempat penerapan metoda Firewall. Lapis tersebut lebih bersifat sebagai program yang menjalankan fungsi pengawasan (monitoring) terhadap paket-paket data yang masuk maupun yang keluar sistem.
Batas Luar Jaringan
Batas Luar Jaringan mendefinisikan titik dimana sistem terhubung dengan wide-area network dan kita tidak memiliki kontrol langsung terhadap titik tersebut.
Seperti yang telah dijabarkan di atas, lapis ke-3 menjadi titik utama dan yang paling rawan dalam network security ini. Implementasi kebijaksanaan yang diambil pada layer ini hanya bisa dilakukan secara software. Terdapat beberapa jenis security software yang bisa digunakan untuk memperkuat usaha proteksi dan sekuriti sistem pada lapis ke-3 ini. Di antaranya adalah :
TCP Wrapper
Program ini menyediakan layanan monitoring dan kontrol terhadap network services. Pada dasarnya, yang dilakukan oleh program ini adalah membuat daftar log mengenai aktivitas-aktivitas hubungan yang terjadi. Program ini dapat diambil secara gratis melalui anonymous FTP via ftp.cert.org yang terletak pada direktori pub/tools/tcp_wrappers/tcp_wrappers.*
Swatch
Program Swatch menggabungkan daftar-daftar log yang telah diciptakan oleh program-program utilitas lain di samping kelebihannya yang mampu dikonfigurasi sehingga pada saat melakukan logging, Swatch bisa melakukan aksi lain berdasar pada prioritas-prioritas tertentu. Swatch tersedia melalui anonymous FTP dari sierra.stanford.edu pada direktori pub/sources.
SOCKS library dan sockd
Program ini menjadi alternatif lain dari implementasi konsep “TCP Wrapper”. Kegunaan utama program ini adalah mengkonsentrasikan semua layanan umum internet pada suatu titik. “sockd” dijalankan oleh “inetd” pada saat permintaan layanan tertentu muncul dan hanya memperbolehkan koneksi dari host-host yang telah terdaftar. Program ini tentu saja juga melakukan aktivitas log yang berkaitan dengan koneksi yang terjadi. Program ini dapat diperoleh melalui anonymous FTP pada host s1.gov pada direktori /pub dengan nama socks.tar.Z
Aspek security jaringan berkaitan erat dengan servis yang disediakan: inbound atau outbound. Security pada servis outbound dapat diupayakan sebaik mungkin dengan konfigurasi firewall.
Demikian pula dengan akses anonymous servis inbound, seperti anonymous FTP, HTTP, Gopher dll. Dalam hal ini, informasi sengaja disediakan bagi semua orang. Lain halnya bila kita ingin menyediakan akses non-anonymous (atau authenticated services), dimana selain melalui firewall, seseorang yang meminta akses juga harus mendapat ‘ijin’ server setelah terlebih dahulu membuktikan identitasnya. Inilah authentication. Untuk selanjutnya, penulis menggunakan istilah autentisasi sebagai sinonim kata tersebut.

RESIKO-SECURITY SERVIS INBOUND
Internet adalah jaringan publik, dan terbuka bagi setiap orang diseluruh penjuru dunia untuk menggabungkan diri. Begitu besarnya jaringan ini, telah menimbulkan keuntungan serta kerugian. Sering kita dengar dan baca tentang bobolnya sistem komputer keuangan bank, informasi rahasia Pentagon atau basis data transkrip akademik mahasiswa. Kalimat tersebut cukup untuk mewakili pernyataan bahwa kita harus ‘waspada’ terhadap orang-orang ‘jahat’ dan senantiasa berusaha memperkecil kemungkinan bagi mereka untuk dapat melakukan niat jahatnya. Memang mudah untuk meniadakan kemungkinan penyusupan (akses ilegal) dari luar dengan menutup semua kanal trafik servis inbound ke jaringan internal. Namun ini berarti telah mereduksi keuntungan utama adanya jaringan: komunikasi dan pemakaian sumber daya bersama (sharing resources). Jadi, konsekuensi alami dengan jaringan cukup besar, adalah menerima dan berusaha untuk memperkecil resiko ini, bukan meniadakannya.
Kita akan mulai dari seorang network-administrator (NA) yang telah melakukan tugasnya dengan baik, dalam menyiapkan ‘pertahanan’ bagi semua servis outbound dan anonymous-inbound. Perlu beberapa hal tambahan lagi yang sebaiknya diingat. Apakah pertahanan tersebut sudah cukup kuat bagi terjadinya pencurian hubungan (hijacking attack)? Apakah didalamnya sudah dipertimbangkan kemungkinan pemonitoran ilegal paket-paket informasi yang dikirimkan (packet sniffing – playback attack)? Atau apakah sudah termasuk kesiapan bagi benar-benar adanya akses ilegal didalam sistem (false authentication)?
Hijacking biasanya terjadi pada komputer yang menghubungi jaringan kita, walaupun untuk beberapa kasus langka, bisa terjadi pada sembarang jalur yang dilaluinya. Sehingga akan bijaksana bila seorang NA mempertimbangkan pemberian kepercayaan akses, hanya dari komputer yang paling tidak mempunyai sistem security sama atau mungkin lebih ‘kuat’, dibandingkan dengan jaringan dibawah tanggung-jawabnya. Usaha memperkecil peluang musibah ini, juga dapat dilakukan dengan mengatur packet-filter dengan baik atau menggunakan server modifikasi. Misalnya, kita dapat menyediakan fasilitas anonymous-FTP bagi sembarang komputer dimanapun, tapi authenticated-FTP hanya diberikan pada host-host yang tercantum pada daftar ‘kepercayaan’. Hijacking ditengah jalur dapat dihindari dengan penggunaan enkripsi antar jaringan (end to end encryption).
Kerahasiaan data dan password juga merupakan topik disain security. Program yang didedikasikan untuk packet-sniffing dapat secara otomatis menampilkan isi setiap paket data antara client dengan servernya. Proteksi password dari kejahatan demikian dapat dilakukan dengan implementasi password sekali pakai (non-reusable password), sehingga walaupun dapat termonitor oleh sniffer, password tersebut tidak dapat digunakan lagi.
Resiko hijacking dan sniffing data (bukan password) tidak dapat dihindari sama sekali. Artinya NA harus mempertimbangkan kemungkinan ini dan melakukan optimasi bagi semakin kecil-nya kesempatan tersebut. Pembatasan jumlah account dengan akses penuh serta waktu akses jarak jauh, merupakan salah satu bentuk optimasi.
MEKANISME AUTENTISASI
Subyek autentisasi adalah pembuktian. Yang dibuktikan meliputi tiga kategori, yaitu: sesuatu pada diri kita (something you are SYA), sesuatu yang kita ketahui (something you know SYK), dan sesuatu yang kita punyai (something you have SYH). SYA berkaitan erat dengan bidang biometrik, seperti pemeriksaan sidik-jari, pemeriksaan retina mata, analisis suara dll. SYK identik dengan password. Sedangkan bagi SYH umumnya digunakan kartu identitas seperti smartcard.
Barangkali, yang sekarang masih banyak digunakan adalah sistem ber-password. Untuk menghindari pencurian password dan pemakaian sistem secara ilegal, akan bijaksana bila jaringan kita dilengkapi sistem password sekali pakai. Bagaimana caranya penerapan metoda ini?
Pertama, menggunakan sistem perangko-waktu ter-enkripsi. Dengan cara ini, password baru dikirimkan setelah terlebih dulu dimodifikasi berdasarkan waktu saat itu. Kedua, menggunakan sistem challenge-response (CR), dimana password yang kita berikan tergantung challenge dari server. Kasarnya kita menyiapkan suatu daftar jawaban (response) berbeda bagi ‘pertanyaan’ (challenge) yang berbeda oleh server. Karena tentu sulit sekali untuk menghafal sekian puluh atau sekian ratus password, akan lebih mudah jika yang dihafal adalah aturan untuk mengubah challenge yang diberikan menjadi response (jadi tidak random). Misalnya aturan kita adalah: “kapitalkan huruf kelima dan hapus huruf keempat”, maka password yang kita berikan adalah MxyPtlk1W2 untuk challenge sistem Mxyzptlk1W2.
Kalau pada sistem CR, harus diketahui ‘aturan’-nya, maka pada sistem perangko-waktu, kita mesti mengingat password bagi pemberian perangko-waktu ini. Apakah cara seperti ini tidak mempersulit? Beruntung sekali mekanisme tersebut umumnya ditangani oleh suatu perangkat, baik perangkat lunak ataupun dengan perangkat keras. Kerberos, perangkat lunak autentisasi yang dibuat di MIT dan mengadopsi sistem perangko-waktu, mewajibkan modifikasi client bagi sinkronisasi waktu dengan server serta pemberian password perangko-waktu. Modifikasi program client mengingatkan kita pada proxy dan memang, kurang lebih seperti itu. Sistem CR biasanya diterapkan sekaligus dengan dukungan perangkat keras. Contoh sistem CR operasional adalah perangkat SNK-004 card (Digital Pathways) yang dapat diterapkan bersama-sama dengan paket TIS-FWTK (Trusted Information System – internet FireWall ToolKit).
TIS-FWTK menawarkan solusi password sekali pakai (sistem CR) yang ‘menyenangkan’: S/Key. S/Key menerapkan prosedur algoritma hash iteratif terhadap suatu seed, sedemikian sistem dapat memvalidasi response-client instant tapi tidak mempunyai kemampuan untuk memprediksi response-client berikutnya. Sehingga bila terjadi penyusupan pada sistem, tidak ada ’sesuatu’ yang bisa dicuri (biasanya daftar password). Algoritma hash mempunyai dua sifat utama. Pertama, masukan tidak bisa diregenerasikan dari keluaran (non-reversibel). Kedua, terdapat dua kemungkinan masukan bagi sebuah keluaran yang sama.
ENKRIPSI DAN CRYPTOGRAPHY
Cryptography telah berkembang sejak lama, ketika orang menginginkan informasi yang ia kirimkan tidak dapat ‘dibaca’ oleh pihak tak berkepentingan. Secara tradisional cryptography dikenal dengan dua mekanisme, kunci privat atau kunci publik. DES (data encryption standard) yang digunakan oleh Kerberos menggunakan sistem kunci-privat. RSA (Rivest Shamir Addleman) mengimplementasikan sistem kunci-publik. Salah satu dari kontributor RSA, Ron Rivest kemudian membuat MD4 (message digest function # 4) yang digunakan oleh S/Key-nya TIS-FWTK. Optimasi dan blasteran antara kedua metoda tradisional ini melahirkan PGP (Pretty Good Privacy). Pembahasan dari DES, RSA, atau PGP merupakan buku tersendiri dan tidak pada tempatnya diungkapkan disini.
Tapi yang jelas, sistem kunci-privat dicirikan dengan proses encrypt-decrypt melalui kunci identik, sedangkan pada sistem kunci-publik, proses ini dilakukan dengan dua buah kunci: kunci publik untuk encrypt dan kunci rahasia untuk decrypt dimana kedua kunci ini digenerasikan dan mempunyai relasi dekat melalui sebuah algoritma matematis. Karena diperlukan proses matematis terlebih dulu, kecepatan sistem kunci-publik bisa ribuan kali lebih lambat dari algoritma kunci-privat ekivalen walaupun disisi lain menawarkan proteksi lebih baik. Eksploitasi terhadap kelebihan dan kekurangan sistem kunci privat dan publik dilakukan PGP, dimana untuk transmisi data dilakukan secara sistem kunci-privat dengan session-key sehingga berjalan cepat, sedangkan transmisi session-key- nya sendiri menggunakan kunci-publik.
Dengan enkripsi, informasi yang kita kirimkan ke suatu jaringan melalui jaringan lain yang keamanannya meragukan (internet), relatif lebih terjamin. Enkripsi antar jaringan menyebabkan seorang ‘pencuri’ harus berusaha sedikit lebih keras untuk mendapatkan informasi ilegal yang ia harapkan. Ada beberapa kesempatan bagi implementasi enkripsi, yaitu: pada level aplikasi, level data-link, dan level jaringan.
Enkripsi pada level aplikasi mensyaratkan penggunaan perangkat lunak client-server khusus. Sesuai dengan model referensi OSI, enkripsi data-link hanya berlaku untuk hubungan titik ke titik, seperti sistem enkripsi pada modem telepon. Sedangkan enkripsi level jaringan (network layer) diterapkan pada router atau peralatan lain yang bersebelahan dengan jaringan dikedua sisi. Optimasi kepentingan dan kebijakan security dilakukan dengan mengatur jenis/bagian paket IP yang akan dienkrip, penyesuaian terhadap arsitektur firewall dan konsekuensinya, efektifitas distribusi kunci-enkripsi dll. Di masa depan, dimana teknologi VLAN (Virtual LAN) diperkirakan menjadi pilihan utama untuk Intranet (enterprisewide), penggunaan enkripsi level jaringan ini menjadi begitu penting. Barangkali sama pentingnya dengan keadaan sebuah perusahaan yang sementara ini ‘terpaksa’ menggunakan internet sebagai jalur bagi pengiriman informasi sensitif antara kantor pusat dengan cabangnya dibelahan bumi yang lain.
KERBEROS DAN TIS-FWTK AUTHENTICATION SERVER
Kerberos adalah salah satu karya proyek Athena, kolaborasi antara MIT, IBM dan DEC. Kerberos didisain untuk medukung autentisasi dan enkripsi data pada lingkungan terdistribusi melalui modifikasi client atau server standard. Beberapa vendor sistem operasi telah memasukan Kerberos kedalam produknya. MIT sendiri menyediakan secara free banyak versi Unix yang telah di-Kerberizing. Bahkan bagi kepentingan porting ke sistem operasi atau perangkat lunak client-server yang belum mendukung Kerberos, MIT menyediakan source-code nya, juga secara free. Proyek Athena sendiri mengimplementasikan Kerberos pada banyak aplikasi seperti NFS, rlogin, email, dan sistem password. Secure RPC (Sun Microsystems) juga mengimplementasikan hal yang sama.
Ada beberapa hal yang perlu dipertimbangkan dalam implementasi Kerberos. Modifikasi perangkat lunak client dan server akan menyebabkan pembatasan pilihan aplikasi. Sayangnya juga tidak ada metoda alternatif sebagai pengganti modifikasi source-code (seperti dalam proxy yang membolehkan custom user procedure atau custom client software). Kemudian, umumnya orang juga sepakat untuk menyebut: “Kerberos relatif sulit diterapkan/ dikelola”.
Paket sistem autentisasi lain ditawarkan oleh TIS-FWTK: authentication-server. Server ini didisain secara modular, fleksibel sehingga mendukung banyak mekanisme autentisasi populer seperti sistem password reusable standard, S/Key, card SecurdID dari Security Dynamics (sistem dengan perangko-waktu), card SNK-004 Digital Pathways (sistem CR) serta kemudahan untuk pengintegrasian mekanisme baru.
Kembali kepada perbincangan diawal tulisan ini, kalau kepentingan utama kita adalah bagaimana menyiapkan ‘pertahanan’ bagi servis inbound non-anonymous, barangkali authentication-server adalah solusi yang patut dipertimbangkan. Mengapa? Bagaimana sistem ini bekerja? Tidak banyak ruang dalam tulisan ini untuk memuat semua diskusi kita tentang autentisasi, tapi ilustrasi penutup berikut akan memberikan sedikit gambaran bagi anda, peminat security jaringan, menyangkut authentication-server.

SUMBER:Tugas Manajemen Jarkom ;)

0 komentar:

 
Narendra Site Copyright © 2009 Blogger Template Designed by Bie Blogger Template