Modul Network Service

65
Apa itu Server? Sekarang kita hidup dalam dunia teknologi informasi yang sudah semakin “matang”. Sudah umum terlihat dimana-mana orang mengantri di ATM, check-in tiket di Bandara, menggesek kartu kredit di swalayan, mengakses informasi di warung internet atau ber-video-call melalui ponsel ber- fitur teknologi 3G. Jika dilihat secara sekilas, kita sedang menikmati sebuah fasilitas sistem informasi yang sangat simpel, hidup, relatif terjangkau dan selalu terkoneksi (on-line). Selamat datang di era teknologi informasi ! Tapi yang perlu diketahui bahwa sesungguhnya dibalik fasilitas tersebut terdapat satu infrastruktur jaringan komputer (computer network) kompleks yang terhubung satu sama lain. Infrastruktur ini bertugas untuk mengatur transfer informasi yang “ruwet” yang tersebar secara luas itu, lalu mengolah dan mengintegrasikannya menjadi satu fasilitas yang kita gunakan sehari-hari tersebut. Sistem infrastruktur ini menggunakan perangkat berbasis komputer dalam jumlah yang cukup banyak, yang dihubungkan melalui satu jaringan telekomunikasi sehingga memungkinkan perangkat tersebut berkomunikasi. Ujungnya, infrastruktur ini akan diolah, diatur dan diawasi oleh sebuah komputer induk, yang disebut sebagai SERVER. Jadi server adalah sebuah terminal akhir yang mengkoordinasikan semua akivitas yang terjadi pada sistem infrastruktur tersebut. dalam dunia komputer, Server sejatinya merupakan salah satu varian komputer, selain PC Desktop, Workstation, Notebook (Laptop) dan Consumer Electronics Computer yang akan kita bahas selanjutnya. Bagaimana persisnya Server itu ? Secara harfiah, server merupakan komputer yang berfungsi untuk mengatur atau menjadi koordinator pada sistem jaringan komputer. Intinya, Server merupakan induk dari semua komputer yang terhubung.Server bertugas menangani penyimpanan, pengolahan, pendistibusian data secara terpusat, juga sebagai pusat aplikasi bersama shared serta pintu gerbang menuju internet (gateway). Misalnya : pada sebuah Warung Internet (warnet) yang menghubungkan banyak terminal komputer (PC Client) selalu tersedia minimal satu server yang berfungsi sebagai Gateway Computer. Gatewayadalah server yang menghubungkan masing-masing PC klien dengan internet. 1

Transcript of Modul Network Service

Apa itu Server?

Sekarang kita hidup dalam dunia teknologi informasi yang sudah semakin “matang”. Sudah umum terlihat dimana-mana orang mengantri di ATM, check-in tiket di Bandara, menggesek kartu kredit di swalayan, mengakses informasi di warung internet atau ber-video-call melalui ponsel ber-fitur teknologi 3G. Jika dilihat secara sekilas, kita sedang menikmati sebuah fasilitas sistem informasi yang sangat simpel, hidup, relatif terjangkau dan selalu terkoneksi (on-line). Selamat datang di era teknologi informasi !

Tapi yang perlu diketahui bahwa sesungguhnya dibalik fasilitas tersebut terdapat satu infrastruktur jaringan komputer (computer network) kompleks yang terhubung satu sama lain. Infrastruktur ini bertugas untuk mengatur transfer informasi yang “ruwet” yang tersebar secara luas itu, lalu mengolah dan mengintegrasikannya menjadi satu fasilitas yang kita gunakan sehari-hari tersebut. Sistem infrastruktur ini menggunakan perangkat berbasis komputer dalam jumlah yang cukup banyak, yang dihubungkan melalui satu jaringan telekomunikasi sehingga memungkinkan perangkat tersebut berkomunikasi. Ujungnya, infrastruktur ini akan diolah, diatur dan diawasi oleh sebuah komputer induk, yang disebut sebagai SERVER. Jadi server adalah sebuah terminal akhir yang mengkoordinasikan semua akivitas yang terjadi pada sistem infrastruktur tersebut. dalam dunia komputer, Server sejatinya merupakan salah satu varian komputer, selain PC Desktop, Workstation, Notebook (Laptop) dan Consumer Electronics Computer yang akan kita bahas selanjutnya.

Bagaimana persisnya Server itu ?

Secara harfiah, server merupakan komputer yang berfungsi untuk mengatur atau menjadi koordinator pada sistem jaringan komputer. Intinya, Server merupakan induk dari semua komputer yang terhubung.Server bertugas menangani penyimpanan, pengolahan, pendistibusian data secara terpusat, juga sebagai pusat aplikasi bersama shared serta pintu gerbang menuju internet (gateway).

Misalnya : pada sebuah Warung Internet (warnet) yang menghubungkan banyak terminal komputer (PC Client) selalu tersedia minimal satu server yang berfungsi sebagai Gateway Computer. Gatewayadalah server yang menghubungkan masing-masing PC klien dengan internet.

1

Server pasti tersedia pada setiap infrastruktur sistem informasi, seperti jaringan Warung Internet (Warnet), perkantoran, Game On-line, Internet Service Provider (ISP), Universitas, Anjungan Tunai Mandiri (ATM), dan lain sebagainya. Selain itu, saat ini diberbagai tempat seperti Mal dan Airport sudah tersedia fasilitas koneksi internet nirkabel berbasiskan teknologi Wireless Fidelity (atau kita sebut sebagai “Hotspot”), seperti di Mal atau Airport. Ketika kita terkoneksi menggunakan Laptop dan browsing suatu situs, sesungguhnya ada sebuah server yang menghubungkan kita ke internet.

Selain itu, masih banyak contoh-contoh lain disekitar kita seperti, menelepon menggunakan HP, main game online, kasir di swalayan dan sebaganya.

Apa yang dimaksud dengan Client ?

Pada pengertian server, client (atau kadang disebut PC Client) adalah perangkat komputer yang terhubung dengan server. Analoginya adalah server itu adalah seorang Ibu sedangkan Client sendiri merupakan anak-anaknya. Client bisa berjumlah minimal satu komputer dan maksimal tidak terhingga. Client juga sering disebut sebagai Terminal atau Workstation (tapi bukan komputer workstation). Infrastruktur jaringan lokal (Local Area Network) pada dasarnya adalah sistem yang terjadi antara server dan client dalam skala tertentu.

Secara tradisional, client biasanya adalah sebuah PC Desktop. Tapi saat ini, sebuah client bisa merupakan sebuah Laptop, PDA, HP, Printer, Game Console dan lain-lain. Contohnya, sebuah Game Console seperti Sony Playstation 3 sudah dilengkapi dengan LAN Connector dan WiFi terintegrasi yang berarti dapat menjadi sebuah client.

Hubungan yang terjadi antara Server dan Client umumnya menggunakan dua tipe koneksi : Wire (menggunakan kabel) dan Wireless (tanpa kabel; nirkabel).

2

Contoh cara kerja sederhana sebuah Server

Perhatikan sebuah Warung Internet (Warnet) yang memiliki sekitar 10 unit atau lebih PC Desktop. Semua PC tersebut pasti terhubung melalui jalinan kabel LAN melalui sebuah perangkat Switch. Ketika kita mengakses internet dari salah satu PC, sebetulnya PC tersebut tidak terkoneksi internet secara langsung tapi dihubungkan oleh sebuah komputer induk yang disebut server. Server itulah yang melakukan koneksi ke internet melalui perangkat modem, lalu membagi koneksi tersebut pada komputer yang ada. Jadi tidak mungkin 30 unit PC dan harus terkoneksi satu-per-satu menggunakanmodem secara terpisah ! Selain mahal, akan susah mengontrolnya. Jadi disana server mengambil peranan sebagai gateway (gerbang penghubung) ke dunia internet dan distributor koneksi kemasing-masing komputer.

Pada kantor sebuah perusahaan umum menggunakan aplikasi ERP (Enterprise Resource Planning). ERP (seperti software SAP, ORACLE, JDEdward) merupakan sebuah aplikasi yang mengelola sumberdaya perusahaan secara terintegrasi, seperti stock gudang, manajemen keuangan, sales, purchasing, human resource, dan lain-lain sehingga manajemen puncak dapat mengakses berbagai informasi yang saling berkaitan dan seketika (real-time). ERP dijalankan oleh berbagai PC Desktop & notebook dibanyak divisi yang berbeda, yang jumlah bisa mencapai ratusan unit. Untuk mengelola sumberdaya ini, jelas membutuhkan sebuah “komputer induk” yang mendistribusikan berbagai informasi kesemua pihak yang membutuhkannya.

Mengapa Server berbeda dengan PC biasa ?

Server memiliki karakteristik khusus yang membedakannya dengan PC biasa. Tapi sebelumnya kita dapat melihat pembagian komputer berdsarkan fungsi & segmentasinya, menjadi lima bagian, yaitu PCDesktop, Notebook, Server, Workstation & Consumer Electronics. Lihat tabel dibawah :

3

Tabel Pembagian komputer berdasarkan fungsi & segmentasinya

Tabel Perbandingan kemampuan sebuah PC Desktop dan Server

Tabel Contoh perbandingan device antara PC Desktop dan Server

4

Server memiliki Karakter juga

Seperti hal-nya manusia, Server juga memiliki karakter tertentu yang membedakannya dengan komputer dan peralatan elektronik lain. Berikut merupakan karakter sebuah server :

Availability (Ketersediaan)

Availibility maksudnya adalah : sebuah server harus mampu selalu tersedia “melayani” user/client secara terus menerus, yang di-istilahkan dengan 24-jam x 7 hari seminggu. Server juga seharusnya hanya memiliki sedikit “Fault-Tolerant”, yaitu gangguan yang menyebabkan downtime (kegagalan sistem server). Jadi dapat disimpulkan karakter availibility merupakan kemampuan server untuk merespon segala hal permintaan user kapan-pun waktunya.

Fault-tolerant dan downtime merupakan istilah yang sering digunakan pada server. Keduanya memiliki rumus (formula) tertentu yang diartikan sebagai jumlah waktu beroperasi server selama satu tahun tanpa gangguan. Ini dapat dihitung menggunakan rumus “Percent Uptime”, yaitu jumlah angka sembilan pada nilai “percent uptime”. Contoh : Rata-rata sebuah server A memiliki percent uptime sebanyak 99,999% (memiliki total angka 9 sebanyak 5 buah) yang sama dengan 5,26 menit setahun. Artinya diasumsikan server tersebut mengalami gangguan berkisar 5,26 menit / tahun, dengan jumlah hari setahun adalah 365,25 hari.

Analogi : Pada mesin ATM 24-jam kita dapat melakukan berbagai transaksi perbankan yang kita butuhkan, seperti mengambil uang kontan, transfer, membayar tagihan dan lain-lain selama 24 jam. Mesin ATM tidak mengenal kata libur dan berhenti, asal dioperasikan dan dirawat dengan sebagai mana mestinya. Mesin ATM juga selalu diawasi terus menerus oleh operator khusus agar selalu “available”. Inilah yang disebut dengan “Availibility”.

Scalability (Ketercakupan)

Definisi scalability adalah : sebuah server harus dapat ditingkatkan kemampuannya, yaitu dari sisi performa, fungsi & penambahan jumlah klien. Scalability dibagi menjadi dua, yaitu :

• Scale-Up, yaitu kemampuan server untuk di-upgrade komponen & periferalnya (misal : Processor atau RAM) sehingga performa-nya secara keseluruhan akan meningkat dan waktu penggunaan (life-cyle) bisa lebih lama.

• Scale-Out, yaitu kemampuan unit server untuk ditambah (misal dari satu menjadi tiga unit) agar beban kerja pemrosesannya dapat dibagi rata dan lebih optimal. Misalnya : sebuah perusahaan membuat memisahkan fungsi web e-commerce pada server (Web Server) terpisah dari server database-nya. Salah satu implementasi dari Scale-Out adalah pada server rackmount dan blade system yang akan diterangkan selanjutnya.

Analogi :

• Bayangkan sebuah PC rakitan yang akan di-upgrade dengan HDD kapasitas lebih besar. Kemampuan PC tersebut untuk mengakomodasi HDD lebih dari satu unit dan kapasitas yang lebih besar berarti disebut “Scalability Scale-Up”

• Pada sebuah mainan Lego (balok bersusun), maka kita bisa menambah balok-balok baru dengan bentuk tertentu sehingga secara keseluruhan akan membuat lego model baru. Ini salah satu contoh dari “Scalability Scale-Out”.

5

Lebih Jauh Mengenai Availability

Availability merupakan salah satu karakter server yang terpenting. Untuk menjamin sebuah server agar tetap “available” melayani user, maka ada beberapa hal yang mesti diperhatikan, yaitu :

• Pastikan motherboard server mendukung sistem redundant, yaitu fitur yang dapat membackup diri-nya sendiri ketika terjadi masalah. Contoh fitur redundant seperti pada modul Power Supply Server. Ketika modul tersebut rusak yang akan menyebabkan pasokan daya terhenti, maka fungsinya digantikan oleh modul lain sebagai backup. Ini untuk menjamin server tetap mendapatkan daya dan bekerja sebagaimana mestinya.

• Pastikan server memiliki komponen multiple (jumlahnya lebih dari satu), terutama untuk Cooling Fan pendingin. Ini dimaksudkan agar ketika salah satu komponen cooling fan gagal berfungsi, maka sistem aliran suhu akan tetap terjaga melalui cooling fan lainnya.

