Sabtu, 19 Februari 2011

Meningkatkan Security Jaringan Komputer


Lalu lintas komunikasi data melalui Internet denganTCP/IP-nya telah menjadi suatu kekuatan telekomunikasi yang sangat besar. Tiapjam, menit, hingga detik, data-data elektronik yang berharga lalu lalang dalamInternet tersebut. Tentunya hal tersebut menggugah inspirasi orang-orangtertentu untuk mencoba mendapatkan data-data tersebut. Hal ini menjadi ancamanserius bagi sekuriti di Internet. Untuk itu, kita harus lebih waspada terhadapusaha-usaha yang mengancam integritas data yang kita miliki. Tulisan inimencoba memberikan alternatif sederhana kepada para pembaca yang hendakmemahami masalah sekuriti di Internet. Pada bagian akhir, terdapat sebuahdaftar singkat yang berisi tentang sumber-sumber dokumen maupun situs diInternet yang berkaitan dengan tulisan ini dan dapat dijadikan referensi untuklebih mendalami masalah sekuriti di Internet.
            Secaraumum, masalah sekuriti di Internet dapat dipandang dari dua sisi penting. Sisipertama adalah integritas data yang dikirimkan melalui jaringan Internet (kitasebut saja integritas pengiriman data) dan sisi berikutnya adalahtingkat sekuriti dalam jaringan komputer itu sendiri (kita sebut sekuritijaringan internal). Mari kita bahas satu-persatu dari sisi-sisitersebut.

Integritas Pengiriman Data
            Padasaat kita mengirimkan data melalui jaringan Internet, kita selalu ingin agardata yang kita kirimkan tersebut sampai di tujuan dengan selamat dan tidakmengalami campur tangan pihak lain. Syarat ini menjadi jauh lebih utama apabiladata yang kita kirimkan tergolong kategori data rahasia.
            Padasaat kita kirimkan, data tersebut akan melalui berbagai jenis komputer, router,atau gateway dan melintasi berbagai macam media fisik komunikasi. Kitamempertaruhkan integritas data kepada keanekaragaman di atas. Tentunya kitatidak mungkin memeriksa tingkat sekuriti di setiap hop/titik yangdilalui oleh data tersebut karena tingkat sebaran dan kepemilikan hopyang sangat beraneka ragam. Salah satu solusi yang dapat diterapkan adalah enkripsidata. Tujuan utama dari solusi ini adalah mencegah terjadinyacuri-dengar (eavesdropping) terhadap data yang kita kirimkan maupun yangkita terima. Jika seorang “eavesdropper” melakukan tindakan curi-dengar,ia akan memperoleh data-data yang terenkripsi saja sehingga tidak mencerminkanisi data yang sebenarnya.
            Prosesenkripsi data bisa diterapkan di lapisan (layer) tertentu dari protokolTCP/IP. Seperti yang telah diketahui, protocol TCP/IP memiliki 4 (empat)lapisan guna menunjang proses komunikasi data. Lapisan tersebut terdiri dari ApplicationLayer, Transport Layer, Internet Layer, Network Access Layer. Kita bisamenerapkan proses enkripsi di masing-masing lapisan tersebut. Masing-masingimplementasi dari lapisan-lapisan tersebut adalah sebagai berikut :

·        Network AccessLayer
            Bentuknyata dari lapisan ini adalah bagian hardware dari sebuah komputer. Bilakita akan menerapkan proses enkripsi di lapisan ini, maka kita harus mencariatau menciptakan hardware khusus yang menangani masalah enkripsi data.Beberapa lembaga penelitian telah mulai menggali lebih dalam kemungkinanpenciptaan hardware yang memiliki kemampuan enkripsi data yang lebihbaik.

 ·        Internet Layer
            Dalamprotokol TCP/IP, Internet layer diimplementasikan dalam InternetProtocol (IP). Protokol ini berbentuk software yang mengatur tentangpengalamatan dan proses routing. Protokol ini telah diberikan nilaitambah tersendiri untuk meningkatkan sekuriti data yang dikirimkannya. Nilaitambah tersebut masing-masing adalah Authentication Header dan EncapsulatingSecurity Payload.

