Rabu, 13 Februari 2008

setting DNS

Petunjuk Men-Set Mode Disable DNS pada Property Network



Untuk mengatasi masalah yang muncul dalam me-retrieve email, selain menseting DNS pada property koneksi, maka DNS pada Property Network harus pada mode DISABLE seperti petunjuk berikut ini :

1. Klik 2 kali icon My Computer, lalu klik 2 kali icon Control Panel. Akan muncul dialog-box seperti dibawah ini:

Control Panel



2. Klik 2 kali icon Network. Akan muncul dialog-box seperti dibawah ini:

Network Configurations



3. Pilih dan klik TCP/IP -> Dial-Up Adapter, Lalu klik Properties. Akan muncul dialog-box, lalu klik DNS Configuration dibagian atas.

DNS Configurations



4. Klik tombol di sebelah Disable DNS. Bila DNS anda sudah diset "disable" maka langsung lakukan langkah nomor 5.

5. Klik OK sampai kembali ke dialog-box Control Panel atau komputer perlu di-restart.

6. Selesai.

Bila masih ada yang kurang jelas, silahkan hubungi Technical Support kami di pesawat (021) 3863144



Minggu, 10 Februari 2008

firewall

BLATOW




FIREWALL
Ilustrasi mengenai Firewall
Ilustrasi mengenai Firewall

Firewall adalah sebuah sistem atau perangkat yang mengizinkan lalu lintas jaringan yang dianggap aman untuk melaluinya dan mencegah lalu lintas jaringan yang tidak aman. Umumnya, sebuah firewall diimplementasikan dalam sebuah mesin terdedikasi, yang berjalan pada pintu gerbang (gateway) antara jaringan lokal dan jaringan lainnya. Firewall umumnya juga digunakan untuk mengontrol akses terhadap siapa saja yang memiliki akses terhadap jaringan pribadi dari pihak luar. Saat ini, istilah firewall menjadi istilah generik yang merujuk pada sistem yang mengatur komunikasi antar dua jaringan yang berbeda. Mengingat saat ini banyak perusahaan yang memiliki akses ke Internet dan juga tentu saja jaringan korporat di dalamnya, maka perlindungan terhadap aset digital perusahaan tersebut dari serangan para hacker, pelaku spionase, ataupun pencuri data lainnya, menjadi esensial.

Jenis-jenis Firewall

Taksonomi Firewall
Taksonomi Firewall

Firewall terbagi menjadi dua jenis, yakni sebagai berikut:

Fungsi Firewall

Secara fundamental, firewall dapat melakukan hal-hal berikut:

  • Mengatur dan mengontrol lalu lintas jaringan
  • Melakukan autentikasi terhadap akses
  • Melindungi sumber daya dalam jaringan privat
  • Mencatat semua kejadian, dan melaporkan kepada administrator

Mengatur dan Mengontrol Lalu lintas jaringan

Fungsi pertama yang dapat dilakukan oleh firewall adalah firewall harus dapat mengatur dan mengontrol lalu lintas jaringan yang diizinkan untuk mengakses jaringan privat atau komputer yang dilindungi oleh firewall. Firewall melakukan hal yang demikian, dengan melakukan inspeksi terhadap paket-paket dan memantau koneksi yang sedang dibuat, lalu melakukan penapisan (filtering) terhadap koneksi berdasarkan hasil inspeksi paket dan koneksi tersebut.

Proses inspeksi Paket