• Pastikan sistem server juga mendukung instrument Hot Swap dan Hot Plug, yaitu peralatan yang dapat diganti (dicabut/pasang) tanpa perlu mematikan unit server.

• Pastikan server didukung oleh infrastruktur power supply yang baik, seperti adanya Stabilizer (Stavolt) dan UPS (Uninteruptable Power Supply). Stabilizer berfungsi untuk menstabilkan tegangan listrik yang masuk (voltage) dan UPS berfungsi untuk menyimpan tenaga listrik agar ketika terjadi pemadaman mendadak, server tetap mendapatkan pasokan daya.

• Pastikan sebuah server memiliki software manajemen yang dapat mengontrol seluruh aktivitas yang terjadi sehingga permasalahan data dideteksi dan ditangani lebih mudah.

Tabel Komponen dan fitur pendukung “Availability”

6

Selain itu, karakter availability juga ditunjang oleh tiga faktor utama (sub-karakter) :

• Serviceability (Penanganan Masalah) -Ketika mengalami masalah / gangguan, sebuah server haruslah dapat diperbaiki dengan cepat dan mudah agar dapat beroperasi kembali. Penanganan masalah dapat dilakukan dengan dukungan customer support profesional, penggantian suku-cadang, sistem internal server yang benar dan lain-lain. Ukuran yang sering dipakai pada serviceability adalah MTTR(Mean Time to Repair), yaitu waktu rata-rata server mengalami perbaikan dalam kurun waktu tertentu.

• Reliability (kehandalan) – Sebuah server haruslah memiliki kehandalan yang tinggi, mampu beroperasi non-stop 24-jam x 7-hari, tidak mengalami down-time (kerusakan atau kegagalan sistem), kompatibilitas tinggi terhadap software dan periferal pendukung eksternal, seperti Hub-Switch, Router, Access Point dan sebagainya.

Analogi : Bayangkan sebuah mobil Jeep yang mengarungi hutan dan sungai pada suatu lomba off-road. Umumnya mobil Jeep tahan banting, mampu bergerak di medan berair (sungai), tanjakan curam dan lubang besar. Kemampuan mobil Jeep pada kontur medan yang berat disebut sebagai “Reliability” (kehandalan). Ukuran yang sering dipakai pada reliability adalah MTTF (Mean Time to Failure), yaitu waktu rata-rata server mengalami kegagalan/kerusakan dalam kurun waktu tertentu.

• Manageability – Sebuah server harus mampu menangani berbagai elemen yang terkoneksi padanya, misalnya klien, sistem jaringan, koneksi internet dan sebagainya secara terintegrasi, termasuk menyediakan sistem trouble-shooting dan recovery yang memadai. Manageability merupakan salah satu tugas terpenting seorang Administrator Server dan Networking.

Analogi : Bayangkan sebuah kokpit pesawat terbang yang terdiri dari berbagai panel indikator dan tombol untuk menerbangkan pesawat. Seorang pilot bekerja hanya dengan menggerakkan lengan kemudi serta tombol-tombol yang tersedia untuk mengendalikan pesawat berbobot ratusan ton dengan kecepatan ratusan kilometer per-jam diatas udara. Itulah yang disebut Manageability.

Apakah sebuah Server begitu canggihnya hingga mampu mengerjakan segala hal ?

Sebetulnya tidak semua hal dilakukan oleh sebuah server tunggal. Mengikuti perkembangan dan tuntutan zaman yang semakin kompleks, maka konfigurasi dan fungsi server juga ikut berubah. Saat ini lazim dalam satu infrastruktur organisasi memiliki beragam server dengan fungsi yang lebih fokus dan terspesialisasi. Server-server ini juga dapat dikoneksikan secara parallel dan melayani satu institusi organisasi secara bersamaan.

Contoh server dengan fungsi terspesialisasi :

• Web Server (atau HTTP server) adalah server yang bertugas sebagai “wadah” atau didedikasikan pada sebuah konten web tertentu (misal : www.klikbca.com atau www.detik.com), sehingga user yang terkoneksi internet dapat mengakses berbagai konten informasi disana. Web Server digunakan pada sebuah situs yang memiliki hit tinggi (sering diakses), hingga diperlukan sebuah unit server terpisah (dedicated) agar “trafik akses” menjadi lancar. Perusahaan yang pengguna web server umumnya adalah Perbankan yang sudah menintegrasikan layanan internet (mobile banking), kantor berita online, penyedia email gratis berbasis web dan sebagainya.

• Database Server (pusat basis data) adalah server yang mengolah, menyimpan dan mendistribusikan berbagai data kompleks yang dihasilkan oleh berbagai sumber. Umumnya database server merupakan “wadah” dari sebuah aplikasi ERP. Dengan Database Server, lalu

7

lintas data tertata dengan baik, dapat diakses seketika (real-time), mengintegrasikan berbagai data berbeda dan lain-lain.Database Server digunakan oleh perusahaan dengan berbagai divisi dan cabang, perbankan, perpustakaan digital, dan sebagainya serta menggunakan sebuah software ERP/Database untuk mengintegrasikannya

• Application Server, merupakan server yang didekasikan untuk menjalankan berbagai aplikasi terpusat yang digunakan secara bersama-sama. Dengan server ini, maka setiap klien tidak perlu menginstal aplikasi tersebut di komputer masing-masing karena bisa dijalankan langsung melalui server. Server aplikasi biasanya digunakan pada perusahaan yang menjalankan aplikasi ERP.

• Storage server, merupakan server yang dirancang untuk menyimpan berbagai data dalam jumlah besar. Server ini diperlukan untuk membatasi duplikasi data didalam storage dan mengatur agar data dapat diakses bersama (shared). Storage server memiliki sejumlah hard disk dengan kapasitas besar, dan dikonfigurasi dalam mode RAID (Redundat Array Independent Disk) agar data lebih aman dan mudah diakses. Mengenai RAID akan dibahas lebih lanjut dibagian lain. Contoh storage server adalah sebuah NAS (Network Attached Storage) dan NDAS (Network Direct Attached Storage), seperti produk Intel NAS SS400-E, NAS SSR212MC2 atau NDAS NetDisk Ximeta.

• File Server (FTP Server) merupakan server yang menyediakan berbagai file-file yang diperlukan oleh klien, seperti Driver, Operating System, Office, Dokumen, dan lain-lain untuk di-instalasi pada masing-masing komputer. File tersebut dapat diakses melalui File Transfer Protocol via internet oleh masing-masing klien, sehingga menghemat ruang penyimpanan di PC Client.

• Communications Server berfungsi sebagai “koordinator” sistem jaringan telekomunikasi yang menangani berbagai aplikasi seperti suara (voice), data, gambar atau data yang diakses melalui handset tertentu, seperti HP dan PDA. Server tersebut umum digunakan oleh perusahaan penyedia jasa telekomunikasi (operator), VOIP (Voice Over Internet Protocol), dan sebagainya.

Selain tipe server diatas, masih banyak lagi varian server berdasarkan fungsinya, seperti Game Server, Proxy Server, Fax Server dan lain-lain. Bahkan sebuah koneksi peer-to-peer juga akan menggunakan salah satu PC sebagai server.

8

Apakah masing-masing server spesialis tersebut memerlukan konfigurasi hardware dan software tersendiri juga?

Tentu saja, setiap varian server memiliki karakteristik yang berbeda satu sama lain. Karakteristik tersebut meliputi konfigurasi hardware dan software yang digunakannya. Lihat tabel dibawah.

Tabel Rekomendasi kebutuhan Hardware terhadap spesialisasi server

Perlu diingat bahwa rekomendasi diatas hanyalah bersifat normatif, yang dihitung berdasarkan prakiraan kebutuhan server dengan performa standar

9

Apakah faktor pendukung sebuah Server itu ?

Server juga memiliki faktor-faktor pendukung baik internal maupun eksternal dalam pengoperasiannya, yang dapat berupa alat (tools), perangkat, software dan manusia penggunanya.

Faktor pendukung server :

• Server Merupakan unit server itu sendiri.• PC Clients (PC Desktop, Notebook, PDA, Smart-Phone, Console Game) – Merupakan

komputer user yang mengakses server untuk berbagai keperluan. Saat ini pengertian komputer klien tidak hanya PCDesktop, tapi juga bisa Notebook, PDA, Smart-Phone dan bahkan Console Game seperti Sony Playstation dan Microsoft Xbox yang telah menggunakan fitur ethernet dan wireless fidelity.

• Human Capital (Server Help-Desk, Network Engineer, Administrator, IT Auditor, IT Manager) - Merupakan sumberdaya manusia yang bekerja di balik pengoperasian server dan infrastruktur pendukungnya. Saat ini terdapat beragam profesi yang berkaitan dengan hal tersebut, seperti Server Help-Desk (bertugas untuk menangani berbagai masalah rutin yang terjadi pada server), Network Engineer (bertugas menangani masalah jaringan & koneksi), Administrator (bertugas mengatur berbagai kompleksitas sistem server dan jaringan), IT Auditor (bertugas sebagai pemeriksa sistem IT secara keseluruhan, apakah susah memenuhi syarat dan prosedur baku yang ditetapkan oleh perusahaan atau pemerintah), serta IT Manager (bertugas sebagai pimpinan kolektif semua sumberdaya IT yang ada). Mengikuti perkembangan teknologi dan kebutuhan, dimasa-masa yang akan datang tidak tertutup kemungkinan makin banyak profesi yang berhubungan dengan server serta pendukungnya.

• Sistem koneksi (Internet, Gateway) - Merupakan definisi koneksi yang terjadi antara server, klien dan internet. Pada sistem koneksi ini, server umumnya berfungsi sebagai gateway yaitu “pintu gerbang” yang menghubungkan PC klien dengan internet, lalu membagi koneksi ke setiap komputer klien (shared). Koneksi juga melibatkan software sistem operasi dan aplikasinya, yang bekerja sebagai penghubung antara pengguna (operator) dan perangkat tersebut.

• Sistem fisik jaringan (Ethernet Controller, Access Point, Hub-Switch, Router) - Merupakan tipe peralatan tambahan pada jaringan fisik yang membantu dalam pengoperasian server, seperti ethernetcontroller/card module (untuk koneksi LAN), Access Point (untuk koneksi wireless), Hub-Switch (untuk koneksi antara server dan klien), Router (untuk menajemen koneksi antara server dan internet) serta modem (untuk mengkoneksikan server dan internet).

10

• Suplai tenaga listrik (Power Supply, UPS, Stabilizer) - Merupakan peralatan yang berhubungan dengan pasokan daya. Daya adalah faktor yang sangat krusial pada server, sehingga perlu perhatian tersendiri. Pada chassis server, biasanya sudah tersedia device yang disebut sebagai power supply, dimana fungsinya adalah untuk mengkonversi daya listrik dari luar agar bisa digunakan pada platform server. Selain itu ada juga perangkat eksternal pendukung seperti UPS (Uninterruptable Power Supply) yang berfungsi menyimpan pasokan listrik agar ketika terjadi pemadaman server dapat tetap hidup dalam jangkau waktu tertentu. Direkomendasikan juga agar pada sistem server ditambahkan sebuah perangkat stabilizer untuk menjaga tegangan listrik tetap normal dan memperpanjang umur peralatan didalam server.

• Eksternal Storage (Removable disk, NDAS) - Merupakan perangkat tambahan untuk menyimpan berbagai data atau backup data. Sebetulnya data bisa saja tetap disimpan pada perangkat HDD server, tapi itu akan membuat ruang HDD akan “penuh sesak” dengan data berbagai sumber. Sebaiknya kita memilah-milah data tertentu berdasarkan kepentingannya : selain untuk menjaga agar kapasitas HDD internal tetap cukup, juga waktu akses tidak menjadi lambat akibat banyaknya data yang tidak ter-orgainisir. Selain itu juga diperlukan suatu mekanisme agar data-data didalam server juga di-duplikasi pada perangkat eksternal, untuk berjaga-jaga apabila server mengalami masalah yang serius kita tetap memiliki duplikasi data-nya. Untuk melakukan itu semua, kita memerlukan perangkat tambahan seperti eksternal storage yang berupa removable disk dan NetDisk (Network Direct Attached Storage).

• Security (Firewall, Anti Virus) - Merupakan fungsi “penjaga” agar data-data dan informasi didalam server tidak diakses, disalah-gunakan atau dirusak oleh orang luar. Untuk itu diperlukan fitur security yang handal, seperti Firewall berbasis Hardware dan Software. Firewall berfungsi sebagai “penahan” agar kegiatan negatif diatas dapat dicegah sebelum terjadi masalah. Selain itu juga diperlukan sebuah software Anti-Virus yang handal untuk mencegah berbagai virus menyerang server.

• Software (Operating System, Aplikasi & Driver) - Software ibarat “nyawa” dari sebuah server, yang memungkinkan server tersebut berfungsi sebagai mana mestinya. Hal terpenting pertama dari serveradalah Operating System yang digunakan, misalnya : Linux, UNIX dan lain sebagainya. Setelah itu dibutuhkan berbagai aplikasi pendukung, seperti Database, Internet Connection Sharing, Anti Virus, Office, Remote Server dan lain-lain. Dan terakhir adalah Driver, yaitu aplikasi penghubung berbagai perangkat didalam server dengan sistem operasi agar perangkat tersebut dapat dikenali dan bekerja sebagaimana mestinya.

11

Linux CentOS