Authentication Header (AH) adalah sebuah header tambahan yangbertujuan untuk memberikan jaminan atas syarat integritas data yang dikirimkandan syarat keaslian sumber pengirim beserta data yang dikirimkan (authentication).Header ini berada di posisi paling akhir dari header-header pada lapisanIP dan sebelum header Encapsulating Security Payload (ESP). AH juga bisamenjamin non-repudiation dari sebuah data apabila penerapan AHmenggunakan algoritma kriptografi tertentu. Non-repudiation adalahsyarat dimana pihak penerima bisa membuktikan bahwa pihak pengirim benar-benarmengirimkan data yang diterima pihak penerima meskipun pihak pengirim tidakmengakuinya. Informasi yang terkandung di dalam AH ini dihasilkan dariperhitungan seluruh bagian dari datagram IP (mulai dari header IP, headerprotokol di atas IP, hingga data aslinya). Bila pihak penerima menerimadatagram yang tidak otentik berdasarkan penilaian AH, datagram tersebut akandiabaikan. Mekanisme ini bisa digunakan untuk mencegah aksi-aksi IP spoofing.Aksi ini bertujuan agar penyusup bisa berpura-pura sebagai pihak pengirimdengan cara menebak datagram yang akan dikirimkan.

Encapsulating Security Payload (ESP) adalah sebuah mekanisme tambahan pada datagramIP yang bertujuan untuk meningkatkan confidentiality dan integritasdata. Confidentiality adalah suatu syarat dimana penerima mengetahuiarti yang sebenarnya dari data yang dikirimkan sedangkan pihak lain yang tidakdiharapkan tidak akan mengerti arti yang sebenarnya dari data yang dikirimkan.Hasil implementasi ESP ini adalah sebuah datagram IP yang bagian datanya telahterenkripsi. ESP diletakkan di posisi paling akhir dari serangkaian IP headerdan sebelum bagian pertama data. ESP memiliki header tersendiri yangdisebut ESP Header. Untuk modus paling aman, format ESP Header adalahawal dari header tersebut tidak dienkripsi sedangkan sisa header dan seluruhbagian data dienkripsi.

|<----     Tidak dienkripsi      ---->|<-----    Dienkripsi    ------>|
+------------+-------------------+------------+-----------------------+
| IP Header  | IP Header lainnya | ESP Header | data yangdienkripsi  |
+------------+-------------------+------------+-----------------------+


Bagian header yang tidak dienkripsi memberikanketerangan tentang cara mendekripsi dan memroses data yang dienkripsi tersebut.ESP dapat diterapkan pada setiap jenis transport layer (TCP, UDP) yangdigunakan. Mekanisme ini lebih banyak diterapkan untuk modus Tunnel.Modus Tunnel adalah sebuah modus pada pengiriman data yang lebih bersifatprivat dan khusus melalui jaringan Internet. Intranet adalah salah satupengguna modus Tunnel tersebut terutama Intranet yang digunakan untukmenghubungkan cabang-cabang yang tersebar di berbagai daerah.

·        TransportLayer
            Dalamkonsep TCP/IP, secara umum transport layer dibagi menjadi dua yaitu TransmissionControl Protocol (TCP) dan User Datagram Protocol (UDP). Padalapisan ini, belum begitu banyak mekanisme-mekanisme yang dikembangkan untukmenambahkan aspek sekuriti. TCP sendiri sudah memiliki rutin-rutin yang cukupkompleks dalam mengolah data yang ia terima.