Inspeksi paket ('packet inspection) merupakan proses yang dilakukan oleh firewall untuk 'menghadang' dan memproses data dalam sebuah paket untuk menentukan bahwa paket tersebut diizinkan atau ditolak, berdasarkan kebijakan akses (access policy) yang diterapkan oleh seorang administrator. Firewall, sebelum menentukan keputusan apakah hendak menolak atau menerima komunikasi dari luar, ia harus melakukan inspeksi terhadap setiap paket (baik yang masuk ataupun yang keluar) di setiap antarmuka dan membandingkannya dengan daftar kebijakan akses. Inspeksi paket dapat dilakukan dengan melihat elemen-elemen berikut, ketika menentukan apakah hendak menolak atau menerima komunikasi:

  • Alamat IP dari komputer sumber
  • Port sumber pada komputer sumber
  • Alamat IP dari komputer tujuan
  • Port tujuan data pada komputer tujuan
  • Protokol IP
  • Informasi header-header yang disimpan dalam paket

Koneksi dan Keadaan Koneksi

Agar dua host TCP/IP dapat saling berkomunikasi, mereka harus saling membuat koneksi antara satu dengan lainnya. Koneksi ini memiliki dua tujuan:

  1. Komputer dapat menggunakan koneksi tersebut untuk mengidentifikasikan dirinya kepada komputer lain, yang meyakinkan bahwa sistem lain yang tidak membuat koneksi tidak dapat mengirimkan data ke komputer tersebut. Firewall juga dapat menggunakan informasi koneksi untuk menentukan koneksi apa yang diizinkan oleh kebijakan akses dan menggunakannya untuk menentukan apakah paket data tersebut akan diterima atau ditolak.
  2. Koneksi digunakan untuk menentukan bagaimana cara dua host tersebut akan berkomunikasi antara satu dengan yang lainnya (apakah dengan menggunakan koneksi connection-oriented, atau connectionless).
Ilustrasi mengenai percakapan antara dua buah host
Ilustrasi mengenai percakapan antara dua buah host

Kedua tujuan tersebut dapat digunakan untuk menentukan keadaan koneksi antara dua host tersebut, seperti halnya cara manusia bercakap-cakap. Jika Amir bertanya kepada Aminah mengenai sesuatu, maka Aminah akan meresponsnya dengan jawaban yang sesuai dengan pertanyaan yang diajukan oleh Amir; Pada saat Amir melontarkan pertanyaannya kepada Aminah, keadaan percakapan tersebut adalah Amir menunggu respons dari Aminah. Komunikasi di jaringan juga mengikuti cara yang sama untuk memantau keadaan percakapan komunikasi yang terjadi.

Firewall dapat memantau informasi keadaan koneksi untuk menentukan apakah ia hendak mengizinkan lalu lintas jaringan. Umumnya hal ini dilakukan dengan memelihara sebuah tabel keadaan koneksi (dalam istilah firewall: state table) yang memantau keadaan semua komunikasi yang melewati firewall. Dengan memantau keadaan koneksi ini, firewall dapat menentukan apakah data yang melewati firewall sedang "ditunggu" oleh host yang dituju, dan jika ya, aka mengizinkannya. Jika data yang melewati firewall tidak cocok dengan keadaan koneksi yang didefinisikan oleh tabel keadaan koneksi, maka data tersebut akan ditolak. Hal ini umumnya disebut sebagai Stateful Inspection.

Stateful Packet Inspection

Ketika sebuah firewall menggabungkan stateful inspection dengan packet inspection, maka firewall tersebut dinamakan dengan Stateful Packet Inspection (SPI). SPI merupakan proses inspeksi paket yang tidak dilakukan dengan menggunakan struktur paket dan data yang terkandung dalam paket, tapi juga pada keadaan apa host-host yang saling berkomunikasi tersebut berada. SPI mengizinkan firewall untuk melakukan penapisan tidak hanya berdasarkan isi paket tersebut, tapi juga berdasarkan koneksi atau keadaan koneksi, sehingga dapat mengakibatkan firewall memiliki kemampuan yang lebih fleksibel, mudah diatur, dan memiliki skalabilitas dalam hal penapisan yang tinggi.

Salah satu keunggulan dari SPI dibandingkan dengan inspeksi paket biasa adalah bahwa ketika sebuah koneksi telah dikenali dan diizinkan (tentu saja setelah dilakukan inspeksi), umumnya sebuah kebijakan (policy) tidak dibutuhkan untuk mengizinkan komunikasi balasan karena firewall tahu respons apa yang diharapkan akan diterima. Hal ini memungkinkan inspeksi terhadap data dan perintah yang terkandung dalam sebuah paket data untuk menentukan apakah sebuah koneksi diizinkan atau tidak, lalu firewall akan secara otomatis memantau keadaan percakapan dan secara dinamis mengizinkan lalu lintas yang sesuai dengan keadaan. Ini merupakan peningkatan yang cukup signifikan jika dibandingkan dengan firewall dengan inspeksi paket biasa. Apalagi, proses ini diselesaikan tanpa adanya kebutuhan untuk mendefinisikan sebuah kebijakan untuk mengizinkan respons dan komunikasi selanjutnya. Kebanyakan firewall modern telah mendukung fungsi ini.

Melakukan autentikasi terhadap akses

Fungsi fundamental firewall yang kedua adalah firewall dapat melakukan autentikasi terhadap akses.

Protokol TCP/IP dibangun dengan premis bahwa protokol tersebut mendukung komunikasi yang terbuka. Jika dua host saling mengetahui alamat IP satu sama lainnya, maka mereka diizinkan untuk saling berkomunikasi. Pada awal-awal perkembangan Internet, hal ini boleh dianggap sebagai suatu berkah. Tapi saat ini, di saat semakin banyak yang terhubung ke Internet, mungkin kita tidak mau siapa saja yang dapat berkomunikasi dengan sistem yang kita miliki. Karenanya, firewall dilengkapi dengan fungsi autentikasi dengan menggunakan beberapa mekanisme autentikasi, sebagai berikut:

  • Firewall dapat meminta input dari pengguna mengenai nama pengguna (user name) serta kata kunci (password). Metode ini sering disebut sebagai extended authentication atau xauth. Menggunakan xauth pengguna yang mencoba untuk membuat sebuah koneksi akan diminta input mengenai nama dan kata kuncinya sebelum akhirnya diizinkan oleh firewall. Umumnya, setelah koneksi diizinkan oleh kebijakan keamanan dalam firewall, firewall pun tidak perlu lagi mengisikan input password dan namanya, kecuali jika koneksi terputus dan pengguna mencoba menghubungkan dirinya kembali.
  • Metode kedua adalah dengan menggunakan sertifikat digital dan kunci publik. Keunggulan metode ini dibandingkan dengan metode pertama adalah proses autentikasi dapat terjadi tanpa intervensi pengguna. Selain itu, metode ini lebih cepat dalam rangka melakukan proses autentikasi. Meskipun demikian, metode ini lebih rumit implementasinya karena membutuhkan banyak komponen seperti halnya implementasi infrastruktur kunci publik.
  • Metode selanjutnya adalah dengan menggunakan Pre-Shared Key (PSK) atau kunci yang telah diberitahu kepada pengguna. Jika dibandingkan dengan sertifikat digital, PSK lebih mudah diimplenentasikan karena lebih sederhana, tetapi PSK juga mengizinkan proses autentikasi terjadi tanpa intervensi pengguna. Dengan menggunakan PSK, setiap host akan diberikan sebuah kunci yang telah ditentukan sebelumnya yang kemudian digunakan untuk proses autentikasi. Kelemahan metode ini adalah kunci PSK jarang sekali diperbarui dan banyak organisasi sering sekali menggunakan kunci yang sama untuk melakukan koneksi terhadap host-host yang berada pada jarak jauh, sehingga hal ini sama saja meruntuhkan proses autentikasi. Agar tercapai sebuah derajat keamanan yang tinggi, umumnya beberapa organisasi juga menggunakan gabungan antara metode PSK dengan xauth atau PSK dengan sertifikat digital.

Dengan mengimplementasikan proses autentikasi, firewall dapat menjamin bahwa koneksi dapat diizinkan atau tidak. Meskipun jika paket telah diizinkan dengan menggunakan inspeksi paket (PI) atau berdasarkan keadaan koneksi (SPI), jika host tersebut tidak lolos proses autentikasi, paket tersebut akan dibuang.

Melindungi sumber daya dalam jaringan privat

Salah satu tugas firewall adalah melindungi sumber daya dari ancaman yang mungkin datang. Proteksi ini dapat diperoleh dengan menggunakan beberapa peraturan pengaturan akses (access control), penggunaan SPI, application proxy, atau kombinasi dari semuanya untuk mencegah host yang dilindungi dapat diakses oleh host-host yang mencurigakan atau dari lalu lintas jaringan yang mencurigakan. Meskipun demikian, firewall bukanlah satu-satunya metode proteksi terhadap sumber daya, dan mempercayakan proteksi terhadap sumber daya dari ancaman terhadap firewall secara eksklusif adalah salah satu kesalahan fatal. Jika sebuah host yang menjalankan sistem operasi tertentu yang memiliki lubang keamanan yang belum ditambal dikoneksikan ke Internet, firewall mungkin tidak dapat mencegah dieksploitasinya host tersebut oleh host-host lainnya, khususnya jika exploit tersebut menggunakan lalu lintas yang oleh firewall telah diizinkan (dalam konfigurasinya). Sebagai contoh, jika sebuah packet-inspection firewall mengizinkan lalu lintas HTTP ke sebuah web server yang menjalankan sebuah layanan web yang memiliki lubang keamanan yang belum ditambal, maka seorang pengguna yang "iseng" dapat saja membuat exploit untuk meruntuhkan web server tersebut karena memang web server yang bersangkutan memiliki lubang keamanan yang belum ditambal. Dalam contoh ini, web server tersebut akhirnya mengakibatkan proteksi yang ditawarkan oleh firewall menjadi tidak berguna. Hal ini disebabkan oleh firewall yang tidak dapat membedakan antara request HTTP yang mencurigakan atau tidak. Apalagi, jika firewall yang digunakan bukan application proxy. Oleh karena itulah, sumber daya yang dilindungi haruslah dipelihara dengan melakukan penambalan terhadap lubang-lubang keamanan, selain tentunya dilindungi oleh firewall.


Mencatat semua kejadian, dan melaporkan kepada administrator

[Placeholder]

Cara Kerja Firewall

Packet-Filter Firewall

Contoh pengaturan akses (access control) yang diterapkan dalam firewall
Contoh pengaturan akses (access control) yang diterapkan dalam firewall

Pada bentuknya yang paling sederhana, sebuah firewall adalah sebuah router atau komputer yang dilengkapi dengan dua buah NIC (Network Interface Card, kartu antarmuka jaringan) yang mampu melakukan penapisan atau penyaringan terhadap paket-paket yang masuk. Perangkat jenis ini umumnya disebut dengan packet-filtering router.

Firewall jenis ini bekerja dengan cara membandingkan alamat sumber dari paket-paket tersebut dengan kebijakan pengontrolan akses yang terdaftar dalam Access Control List firewall, router tersebut akan mencoba memutuskan apakah hendak meneruskan paket yang masuk tersebut ke tujuannya atau menghentikannya. Pada bentuk yang lebih sederhana lagi, firewall hanya melakukan pengujian terhadap alamat IP atau nama domain yang menjadi sumber paket dan akan menentukan apakah hendak meneruskan atau menolak paket tersebut. Meskipun demikian, packet-filtering router tidak dapat digunakan untuk memberikan akses (atau menolaknya) dengan menggunakan basis hak-hak yang dimiliki oleh pengguna.

Cara kerja packet filter firewall
Cara kerja packet filter firewall

Packet-filtering router juga dapat dikonfigurasikan agar menghentikan beberapa jenis lalu lintas jaringan dan tentu saja mengizinkannya. Umumnya, hal ini dilakukan dengan mengaktifkan/menonaktifkan port TCP/IP dalam sistem firewall tersebut. Sebagai contoh, port 25 yang digunakan oleh [[|SMTP|Protokol SMTP]] (Simple Mail Transfer Protocol) umumnya dibiarkan terbuka oleh beberapa firewall untuk mengizinkan surat elektronik dari Internet masuk ke dalam jaringan privat, sementara port lainnya seperti port 23 yang digunakan oleh Protokol Telnet dapat dinonaktifkan untuk mencegah pengguna Internet untuk mengakses layanan yang terdapat dalam jaringan privat tersebut. Firewall juga dapat memberikan semacam pengecualian (exception) agar beberapa aplikasi dapat melewati firewall tersebut. Dengan menggunakan pendekatan ini, keamanan akan lebih kuat tapi memiliki kelemahan yang signifikan yakni kerumitan konfigurasi terhadap firewall: daftar Access Control List firewall akan membesar seiring dengan banyaknya alamat IP, nama domain, atau port yang dimasukkan ke dalamnya, selain tentunya juga exception yang diberlakukan.

Circuit Level Gateway

Cara kerja circuit level firewall
Cara kerja circuit level firewall

Firewall jenis lainnya adalah Circuit-Level Gateway, yang umumnya berupa komponen dalam sebuah proxy server. Firewall jenis ini beroperasi pada level yang lebih tinggi dalam model referensi tujuh lapis OSI (bekerja pada lapisan sesi/session layer) daripada Packet Filter Firewall. Modifikasi ini membuat firewall jenis ini berguna dalam rangka menyembunyikan informasi mengenai jaringan terproteksi, meskipun firewall ini tidak melakukan penyaringan terhadap paket-paket individual yang mengalir dalam koneksi.

Dengan menggunakan firewall jenis ini, koneksi yang terjadi antara pengguna dan jaringan pun disembunyikan dari pengguna. Pengguna akan dihadapkan secara langsung dengan firewall pada saat proses pembuatan koneksi dan firewall pun akan membentuk koneksi dengan sumber daya jaringan yang hendak diakses oleh pengguna setelah mengubah alamat IP dari paket yang ditransmisikan oleh dua belah pihak. Hal ini mengakibatkan terjadinya sebuah sirkuit virtual (virtual circuit) antara pengguna dan sumber daya jaringan yang ia akses.

Firewall ini dianggap lebih aman dibandingkan dengan Packet-Filtering Firewall, karena pengguna eksternal tidak dapat melihat alamat IP jaringan internal dalam paket-paket yang ia terima, melainkan alamat IP dari firewall. Protokol yang populer digunakan sebagai Circuit-Level Gateway adalah SOCKS v5.

Application Level Firewall

Application Level Firewall (disebut juga sebagai application proxy atau application level gateway)
Application Level Firewall (disebut juga sebagai application proxy atau application level gateway)

Firewall jenis lainnya adalah Application Level Gateway (atau Application-Level Firewall atau sering juga disebut sebagai Proxy Firewall), yang umumnya juga merupakan komponen dari sebuah proxy server. Firewall ini tidak mengizinkan paket yang datang untuk melewati firewall secara langsung. Tetapi, aplikasi proxy yang berjalan dalam komputer yang menjalankan firewall akan meneruskan permintaan tersebut kepada layanan yang tersedia dalam jaringan privat dan kemudian meneruskan respons dari permintaan tersebut kepada komputer yang membuat permintaan pertama kali yang terletak dalam jaringan publik yang tidak aman.

Umumnya, firewall jenis ini akan melakukan autentikasi terlebih dahulu terhadap pengguna sebelum mengizinkan pengguna tersebut untuk mengakses jaringan. Selain itu, firewall ini juga mengimplementasikan mekanisme auditing dan pencatatan (logging) sebagai bagian dari kebijakan keamanan yang diterapkannya. Application Level Firewall juga umumnya mengharuskan beberapa konfigurasi yang diberlakukan pada pengguna untuk mengizinkan mesin klien agar dapat berfungsi. Sebagai contoh, jika sebuah proxy FTP dikonfigurasikan di atas sebuah application layer gateway, proxy tersebut dapat dikonfigurasikan untuk mengizinlan beberapa perintah FTP, dan menolak beberapa perintah lainnya. Jenis ini paling sering diimplementasikan pada proxy SMTP sehingga mereka dapat menerima surat elektronik dari luar (tanpa menampakkan alamat e-mail internal), lalu meneruskan e-mail tersebut kepada e-mail server dalam jaringan. Tetapi, karena adanya pemrosesan yang lebih rumit, firewall jenis ini mengharuskan komputer yang dikonfigurasikan sebagai application gateway memiliki spesifikasi yang tinggi, dan tentu saja jauh lebih lambat dibandingkan dengan packet-filter firewall.

NAT Firewall

NAT (Network Address Translation) Firewall secara otomatis menyediakan proteksi terhadap sistem yang berada di balik firewall karena NAT Firewall hanya mengizinkan koneksi yang datang dari komputer-komputer yang berada di balik firewall. Tujuan dari NAT adalah untuk melakukan multiplexing terhadap lalu lintas dari jaringan internal untuk kemudian menyampaikannya kepada jaringan yang lebih luas (MAN, WAN atau Internet) seolah-olah paket tersebut datang dari sebuah alamat IP atau beberapa alamat IP. NAT Firewall membuat tabel dalam memori yang mengandung informasi mengenai koneksi yang dilihat oleh firewall. Tabel ini akan memetakan alamat jaringan internal ke alamat eksternal. Kemampuan untuk menaruh keseluruhan jaringan di belakang sebuah alamat IP didasarkan terhadap pemetaan terhadap port-port dalam NAT firewall.

Lihat juga: Network Address Translation

Stateful Firewall

Cara kerja stateful firewall
Cara kerja stateful firewall

Stateful Firewall merupakan sebuah firewall yang menggabungkan keunggulan yang ditawarkan oleh packet-filtering firewall, NAT Firewall, Circuit-Level Firewall dan Proxy Firewall dalam satu sistem. Stateful Firewall dapat melakukan filtering terhadap lalu lintas berdasarkan karakteristik paket, seperti halnya packet-filtering firewall, dan juga memiliki pengecekan terhadap sesi koneksi untuk meyakinkan bahwa sesi koneksi yang terbentuk tersebut diizinlan. Tidak seperti Proxy Firewall atau Circuit Level Firewall, Stateful Firewall umumnya didesain agar lebih transparan (seperti halnya packet-filtering firewall atau NAT firewall). Tetapi, stateful firewall juga mencakup beberapa aspek yang dimiliki oleh application level firewall, sebab ia juga melakukan inspeksi terhadap data yang datang dari lapisan aplikasi (application layer) dengan menggunakan layanan tertentu. Firewall ini hanya tersedia pada beberapa firewall kelas atas, semacam Cisco PIX. Karena menggabungkan keunggulan jenis-jenis firewall lainnya, stateful firewall menjadi lebih kompleks.

Virtual Firewall

Virtual Firewall adalah sebutan untuk beberapa firewall logis yang berada dalam sebuah perangkat fisik (komputer atau perangkat firewall lainnya). Pengaturan ini mengizinkan beberapa jaringan agar dapat diproteksi oleh sebuah firewall yang unik yang menjalankan kebijakan keamanan yang juga unik, cukup dengan menggunakan satu buah perangkat. Dengan menggunakan firewall jenis ini, sebuah ISP (Internet Service Provider) dapat menyediakan layanan firewall kepada para pelanggannya, sehingga mengamankan lalu lintas jaringan mereka, hanya dengan menggunakan satu buah perangkat. Hal ini jelas merupakan penghematan biaya yang signifikan, meski firewall jenis ini hanya tersedia pada firewall kelas atas, seperti Cisco PIX 535.

Transparent Firewall

Transparent Firewall (juga dikenal sebagai bridging firewall) bukanlah sebuah firewall yang murni, tetapi ia hanya berupa turunan dari stateful Firewall. Daripada firewall-firewall lainnya yang beroperasi pada lapisan IP ke atas, transparent firewall bekerja pada lapisan Data-Link Layer, dan kemudian ia memantau lapisan-lapisan yang ada di atasnya. Selain itu, transparent firewall juga dapat melakukan apa yang dapat dilakukan oleh packet-filtering firewall, seperti halnya stateful firewall dan tidak terlihat oleh pengguna (karena itulah, ia disebut sebagai Transparent Firewall).

Intinya, transparent firewall bekerja sebagai sebuah bridge yang bertugas untuk menyaring lalu lintas jaringan antara dua segmen jaringan. Dengan menggunakan transparent firewall, keamanan sebuah segmen jaringan pun dapat diperkuat, tanpa harus mengaplikasikan NAT Filter. Transparent Firewall menawarkan tiga buah keuntungan, yakni sebagai berikut:

  • Konfigurasi yang mudah (bahkan beberapa produk mengklaim sebagai "Zero Configuration"). Hal ini memang karena transparent firewall dihubungkan secara langsung dengan jaringan yang hendak diproteksinya, dengan memodifikasi sedikit atau tanpa memodifikasi konfigurasi firewall tersebut. Karena ia bekerja pada data-link layer, pengubahan alamat IP pun tidak dibutuhkan. Firewall juga dapat dikonfigurasikan untuk melakukan segmentasi terhadap sebuah subnet jaringan antara jaringan yang memiliki keamanan yang rendah dan keamanan yang tinggi atau dapat juga untuk melindungi sebuah host, jika memang diperlukan.
  • Kinerja yang tinggi. Hal ini disebabkan oleh firewall yang berjalan dalam lapisan data-link lebih sederhana dibandingkan dengan firewall yang berjalan dalam lapisan yang lebih tinggi. Karena bekerja lebih sederhana, maka kebutuhan pemrosesan pun lebih kecil dibandingkan dengan firewall yang berjalan pada lapisan yang tinggi, dan akhirnya performa yang ditunjukannya pun lebih tinggi.
  • Tidak terlihat oleh pengguna (stealth). Hal ini memang dikarenakan Transparent Firewall bekerja pada lapisan data-link, dan tidak membutuhkan alamat IP yang ditetapkan untuknya (kecuali untuk melakukan manajemen terhadapnya, jika memang jenisnya managed firewall). Karena itulah, transparent firewall tidak dapat terlihat oleh para penyerang. Karena tidak dapat diraih oleh penyerang (tidak memiliki alamat IP), penyerang pun tidak dapat menyerangnya.

Kamis, 07 Februari 2008

KERNEL

Kernel (ilmu komputer)

blatow

Langsung ke: navigasi, cari

Dalam ilmu komputer, kernel adalah suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem operasi. Tugasnya melayani bermacam program aplikasi untuk mengakses perangkat keras komputer secara aman.

Karena akses terhadap perangkat keras terbatas, sedangkan ada lebih dari satu program yang harus dilayani dalam waktu yang bersamaan, maka kernel juga bertugas untuk mengatur kapan dan berapa lama suatu program dapat menggunakan satu bagian perangkat keras tersebut. Hal tersebut dinamakan sebagai multiplexing.

Akses kepada perangkat keras secara langsung merupakan masalah yang kompleks, oleh karena itu kernel biasanya mengimplementasikan sekumpulan abstraksi hardware. Abstraksi-abstraksi tersebut merupakan sebuah cara untuk menyembunyikan kompleksitas, dan memungkinkan akses kepada perangkat keras menjadi mudah dan seragam. Sehingga abstraksi pada akhirnya memudahkan pekerjaan programer.

Untuk menjalankan sebuah komputer kita tidak harus menggunakan kernel sistem operasi. Sebuah program dapat saja langsung diload dan dijalankan diatas mesin 'telanjang' komputer, yaitu bilamana pembuat program ingin melakukan pekerjaannya tanpa bantuan abstraksi perangkat keras atau bantuan sistem operasi. Teknik ini digunakan oleh komputer generasi awal, sehingga bila kita ingin berpiindah dari satu program ke program lain, kita harus mereset dan meload kembali program-program tersebut.

Beberapa desain Kernel

Beberapa desain kernel sistem operasi
Beberapa desain kernel sistem operasi

Sebuah kernel sistem operasi tidak harus ada dan dibutuhkan untuk menjalankan sebuah komputer. Program dapat langsung dijalankan secara langsung di dalam sebuah mesin (contohnya adalah CMOS Setup) sehingga para pembuat program tersebut membuat program tanpa adanya dukungan dari sistem operasi atau hardware abstraction. Cara kerja seperti ini, adalah cara kerja yang digunakan pada zaman awal-awal dikembangkannya komputer (pada sekitar tahun 1950). Kerugian dari diterapkannya metode ini adalah pengguna harus melakukan reset ulang komputer tersebut dan memuatkan program lainnya untuk berpindah program, dari satu program ke program lainnya. Selanjutnya, para pembuat program tersebut membuat beberapa komponen program yang sengaja ditinggalkan di dalam komputer, seperti halnya loader atau debugger, atau dimuat dari dalam ROM (Read-Only Memory). Seiring dengan perkembangan zaman komputer yang mengalami akselerasi yang signifikan, metode ini selanjutnya membentuk apa yang disebut dengan kernel sistem operasi.

Selanjutnya, para arsitek sistem operasi mengembangkan kernel sistem operasi yang pada akhirnya terbagi menjadi empat bagian yang secara desain berbeda, sebagai berikut:

  • Monolithic Kernel. Monolithic kernel mengintegrasikan banyak fungsi di dalam kernel dan menyediakan lapisan abstraksi perangkat keras secara penuh terhadap perangkat keras yang berada di bawah sistem operasi.
  • Microkernel. Microkernel menyediakan sedikit saja dari abstraksi perangkat keras dan menggunakan aplikasi yang berjalan di atasnya—yang disebut dengan server—untuk melakukan beberapa fungsionalitas lainnya.
  • Hybrid kernel. Hybrid kernel adalah pendekatan desain microkernel yang dimodifikasi. Pada hybrid kernel, terdapat beberapa tambahan kode di dalam ruangan kernel untuk meningkatkan performanya.
  • Exokernel. Exokernel menyediakan hardware abstraction secara minimal, sehingga program dapat mengakses hardware secara langsung. Dalam pendekatan desain exokernel, library yang dimiliki oleh sistem operasi dapat melakukan abstraksi yang mirip dengan abstraksi yang dilakukan dalam desain monolithic kernel.

Monolithic Kernel

Pendekatan monolithic kernel didefinisikan sebagai sebuah antarmuka virtual yang berada pada tingkat tinggi di atas perangkat keras, dengan sekumpulan primitif atau system call untuk mengimplementasikan layanan-layanan sistem operasi, seperti halnya manajemen proses, konkurensi (concurrency), dan manajemen memori pada modul-modul kernel yang berjalan di dalam mode supervisor.

Meskipun jika setiap modul memiliki layanan operasi-operasi tersebut terpisah dari modul utama, integrasi kode yang terjadi di dalam monolithic kernel sangatlah kuat, dan karena semua modul berjalan di dalam address space yang sama, sebuah bug dalam salah satu modul dapat merusak keseluruhan sistem. Akan tetapi, ketika implementasi dilakukan dengan benar, integrasi komponen internal yang sangat kuat tersebut justru akan mengizinkan fitur-fitur yang dimiliki oleh sistem yang berada di bawahnya dieksploitasi secara efektif, sehingga membuat sistem operasi dengan monolithic kernel sangatlah efisien—meskipun sangat sulit dalam pembuatannya.

Pada sistem operasi modern yang menggunakan monolithic kernel, seperti halnya Linux, FreeBSD, Solaris, dan Microsoft Windows, dapat memuat modul-modul yang dapat dieksekusi pada saat kernel tersebut dijalankan sehingga mengizinkan ekstensi terhadap kemampuan kernel sesuai kebutuhan, dan tentu saja dapat membantu menjaga agar kode yang berjalan di dalam ruangan kernel (kernel-space) seminim mungkin.

Di bawah ini ada beberapa sistem operasi yang menggunakan Monolithic kernel:

[sunting] Microkernel

Pendekatan Microkernel berisi sebuah abstraksi yang sederhana terhadap hardware, dengan sekumpulan primitif atau system call yang dapat digunakan untuk membuat sebuah sistem operasi agar dapat berjalan, dengan layanan-layanan seperti manajemen thread, komunikasi antar address space, dan komunikasi antar proses. Layanan-layanan lainnya, yang biasanya disediakan oleh kernel, seperti halnya dukungan jaringan, pada pendekatan microkernel justru diimplementasikan di dalam ruangan pengguna (user-space), dan disebut dengan server.

Server adalah sebuah program, seperti halnya program lainnya. Server dapat mengizinkan sistem operasi agar dapat dimodifikasi hanya dengan menjalankan program atau menghentikannya. Sebagai contoh, untuk sebuah mesin yang kecil tanpa dukungan jaringan, server jaringan (istilah server di sini tidak dimaksudkan sebagai komputer pusat pengatur jaringan) tidak perlu dijalankan. Pada sistem operasi tradisional yang menggunakan monolithic kernel, hal ini dapat mengakibatkan pengguna harus melakukan rekompilasi terhadap kernel, yang tentu saja sulit untuk dilakukan oleh pengguna biasa yang awam.

Dalam teorinya, sistem operasi yang menggunakan microkernel disebut jauh lebih stabil dibandingkan dengan monolithic kernel, karena sebuah server yang gagal bekerja, tidak akan menyebabkan kernel menjadi tidak dapat berjalan, dan server tersebut akan dihentikan oleh kernel utama. Akan tetapi, dalam prakteknya, bagian dari system state dapat hilang oleh server yang gagal bekerja tersebut, dan biasanya untuk melakukan proses eksekusi aplikasi pun menjadi sulit, atau bahkan untuk menjalankan server-server lainnya.

Sistem operasi yang menggunakan microkernel umumnya secara dramatis memiliki kinerja di bawah kinerja sistem operasi yang menggunakan monolithic kernel. Hal ini disebabkan oleh adanya overhead yang terjadi akibat proses input/output dalam kernel yang ditujukan untuk mengganti konteks (context switch) untuk memindahkan data antara aplikasi dan server.

Beberapa sistem operasi yang menggunakan microkernel:

Hybrid Kernel

Hybrid kernel aslinya adalah microkernel yang memiliki kode yang tidak menunjukkan bahwa kernel tersebut adalah microkernel di dalam ruangan kernel-nya. Kode-kode tersebut ditaruh di dalam ruangan kernel agar dapat dieksekusi lebih cepat dibandingkan jika ditaruh di dalam ruangan user. Hal ini dilakukan oleh para arsitek sistem operasi sebagai solusi awal terhadap masalah yang terjadi di dalam microkernel: kinerja.

Beberapa orang banyak yang bingung dalam membedakan antara Hybrid kernel dan monolithic kernel yang dapat memuat modul kernel setelah proses booting, dan cenderung menyamakannya. Antara hybrid kernel dan monolithic kernel jelas berbeda. Hybrid kernel berarti bahwa konsep yang digunakannya diturunkan dari konsep desain monolithic kernel dan microkernel. Hybrid kernel juga memiliki secara spesifik memiliki teknologi pertukaran pesan (message passing) yang digunakan dalam microkernel, dan juga dapat memindahkan beberapa kode yang seharusnya bukan kode kernel ke dalam ruangan kode kernel karena alasan kinerja.

Di bawah ini adalah beberapa sistem operasi yang menggunakan Hybrid kernels:

Exokernel

Sebenarnya, Exokernel bukanlah pendekatan kernel sistem operasi yang umum—seperti halnya microkernel atau monolithic kernel yang populer, melainkan sebuah struktur sistem operasi yang disusun secara vertikal.

Ide di balik exokernel adalah untuk memaksa abstraksi yang dilakukan oleh developer sesedikit mungkin, sehingga membuat mereka dapat memiliki banyak keputusan tentang abstraksi hardware. Exokernel biasanya berbentuk sangat kecil, karena fungsionalitas yang dimilikinya hanya terbatas pada proteksi dan penggandaan sumber daya.

Kernel-kernel klasik yang populer seperti halnya monolithic dan microkernel melakukan abstraksi terhadap hardware dengan menyembunyikan semua sumber daya yang berada di bawah hardware abstraction layer atau di balik driver untuk hardware. Sebagai contoh, jika sistem operasi klasik yang berbasis kedua kernel telah mengalokasikan sebuah lokasi memori untuk sebuah hardware tertentu, maka hardware lainnya tidak akan dapat menggunakan lokasi memori tersebut kembali.

Exokernel mengizinkan akses terhadap hardware secara langsung pada tingkat yang rendah: aplikasi dan abstraksi dapat melakukan request sebuah alamat memori spesifik baik itu berupa lokasi alamat physical memory dan blok di dalam hard disk. Tugas kernel hanya memastikan bahwa sumber daya yang diminta itu sedang berada dalam keadaan kosong—belum digunakan oleh yang lainnya—dan tentu saja mengizinkan aplikasi untuk mengakses sumber daya tersebut. Akses hardware pada tingkat rendah ini mengizinkan para programmer untuk mengimplementasikan sebuah abstraksi yang dikhususkan untuk sebuah aplikasi tertentu, dan tentu saja mengeluarkan sesuatu yang tidak perlu dari kernel agar membuat kernel lebih kecil, dan tentu saja meningkatkan performa.

Exokernel biasanya menggunakan library yang disebut dengan libOS untuk melakukan abstraksi. libOS memungkinkan para pembuat aplikasi untuk menulis abstraksi yang berada pada level yang lebih tinggi, seperti halnya abstraksi yang dilakukan pada sistem operasi tradisional, dengan menggunakan cara-cara yang lebih fleksibel, karena aplikasi mungkin memiliki abstraksinya masing-masing. Secara teori, sebuah sistem operasi berbasis Exokernel dapat membuat sistem operasi yang berbeda seperti halnya Linux, UNIX, dan Windows dapat berjalan di atas sistem operasi tersebut.

Contoh implementasi kernel


Windows

Pada sistem operasi Windows, kernel ditangani oleh file kernel32.dll. Kernel ini menangani manajemen memori, operasi masukan / keluaran dan interrupt. Ketika boot Windows, kernel32.dll di-load ke dalam spasi protected memory sehingga spasi memorinya tidak digunakan oleh aplikasi lain. Apabila ada aplikasi yang mencoba mengambil spasi memori kernel32.dll, akan muncul pesan kesalahan "invalid page fault".

gateway

Network Address Translation (NAT): Cara lain menghemat IP Address


BLATOW


Laboratorium Sistem Informasi & Keputusan (LSIK)

Teknik Industri ITB

Tito@TI.ITB.ac.id

Misi awal Internet adalah sebagai jaringan komunikasi non-profit. Pada awalnya, Internet didesain tanpa memperhatikan dunia bisnis. Kemudian hal ini menjadi masalah sekarang dan di masa depan. Dengan semakin banyaknya penghuni Internet, baik pencari informasi maupun penyedia informasi, maka kebutuhan akan pengalamatan di Internet makin membengkak. Kebutuhan besar akan IP address biasanya terjadi di jaringan komputer perusahaan dan LAN-LAN di lembaga pendidikan.

IP address sebagai sarana pengalamatan di Internet semakin menjadi barang mewah dan ekslusif. Tidak sembarang orang sekarang ini bisa mendapatkan IP address yang valid dengan mudah. Oleh karena itulah dibutuhkan suatu mekanisme yang dapat menghemat IP address. Logika sederhana untuk penghematan IP address ialah dengan meng-share suatu nomor IP address valid ke beberapa client IP lainnya. Atau dengan kata lain beberapa komputer bisa mengakses Internet walau kita hanya memiliki satu IP address yang valid. Salah satu Mekanisme itu disediakan oleh Network Address Translation (NAT)

Beberapa Konsep Dasar

Sebelum kita membahas lebih lanjut ada baiknya kita urai kembali konsep-konsep dasar yang harus dipahami sebelum masuk ke NAT. Diantaranya adalah TCP/IP, Gateway/Router, dan Firewall.

TCP/IP

Protokol yang menjadi standar dan dipakai hampir oleh seluruh komunitas Internet adalah TCP/IP (Transmission Control Protocol/Internet Protocol). Agar komputer bisa berkomunikasi dengan komputer lainnya, maka menurut aturan TCP/IP, komputer tersebut harus memiliki suatu address yang unik. Alamat tersebut dinamakan IP address. IP Address memiliki format sbb: aaa.bbb.ccc.ddd. Contohnya: 167.205.19.33

Yang penting adalah bahwa untuk berkomunikasi di Internet, komputer harus memiliki IP address yang legal. Legal dalam hal ini artinya adalah bahwa alamat tersebut dikenali oleh semua router di dunia dan diketahui bahwa alamat tersebut tidak ada duplikatnya di tempat lain. IP address legal biasanya diperoleh dengan menghubungi InterNIC.

Suatu jaringan internal bisa saja menggunakan IP address sembarang. Namun untuk tersambung ke Internet, jaringan itu tetap harus menggunakan IP address legal. Jika masalah routing tidak dibereskan (tidak menggunakan IP address legal), maka saat sistem kita mengirim paket data ke sistem lain, sistem tujuan itu tidak akan bisa mengembalikan paket data tersebut, sehingga komunikasi tidak akan terjadi.

Dalam berkomunikasi di Internet/antar jaringan komputer dibutuhkan gateway/router sebagai jembatan yang menghubungkan simpul-simpul antar jaringan sehingga paket data bisa diantar sampai ke tujuan.

Gateway/Router

Gateway adalah komputer yang memiliki minimal 2 buah network interface untuk menghubungkan 2 buah jaringan atau lebih. Di Internet suatu alamat bisa ditempuh lewat gateway-gateway yang memberikan jalan/rute ke arah mana yang harus dilalui supaya paket data sampai ke tujuan. Kebanyakan gateway menjalankan routing daemon (program yang meng-update secara dinamis tabel routing). Karena itu gateway juga biasanya berfungsi sebagai router. Gateway/router bisa berbentuk Router box seperti yang di produksi Cisco, 3COM, dll atau bisa juga berupa komputer yang menjalankan Network Operating System plus routing daemon. Misalkan PC yang dipasang Unix FreeBSD dan menjalankan program Routed atau Gated. Namun dalam pemakaian Natd, routing daemon tidak perlu dijalankan, jadi cukup dipasang gateway saja.

Karena gateway/router mengatur lalu lintas paket data antar jaringan, maka di dalamnya bisa dipasangi mekanisme pembatasan atau pengamanan (filtering) paket-paket data. Mekanisme ini disebut Firewall.

Firewall

Sebenarnya Firewall adalah suatu program yang dijalankan di gateway/router yang bertugas memeriksa setiap paket data yang lewat kemudian membandingkannya dengan rule yang diterapkan dan akhirnya memutuskan apakah paket data tersebut boleh diteruskan atau ditolak. Tujuan dasarnya adalah sebagai security yang melindungi jaringan internal dari ancaman dari luar. Namun dalam tulisan ini Firewall digunakan sebagai basis untuk menjalankan Network Address Translation (NAT).

Dalam FreeBSD, program yang dijalankan sebagai Firewall adalah ipfw. Sebelum dapat menjalankan ipfw, kernel GENERIC harus dimodifikasi supaya mendukung fungsi firewall. Ipfw mengatur lalu lintas paket data berdasarkan IP asal, IP tujuan, nomor port, dan jenis protocol. Untuk menjalankan NAT, option IPDIVERT harus diaktifkan dalam kernel.

DIVERT (mekanisme diversi paket kernel)

Socket divert sebenarnya sama saja dengan socket IP biasa, kecuali bahwa socket divert bisa di bind ke port divert khusus lewat bind system call. IP address dalam bind tidak diperhatikan, hanya nomor port-nya yang diperhatikan. Sebuah socket divert yang dibind ke port divert akan menerima semua paket yang didiversikan pada port tersebut oleh mekanisme di kernel yang dijalankan oleh implementasi filtering dan program ipfw. Mekanisme ini yang dimanfaatkan nantinya oleh Network Address Translator.

Itulah beberapa bahasan awal yang akan mengantar kita ke pembahasan inti selanjutnya.

Network Address Translation (NAT)

Dalam FreeBSD, mekanisme Network Address Translation (NAT) dijalankan oleh program Natd yang bekerja sebagai daemon. Network Address Translation Daemon (Natd) menyediakan solusi untuk permasalahan penghematan ini dengan cara menyembunyikan IP address jaringan internal, dengan membuat paket yang di-generate di dalam terlihat seolah-olah dihasilkan dari mesin yang memiliki IP address legal. Natd memberikan konektivitas ke dunia luar tanpa harus menggunakan IP address legal dalam jaringan internal.

Natd menyediakan fasilitas Network Address Translation untuk digunakan dengan socket divert. Natd mengubah semua paket yang ditujukan ke host lain sedemikian sehingga source IP addressnya berasal dari mesin Natd. Untuk setiap paket yang diubah berdasarkan aturan ini, dibuat tabel translasi untuk mencatat transaksi ini.

Dengan NAT, aturan bahwa untuk berkomunikasi harus menggunakan IP address legal, dilanggar.NAT bekerja dengan jalan mengkonversikan IP-IP address ke satu atau lebih IP address lain. IP address yang dikonversi adalah IP address yang diberikan untuk tiap mesin dalam jaringan internal (bisa sembarang IP). IP address yang menjadi hasil konversi terletak di luar jaringan internal tersebut dan merupakan IP address legal yang valid/routable.

Mekanisme NAT

Sebuah paket TCP terdiri dari header dan data. Header memiliki sejumlah field di dalamnya, salah satu field yang penting di sini adalah MAC (Media Access Control) address asal dan tujuan, IP address asal dan tujuan, dan nomor port asal dan tujuan.

Saat mesin A menghubungi mesin B, header paket berisi IP A sebagai IP address asal dan IP B sebagai IP address tujuan. Header ini juga berisi nomor port asal (biasanya dipilih oleh mesin pengirim dari sekumpulan nomor port) dan nomor port tujuan yang spesifik, misalnya port 80 (untuk web).

Kemudian B menerima paket pada port 80 dan memilih nomor port balasan untuk digunakan sebagai nomor port asal menggantikan port 80 tadi. Mesin B lalu membalik IP address asal & tujuan dan nomor port asal & tujuan dalam header paket. Sehingga keadaan sekarang IP B adalah IP address asal dan IP A adalah IP address tujuan. Kemudian B mengirim paket itu kembali ke A. Selama session terbuka, paket data hilir mudik menggunakan nomor port yang dipilih.

Router (yang biasa – tanpa Natd) memodifikasi field MAC address asal & tujuan dalam header ketika me-route paket yang melewatinya. IP address, nomor port, dan nomor sequence asal & tujuan tidak disentuh sama sekali.

NAT juga bekerja atas dasar ini. Dimulai dengan membuat tabel translasi internal untuk semua IP address jaringan internal yang mengirim paket melewatinya. Lalu men-set tabel nomor port yang akan digunakan oleh IP address yang valid. Ketika paket dari jaringan internal dikirim ke Natd untuk disampaikan keluar, Natd melakukan hal-hal sebagai berikut:

1. Mencatat IP address dan port asal dalam tabel translasi

2. Menggantikan nomor IP asal paket dengan nomor IP dirinya yang valid

3. Menetapkan nomor port khusus untuk paket yang dikirim keluar, memasukkannya dalam tabel translasi dan menggantikan nomor port asal tersebut dengan nomor port khusus ini.

Ketika paket balasan datang kembali, Natd mengecek nomor port tujuannya. Jika ini cocok dengan nomor port yang khusus telah ditetapkan sebelumnya, maka dia akan melihat tabel translasi dan mencari mesin mana di jaringan internal yang sesuai. Setelah ditemukan, ia akan menulis kembali nomor port dan IP address tujuan dengan IP address dan nomor port asal yang asli yang digunakan dulu untuk memulai koneksi. Lalu mengirim paket ini ke mesin di jaringan internal yang dituju. Natd memelihara isi tabel translasi selama koneksi masih terbuka.

Gambar Contoh Mekanisme Natd

Perbedaan dengan sistem Proxy

Hampir mirip dengan NAT, suatu jaringan kecil dengan proxy bisa menempatkan beberapa mesin untuk mengakses web dibelakang sebuah mesin yang memiliki IP address valid. Ini juga merupakan langkah penghematan biaya dibanding harus menyewa beberapa account dari ISP dan memasang modem & sambungan telepon pada tiap mesin.

Namun demikian, proxy server ini tidak sesuai untuk jaringan yang lebih besar. Bagaimanapun, menambah hard disk dan RAM pada server proxy supaya proxy berjalan efisien tidak selalu dapat dilakukan (karena constraint biaya). Lagi pula, persentase web page yang bisa dilayani oleh cache proxy akan makin menurun sejalan dengan semakin menipisnya ruang kosong di hard disk, sehingga penggunaan cache proxy menjadi tidak lebih baik dari pada sambungan langsung. Tambahan lagi, tiap koneksi bersamaan akan meng-generate proses tambahan dalam proxy. Tiap proses ini harus menggunakan disk I/O channel yang sama, dan saat disk I/O channel jenuh, maka terjadilah bottle neck.

NAT menawarkan solusi yang lebih fleksibel dan scalable. NAT menghilangkan keharusan mengkonfigurasi proxy/sock dalam tiap client. NAT lebih cepat dan mampu menangani trafik network untuk beribu-ribu user secara simultan.

Selain itu, translasi alamat yang diterapkan dalam NAT, membuat para cracker di Internet tidak mungkin menyerang langsung sistem-sistem di dalam jaringan internal. Intruder harus menyerang dan memperoleh akses ke mesin NAT dulu sebelum menyiapkan serangan ke mesin-mesin di jaringan internal. Penting di ketahui bahwa, sementara dengan NAT jaringan internal terproteksi, namun untuk masalah security, tetap saja diperlukan paket filtering dan metoda pengamanan lainnya dalam mesin NAT.

Contoh Kasus Installasi Natd

Sebuah perusahaan kecil memiliki sejumlah komputer dan sambungan ke Internet. Komputer-komputer itu saat ini telah membentuk suatu LAN. Sambungan Internet-nya diasumskan berupa dedicated T1 link

Langkah-langkah yang harus dilakukan

1. Installasi FreeBSD

Sediakan satu komputer untuk dijadikan Gateway. Penulis menyarankan penggunaan FreeBSD RELEASE 2.2.6 (Natd hanya jalan di FreeBSD 2.2.1 ke atas), karena selain gratis juga requirement hardware-nya tidak terlalu boros. PC 486 dengan 16 MB memory dan HD 850 MB juga sudah cukup mewah.

Untuk mengetahui proses installasi FreeBSD, silahkan baca kembali tulisan-tulisan di Infokomputer sebelumnya dan manual FreeBSD sendiri.

2. Installasi Gateway

Pasang 2 network interface agar mesin ini menjadi gateway. Network Card (misal NE2000 atau 3COM) satu dihubungkan ke jaringan internal dan satu lagi untuk koneksi ke ISP. Misalnya dua-duanya NE2000 Compatible. maka nick untuk card yang menghadap ke dalam adalah ed0 dan untuk card yang menghadap keluar adalah ed1.

Pastikan juga option gateway = ”YES” tertulis dengan benar dalam file rc.conf. Atau bisa juga dengan mengetik perintah: sysctl -w net.inet.ip.forwarding=1

3. Installasi Firewall

Pasang IP firewall di mesin FreeBSD ini. Caranya adalah :

a. Edit kernel source di /usr/src/sys/i386/conf

Tambahkan option-option berikut ini pada file kernel.

options IPFIREWALL

options IPFIREWALL_VERBOSE

options “IPFIREWALL_VERBOSE_LIMIT=100”

options IPDIVERT

b. Compile kernel tersebut

c. Aktifkan firewall di rc.conf dengan menambahkan

firewall="YES"

firewall_type="OPEN"

3. Installasi Natd

Langkah-langkahnya adalah sbb:

a. Download source nya di ftp://ftp.suutari.iki.fi/pub/natd

b. Unzip dan untar archive tersebut dengan perintah

gzip -dc natd_1.12.tar.gz | tar -xvf -

c. Lakukan make dan make install di direktori yang dihasilkan. Ketikkan perintah berikut:

cd natd_1.12

make

make install

d. Edit startup file supaya Natd berjalan secara otomatis

Buat file natd.sh di /usr/local/etc/rc.d. Isi file tersebut adalah

#!/bin/sh

/sbin/ipfw -f flush

/sbin/ipfw add divert 13494 ip from any to any via ed0

/sbin/ipfw add pass all from 127.0.0.1 to 127.0.0.1

/sbin/ipfw add pass ip from any to any

/usr/local/sbin/natd -port 13494 -interface ed0

Arti dari file ini adalah:

v Hapuskan semua rule firewall

v Tambahkan feature divert di port 13494 (Anda bisa mengganti ini dengan port yang Anda inginkan) untuk mendiversi paket dari dan ke gateway lewat interface ed0

v Bolehkan semua paket lewat di atas local host

v Bolehkan semua paket IP lewat semua interface

v Jalankan Natd dengan menjadi daemon yang menunggu di port 13494 via interface ed0.

e. Reboot mesin FreeBSD-nya supaya setting bisa diaktifkan.

4. Konfigurasikan TCP/IP Client.

Jadikan nomor IP card ed0 di FreeBSD sebagai gateway dari tiap workstation, IP tiap-tiap work station harus berada dalam network yang sama dengan card ed0 yang ada di mesin gateway. Misal ed0 di-beri nomor IP 192.168.1.1 dan ed1 167.205.19.5, maka workstation diberi nomor IP 192.168.1.2 s/d 192.168.1.14 jika digunakan mask 16 atau 255.255.255.240. ed1 adalah interface yang memiliki IP address valid

Setelah semuanya langkah-langkah di atas dijalankan dengan baik maka, applikasi Internet di client siap dijalankan via NAT.

Untuk kasus lain misalnya sambungan ke Internet-nya menggunakan modem, maka mekanismenya sama saja, tinggal diganti interface di gateway yang menghadap keluar dengan interface modem (tun0) dan jalankan program ppp untuk men-dial ISP-nya. Khusus untuk dial-out, ppp sebenarnya memiliki mekanisme sendiri untuk kasus ini yaitu dengan option -alias. Jadi jika kita menjalankan ppp dengan option -alias maka kita tidak perlu menjalankan Natd, karena option ini menyediakan fasilitas yang sama dengan Natd khusus untuk dial-out.

Natd hanyalah salah satu cara untuk menghemat persediaan IP address yang semakin menipis. Dengan adanya fakta bahwa untuk bergabung ke Internet, host pencari informasi (Client) sebenarnya tidak perlu memiliki IP address legal, maka IP address legal tersebut bisa dicadangkan untuk host-host penyedia informasi (Server). Penelitian untuk terus memperbaiki performansi Internet ini masih terus dikembangkan. Sekarang ini juga sedang dikembangkan model IP versi baru yaitu IP versi 6 (IPv6), yang bisa menampung lebih banyak lagi komputer-komputer di Internet. Namun demikian untuk kondisi sekarang, Natd masih merupakan solusi ampuh sebelum IPv6 diterapkan.




Blogspot Template by Isnaini Dot Com Powered by Blogger and Job Search