CentOS singkatan dari Community ENTerprise Operating System (Sistem Operasi Perusahaan buatan Komunitas) adalah sistem operasi gratis yang dibuat dari source code Red Hat Enterprise Linux (RHEL). Proyek ini berupaya untuk 100% binari kompatibel dengan produk hulunya (RHEL). Dan tentu saja menggunakan paket RPM. Karena CentOS dikompile dari SRPM RHEL maka CentOS 100% kompatible dengan RHEL, isi dari CentOS hampir sama dengan RHEL. Lalu, apa bedanya? Bedanya pada CentOS semua atribute RHEL dibuang, misalnya README.TXT RHEL diganti menjadi README.TXT CentOS.

Red Hat Enterprise Linux tersedia hanya melalui layanan berlangganan berbayar yang menyediakan akses ke pembaruan perangkat lunak dan berbagai tingkat dukungan teknis. Produk ini sebagian besar terdiri dari paket perangkat lunak yang didistribusikan di bawah baik sebagai open source atau lisensi perangkat lunak bebas dan kode sumber untuk paket ini dibuat publik oleh Red Hat.

CentOS pengembang menggunakan kode sumber Red Hat untuk menciptakan produk akhir sangat mirip dengan Red Hat Enterprise Linux.Merek Red Hat dan logo yang berubah karena Red Hat tidak memungkinkan mereka untuk didistribusikan. CentOS tersedia gratis. Dukungan teknis terutama disediakan oleh masyarakat melalui milis resmi, forum web, dan chat room. Proyek ini tidak berafiliasi dengan Red Hat dan dengan demikian tidak menerima dukungan finansial atau logistik dari perusahaan, melainkan, Proyek CentOS bergantung pada sumbangan dari pengguna dan sponsor organisasi.

Nomor versi CentOS memiliki dua bagian, sebuah versi besar dan versi kecil. Nomor versi mayor dan minor masing-masing sesuai dengan versi utama dan memperbarui set Red Hat Enterprise Linux dari paket sumber yang digunakan untuk membangun CentOS diambil. Sebagai contoh, CentOS 4.4 dibangun dari paket source dari Red Hat Enterprise Linux 4 Update 4.

Sejak pertengahan 2006, dimulai dengan versi 4.4 (sebelumnya dikenal sebagai Red Hat Enterprise Linux 4.0 Update 4), Red Hat telah mengadopsi sebuah konvensi versi identik dengan CentOS, misalnya, Red Hat Enterprise Linux 4.

12

Installasi linux CentOS Server

1. persiapkan CD / DVD CentOS

2. Setting komputer agar booting pertama melalui Cd-room Ketika Centos sudah muncul, diketikkan ‘linux text’ pada bagian ‘boot’ supaya proses penginstalan berjalan secara console,

3. Maka akan muncul gambar seperti dibawah ini. Pilih ‘Skip’ untuk menghemat waktu Namun, apabila kondisi live CD kemungkinan besar dalam keadaan kurang bagus sebaiknya dipilih ‘OK’ agar CD dapat di test untuk kelancaran penginstalan.

13

4. Akan tampil welcome screen. Klik [OK]

5. Selanjutnya adalah memilih bahasa. Berikut ini dipilih bahasa Inggris agar lebih familier dengan istilah-istilahnya.

14

6. Kemudian ditanyakan tentang format keyboard, pilih us dan klik [OK]

7. Perintah ini untuk memastikan space yang kita alokasikan untuk Centos benar-benar kosong dan pilih [Yes] untuk memformat space tersebut.

15

8. Kemudian akan muncul pilihan tipe partisi yang diinginkan. Kita pilih ‘Remove linux partitions on selected drives and create default layout’ untuk memastikan tidak ada partisi jenis linux yang lain dalam satu drive yang sama. Sedangkan pilihan yang ke-2 adalah pilihan drive tempat kita menginstal CentosKita pilih [sda]. Jika penginstalan berjalan di internal hardisk, seperti dual OS, misalnya, maka dipilih yang [hda]. Setelah itu kita pastikan pula space yang digunakan sudah sesuai dengan yang sudah kita set. Setelah itu tekan ‘OK’.

9. Akan muncul sebuah peringatan untuk memastikan apakah kita benar-benar mau melakukan settingan diatas. Pilih [YES]

16

10.Akan muncul pertanyaan apakah partisi siap untuk di modifikasi. Pilih [YES]

11. Selanjutnya akan ditampilkan format detail tentang partisi yang akan dibuat. Jika format partisi dalam Windows menggunakan NTFS, maka dalam linux menggunakan format ext3. Gambar di bawah ini menunjukkan bahwa sekarang kita mempunyai 2 partisi, sda1 dan sda2. Sda1 adalah untuk /boot, yang berisi informasi yang berkaitan ketika komputer melakukan booting. Sisanya adalah dengan format ext3 untuk menempatkan Centos dan sistem direktorinya. Setelah semua settingan sesuai, pilih ‘OK’ tetapi jika masih ingin membuat partisi baru untuk penyimpanan data pilih ‘New’.

17

12. Kemudian tampil pilihan apakah ingin menggunakan Boot Loader atau tidak. Pilih ‘Use GRUB Boot Loader’ dan tekan ‘OK’

13. Jika dipilih untuk menggunakan Boot Loader, maka akan tampil pertanyaan apakah ada special option pada kernel yang ingin dilewatkan pada saat booting. Disini kita mengosongi isian tersebut dan tekan ‘OK’.

18

14. Karena kita tidak memerlukan password Boot Loader, maka langsung tekan ‘OK’

15. Gambar berikut ini menampilkan konfigurasi Boot Loader. Sistem Operasi apa saja yang ingin di-boot menggunakan Boot Loader. Disini kita pilih Centos saja karena kita tidak menggunakan dual OS. Kemudian tekan ‘OK’

19

16. Masih di konfigurasi Boot Loader, akan ditanyakan dimana kita akan menginstal Boot Loader. Boot Loader diinstal di MBR (Master Boot Record) karena MBR merupakan partisi kecil di dalam hardisk kita dan akan dieksekusi pertama kali ketika komputer melakukan start-up. Pilih ‘OK’

17. Karena tujuan dari penginstalan Centos ini adalah untuk mengimplementasikan jaringan komputer, maka kita ‘Yes’ untuk melakukan konfigurasi eth0 network interface dalam sistem.

20

18. Kita pilih ‘Active on boot’ agar ketika booting dan Centos menyala aka otomatis settingan eth0 ini menjadi ON dan langsung dapat digunakan.

19. Kita harus memilih sistem pengalamatan IP yang akan digunakan untuk membentuk jaringan komputer nantinya.

21

20. Kita pilih IPv4, sistem pengalamatan lama yang sudah sering digunakan sampai sekarang.

21. Supaya tidak perlu melakukan setting IP address dan netmask dan karena komputer kita bukan jaringan yang tetap, maka kita pilih DHCP.

22

22. Konfigurasi hostname dengan nama kita sendiri.

23. Kemudian memilih sistem waktu yang sesuai, yaitu waktu Jakarta.

23

24. Untuk dapat mengakses root dan melakukan perubahan pada sistem maka dibutuhkan password root.

25. Kita pilih ‘Server’ pada package selection agar Centos kita dapat beraksi pada jaringan sebagai server, untuk menerima dan mengirim data.

24

26. Dari sini kita hilangkan semua tanda centang yang ada karena kita belum membutuhkannya.

27. Semua konfigurasi saat instalasi disimpan dalam /root/install.log untuk dapat dilihat nantinya setelah sistem kita reboot. Pilih ‘OK’

25

28. Berikut ini gambar dari proses instalasi yang berjalan

29. We’re done. Tekan ‘Reboot’ untuk menjalankan Centos kita

26

30. Proses booting sedang berjalan. Pada gambar dibawah ini menunjukkan bahwa Centos yang telah diinstal adalah Centos versi 5.6

31. Setelah booting selesai kita bisa login sebagai root dengan password yang sudah kita buat saat instalasi berlangsung tadi.

27

SSH (Secure Shell)

SSH adalah protokol jaringan yang memungkinkan pertukaran data melalui saluran aman antara dua perangkat jaringan. Terutama banyak digunakan pada sistem berbasis Linuxdan Unix untuk mengakses akun shell, SSH dirancang sebagai pengganti Telnet dan shell remote tak aman lainnya, yang mengirim informasi, terutama kata sandi, dalam bentuk teks sederhana yang membuatnya mudah untuk dicegat. Enkripsi yang digunakan oleh SSH menyediakan kerahasiaan dan integritas data melalui jaringan yang tidak aman seperti Internet.

SSH menggunakan kriptografi kunci publik untuk mengotentikasi komputer remote dan biarkan komputer remote untuk mengotentikasi pengguna, jika perlu. SSH biasanya digunakan untuk login ke mesin remote dan mengeksekusi berbagai perintah, tetapi juga mendukung tunneling, forwarding TCP port dan X11 connections; itu dapat mentransfer file menggunakan terkait SFTP atau SCP protocols. SSH menggunakan klien-server model. Yang standar TCP port 22 telah ditetapkan untuk menghubungi server SSH. Sebuah klien program SSH ini biasanya digunakan untuk membangun koneksi ke SSH daemon untuk dapat diremote. Keduanya biasanya terdapat pada sistem operasi modern, termasuk Mac OS X, Linux, FreeBSD, Solaris dan OpenVMS. Tersedia versi berpemilik, freeware dan open source untuk berbagai tingkat kerumitan dankelengkapan.

Mengenal SSH ServerOpenSSH adalah versi GRATIS dari alat konektivitas SSH bahwa pengguna teknis Internet

diandalkan. Pengguna telnet, rlogin, dan ftp mungkin tidak menyadari bahwa password mereka ditransmisikan melalui Internet tanpa enkripsi, tetapi. OpenSSH mengenkripsi semua lalu lintas (termasuk password) untuk secara efektif menghilangkan pembajakan koneksi, percakapan, dan serangan lainnya. Selain itu, OpenSSH menyediakan kemampuan tunneling yang aman dan beberapa metode autentikasi, dan mendukung semua versi protokol SSH.

Instalasi OpenSSHUntuk menginstal aplikasi client dan server OpenSSH pada sistem Centos anda, gunakan perintah ini pada terminal

# yum install openssh-server openssh-clients

Menjalankan service :# chkconfig sshd on# service sshd start

Pastikan port 22 sudah terbuka :# netstat -tulpn | grep :22

28

Firewall Settings Edit /etc/sysconfig/iptables (IPv4 firewall),# vi /etc/sysconfig/iptables Tambahkan baris# iptables -I INPUT -s 192.168.0.0/24 -j ACCEPT

Test # ssh ip_ssh_server Jika meminta kata sandi berhasil

DHCP

Dynamic Host Configuration Protocol adalah protokol yang berbasis arsitektur client/server yang dipakai untuk memudahkan pengalokasian alamat IP dalam satu jaringan. Sebuah jaringan lokal yang tidak menggunakan DHCP harus memberikan alamat IP kepada semua komputer secara manual. Jika DHCP dipasang di jaringan lokal, maka semua komputer yang tersambung di jaringan akan mendapatkan alamat IP secara otomatis dari server DHCP. Selain alamat IP, banyak parameter jaringan yang dapat diberikan oleh DHCP, seperti default gateway dan DNS server.

Karena DHCP merupakan sebuah protokol yang menggunakan arsitektur client/server, maka dalam DHCP terdapat dua pihak yang terlibat, yakni DHCP Server dan DHCP Client.

• DHCP server merupakan sebuah mesin yang menjalankan layanan yang dapat "menyewakan" alamat IP dan informasi TCP/IP lainnya kepada semua klien yang memintanya. Beberapa sistem operasi jaringan seperti Windows NT Server, Windows 2000 Server, Windows Server 2003, atau GNU/Linux memiliki layanan seperti ini.

• DHCP client merupakan mesin klien yang menjalankan perangkat lunak klien DHCP yang memungkinkan mereka untuk dapat berkomunikasi dengan DHCP Server. Sebagian besar sistem operasi klien jaringan (Windows NT Workstation, Windows 2000 Professional, Windows XP, Windows Vista, atau GNU/Linux) memiliki perangkat lunak seperti ini.

DHCP server umumnya memiliki sekumpulan alamat yang diizinkan untuk didistribusikan kepada klien, yang disebut sebagai DHCP Pool. Setiap klien kemudian akan menyewa alamat IP dari DHCP Pool ini untuk waktu yang ditentukan oleh DHCP, biasanya hingga beberapa hari. Manakala waktu penyewaan alamat IP tersebut habis masanya, klien akan meminta kepada server untuk memberikan alamat IP yang baru atau memperpanjangnya.

DHCP Client akan mencoba untuk mendapatkan "penyewaan" alamat IP dari sebuah DHCP server dalam proses empat langkah berikut:

1. DHCPDISCOVER: DHCP client akan menyebarkan request secara broadcast untuk mencari DHCP Server yang aktif.

29

2. DHCPOFFER: Setelah DHCP Server mendengar broadcast dari DHCP Client, DHCP server kemudian menawarkan sebuah alamat kepada DHCP client.

3. DHCPREQUEST: Client meminta DCHP server untuk menyewakan alamat IP dari salah satu alamat yang tersedia dalam DHCP Pool pada DHCP Server yang bersangkutan.