·        ApplicationLayer
            Lapisanini adalah lapisan yang langsung berhubungan dengan user. Apa yang dilihat olehuser pada layar monitor komputer adalah tampilan dari Application Layertersebut.
            Teknik-teknikyang digunakan untuk mengenkripsi data pada lapisan aplikasi ini telah banyakberkembang dan mencapai hasil yang cukup memuaskan. Berbagai macam jenis algoritmaenkripsi telah dikembangkan dan beberapa di antaranya telah menjadi standarinternasional. Beberapa algoritma yang cukup terkenal adalah Data EncryptionStandard (DES), Triple-DES, RC2/RC4,  International Data Encryption Algorithm(IDEA) dan Skipjack. Algoritma DES dan IDEA telah banyak diterapkan di dunia sedangkan algoritma lainnyatelah dipatenkan. Dari algoritma-algoritma di atas, dibuatlah berbagai macamsoftware pengenkripsi. Salah satu yang terkenal dan bersifat shareware adalah PrettyGood Privacy (PGP).
            Penerapansoftware enkripsi pada Application layer bisa bermacam-macam. Salah satunya,kita bisa mengenkripsi isi dari eletronic mail yang kita buat sebelumkita kirimkan. Selain itu, kita juga bisa mengenkripsi file-file yang akan kitaberikan kepada orang lain melalui FTP. Pesan-pesan elektronik pun dapat kitaenkripsi terlebih dahulu sebelum kita kirimkan. Setelah sampai di tujuan,penerima dapat mendekripsi pada layer yang sama apa yang ia terimasehingga mencerminkan arti yang sebenarnya.
            Khususdalam HyperText Transfer Protocol (HTTP), telah dikembangkan berbagaimacam mekanisme pengamanan data yang ditransfer melalui protokol ini. ProtokolHTTP menjadi tulang punggung dalam World Wide Web (WWW) dan kita lebihsering melihatnya dalam bentuk homepage di situs-situs Internet.Beberapa perusahaan di dunia telah memanfaatkan WWW sebagai salah satu saranpenghubung kepada konsumen dan pelanggan mereka. Bahkan WWW telah puladigunakan sebagai penghubung antar bagian perusahaan mereka sendiri dalamteknologi Intranet. Untuk menjamin integritas data yang dikirimkan, para pakarkriptografi telah mengembangkan beberapa mekanisme enkripsi untuk protokoltersebut. Dua dari berbagai mekanisme yang ada di Internet adalah SecureHTTP(SHTTP) dan Secure Socket Layer (SSL). SSL dikembangkan oleh Netscapedan telah diimplementasikan di beberapa situs di Internet. Dengan adanyamekanisme-mekanisme ini, pengiriman nomor rekening, kata kunci rahasia, dandata-data rahasia lainnya bisa dilakukan di Internet dengan lebih aman.

Sekuriti Jaringan Internal
            Sisiselanjutnya adalah keamanan dari jaringan komputer internal. Pada saat kitamemutuskan untuk membangun sebuah jaringan komputer yang terhubung ke Internet,saat itu pula kita telah mengambil resiko untuk berhadapan denganancaman-ancaman penyusupan dan pengrusakan data dari Internet. Oleh karena itu,kita harus mempersiapkan jaringan komputer kita dengan sebaik mungkin untukmenghadapi serangan-serangan dan ancaman-ancaman tersebut.
            Masalahsekuriti jaringan internal ini meliputi beberapa aspek. Untuk mudahnya, masalahtersebut dapat dipecah menjadi dua bagian yaitu bagian software-hardware danbagian user. 

·        Bagiansoftware-hardware
            Dalammembangun sebuah jaringan komputer, kita memiliki kebebasan dalam merancang,baik dari struktur jaringan maupun konfigurasi hardware dan jenis program yangakan digunakan. Struktur jaringan yang akan direalisasikan dapat dirancangsedemikian rupa sehingga memiliki tingkat sekuriti yang tinggi. Sebagai contoh,kita bisa membuat sebuah jaringan perimeter atau lebih dikenal dengansebutan DeMilitary Zone (DMZ) yang memberikan layanan dan aksesseperlunya saja kepada Internet. Jaringan perimeter ini merupakan jaringan yanglangsung berhadapan dengan Internet setelah melalui sebuah router atau gateway.
