FREEBSD
§ Sejarah
FreeBSD adalah sebuah UNIX-like operating system atau dapat diartikan sebagai sistem operasi yang seperti UNIX. FreeBSD dibuat dari source code UNIX original yang diproduksi oleh AT&T
tahun 1970. Pada zaman dahulu AT&T membutuhkan komputer yang sangat banyak agar bisnis mereka tetap jalan. Di lain pihak, saat itu AT&T dilarang menjalankan bisnis komputer. Jalan yang mereka ambil atas masalah tersebut adalah dengan menjual semua lisensi software dan source code mereka kepada beberapa universitas dengan harga yang murah. Sebagai akibatnya, banyak mahasiswa yang memanfaatkan peluang ini untuk mengetahui source code dan belajar mengenai cara kerja software tersebut. Tak kalah menariknya, AT&T-pun juga mendapat keuntungan dalam hal ini karena mereka mendapatkan programmer, patch, dan para scientist secara cuma-cuma untuk meningkatkan kualitas software mereka. Salah satu software buatan AT&T yang terkenal dalam lisensi ini adalah UNIX, yaitu UNIX yang pada zaman sekarang banyak digunakan dalam dunia ISP.
§ Network Address Translation (NAT)
Pada FreeBSD, mekanisme NAT (Network Address Translation) dijalankan oleh sebuah program Natd. Natd yang bekerja sebagai daemon, menyediakan solusi untuk permasalahan penghematan. Penghematan ini dilakukan 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 dapat memberikan konektivitas ke dunia luar tanpa menggunakan IP address legal dalam jaringan internal. Selain itu fasilitas Network Address Translation juga dapat digunakan dengan socket divert. Natd mampu mengubah semua paket yang ditujukan ke host lain sedemikian sehingga source IP addressnya berasal dari mesin Natd. Berdasarkan aturan, untuk setiap paket yang diubah harus dibuat tabel translasi untuk mencatat transaksi ini. Sehingga dengan menggunakan NAT, aturan tentang komunikasi yang harus menggunakan IP address legal dapat dilanggar. NAT bekerja dengan jalan mengubah IP-IP address ke satu atau lebih IP address lain. IP address yang diubah adalah IP address yang diberikan untuk tiap mesin dalam jaringan internal (bisa sembarang IP). IP address yang menjadi hasil konversi/ ubahan terletak di luar jaringan internal tersebut dan merupakan IP address legal yang valid/routable.
§ Cara Kerja NAT
Sebuah paket TCP terdiri dari header dan data. Header memiliki sejumlah field di dalamnya, salah satu field yang penting di sini adalah:
1. MAC (Media Access Control) address asal dan tujuan
2. IP address asal dan tujuan
3. nomor port asal dan tujuan
Cara kerja NAT dapat diperinci sebagai berikut:
1. 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).
2. Kemudian B menerima paket pada port 80 dan memilih nomor port balasan untuk digunakan sebagai nomor port asal menggantikan port 80 tadi.
3. 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.
4. Kemudian B mengirim paket itu kembali ke A.
5. 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.
6. 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.
7. Ketika paket balasan datang kembali, Natd mengecek nomor port tujuannya.
8. 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.
9. 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.
10. Lalu mengirim paket ini ke mesin di jaringan internal yang dituju. Natd memelihara isi tabel translasi selama koneksi masih terbuka.
§ Domain Name System (DNS)
Domain Name System (DNS) atau system nama domain adalah distribute database system yang digunakan untuk pencarian nama komputer (name resolution) di jaringan yang mengunakan TCP/IP (Transmission ControlProtocol/Internet Protocol). DNS biasa digunakan pada aplikasi yang terhubung ke Internet seperti web browser atau e-mail, dimana DNS membantu memetakan host name sebuah komputer ke
IP address. Selain digunakan di Internet, DNS juga dapat di implementasikan ke private network atau intranet dimana DNS memiliki keunggulan seperti:
1. Mudah
DNS sangat mudah karena user tidak lagi direpotkan untuk mengingat IP address sebuah komputer cukup host name (nama Komputer).
2. Konsisten
IP address sebuah komputer bisa berubah tapi host name tidakberubah.
3. Simple
user hanya menggunakan satu nama domain untuk mencari baik di Internet maupun di Intranet.
Struktur DNS
Domain Name Space merupakan sebuah hirarki pengelompokan domain berdasarkan nama, yang terbagi menjadi beberapa bagian diantaranya:
A. Root-Level Domains
Domain ditentukan berdasarkan tingkatan kemampuan yang ada di struktur hirarki yang disebut dengan level. Level paling atas di hirarki disebut dengan root domain. Root domain di ekspresikan berdasarkan periode dimana lambang untuk root domain adalah (“.”).
B. Top-Level Domains
Top level domain merupakan nama terakhir dari nama domain di Internet. Top level domain ini berupa deretan huruf setelah titik (dot) terakhir sebuah URL. Internet Assigned Number Authority ( IANA) menggolongkan top level domain menjadi 3 yaitu:
1. Country code top level domain (ccTLD) merupakan top level domain untuk suatu Negara atau wilayah teritorial tertentu, terdiri dari dua huruf, misalnya: .id untuk Indonesia dan .jp untuk Jepang
2. Generic top level domain(gTLD), terdiri atas minimal 3 huruf, digunakan oleh golongan/organisasi khusus, misalnya:
com Organisasi Komersial
edu Institusi pendidikan atau universitas
org Organisasi non-profit
net Networks (backbone Internet)
gov Organisasi pemerintah non militer
mil Organisasi pemerintah militer
num No telpon
arpa Reverse DNS
Hampir semua gTLD dapat diakses secara luas, kecuali .mil yang hanya terbatas untuk organisasi militer AS. Top level domainini juga dapat dibagi lagi menjadi beberapa kelas yaitu: Sponsored top level domain(sLTD) seperti .aero ; .coop ; .museum
Unsponsored top level domain (uTLD) seperti .biz ; .info ; .name dan .pro
3. Infrastructure top level domain, merupakan top level domain dari arpa
§ Web Server Dengan Apache
Saat ini web merupakan salah satu layanan informasi yang banyak diakses oleh pengguna internet di dunia. Sebagai salah satu layanan informasi maka perlu dibangun web yang mampu menangani permintaan dari banyak pengguna dengan baik tanpa meninggalkan aspek keamanannya. Masalah keamanan merupakan salah satu aspek yang penting dalam pembangunan web karena kelalaian dalam menangani keamanan web server dapat berakibat fatal. Apache merupakan salah satu distribusi web server yang popular dengan dukungan feature yang sangat banyak. Perhitungan statistik yang ada saat ini menunjukkan bahwa Apache menjadi web server yang paling banyak digunakan dalam dunia internet, yaitu mencapai nilai 60 % dari seluruh web server yang ada. Keberhasilan Apache mencapai kepopuleran saat ini selain dikarenakan memiliki banyak feature yang sering tidak dijumpai pada web server yang lain, juga dikarenakan Apache merupakan aplikasi gratis yang berjalan dalam berbagai sistem operasi. Ada beberapa aspek yang perlu diterapkan dalam mengamankan web server, antara lain :
1. Layanan web server dengan low previllages
2. Pengaturan akses terhadap web server
3. Meminimalkan layanan publik pada mesin yang menjalankan web server
4. Menyediakan filesystem khusus untuk layanan web server
§ QMAIL (mail server)
Qmail adalah MTA (Internet Mail Transfer Agent) yang aman, handal, dan sederhana. qmail merupakan alternatif sistem Sendmail-binmail yang terdapat pada UNIX. qmail menggunakan SMTP (Simple Mail Transfer Protocol) untuk bertukar pesan dengan MTA pada sistem lain. Dengan menggunakan qmail, terdapat beberapa keuntungan, antara lain :
1. Keamanan :
qmail dirancang dengan jaminan keamanan yang cukup tinggi dibandingkan dengan Sendmail. Hal ini merupakan kebutuhan mutlak karena mail delivery merupakan masalah yang kritis bagi user.
2. Kinerja :
qmail seperti pengantaran surat, dapat menyampaikan lebih dari 20 antaran secara simultan (sebagai default).
3. Keterandalan :
Pada saat qmail menerima sebuah pesan, dijamin pesan tersebut tidak akan hilang. qmail juga mendukung maildir, format mailbox baru yang bekerja dengan handal. Maildirs, tidak seperti mbox files dan mh folders, tidak akan hilang jika terjadi crashes pada sistem pada saat delivery. Selain itu, user dapat membaca suratnya pada NFS dengan aman, dan pada waktu yang sama, sejumlah klien NFS dapat mengirim surat kepada user tersebut.
4. Kesederhanaan :
Ukuran qmail lebih kecil dibandingkan jenis-jenis Internet MTA lainnya. MTA lainnya memiliki mekanisme forwarding, aliasing, dan mailing list yang terpisah. Sedangkan qmail memiliki sebuah mekanisme forwarding yang sederhana, yang memungkinkan user menangani mailing lists mereka. Qmail ditulis oleh Dan Berstein(DJB), seorang profesor matematika pada University of Illinois di Chicago. qmail pertama kali dikeluarkan dalam versi beta 0.70 pada tanggal 24 Januari 1996. Versi 1.0 dikeluarkan pada tanggal 20 Februari 1997. Versi yang terakhir adalah versi 1.03 yang dikeluarkan pada tanggal 15 Juni 1998. Rencananya, dalam waktu dekat, akan dikeluarkan versi 2.0. qmail mengikuti filosofi UNIX klasik, di mana masing-masing tool melaksanakan fungsi tunggal
dan fungsi kompleks yang terdefinisi dengan baik, yang dibangun dengan menyambungkan serangkaian tool menjadi sebuah “pipeline”. Sedangkan alternatifnya adalah dengan membangun tools yang lebih kompleks, yang menciptakan kembali fungsi- fungsi dari tools yang sederhana. Sebagai pengganti dari Sendmail, qmail mendukung host dan user masquerading, full host hiding, virtual domains, null clients, list-owner rewriting, relay control, doublebouncerecording, arbitrary RFC 822 address lists, cross-host mailing list loop detection,pre-recipient checkpointing, downed host backoffs, independent message retry schedules,dan lain- lain.