4. DHCPACK: DHCP server akan merespons permintaan dari klien dengan mengirimkan paket acknowledgment. Kemudian, DHCP Server akan menetapkan sebuah alamat (dan konfigurasiTCP/IP lainnya) kepada klien, dan memperbarui basis data database miliknya. Klien selanjutnya akan memulai proses binding dengan tumpukan protokol TCP/IP dan karena telah memiliki alamat IP, klien pun dapat memulai komunikasi jaringan.

Empat tahap di atas hanya berlaku bagi klien yang belum memiliki alamat. Untuk klien yang sebelumnya pernah meminta alamat kepada DHCP server yang sama, hanya tahap 3 dan tahap 4 yang dilakukan, yakni tahap pembaruan alamat (address renewal), yang jelas lebih cepat prosesnya.

Berbeda dengan sistem DNS yang terdistribusi, DHCP bersifat stand-alone, sehingga jika dalam sebuah jaringan terdapat beberapa DHCP server, basis data alamat IP dalam sebuah DHCP Servertidak akan direplikasi ke DHCP server lainnya. Hal ini dapat menjadi masalah jika konfigurasi antara dua DHCP server tersebut berbenturan, karena protokol IP tidak mengizinkan dua host memiliki alamat yang sama.Selain dapat menyediakan alamat dinamis kepada klien, DHCP Server juga dapat menetapkan sebuah alamat statik kepada klien, sehingga alamat klien akan tetap dari waktu ke waktu.

Catatan: DHCP server harus memiliki alamat IP yang statis.

Untuk memfungsikan linux kita sebagai DHCP Server maka kita membutuhkan aplikasi dhcpd, yaitu aplikasi DHCP server pada linux, untuk memudahkan kita dalam proses instalasi maka lebih baik kita menginstall binary dhcpd menggunakan yum, berikut adalah perintah untuk menginstall dhcpd menggunakan yum.

# yum install dhcpd

Konfigurasi DHCP Sever

File konfigurasi DHCP server pada distribusi CentOS Linux terdapat di /etc/dhcpd.conf, secara default file ini memang telah di buat ketika kita menginstall aplikasi dhcpd akan tetapi untuk menyesuaikan opsi konfigurasi dengan kondisi jaringan di tempat kita maka kita harus mengeditnya dan menyesuaikan dengan konfigurasinya sesuai dengan yang kita inginkan. Contoh config :

ddns-update-style interim;max-lease-time 7200;max-lease-time 7200;

option subnet-mask 255.255.255.0;

option routers 192.168.1.254;

option domain-name-servers 172.16.30.7;

option broadcast-address 192.168.1.255;

subnet 192.168.1.0 netmask 255.255.255.0{ range 192.168.1.1 192.168.1.100; }

30

Opsi konfigurasi di atas dapat di jelaskan sebabai berikut : default-lease-time merupakan default waktu sewa yang akan diberikan oleh DHCP server kepada clientnya, opsi max-lease-time merupakan waktu sewa maksimal yang akan diberikan kepada client , option subnet-mask menentukan subnetmask, client yang menerima ip dari server DHCP akan mendapatkan netmask sesuai yang diberikan pada opsi ini, option routers opsi ini akan menentukan default gateway dari client yang mendapatkan ip dari DHCP server, option domain-name-servers opsi ini akan menentukan DNS server yang akan digunakan oleh client, option broadcast-address opsi ini menentukan alamat broadcast dari client, opsi subnet dan netmask merupakan opsi pengaturan subnet dan netmask, sedangkan opsi range merupakan opsi daftar ip yang akan disewakan ke client, juka dalam contoh kita mengisikanya dengan 192.168.1.1 192.168.1.100 berarti range ip dari 192.168.1.1 sampai dengan 192.168.1.100 akan diberikan kepada client. Menjalankan Daemon DHCP Setelah kita yakin dengan konfigurasi DHCP server kita maka tugas kita adalah menjalankan daemon dhcpd agar DHCP server dapat melayani perminta permintaan konfigurasi jaringan dari client, untuk menjalankan daemon dhcpd dapat kita lakukan dengan dua langkah, yang pertama adalah dengan menggunakan perintah service

# service dhcpd start

atau dapat menggunakan script init

# /etc/init.d/dhcpd start

agar daemon dhcpd berjalan secara otomatis ketika komputer dihidupkan maka jalankan perintah berikut :

# chkconfig dhcpd on

DNS (Domain Name System)

DNS adalah sebuah sistem yang menyimpan informasi tentang nama host maupun nama domain dalam bentuk basis data tersebar (distributed database) di dalam jaringan komputer, misalkan: Internet. DNS menyediakan alamat IP untuk setiap nama host dan mendata setiap server transmisi surat (mail exchange server) yang menerima surel (email) untuk setiap domain.

Sejarah singkat DNS

DNS menyediakan servis yang cukup penting untuk Internet, bilamana perangkat keras komputer dan jaringan bekerja dengan alamat IP untuk mengerjakan tugas seperti pengalamatan dan penjaluran (routing), manusia pada umumnya lebih memilih untuk menggunakan nama host dan nama domain, contohnya adalah penunjukan sumber universal (URL) dan alamat surel. Analogi yang umum digunakan untuk menjelaskan fungsinya adalah DNS bisa dianggap seperti buku

31

telepon internet dimana saat pengguna mengetikkan www.contoh.com di peramban web maka pengguna akan diarahkan ke alamat IP 192.0.32.10 (IPv4) dan 2620:0:2d0:200:10 (IPv6).

Penggunaan nama sebagai pengabstraksi alamat mesin di sebuah jaringan komputer yang lebih dikenal oleh manusia mengalahkan TCP/IP, dan kembali ke zaman ARPAnet. Dahulu, setiap komputer di jaringan komputer menggunakan file HOSTS.TXT dari SRI (sekarang SIR International), yang memetakan sebuah alamat ke sebuah nama (secara teknis, file ini masih ada - sebagian besar sistem operasi modern menggunakannya baik secara baku maupun melalui konfigurasi, dapat melihat Hosts file untuk menyamakan sebuah nama host menjadi sebuah alamat IP sebelum melakukan pencarian via DNS). Namun, sistem tersebut diatas mewarisi beberapa keterbatasan yang mencolok dari sisi prasyarat, setiap saat sebuah alamat komputer berubah, setiap sistem yang hendak berhubungan dengan komputer tersebut harus melakukan update terhadap file Hosts.

Dengan berkembangnya jaringan komputer, membutuhkan sistem yang bisa dikembangkan: sebuah sistem yang bisa mengganti alamat host hanya di satu tempat, host lain akan mempelajari perubaha tersebut secara dinamis. Inilah DNS. Paul Mockapetris menemukan DNS di tahun 1983; spesifikasi asli muncul di RFC 882 dan 883. Tahun 1987, penerbitan RFC 1034 dan RFC 1035 membuat update terhadap spesifikasi DNS. Hal ini membuat RFC 882 dan RFC 883 tidak berlaku lagi. Beberapa RFC terkini telah memproposikan beberapa tambahan dari protokol inti DNS.

Installasi BIND DNS server# yum install bind bind-chroot bind-utils caching-nameserver# cd /var/named/chroot/etc/# lslocaltime named.caching-nameserver.conf named.rfc1912.zones rndc.key

konfigurasi named.rfc1912.zones (Tambahkan zona baru)

# vi named.rfc1912.zones// named.rfc1912.zones: // // Provided by Red Hat caching-nameserver package // // ISC BIND named zone configuration for zones recommended by // RFC 1912 section 4.1 : localhost TLDs and address zones // // See /usr/share/doc/bind*/sample/ for example named configuration files. // zone "." IN { type hint; file "named.ca"; }; zone "localdomain" IN { type master; file "localdomain.zone"; allow-update { none; }; }; zone "localhost" IN {

32

type master; file "localhost.zone"; allow-update { none; }; }; zone "0.0.127.in-addr.arpa" IN { type master; file "named.local"; allow-update { none; }; }; zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN { type master; file "named.ip6.local"; allow-update { none; }; }; zone "255.in-addr.arpa" IN { type master; file "named.broadcast"; allow-update { none; }; }; zone "0.in-addr.arpa" IN { type master; file "named.zero"; allow-update { none; }; }; zone "d3ilkom.ac.id" IN { type master; file "d3ilkom.ac.id.zone"; allow-update { none; }; }; Konfigurasi named.caching-nameserver.conf (meneruskan alamat ip)// // named.caching-nameserver.conf // // Provided by Red Hat caching-nameserver package to configure the // ISC BIND named(8) DNS server as a caching only nameserver // (as a localhost DNS resolver only). // // See /usr/share/doc/bind*/sample/ for example named configuration files. // // DO NOT EDIT THIS FILE - use system-config-bind or an editor // to create named.conf - edits to this file will be lost on // caching-nameserver package upgrade. // options { listen-on port 53 { any; }; listen-on-v6 port 53 { any; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db";

33

statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt";

// Those options should be used carefully because they disable port // randomization // query-source port 53; // query-source-v6 port 53; forwarders { 192.168.2.24; }; allow-query { any; }; allow-query-cache { any; }; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; view localhost_resolver { match-clients { any; }; match-destinations { any; }; recursion yes; include "/etc/named.rfc1912.zones"; };

Membuat File Zona# cd /var/named/chroot/var/named/# ls localdomain.zone named.broadcast named.ip6.local named.zero data localhost.zone named.ca named.local slaves

# cp localhost.zone d3ilkom.co.id.zone

# vi d3ilkom.ac.id.zone

$TTL 86400

@ IN SOA d3ilkom.co.id. root.d3ilkom.co.id. (

42 ; serial (d. adams)

3H ; refresh

15M ; retry

1W ; expiry

1D ) ; minimum

IN NS d3ilkom.ac.id.

IN MX 10 d3ilkom.adem.ac.id.

34

IN A 192.168.2.24

mail IN A 192.168.2.24

# chgrp named d3ilkom.ac.id.zone

# service named restart

Stopping named: [ OK ]

Starting named: [ OK ]

# nslookup d3ilkom.ac.id

Server: 192.168.2.24

Address: 192.168.2.24#53

Name: d3ilkom.ac.id

Address: 192.168.2.24

# dig d3ilkom.ac.id

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-16.P1.el5 <<>> adem.co.id

;; global options: printcmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47892

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:

;d3ilkom.ac.id. IN A

;; ANSWER SECTION:

d3ilkom.ac.id. 86400 IN A 192.168.2.24

;; AUTHORITY SECTION:

d3ilkom.ac.id. 86400 IN NS d3ilkom.ac.id.

;; Query time: 0 msec

;; SERVER: 192.168.2.24#53(192.168.2.24)

;; WHEN: Mon Sep 5 08:04:39 2011

;; MSG SIZE rcvd: 58

Jika dinslookup dan dig mengarah pada ip kita maka konfigurasinya berhasil

35

Web Server

Server web dapat merujuk baik pada perangkat keras ataupun perangkat lunak yang menyediakan layanan akses kepada pengguna melalui protokol komunikasi HTTP atau HTTPS atas berkas-berkas yang terdapat pada suatu situs web dalam layanan ke pengguna dengan menggunakan aplikasi tertentu seperti peramban web

Penggunaan paling umum server web adalah untuk menempatkan situs web, namun pada prakteknya penggunaannya diperluas sebagai tempat peyimpanan data ataupun untuk menjalankan sejumlah aplikasi kelas bisnis.Fungsi utama sebuah server web adalah untuk mentransfer berkas atas permintaan pengguna melalui protokol komunikasi yang telah ditentukan. Disebabkan sebuah halaman web dapat terdiri atas berkas teks, gambar, video, dan lainnya pemanfaatan server web berfungsi pula untuk mentransfer seluruh aspek pemberkasan dalam sebuah halaman web yang terkait; termasuk di dalamnya teks, gambar, video, atau lainnya.

Pengguna, biasanya melalui aplikasi pengguna seperti peramban web, meminta layanan atas berkas ataupun halaman web yang terdapat pada sebuah server web, kemudian server sebagai manajer layanan tersebut akan merespon balik dengan mengirimkan halaman dan berkas-berkas pendukung yang dibutuhkan, atau menolak permintaan tersebut jika halaman yang diminta tidak tersedia. saat ini umumnya server web telah dilengkapi pula dengan mesin penerjemah bahasa skrip yang memungkinkan server web menyediakan layanan situs web dinamis dengan memanfaatkan pustaka tambahan seperti PHP, ASP.

Pemanfaatan server web saat ini tidak terbatas hanya untuk publikasi situs web dalam Waring Wera Wanua, pada prakteknya server web banyak pula digunakan dalam perangkat-perangkat keras lain seperti printer, router, kamera web yang menyediakan akses layanan http dalam jaringan lokal yang ditujukan untuk menyediakan perangkat manajemen serta mempermudah peninjauan atas perangkat keras tersebut.

Tahun 1989, Tim Berners-Lee mengajukan pada perusahaannya, CERN (European Organization for Nuclear Research) sebuah proyek yang bertujuan untuk mempermudah pertukaran informasi antar para peneliti dengan menggunakan sistem hiperteks. Sebagai hasil atas implementasi proyek ini, tahun 1990 Berners-Lee menulis dua program komputer:

• sebuah peramban yang dinamainya sebagai WorldWideWeb;• server web pertama di dunia, yang kemudian dikenal sebagai CERN httpd, yang

berjalan pada sistem operasi NeXTSTEP.