Dari segi hardware, kitadapat menentukan spesifikasi hardware yang tepat sesuai kebutuhan dantugas yang akan diberikan kepada hardware tersebut. Sebagai contoh,untuk menjadi sebuah mail server yang menangani 100 buah mailing listatau lebih, tentunya kebutuhan akan jumlah memory/RAM dan swapmemory yang disediakan menjadi melonjak. Selain itu, bila terdapatusaha-usaha pengrusakan pada mail server tersebut dengan berbagai caraseperti mail bombing, setidak-tidaknya mail server kita masihbisa bertahan.
Pada bagian software, kitabisa menggunakan sistem operasi dan software-software yang telah dikenalkehandalannya. Hal ini bertujuan supaya sistem operasi maupun software yangkita gunakan mampu menahan gempuran atau serangan dari Internet dan tidaksampai merusak hardware. Selain itu, sebaiknya kita selalu menggunakansoftware-software keluaran terbaru. Untuk itu, kita harus lebih sering memantauperkembangan software yang kita gunakan tersebut.
Setelah kita memilih sistemoperasi dan software yang akan digunakan, kita harus mengkonfigurasi sistemoperasi dan software tersebut agar tidak memiliki hole-hole yang bisadieksplorasi oleh para penyusup dari Internet. Apabila kita tidak waspada, hole-holeyang sudah umum pun bisa muncul pada sistem jaringan komputer kita. Berikutini terdapat beberapa titik penting pada sistem operasi berbasis Unix yangperlu mendapat perhatian.

·        Perintah-perintahberawalan huruf  “r”
            Perintah-perintahberawalan huruf “r” (rlogin, rsh, rwho, dlsb) perlu ditinjau ulang dari segikebutuhan. Apabila kita tidak memerlukan fungsi-fungsi perintah di atas makakita matikan perintah-perintah tersebut. Jika kita memerlukannya, kita haruslebih hati-hati dalam mengkonfigurasi file-file yang berhubungan dengan settingperintah-perintah tersebut. Untuk perintah-perintah tersebut, file konfigurasiyang penting adalah /etc/hosts.equiv.

·        File-filedengan suid
            Filedengan konfigurasi suid adalah file (umumnya berupa program) yangapabila dieksekusi akan memiliki hak setingkat dengan pemilik (owner)dari file tersebut. Sebagai contoh, perintah “chpass” termasuk jenisfile suid. Perintah “chpass” ini berguna untuk merubah data-datatentang user seperti: nama lengkap, alamat kantor, alamat rumah, dlsb. Padadasarnya, perintah “chpass” ini melakukan perubahan pada file yangberisi  user password  dari komputer tersebut. Oleh karena itu,perintah tersebut memerlukan konfigurasi suid root karena fileyang berisi user password hanya bisa diubah oleh root   sendiri atau memiliki hak akses setara denganroot. File-file dengan suid root harus dibatasi jumlahnyasesuai kebutuhan. Bila tidak, para penyusup bisa memanfaatkan kelemahan iniuntuk memperoleh hak akses setara root pula. Seringkali para penyusupmenyiapkan backdoor melalui file-file suid tersebut sehingga saatpenyusup ingin kembali masuk ke dalam sistem, ia bisa menggunakan backdoortersebut. Salah satu langkah penanggulangannya adalah dengan membuat daftarfile suid di saat setelah konfigurasi sistem operasi selesai danmelakukan pemeriksaan secara rutin yang kemudian dibandingkan dengan daftarfile pertama.

·        File &directory permission
            Padasaat mengkonfigurasi sistem operasi, file permission dan directorypermission sebaiknya ikut dikonfigurasi lebih lanjut selain konfigurasiawal yang telah disediakan dari pencipta sistem operasi tersebut. Batasi userhanya untuk bisa memiliki akses penuh pada home directory user tersebut.

·        Network FileSystem (NFS)
            NFSmemungkinkan kita membuat file system yang berada di komputer lainseolah-olah berada di komputer kita. Tetapi, apabila kita kurang hati-hatidalam mengkonfigurasi-nya, hal ini menjadi makanan empuk bagi para pengrusak.Kita harus memilih direktori mana saja yang perlu dibuat menjadi terbukaterhadap komputer lain. Hak akses juga harus menjadi perhatian sehingga kitadapat menempatkan file-file pada porsi yang sebenarnya. Perbaikan-perbaikan(patches) untuk NFS juga telah tersedia di Internet karena NFS memilikibeberapa titik kelemahan.