Dari tahun 1991 hingga 1994, kesederhanaan serta efektifitas atas teknologi yang digunakan untuk berkunjung serta bertukar data melalui Waring Wera Wanua membuat kedua aplikasi tersebut diadopsi pada sejumlah sistem operasi agar dapat digunakan oleh lebih banyak individu, ataupun kelompok. Awalnya adalah organisasi penelitian, kemudian berkembang dan digunakan di lingkungan pendidikan tinggi, dan akhirnya digunakan dalam industri bisnis.

36

Tahun 1994, Tim Berners-Lee memutuskan untuk membakukan organisasi World Wide Web Consortium (W3C) untuk mengatur pengembangan-pengembangan lanjut atas teknologi-teknologi terkait lainnya (HTTP, HTML, dan lain-lain) melalui proses standarisasi.

LAMP adalah singkatan Linux, Apache, MySQL, PHP. Tutorial ini menunjukkan bagaimana Anda dapat memasang webserver Apache2 di server Centos dengan dukungan PHP5 (mod_php) dan dukungan MySQL.

1 Instalasi MySQL 5.0

Pertama kita menginstal MySQL 5.0 seperti ini:

# yum install mysql mysql-server

Lalu kami membuat link startup sistem untuk MySQL (sehingga MySQL dijalankan secara otomatis setiap kali sistem boot) dan mulai server MySQL:

# chkconfig --levels 235 mysqld on# /etc/init.d/mysqld startMenjalankan

mysqladmin -u root password yourrootsqlpasswordmysqladmin -h server1.example.com -u root password yourrootsqlpassworduntuk menetapkan password untuk root user (dinyatakan siapa pun dapat mengakses database MySQL!).

2. Install Apache2yum install httpdSekarang mengkonfigurasi sistem anda untuk memulai Apache pada saat boot ...

# chkconfig --levels 235 httpd on... dan memulai Apache:

# /etc/init.d/httpd startSekarang langsung browser Anda untuk http://ipserver, dan anda akan melihat halaman placeholder Apache2:

Dokumen root Apache default adalah /var/www/html di CentOS, dan file konfigurasi adalah /etc/httpd/conf/httpd.conf. Tambahan konfigurasi disimpan di /etc/httpd/conf.d/ direktori.

3. Install PHP5Anda dapat menginstall PHP5 dengan perintah

yum install phpkemudian restart apache

/etc/init.d/httpd start

37

4 Pengujian PHP5 / Instalasi Mendapatkan Detail Tentang PHP5 AndaDokumen root dari situs web default adalah /var/www/html. Sekarang kita akan menciptakan sebuah file PHP kecil (info.php) dalam direktori itu dan menyebutnya di browser. File akan menampilkan banyak detail yang berguna tentang instalasi PHP kami, seperti versi PHP yang diinstal.nano /var/www/html/info.phpphpinfo ();?>Sekarang kita sebut bahwa file dalam browser misalnya http:///info.php

Seperti yang Anda lihat, PHP5 bekerja, dan bekerja melalui Apache 2.0 Handler, seperti ditunjukkan pada baris Server API. Jika Anda menggulir ke bawah, Anda akan melihat semua modul yang telah diaktifkan di PHP5. MySQL tidak terdaftar di sana yang berarti kita tidak memiliki dukungan MySQL di PHP5 belum.

5 Dukungan MySQL Mendapatkan Dalam PHP5Untuk mendapatkan dukungan MySQL di PHP, kita dapat menginstal paket php5-mysql. Ini adalah ide yang baik untuk menginstal beberapa modul PHP5 lainnya serta Anda mungkin membutuhkannya untuk aplikasi Anda. Anda dapat mencari modul PHP5 yang tersedia seperti ini:

# yum search phpPilih yang Anda butuhkan dan menginstalnya seperti ini:

# yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpcSekarang restart Apache2:

/etc/init.d/httpd restartSekarang reload http:///info.php di browser Anda dan gulir ke bawah ke bagian modul lagi. Anda sekarang harus menemukan banyak modul baru di sana, termasuk modul MySQL

6 phpMyAdminphpMyAdmin adalah antarmuka web di mana Anda dapat mengatur database MySQL. Ini adalah ide yang baik untuk menginstalnya, Pertama kita memungkinkan rpmforge repositori pada sistem CentOS kami sebagai phpMyAdmin tidak tersedia di repositori resmi CentOS 5.3:

Jika system anda x86_64/64bit:

wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpmrpm -Uvh rpmforge-release-0.3.6-1.el5.rf.x86_64.rpmApabila i386/32bit systems:

wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpmrpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpmSekarang install Phpmyadmin dengan perintah

38

# yum install phpmyadmin

Sekarang kita konfigurasikan phpMyAdmin. Kami mengubah konfigurasi Apache agar phpMyAdmin yang memungkinkan koneksi tidak hanya dari localhost (dengan memberi tanda komentar dari <Directory "/usr/share/phpmyadmin"> ):

nano /etc/httpd/conf.d/phpmyadmin.conf## Web application to manage MySQL## <Directory "/usr/share/phpmyadmin"># Order Deny,Allow# Deny from all# Allow from 127.0.0.1# <Directory>Alias /phpmyadmin /usr/share/phpmyadminAlias /phpMyAdmin /usr/share/phpmyadminAlias /mysqladmin /usr/share/phpmyadminSelanjutnya ubah authentication in phpMyAdmin dari cookie ke http:

nano /usr/share/phpmyadmin/config.inc.php

[...]/* Authentication type */$cfg['Servers'][$i]['auth_type'] = 'http';[...]restart apache

/etc/init.d/httpd restartSetelah itu, Anda dapat mengakses phpMyAdmin di bawah http://ipserver/phpmyadmin/

39

Samba

Andrew tridgell merupakan orang yang pertama kali membuat program samba dan selanjutnya dikembangkan oleh team samba. Kata samba diambil dari sebuah nama tarian yang terkenal dari Brazil. Samba merupakan kumpulan perangkat lunak untuk menyediakan layanan sistem file Microsoft dari server file Linux (Unix umumnya). Samba mengimplementasikan protokol SMB (atau CIFS) milik Microsoft untuk mengatur penggunaan file dan printer secara bersama. SMB itu sendiri merupakan protokol yang dikembangkan oleh Microsoft dan Intel untuk melakukan penggunaan bersama sumber daya dalam sistem jaringan. Dengan program samba, file yang ada pada sistem linux dapat diakses dari sistem Microsoft begitu juga sebaliknya, file yang ada pada sistem Microsft dapat diakes dari sistem Linux.

KONFIGURASI SAMBA

Ceklah apakah di dalam sistem kita dengan menggunakan perintah:

# rpm -qa | grep samba

Jika di dalam sistem kita tidak ada paket samba, installah paket-paket samba dengan menggunakan perintah:

# yum install samba

Backup file samba

Masuklah ke direktori samba dengan menggunakan perintah:

# cd /etc/samba

# cp smb.conf smb.conf.ori

Konfigurasi file samba

Ada banyak variasi yang bisa dilakukan oleh samba dan hal itu tergantung dari masing-masing kebijakan kantor. Namun di bawah ini, penulis mengkonfigurasi file samba yang sesuai dengan kebutuhan penulis. Dan perlu diketahui bahwa penulis menggunakan server samba pada jaringan 192.168.1.0/24 dimana IP 192.168.1.1 sebagai klien samba dengan OS windows dan IP 192.168.1.2 sebagai server samba denagn OS linux. Berikut adalah perintah untuk mengkonfigurasi file samba:

# vi smb.confPada file smb.conf, penulis menggunakan konfigurasi sebagai berikut:

== Global Settings ==

[global]-- Network Related Options --workgroup = WORKGROUP

40

server string = Samba Server netbios name = Sambainterfaces = lo eth0hosts allow = 127. 192.168.1.

-- Logging Options --log file = /var/log/samba/%m.logmax log size = 5000

-- Standalone Server Options --security = sharepassdb backend = tdbsam

--- Domain Controller Options --domain master = yesdomain logos = no

-- Browser Control Options --os level = 33preferred master = yes

-- Name Resolution --wins support = yes

-- Printing Options --cups options = raw

== Share Definitions ==[homes]

comment = Home Directoriesbrowseable = nowritable = yes;valid users = %S;valid users = MYDOMAIN\%S

[boy]

comment = Boy Directoriespath = /home/boybrowseable = yeswritable = yesvalid users = boy

[printers]

comment = All Printerspath = /var/spool/sambabrowseable = no

41

guest ok = nowritable = noprintable = yes

Penjelasan:Workgroup: Menentukan nama identitas workgroup atau domain dan tidak dibedakan apakah itu huruf besar atau kecil. Biasanya, Windows menggunakan nama Workgroup sebagai domain sehingga harus disesuaikan oleh file samba.

Server string: Menetukan isi pesan yang ditampilkan pada saat klien pada saat berhasil login dalam domain.

netbios name: Menentukan nama yang dipakai server SMB dalam jaringan. Nama yang dipakai tidak boleh melebihi 16 karakter dan tidak boleh ada karakter spasi serta tidak mempedulikan apakah itu huruf besar atau kecil.

interfaces: Menentukan interface mana yang akan digunakan oleh server samba

host allow: Menentukan alamat IP host yang diperbolehkan mengakses server SMB

log file: Menentukan direktori untuk log samba

max log size: Menentukan ukuran maksimal ukuran log yang seharusnya dapat dicapai

security: menentukan level keamanan server SMB yang juga menentukan bagaimana cara server SMB menanggapi permintaan klien. Ada 3 level yaitu:

* share: klien SMB tidak perlu melakukan login sebelum menggunakan sumber daya jaringan. Autentifikasi password diperlukan pada saat user berusaha menggunakan sumber daya jaringan.* user: klien SMB harus melakukan login supaya dapat menggunakan sumber daya jaringan.* server: server SMB menggunakan server SMB lain untuk melakukan validasi klien SMB dan klien SMB harus melakukan login supaya dapat menggunakan sumber daya jaringan. Pada level ini, diperlukan pengaturan nama NETBIOS server password untuk autentifikasi (password server = nama_netbios)

passdb backend: informasi tentang user disimpan di dalam file ini

domain master: Menentukan apakah server SMB dapat berfungsi sebagai browser master domain. Supaya dapat berfungsi sebagai server domain, server SMB harus dapat berfungsi sebagai browser master domain

domain logos: Menentukan apaka server SMB dapat berfungsi sebagai server logon domain untuk klien Windows 95 atau PDC (primary Domain Controller) bagi Windows NT dan windows 2000.

preferred master: Menentukan supaya server SMB dapat memaksa browser lokal pada startup dan memberi kesempatan lebih tinggi untuk memenangkan persaingan pemilihan server domain.wins support: Menentukan apakah server SMB dapat berfungsi sebagai server WINS

load printers: Membiarkan kita me-load daftar printer-printer secara otomatis dibandingkan

42

menyetting printer-printer tersebut secara sendiri-sendiri

cups options: Mengijinkan kita untuk masuk ke option cup, misalnya memilih raw yang akan mengijinkan kita menggunakan driver-driver di klien windows

comment: Menentukan teks yang akan terlihat oleh klien pada saat login

browseable: Menentukan akses browse bagi user lain

writable: menentukan akses tulis pada masing-masing user

Cek Konfigurasi File samba

Sebelum menjalankan server samba, sebaiknya diperiksa terlebih dahulu apakah file smb.conf sudah dituliskan secara betul atau tidak. Gunakan perintah berikut dan perhatikan hasilnya:

43

Menyalakan Server SMB

Untuk menjalankan server SMB, harus dijalankan dua daemon yaitu daemon smbd dan nmbd. Daemon smbd yaitu daemon server yang menyediakan layanan share file dan share printer untuk klien smb serta dapat melayani klien Windows 9x, ME, 2000, OS/2, DAVE Macintosh dan smbfs linux. Daemon nmbd yaitu daemon server yang digunakan untuk permintaan layanan nama NetBIOS bagi klien SMB dan dapat mengerti serta dapat menjawab permintaan layanan nama NETBIOS melalui IP. Daemon ini juga dapat digunakan sebagai server WINS yang akan melakukan penciptaan database dari permintaan registrasi nama yang diterima dan menjawab semua query dari klien SMB untuk nama tersebut. Dan juga untuk meneruskan query broadcast dari klien yang tidak memahami bagaimana cara berhubungan antara server WINS dengan suatu server Windows. Untuk menjalankan keduanya, gunakan perintah:

# service smb start

Membuat Password user Samba

Sesudah mensetting konfigurasi di file smb.conf, maka kita harus membuat password samba untuk user. Di konfigurasi di atas sudah dibuat contoh user boy yang dimasukkan ke dalam file smb.conf. Namun hal itu tidak berarti apa-apa jika kita belum membuat password samba untuk mereka. Format password samba adalah sebagai berikut:

# smbpasswd -a nama_user

Kalau menggunakan contoh diatas, maka format tersebut akan berubah menjadi:

# smbpasswd -a boy

Dan perlu diketahui bahwa password user samba bisa berbeda dengan password login user. Kalau sudah berhasil membuat password, maka cobalah di windows pada bagian address ketik:

\\192.168.1.2

44

Maka folder boy akan tampak. Double klik folder salah satu dari mereka, maka kita akan disodori password untuk mengakses ke folder tersebut. Jika sesudah mengetik \\192.168.1.2 tidak ada folder-folder mereka maka cobalah restart samba dengan perintah:

# service smb restart

Sekarang cobalah membuat user baru misal bernama joko dan tambahkan di file smb.conf konfigurasi seperti konfigurasi pada boy atau bisa berkreasi sesuai kehendak kita agar kita lebih paham. Sesudah selesai, buatlah password samba untuk joko dan restart samba maka lihat apa yang akan terjadi. Dan perlu diingat, bahwa jika kita merubah sesuatu di file smb.conf atau di sistem samba, maka kita harus selalu merestart service samba.

Tes di Linux

Kalau samba sudah berhasil berjalan dan kita ingin mengakses file di windows dari sistem linux, maka ketikkan pada bagian Location atau address:

smb://192.168.1.1

Dan folder-folder yang sudah diijinkan di sharing akan terlihat disana.

45

Instalasi dan Konfigurasi Squid (Proxy Server)

Internet pada saat ini bagi sebagian atau banyak kalangan sudah menjadi kebutuhan primer dan digunakan untuk kebutuhan mereka masing-masing. Kebanyakan para pengguna internet mengunjungi situs yang sama secara berulang-ulang. Misalnya suatu situs sudah pernah dikunjungi oleh pengguna tertentu yang lebih dahulu menggunakan jaringan internet, mungkin pada kesempatan berikutnya ada pengguna lain yang mengunjungi situs yang sama. Pengguna-pengguna ini akan berhubungan langsung dengan web yang sama melalui jaringan lokal yang sama dan memerlukan bandwidth untuk koneksi ke internet. Karena terbatasnya bandwidth dan banyaknya para pengguna, maka koneksi internet menjadi begitu lambat.

Untuk meningkatkan efisiensi penggunaan bandwidth, biasanya dalam jaringan lokal dipasang suatu server proxy. Server proxy adalah server yang berguna sebagai perantara antara client dengan server gateway sebelum berhubungan ke internet. Server proxy mempunyai kemampuan untuk menyimpan file-file yang berasal dari situs yang pernah dikunjungi. Gambar di atas menunjukkan cara kerja Proxy. Misalnya seorang user meminta www.yahoo.com, maka proxy akan mengambil dan meletakkannya di harddisk server untuk selanjutnya diambil oleh user yang bersangkutan. Bila ada user lain yang meminta data yang sama, server tidak perlu lagi mendownloadnya dari www.yahoo.com, tapi cukup memberikan data yang ada dicachenya sehingga akan lebih cepat dan menghemat bandwidth. Dengan adanya server proxy ini, maka situs yang sering di browsing akan semakin terasa semakin cepat oleh user karena telah disimpan di dalam cache proxy. Selain itu, server proxy juga memiliki fungsi lainnya, diantaranya autentifikasi user, memblok situs, memblok banner, dan lain-lain.

46

SQUID

Salah satu software terbaik yang ada di GNU/Linux adalah Squid. Squid merupakan software proxy server open ource dengan banyak fitur. Program squid mempunyai kemampuan untuk berlaku sebagai server cache maupun sebagai filter. Objek data yang dapat disimpan oleh squid meliputi objek permintaan data dari permintaan klien HTTP, FTP maupun Gopher. Sebagian besar para sistem administrator menggunakan squid sebagai server Proxy.

Dalam menjalankan fungsinya sebagai server proxy, squid biasanya dikombinasikan dengan firewall (Iptables). Dalam hal ini iptables diunakan untuk mengarahkan komputer klien untuk menggunakan server proxy dalam berhubungan dengan jaringan internet. Dalam kaitannya dengan firewall, server proxy dapat dipasang pada komputer yang sama dengan firewall atau dapat juga dipasang pada komputer yang terpisah dengan firewall. Masing-masing konfigurasi akan menentukan aturan rantai yang diberlakukan pada firewall maupun konfigurasi server proxy sendiri.

Squid dapat dikonfigurasikan sebagai :

a. Mode httpd-accelerator untuk meningkatkan performansi web server kita.

Squid server berlaku seperti reverse proxy-cache, squid akan menerima permintaan client, memberikan data di cachenya, jika tidak ada akan mengambil langsung dari server aslinya (reverse proxy).

b. Proxy caching-server agar seluruh user dalam jaringan kita dapat menggunakan squid untuk mengakses internet.

Sebagai proxy cache server, kita dapat mengontrol secara keseluruhan kinerja jaringan kita dan memberlakukan beberapa aturan dalam memberikan data yang dapat dilihat, diakses atau didownload. Kita juga dapat mengontrol penggunaan bandwith, waktu koneksi dan sebagainya.

PARENT DAN SIBLING PADA SQUID

Dalam squid dikenal istilah parent dan sibling. Parent akan mengambil langsung ke web site yang diminta, sedangkan sibling akan mencarinya dulu ke parent. Bila tidak ada, maka sibling mencarinya langsung ke web site yang bersangkutan. Sebuah proxy cache dapat dikonfigurasikan untuk berjalan standalone server atau sebagai hierarki cache dengan dengan proxy-proxy lainnya, yang akan kita bahas lebih lanjut berikut ini.

Standalone server, tanpa parent dan sibling Ini merupakan konfigurasi yang paling sederhana yang biasa dipakai oleh ISP (Internet Service Provider) dan warung internet dimana squid server local akan langsung mencari ke web server www.detik.com untuk memenuhi permintaan client bila data tidak terdapat di cache.

Sibling tanpa parent Biasanya konfigurasi ini dipakai untuk jaringan yang tidak terlalu besar. Permintaan oleh klien pada suatu URL akan diterima lokal yang akan mencarinya ke sibling, bila tidak ada, lokal akan langsung mencarinya langsung ke webserver yang bersangkutan.

Parent dan Sibling Biasanya konfigurasi ini diterapkan untuk jaringan yang besar. Efisiensi jaringan ini

cukup baik, karena yang bekerja untuk mendapatkan halaman web keluar jaringan hanyalah parent sisanya sibling dan para client tidak dapat memperolehnya secara langsung (dengan firewall).

47

Klien yang meminta halaman web www.detik.com akan diterima squid server lokal yang kemudian akan memeriksa cachenya, bila tidak ada dia akan mencari ke sibling, bila ada sibling akan memberikannya ke lokal, namun bila tidak ada lokal akan meminta ke parent. Sebagai parent ia harus melayani permintaan ini. Walaupun ia tidak memiliki halaman yang diminta, ia harus memenuhinya dengan mengambil langsung ke www.detik.com. Setelah itu permintaan dikembalikan ke lokal dan akhirnya ke klien.

Hierarki SquidServer proxy dapat dihubungkan dengan server-server proxy lain dan membentuk hierarki

seperti pada sebuah organisasi. Jika server proxy bergabung dalam sebuah hierarki, sebuah server proxy bisa memilih untuk mengambil dokumen yang diinginkan dari server proxy lain dalam hierarki atau mengambil dari server asal. Hierarki ini terdiri dari cache pada tingkat nasional, regional, dan organisasi. Dalam prototipe ini cache pada tingkat nasional melayani permintaan akses untuk domain negara tersebut. Misalnya terdapat permintaan dokumen dari URL http://www.republika.co.id yang berada di bawah domain id (Indonesia), maka dokumen tersebut diminta dari cache tingkat nasional di Indonesia.

SQUID DI CENTOS

Pada tutorial kali ini kita akan menggunakan squid bawaan dari distro Centos 5.2. Untuk melihat apakah di dalam sistem kita sudah ada squid bawaan, maka bisa dilihat dengan cara sebagai berikut:

# rpm -qa | grep squid

Dan squid bawaan untuk centos 5.2 adalah squid-2.6.STABLE6-5.el5_1.3.

Kalau ternyata paket squid belum terinstal dalam sistem kita, maka silahkan download disini. Misal kita sudah mendownload squid versi 2.7 dan ingin memasukkannya ke dalam sistem kita. Maka, urutan langkah-langkahnya adalah sebagai berikut:

48

1. Ekstrak Paket Squid

# tar -zxvf squid-2.7.STABLE6.tar.gz

2. Membuat User Squid

# useradd –d /cache/ -r –s /dev/null squid >/dev/null 2>&1

# mkdir /cache

# chown –R squid.squid /cache/

3. Instalasi Squid

# cd squid-2.7.STABLE6

# ./configure --prefix=/usr/local/squid

# make

# make install

Dan perlu diperhatikan juga bahwa jika kita menggunakan squid bawaan distro, maka kita juga

harus melakukan langkah-langkah sebagai berikut:

# mkdir /cache

# chown -R squid.squid /cache

KONFIGURASI SQUID

Setelah proses instalasi selesai, langkah selanjutnya adalah mengkonfigurasi squid. Dan perlu diketahui bahwa ada perbedaan lokasi direktori file konfigurasi squid. Jika kita menggunakan squid bawaan distro (dalam hal ini Centos 5.2) maka file direktorinya terletak di /etc/squid, sedangkan file direktori konfigurasi squid hasil instalasi maka file tersebut berada di /usr/local/squid/etc. Karena tutorial ini menggunakan squid bawaan centos, maka silahkan buka file tersebut di /etc/squid.

# cd /etc/squid

Kemudian buat duplikat dari file squid.conf dengan cara:

# cp squid.conf squid.conf.ori

Setelah itu, untuk melihat konfigurasi squid, ketikkan:

# vi squid.conf

Di dalam file squid.conf banyak opsi-opsi yang bisa digunakan sesuai dengan kebutuhan.

Namun, pada umumnya orang-orang yang menggunakan squid lebih menitikberatkan pada opsi

kendali akses (Access List) dan http_access serta membiarkan default opsi-opsi lainnya.Opsi

49

kendali akses pada squid digunakan untuk mengatur akses pada server proxy. Pola kendali akses

yang diberlakukan pada squid cukup lengkap. Akses internet yang dilakukan user dapat dibatasi

dengan acl (access control list). Masing-masing acl mendefinisikan suatu tipe aktivitas tertentu,

seperti waktu akses atau jaringan asal kemudian dihubungkan dengan pernyataan http_access yang

memberitahu pada squid apakah akses diijinkan atau tidak.

Format penulisan acl adalah sebagai berikut:

acl nama_acl tipe_acl string1 ...

acl nama_acl tipe_acl "file" ...

CONTOH-CONTOH KONFIGURASI SQUID

Untuk mengkonfigurasi squid, kita harus masuk ke file squid.conf yang berada di /etc/squid.

Agar seluruh user bisa internet

acl dwinetwork src 192.168.0.0/24

http_access allow dwinetwork

Agar salah satu user tidak bisa internet

acl test src 192.168.0.190/32

http_access deny test

Agar user tidak bisa mengkases beberapa domain

acl test src 192.168.0.190/32

acl restdomain dstdomain "/etc/squid/list/domain.txt"

http_access deny restdomain test

Setelah itu, membuat file domain.txt yang berisi nama-nama domain yang terlarang untuk dikunjungi di direktori /etc/squid/list. Misalnya seperti berikut ini:

.okezone.com

.detik.com

.yahoo.com

50

Agar user tidak bisa mencari kata-kata tertentu di Search engine seperti Google

acl test src 192.168.0.190/32

acl restkata url_regex -i "/etc/squid/list/kata.txt"

http_access deny restkata test

Setelah itu, membuat file kata.txt yang berisi kata-kata yang terlarang untuk dicari dimesin search engine di direktori /etc/squid/list. Misalnya berisi:

proxy

sex

naked

Agar user tidak bisa berkunjung ke situs tertentu dengan menggunakan IP

acl test src 192.168.0.190/32

acl restip dst "/etc/squid/list/ip.txt"

http_access deny restip test

Setelah itu, membuat file ip.txt yang berisi ip-ip yang terlarang untuk dikunjungi di direktori /etc/squid/list. Misalnya berisi:

66.55.141.20/32 64.38.255.172/32 216.34.131.135/3270.84.171.179/32

Agar semua komputer dibatasi jumlah downloadnya maksimal 2 MB (2000 x 1024 byte = 2048000 byte) yang berlaku dari jam 8 sampai jam 17.30 pada hari kerja

acl nodownload time M-F 08.00-17.30

acl ekstensi url_regex -i ftp .exe .mp3 .tar.gz .gz .tar.bz2 .bz2

acl ekstensi url_regex -i ftp .rpm .zip .rar .avi .mpeg .mpe .mpg .qt .ram .rm .raw .wav .iso

reply_body_max_size 2048000 allow ekstensi nodownload

51

SESUDAH KONFIGURASI SQUID

Setelah semua konfigurasi yang diperlukan diatur sesuai dengan yang diinginkan, program squid dapat dijalankan. Squid server proxy dapat dijalankan secara mudah dengan perintah squid disertai beberapa opsi yang diperlukan. Sintaks perintah dan opsi yang dapat digunkan untuk menjalankan squid adalah sebagai berikut:

# Squid [-dhsvzCDFNRVYX] [-f konfig] [-[au] port] [-k signal]

Keterangan:-a: menentukan nomor port akses HTTP (default:3128)-d: menulis debugging ke suatu stderr-f: menggunakan file konfigurasi selain default /etc/squid/squid.conf-h: mencetak pesan help-k: member isyarat untuk menjalankan squid. Isyarat yang diperbolehkan adalah reconfigure, rotate, shutdown, interrupt, kill, debug, check dan parse-s: membuat enable logging ke syslog-u: menentukan nomor port ICP (defaulr:3130), dapat dibuat disable dengan 0-v: menampilkan verbose-z: membuat direktori swap cache-C: membuat disabled test DNS awal-F: tidak melayani permintaan sampai simpanan terbentuk-N: menjalankan squid tidak menggunakan daemon-R: tidak mengatur REUSERADDR pada port-S: dua kali memeriksa cache selama pembentukan-V: menjalankan virtual host httpd-accelerator-x: melakukan debugging penuh-Y: Hanya return UDP_HIT atau UDP_MISS_NOFETCH selama reload cepat