·        majordomo
            Majordomoadalah salah satu software yang menangani mailing list dan sudahtersebar sangat luas. Gunakan selalu majordomo versi di atas 1.91 karena versidi bawah 1.91 memiliki bugs yang cukup berbahaya.

·        Fingerd
            Utilitasini sudah cukup terkenal sebagai salah satu alat utama dalam Internet wormyang sempat melumpuhkan jaringan Internet di tahun 1988. Hingga saat ini,utilitas finger masih sering digunakan sebagai langkah awal memantausistem yang akan disusupi. Meskipun perbaikan-perbaikan terhadap bugyang ada di fingerd telah dilakukan, sebaiknya layanan ini ditutup untukakses dari luar sehingga perintah finger hanya bisa dilakukan sebatassistem atau komputer itu saja.

·        File/etc/inetd.conf
            File /etc/inetd.confini berisi konfigurasi service-service yang dijalankan oleh inetd.Sebaiknya file ini diatur pada mode 600 dan dimiliki oleh root. Selain itu,sebaiknya kita menutup layanan-layanan networking yang tidak kita perlukan.Konfigurasi awal dari instalasi sistem operasi seringkali membukalayanan-layanan networking yang tidak kita butuhkan.

·        Anonymous FTP
            AnonymousFTP disediakan bagi user umum untuk mendapatkan file-file yang kitapublikasikan. Hal yang perlu diperhatikan dari sudut pandang sekuriti adalahkonfigurasi hak akses yang diberikan pada direktori-direktori yang kitapublikasikan. Selain itu, selalu gunakan versi terbaru untuk FTP daemonyang kita gunakan. Versi FTP daemon yang sudah lama memiliki perintah-perintahjarak jauh untuk meletakkan file ataupun membaca file yang berada di direktoriselain direktori FTP tersebut.

·        SMTP Server
            SMTP serveradalah server yang bertugas mengatur penghantaran electronic mail daripengirim ke penerima. SMTP server yang sering digunakan adalah sendmail.Sendmail ini telah terkenal kehandalannya tetapi juga memiliki bugs yangbisa digunakan untuk mendapatkan hak akses setara root. Untukmeminimalkan resiko ini, selalu gunakan versi terbaru dari sendmail. Kita jugabisa menaikkan tingkat proses logging hingga tingkat/level 9. Padatingkat tersebut, sendmail logger akan mendeteksi usaha-usahaeksploitasi terhadap kelemahan sendmail.

·        HTTP Server /Web Server
            Baru-baruini, Web server merupakan salah satu titik eksploitasi yang paling terkenal.Dengan mengeksploitasi bugs yang ada di web server ini, para penyusupbisa mendapatkan hak akses setara root. Hal ini mengakibatkan data-data homepageyang ada di web server itu diacak-acak dan diganti sesuka hati penyusupnya.Untuk mencegah terjadinya hal ini, beberapa langkah pencegahan perlu diambil.Beberapa di antaranya yang cukup dominan:
·        Gunakan selaluHTTP daemon yang terbaru dan telah diketahui hingga saat ini belummemiliki bugs. Contoh: NCSA httpd versi 1.5.
·        Hilangkan script-scriptyang tidak perlu yang memerlukan akses ke file system. Umumnya, script-scripttersebut disebut dengan Common Gateway Interface (CGI) script.
·        Lakukankonfigurasi sebaik-baiknya terhadap CGI script yang kita perlukansebagai penghubung antara user dengan server.
·        Gunakan tapis (filter)untuk mendeteksi masukan-masukan yang diberikan oleh user terutama terhadapkarakter-karakter yang berpotensi untuk merusak seperti: \n \r ( . , / ; ~ ! )> | ^ & $ ` < %.

            Selaindari itu, kita bisa menggunakan software firewall untuk membatasi aksesdan melakukan pemantauan terhadap aliran transfer data. Software firewallada yang bersifat shareware dan komersial. Cara instalasi, penggunaan,dan konfigurasinya tidak dibahas pada tulisan ini karena topik tersebut cukupluas
            Dalamsuatu sistem yang terproteksi cukup ketat, seringkali kita tidak bisa mengakseskomputer kita dari jarak jauh. Untuk memenuhi kebutuhan tersebut tanpa harusmengorbankan tingkat sekuriti sistem, kita bisa menempuh dua cara. Cara pertamaadalah merubah program yang bertugas menerima akses langsung dari luar sehinggakita bisa memonitor, mencatat maupun membatasi akses yang diberikan. Contohprogram yang menerima akses langsung dari Internet adalah telnetd. Carakedua adalah dengan menyiapkan hardware khusus yang bertindak sebagai perantaraantara user dengan komputer.  Fungsi darihardware khusus ini tidak berbeda jauh dengan software yang diubah pada carapertama.

·        Bagian User
            Jikasisi software telah dikonfigurasi dengan baik, sisi user yang perlumendapat perhatian. Seringkali, user pada suatu sistem memilih kata passwordyang mudah ditebak. Penulis pernah mencoba beberapa password accountyang isinya mudah ditebak, antara lain: “Komputer”, “Memori”,  kombinasi nama user, nama perusahaanpenghasil meja komputer, merek monitor/keyboard/casing komputer,dlsb. Untuk itu, sebagai system administrator, kita perlu memberikanarahan dan anjuran kepada user untuk tidak menggunakan kata-kata yang mudahditebak sebagai password. Selain itu, jangan menuliskan passwordpada kertas atau benda apa pun. Walaupun dalam film “War Games” (sebuahfilm yang cukup terkenal di kalangan hacker di Amerika) telahditunjukkan akibat penulisan password tetapi masih saja terdapat useryang menuliskan password-nya. Tentunya sudah cukup banyak tips untukmembuat password yang baik. Jika dipandang perlu, konfigurasi passworduser bisa diatur agar user diharuskan memperbaharui password-nya secaraperiodik. Cara lain yang bisa dilakukan adalah menjalankan program yangberfungsi memecahkan kode password pada file password yang Andamiliki. Program semacam ini cukup banyak di Internet dan tersedia untukberbagai platform sistem operasi. Pada sistem operasi Unix, program yangcukup terkenal adalah Crack. Dengan menggunakan program ini, kita dapatmengetahui apakah user telah memilih password dengan baik.
                       
Langkah lain yang bisa kitalakukan adalah mencari dan mendapatkan software-software khusus yangberhubungan dengan masalah sekuriti. Contohnya antara lain: COPS (softwarepenganalisa kelemahan dalam password dan konfigurasi file), SATAN (softwarepenganalisa jarak jauh terhadap usaha-usaha penyusupan dari luar), TCP-Wrapper(software yang bertugas mencatat beberapa aktivitas transfer data),  Tripwire (mirip dengan TCP-Wrapper), dlsb.Dengan adanya software ini, kita bisa mengetahui hingga seberapa tinggi tingkatsekuriti sistem jaringan komputer kita.

Penanggulangan
            Jika  terjadi usaha-usaha penyusupan ke dalamsistem jaringan komputer, kita harus secepat mungkin menutup akses dari manausaha-usaha penyusupan tersebut. Beberapa ciri-ciri dasar dari usaha-usahapenyusupan adalah usaha login yang gagal terus-menerus, sumber daya komputeryang terserap habis akibat satu atau lebih layanan networking, munculnyafile-file aneh yang asal-usulnya tidak diketahui, jebolnya password daribeberapa user, dlsb. Bila penyusup telah berhasil memasuki sistem komputer kitadan bisa memperoleh hak akses setara root, bisa dipastikan sistem komputerkita sudah tidak aman. Mengapa? Karena pada umumnya penyusup telah membuat backdooryang cukup aman dan tersembunyi kecuali kita mengetahui setiap titik dari backdooryang dibuat oleh penyusup tersebut dan kita bisa memusnahkannya. Bila kitatidak bisa menemukan backdoor tersebut, jalan teraman adalah instalasiulang sistem operasi yang ada di komputer tersebut L.

            Sebagaisystem administrator yang baik, kita seharusnya selalu membaca logfile yang banyak dihasilkan oleh program-program yang dieksekusi dikomputer kita. Dengan membaca log file ini, kejadian-kejadian yang tidakdiinginkan dapat dideteksi lebih dini.

Tidak ada komentar:

Posting Komentar