Sebelum dijalankan untuk pertama kali, squid harus membentuk direktori untuk menyimpan cache. Direktori sesuai dengan yang diatur pada file squid.conf menggunakan opsi cache_dir yang secara default adalah /var/spool/squid. Untuk membentuk cache digunakan perintah squid diikuti opsi –z sebagai berikut:

# squid –z

Jika direktori cache sudah terbentuk, selanjutnya squid cukup dijalankan tanpa membentuk cache baru. Biasanya squid dijalankan sebagai daemon, sehingga untuk menjalankan squid digunakan perintah berikut ini:

# squid –D

Opsi –D digunakan agar squid tidak memeriksa DNS. Opsi ini diberikan karena proses memriksa DNS biasanya memerlukan waktu yang agak lama. Untuk menyalakan squid, tuliskan perintah berikut:

# service squid start

Untuk merestart squid, tuliskan perintah berikut:

52

# service squid restart

Jika kita merubah sesuatu di file squid.conf, lalu kita mau mengaplikasikannya di sitem kita, maka pada umumnya kita menggunakan perintah service squid restart. Namun, kalau kita menggunakan perintah ini, maka squid akan dimatikan terlebih dahulu baru kemudian dinyalakan kembali dan ini bisa mengganggu aktifitas yang melibatkan squid. Sebagai penggantinya, maka gunakan perintah berikut:

# squid –k reconfigure

53

IPTABLES (Firewall)

Firewall adalah sebuah bagian dari sistem komputer atau jaringan yang didesain untuk memblok atau mengijinkan sebuah jaringan lain untuk mengakses jaringan kita. Firewall bisa berbentuk hardware atau software atau pun kombinasi dari keduanya. Firewall digunakan untuk melindungi jaringan kita dari jaringan-jaringan yang berpotensi menimbulkan bahaya ke dalam sistem kita. Seluruh pesan yang masuk atau meninggalkan jaringan kita melalui firewall akan dicek setiap pesan dan memblok setiap pesan yang tidak memenuhi kriteria yang telah kita tetapkan di dalam firewall. Gambar dibawah merupakan ilustrasi tentang bagaimana firewall bekerja.

Firewall merupakan perangkat jaringan yang berada di dalam kategori perangkat Layer 3 (Network layer) dan Layer 4 (Transport layer) dari protocol 7 OSI layer. Seperti diketahui, layer 3 adalah layer yang mengurus masalah pengalamatan IP, dan layer 4 adalah menangani permasalahan port-port komunikasi (TCP/UDP). Pada kebanyakan firewall, filtering belum bisa dilakukan pada level data link layer atau layer 2 pada 7 OSI layer. Jadi dengan demikian, sistem pengalamatan MAC dan frame-frame data belum bisa difilter. Maka dari itu, kebanyakan firewall pada umumnya melakukan filtering dan pembatasan berdasarkan pada alamat IP dan nomor port komunikasi yang ingin dituju atau diterimanya.

Firewall yang sederhana biasanya tidak memiliki kemampuan melakukan filtering terhadap paket berdasarkan isi dari paket tersebut. Sebagai contoh, firewall tidak memiliki kemampuan melakukan filtering terhadap e-mail bervirus yang kita download atau terhadap halaman web yang tidak pantas untuk dibuka. Yang bisa dilakukan firewall adalah melakukan blokir terhadap alamat IP dari mail server yang mengirimkan virus atau alamat halaman web yang dilarang untuk dibuka. Dengan kata lain, firewall merupakan sistem pertahanan yang paling depan untuk jaringan Anda.

PERINTAH-PERINTAH IPTABLES

Untuk melihat apakah di dalam sistem kita sudah terinstal paket-paket iptables, ketikkan perintah berikut:

# rpm -qa | grep iptables

Jika memang belum terinstal, ketikkan perintah berikut:

# yum -y install iptables*

54

Agar iptables dapat berjalan otomatis setelah restart, gunakan perintah:

# chkconfig iptables on

Untuk melihat status iptables, gunakan perintah:

# service iptables status

Untuk menyalakan iptables, gunakan perintah:

# /etc/init.d/iptables start

Untuk mematikan iptables, gunakan perintah:

# /etc/init.d/iptables stop

Untuk merestart iptables, gunakan perintah:

# /etc/init.d/iptables restart

Sebelum melangkah lebih lanjut, pastikan firewall di sistem kita di enable yaitu dengan cara ketik setup lalu pilihFirewall configuration. Setelah itu, pada bagian Security Level beri tanda bintang pada item Enabled lalu pilih tombol OK.

SINTAKS IPTABLES

Secara umum, sintaks iptables dapat dituliskan seperti berikut:

# iptables [-t table] command [match] [target/jump]

Penjelasan dari sintaks di atas dapat dijelaskan di bawah ini:

1. Table

IPTables memiliki beberapa buah tabel yaitu NAT, MANGLE, dan FILTER. Penjelasannya adalah:A.Table Mangle: tabel yang bertanggung jawab untuk melakukan penghalusan (mangle) paket

55

seperti merubah quality of service (QOS), TTL, dan MARK di header TCP. Biasanya tabel ini jarang digunakan di lingkungan SOHO.

B.Table Filter: yaitu tabel yang bertanggung jawab untuk pemfilteran paket. Tabel ini mempunyai 3 rantai (chain) yaitu:1. Rantai Forwardyaitu rantai yang memfilter paket-paket yang akan ke server yang dilindungi oleh firewall. Rantai ini digunakan ketika paket-paket datang dari IP Publik dan bukan dari IP lokal.2. Rantai Input: yaitu rantai yang memfilter paket-paket yang ditujukan ke firewall.3. Rantai Output: yaitu rantai yang memfilter paket-paket yang berasal dari firewall.

C. Tabel NAT: yaitu rantai yang bertanggung jawab untuk melakukan Network Address Translation (NAT). NAT yaitu mengganti field asal atau alamat tujuan dari sebuah paket. Pada tabel ini terdapat 2 rantai, yaitu:1. Rantai Pre-Routing: Merubah paket-paket NAT dimana alamat tujuan dari paket-paket tersebut terjadi perubahan. Biasanya dikenal dengan destination NAT atau DNAT.2. Rantai Post-Routing: Merubah paket-paket NAT dimana alamat sumber dari paket-paket tersebut terjadi perubahan. Biasanya dikenal dengan source NAT atau SNAT.

Alur kerja IPTables dapat dilihat pada gambar di bawah ini:

Jalannya sebuah paket melalui gambar diatas bisa dicontohkan sebagai berikut:1. Perjalanan Paket yang diforward ke host yang laina. Paket berada pada jaringan fisik (Network) dan masuk ke interface jaringanb. Paket masuk ke rantai PREROUTING pada tabel MANGLE dan tabel NATc. Paket mengalami Routing apakah akan diproses oleh host lokal atau diteruskan ke host laind. Paket masuk ke rantai FORWARD pada tabel MANGLE dan tabel FILTER e. Paket masuk ke rantai POSTROUTING pada tabel MANGLE dan tabel NATf. Paket keluar menuju ke interface jaringang. Paket kembali pada jaringan fisik (Network)

56

2. Perjalanan paket yang ditujukan bagi host lokala. Paket berada pada jaringan fisik (Network) dan masuk ke interface jaringanb. Paket masuk ke rantai PREROUTING pada tabel MANGLE dan tabel NATc. Paket mengalami Routingd. Paket masuk ke rantai INPUT pada tabel MANGLE dan tabel FILTER untuk mengalami proses penyaringane. Paket akan masuk ke proses lokal (Local Process)

3. Perjalanan paket yang berasal dari host lokala. Aplikasi lokal menghasilkan paket data yang akan dikirimkan melalui jaringanb. Paket masuk ke rantai OUTPUT pada tabel MANGLE, lalu ke tabel NAT, kemudian ke tabel FILTERc. Paket mengalami Routingd. Paket masuk ke rantai POSTROUTING pada tabel MANGLE dan tabel NATe. Paket keluar menuju ke interface jaringanf. Paket kembali pada jaringan fisik (Network)

COMMAND

command pada baris perintah iptables yang akan memberitahu apa yang harus dilakukan terhadap lanjutan sintaks perintah. Berikut adalah beberapa command pada iptables:

command Deskripsi

-A (--append) Menambah aturan pada akhir rantai sehingga akan dieksekusi terakhir

-D (--delete)Menghapus sebuah aturan pada rantai yang dilakukan dengan cara menyebutkan secara lengkap perintah yang ingin dihapus atau dengan menyebutkan nomor baris dimana perintah akan dihapus

-I (--insert)Memasukkan aturan pada sebuah baris rantai. Berbeda dengan perintah append, perintah insert akan menempati baris yang dimaksud dan aturan awal yang menempati baris tersebut akan digeser ke bawah

-L (--list)Menampilkan semua aturan pada sebuah tabel. Perintah ini akan dikombinasikan dengan opsi -v (verbose), -n (numeric), -x (exact), dan --line-number

-F (--flush) Mengosongkan aturan pada sebuah chain

-N (--new-chain) Membuat rantai baru

-X (--delete-chain) Menghapus rantai yang disebutkan

-E (--rename-Merubah suatu nama rantai

57

chain)

-P (--policy) Membuat kebijakan default pada sebuah rantai

-p (--protocol)Mengecek tipe protokol tertentu. Tanda inverse(!) berarti kecuali. Misalnya protocol ! tcp berarti kecuali tcp

-s (--source)Mencocokkan paket berdasarkan alamat IP asal. Bisa berbentuk alamat tunggal (mis:192.168.0.1) atau alamat network (mis:192.168.0.0/255.255.255.0 atau 192.168.0.0/24)

-d (--destination) Mencocokkan paket berdasarkan alamat tujuan

-i (--in-interface)Mencocokkan paket berdasarkan interface dimana paket datang dan berlaku pada rantai INPUT, FORWARD, dan PREROUTING

-o (--out-interface)Mencocokkan paket berdasarkan interface dimana paket keluar dan berlaku pada rantai OUTPUT, FORWARD, dan POSTROUTING

--sport (--source-port)

Mencocokkan paket berdasarkan port asal(bisa dilihat di /etc/services). Perintah ini bisa digunakan untuk range port tertentu. Misal range antara port 22 sampai 80 bisa ditulis --sport 22-80. Jika --sport :80 berarti paket dengan port 0-80. Jika --sport 1024: berarti paket dengan port asal 1024-65535

--dport (--destination-port)

Mencocokkan paket berdasarkan port tujuan. Penggunaannya sama dengan --sport

--syn

Memeriksa apakah flag SYN di set dan ACK dan FIN tidak di set. Perintah ini sama dengan kita menggunakan match --tcp-flags SYN,ACK,FIN SYN. Paket dengan perintah tersebut digunakan untuk melakukan request koneksi TCP yang baru terhadap server

-m mac -mac-source

Melakukan pencocokan paket berdasarkan MAC source address

-m multiport --source-port

Mendefinisikan port atau port range lebih dari satu

-j (--jump)Perlakuan yang diberikan terhadap paket-paket yang memenuhi kriteria. Setelah perintah ini ada beberapa opsi yaitu:ACCEPT: akan mengijinkan paketDROP: akan menolak paketREJECT: akan menolak paket. Berbeda dengan DROP, REJECT akan

58

memberitahukan error kesalahan kepada user pengirim sedangkan DROP tidak memberitahukan error kesalahan. Opsi untuk REJECT adalah icmp-net-unreachable, icmp-host-unreachable, icmp-port-unreachable, icmp-proto-unreachable, icmp-net-prohibited, dan icmp-host-prohibited. Namun untuk menggunakan opsi-opsi tersebut harus diawali dengan --reject-withRETURN: akan membuat paket berhenti melintasi aturan-aturan pada rantai dimana paket tersebut menemui target RETURNMIRROR: fungsi utamanya adalah membalik source address dan destination address. Misalnya PC A menjalankan target RETURN kemudian komputer B melakukan koneksi http ke komputer A, maka yang muncul adalah pada browser adalah website komputer B itu sendiriLOG: digunakan untuk menentukan tingkat log. Tingkatan log yang bisa digunakan adalah debug, info, notice,warning, err, crit, alert dan emerg. perintah -j LOG --log-prefix digunakan untuk memberikan string yang tertulis pada awalan log, sehingga memudahkan pembacaan log tersebut.SNAT Target: Berguna untuk melakukan perubahan alamat asal dari paket (Source Network Address Translation). Target ini berlaku untuk tabel NAT pada rantai POSTROUTING, dan hanya disinilah rantai POSTROUTING. Jika paket pertama dari sebuah koneksi mengalami SNAT, maka paket-paket berikutnya dalam koneksi tersebut juga akan mengalami hal yang samaDNAT Target: Digunakan untuk melakukan translasi field alamat tujuan (Destination Network Address Translation) pada header dari paket-paket yang memenuhi kriteria match. DNAT hanya bekerja untuk tabel NAT pada rantai PREROUTING dan OUTPUT atau rantai buatan yang dipanggil oleh kedua rantai tersebutMASQUARADE Target: Target ini bekerja dengan cara yang hampir sama seperti target SNAT, tetapi target ini tidak memerlukan option --to-source. Target ini memang ini didesain untuk bekerja pada komputer dengan koneksi yang tidak tetap seperti dial-up atau DHCP yang akan memberi pada kita nomor IP yang berubah-ubah. Target ini hanya bekerja untuk tabel NAT pada rantai POSTROUTING REDIRECT Target: Digunakan untuk mengalihkan jurusan (redirect) paket ke mesin itu sendiri. Target ini umumnya digunakan untuk mengarahkan paket yang menuju suatu port tertentu untuk memasuki suatu aplikasi proxy, lebih jauh lagi hal ini sangat berguna untuk membangun sebuah sistem jaringan yang menggunakan transparent proxy. Contohnya kita ingin mengalihkan semua koneksi yang menuju port http untuk memasuki aplikasi http proxy misalnya squid. Target ini hanya bekerja untuk tabel NAT pada rantai PREROUTING dan OUTPUT atau pada rantai buatan yang dipanggil dari kedua rantai tersebut.

Memang banyak sekali dan bisa menjadi sangat sangat kompleks teknik konfigurasi iptables. Pada kesempatan ini kita hanya mencoba melakukan konfigurasi firewall / iptables yang sederhana saja.

CONNECTION TRACKING

iptables mengandung sebuah modul yang mengijinkan para administrator untuk memeriksa dan membatasi service-service yang tersedia pada sebuah jaringan internal menggunakan sebuah metode yang disebut connection tracking. Fitur ini merupakan fitur baru di dalam firewall yang

59

ditambahkan sejak kernel 2.4.x. Kemampuan dari connection tracking adalah untuk menyimpan dan menjaga informasi koneksi seperti koneksi baru atau koneksi yang sudah ada yang disertai dengan jenis protokol, alamat IP asal dan alamat IP tujuan. Dengan menggunakan fitur ini, para administrator dapat menolak atau mengijinkan berbagai macam koneksi. Connection tracking mempunyai beberapa keadaan:

- NEW --> Sebuah klien mereques koneksi melalui firewall. Maksudnya server1 menghubungi server2 dengan mengirimkan paket SYN (Synchronize)- RELATED --> Sebuah koneksi yang mereques sebuah reques baru tetapi masih merupakan bagian dari koneksi yang sudah ada. Maksudnya server2 menerima paket SYN dari server 1 dan kemudian merespon dengan sebuah paket SYN-ACK (Synchronize-Acknowledgment)- ESTABLISHED --> Sebuah koneksi yang merupakan bagian dari koneksi yang sudah ada. Maksudnya server 1 menerima paket SYN-ACK dan kemudian merespon dengan paket ACK (Acknowledgment).- INVALID --> Sebuah keadaan dimana tidak ada keadaan seperti 3 keadaan di atas

Untuk lebih jelasnya perhatikan contoh dibawah ini:Misalnya kita ingin menggunakan service ftp pada IP=132.456.78.9, maka pada saat kita mengetikkan

# ftp 132.456.78.9

perintah tersebut akan membuka koneksi baru (NEW) Lalu pada saat kita ingin mengambil sebuah file dari IP tersebut, misalnya paket yang bernama file.tar.gz, maka pada saat kita mengetikkan:

ftp> get file.tar.gz

itu berarti kita telah membuat keadaan koneksi ESTABLISHED. Jika kita menggunakan sebuah koneksi ftp pasif, dimana port koneksi clien adalah 20 tetapi port transfer menggunakan port 1024 atau yang lebih besar, maka pada saat kita mengetikkan

ftp> pass

Passive mode on

kita harus menggunakan keadaan koneksi RELATED pada firewall jika kita mengijinkan akses ftp

secara pasif.

Fungsi lain dari connection tracking yaitu ketika kita sudah mendefinisikan sebuah rule di chain tertentu, maka trafik network yang terkait dengan rule tersebut tidak perlu disebutkan lagi. Misalnya kita ingin menolak ssh dari sebuah IP, maka kita cukup mendefinisikan rule tersebut di chain INPUT saja, yang di outputnya tidak perlu lagi. Caranya adalah:

# iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# iptables -I OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# iptables -I FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

60

Di bawah ini adalah contoh iptables untuk mengijinkan service ssh dengan IP 132.456.78.9 masuk dan keluar serta hanya mengijinkan koneksi baru dan establlished untuk service ssh tersebut.

# iptables -A INPUT -p tcp -s 0/0 --sport 513:65535 -d 64.67.33.76 --dport 22 -m state --state

NEW,ESTABLISHED -j ACCEPT

# iptables -A OUTPUT -p tcp -s 132.456.78.9--sport 22 -d 0/0 --dport 513:65535 -m state --state

ESTABLISHED -j ACCEPT

CONTOH-CONTOH

Ada dua pendekatan di dalam Iptables yaitu pendekatan positif dan pendekatan negatif. Pendekatan positif yaitu dimana seluruh port ditutup sedangkan pendekatan negatif yaitu dimana seluruh port dibuka. Untuk melihat apakah sistem iptables kita menggunakan pendekatan positif atau negatif (namun, pada umumnya linux secara default menggunakan pendekatan negatif) ketikkan iptables -L dan lihat kata setelah kata POLICY. Jika ada kata ACCEPT maka berarti pendekatan yang digunakan adalah negatif. Di tutorial ini kita akan menggunakan pendekatan negatif. Berikut adalah contoh-contohnya:

1. Memblok paket yang datang dari sebuah IP

# iptables -I INPUT -s 192.168.0.149 -j REJECT

Perintah di atas digunakan untuk memblok paket dari IP 192.168.0.149. Ada 2 opsi yang digunakan sebenarnya yaitu DROP dan REJECT. Perbedaan dari keduanya adalah kalau REJECT, perintah ini akan memblok paket namun akan memberitahukan bahwa paket tersebut ditolak. Sedangkan kalau DROP, perintah ini akan memblok paket namun tidak diberitahu apakah paket tersebut ditolak atau tidak.

# iptables -I INPUT 10 -s 192.168.0.149 -j REJECT

Perintah di atas hampir sama dengan perintah sebelumnya hanya saja perintah ini memasukkan perintah ini pada baris ke 10 dari rantai INPUT. Sedangkan pada perintah sebelumnya perintah iptables akan dimasukkan ke baris paling atas ari rantai INPUT.

# iptables -A INPUT -s 192.168.0.149 -j REJECT

Perintah di atas juga sama yaitu menambahkan perintah iptables ke dalam rantai INPUT. Hanya saja perbedaan dengan perintah-perintah sebelumnya, perintah ini memasukkan perintah iptables ke bagian paling bawah dari rantai INPUT.

Menghapus iptables

# iptables -D INPUT 3

Menghapus iptables pada tabel input di baris ke 3

61

# iptables -F

Menghapus seluruh iptables

# iptables -F FORWARD

Menghapus seluruh iptables yang hanya berada di tabel forward

3. Menutup Port

# iptables -A INPUT -p tcp --dport 22 -j REJECT

Perintah di atas memblok port 22 yang biasa digunakan untuk ssh

# iptables -A INPUT -p tcp -i eth0 --dport 23 -j REJECT

Perintah di atas memblok port 22 yang biasa digunakan untuk telnet

# iptables -I INPUT -s 192.168.0.250 -p tcp --dport 23 -j REJECT

Perintah di atas untuk memblok service telnet dari IP 192.168.0.250

4. Melihat tabel iptables

# iptables -L

Perintah di atas digunakan untuk melihat daftar (list) iptables

# iptables -L --line-number

Perintah di atas digunakan untuk melihat daftar (list) iptables dan disertai dengan nomor baris

# iptables -L -v --line-number

Perintah di atas digunakan untuk melihat daftar (list) iptables dan disertai dengan nomor baris serta dengan mode verbose

# iptables -L -v --line-number -t nat

Perintah di atas digunakan untuk melihat daftar (list) iptables dan disertai dengan nomor baris dengan mode verbose serta menampilkan tabel NAT

5. Mengubah Policy

# iptables -P INPUT DROP

Mengubah chain INPUT menjadi DROP

# iptables -P OUTPUT DROP

62

Mengubah chain OUTPUT menjadi DROP

# iptables -P FORWARD DROP

Mengubah chain FORWARD menjadi DROP

6. Lain-Lain

# iptables -A INPUT -m mac -mac-source 00-14-85-47-85-E5

Memblok komputer yang mempunyai mac address 00-14-85-47-85-E5

# iptables -A INPUT -p tcp -m multiport --source-port 22,53,80

Memblok port-port 22,53, dan 80

7. Menggunakan Log

Untuk menggunakan log di dalam iptables, maka kita harus menambahkan skrip di file file syslog.conf pada folder /etc. Di dalam skrip tersebut, tambahkan skrip sebagai berikut:

kern.* /var/log/firewall.log

Setelah itu, simpan file tersebut dan restart syslog dengan cara:

# service syslog restart

Dengan demikian, segala hal yang terjadi pada iptables akan dicatat di /var/log/firewall.log

Penentuan posisi log juga berpengaruh terhadap pencatatan log itu sendiri. Sebaiknya posisi log ditempatkan di baris paling atas karena akan mencatat segala yang terjadi pada paket-paket sebelum paket-paket tersebut diperlakukan sesuai dengan rule yang ada di dalam iptables. Untuk lebih jelasnya, perhatikan contoh berikut. Kita akan membuat server linux di vmware dengan 2 ethernet. eth0 dengan IP 192.168.0.248 dan eth1 dengan IP 192.168.2.2. Lalu di iptables kita buat aturan sebagai berikut:

# iptables -P INPUT DROP

# iptables -I INPUT -s 192.168.0.1 -d 192.168.0.248 -j ACCEPT

# iptables -A INPUT -p ALL -m state --state NEW -j LOG --log-prefix "IPTABLES: (INPUT-

REJECT)"

# iptables -A INPUT -i eth1 -j REJECT

Perintah pertama dapat dijelaskan bahwa policy default untuk rantai INPUT adalah DROP yang

berarti akan memblok seluruh inputan. Perintah iptables kedua akan menerima inputan dari IP

192.168.0.1 dengan tujuan IP 192.168.0.248. Perintah iptables ketiga akan mencatat seluruh inputan

yang mencoba masuk ke server selain yang sudah ditentukan. Perintah iptables keempat akan

63

memblok seluruh inputan yang menuju eth1 atau yang ber- IP 192.168.2.2. Sekarang coba ping

192.168.0.248 dari komputer yang ber-IP 192.168.0.1, dan akan terlihat hasil sebagai berikut:

Dan kalau kita lihat di log firewall di /var/log/firewall akan terlihat tidak ada aktivitas apa-apa di dalam file tersebut. Tetapi pada saat kita menge-ping 192.168.2.2, maka akan terlihat gambar seperti di bawah ini:

Itu berarti IP tersebut di blok. Sekarang lihat di log firewall, seharusnya akan terlihat gambar berikut ini:

Contoh yang lain lagi misalnya kita mempunyai IP publik yang ada di eth1 dan kita ingin memblok seluruh IP publik yang ada untuk mengakses IP publik kita, namun kita juga ingin mengetahui IP-IP mana saja yang mengakses IP Publik kita maka sintaksnya seperti berikut:

64

# iptables -I INPUT -p All -i eth1 -s ! 192.168.0.0/24 -m state --state NEW -j LOG --log-prefix

"IPTABLES: (INPUT-REJECT) "

# iptables -A INPUT -i eth1 -s ! 192.168.0.0/24 -j REJECT

Sintaks di atas dapat dijelaskan bahwa seluruh IP akan ditolak namun hanya IP-IP publik saja yang akan di catat dalam log.

8. Membackup dan merestore iptablesJika kita sudah mengatur konfigurasi iptables, maka sebaiknya kita langsung menyimpan iptables tersebut. Karena jika tidak, konfigurasi iptables kita akan hilang jika server kita restart atau kita menggunakan perintah restart iptables dan kita harus menyusunnya kembali. Berikut adalah langkah-langkah untuk menyimpan iptables:

# service iptables save

Maka perintah-perintah iptables akan disimpan di file iptables pada folder /etc/sysconfig. Jika misalnya kita sudah menyimpan iptables yang sudah kita konfigurasi sebelumnya, maka jika server kita restart atau iptables kita restart maka iptables kita bisa terestore secara otomatis. Untuk merestore iptables yang sudah kita simpan sebelumnya, maka ketikkan perintah:

# service iptables restart

maka iptables yang sudah kita simpan akan terestore kembali.

CATATAN UNTUK MEMBUAT IPTABLES

Jika kita ingin membuat sebuah rule di iptables, maka kita harus mengerti tujuan dari rule yang kita buat sendiri. Setelah itu, kita baru membuat rule-rule tersebut menurut sintaks yang sudah ditetapkan iptables. Jika sudah, kita harus melakukan beberapa pengujian. Uji apakah port-port yang ditutup masih dapat diakses atau tidak. Jika port yang sudah ditutup sudah tidak dapat diakses, berarti aturan yang kita terapkan sudah berjalan dengan baik. Begitu juga dengan port atau service yang dibuka oleh iptables. Jika semua berjalan sesuai dengan apa yang kita inginkan maka sebaiknya segera disimpan iptables tersebut.

Iptables sendiri merupakan tools yang sangat kompleks dan memiliki banyak kemampuan. Pada intinya, sesuaikan saja kebutuhan yang ingin kita terapkan dalam jaringan kita, kemudian gunakan option IPtables yang sesuai dengan kebutuhan kita.

65