Konfigurasi Server Linux (Linux Servers Configuration) - SMK ...

69
Kementerian Negara Riset dan Teknologi Republik Indonesia Panduan Pendayagunaan Open Source Software Konfigurasi Server Linux (Linux Servers Configuration) Jakarta, 2007

Transcript of Konfigurasi Server Linux (Linux Servers Configuration) - SMK ...

Kementerian Negara Riset dan Teknologi

Republik Indonesia

Panduan Pendayagunaan Open Source Software

Konfigurasi Server Linux

(Linux Servers Configuration)

Jakarta, 2007

Panduan Pendayagunaan Open Source Software : Konfigurasi Server Linux

Hak Cipta © 2007

Kementerian Negara Riset dan Teknologi dan Yayasan Penggerak Linux Indonesia

Distribusi :

Kementerian Negara Riset dan Teknologi Republik Indonesia

Deputi Bidang Pendayagunaan dan Pemasyarakatan Iptek

Asisten Deputi Pengembangan dan Pemanfaatan Teknologi Informasi

Gedung II BPP Teknologi Lantai 6

Jl. MH. Thamrin No.8 – Jakarta 10340

Telepon : (021) 316 9181 / 316 9166

Faksimili : (021) 310 1952

Web : www.ristek.go.id

Yayasan Penggerak Linux Indonesia (YPLI)

Jln. Mampang Prapatan X No. 4 Jakarta Selatan 12790 Indonesia

Telp. 021 93740960, Fax. 021 7874225, Email: [email protected]

Pengurus YPLI:

Rusmanto Maryanto (Ketua); Resza Ciptadi (Sekretaris); Effendy Kho (Bendahara)

Penyusun:

Firdaus Tjahyadi; Henry Saptono; Irfan Gustiarahman; Mgs. Hendri Thoyyib;

Prihantoosa; Resza Ciptadi; Rusmanto Maryanto; Sirojul Munir; Yan Farmawan

ISBN 978-979-630-038-9

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux i

SAMBUTAN MENEGRISTEK

Pembangunan teknologi informasi merupakan sumber terbentuknya iklim yang menjadi

landasan bagi tumbuhnya kreativitas sumberdaya manusia yang dapat menjadi sumberdaya

pertumbuhan dan daya saing ekonomi. Dengan menyadari akan hal tersebut, peran

teknologi informasi sangatlah penting dalam kehidupan masyarakat, sehingga mendorong

peningkatan kemandirian, daya saing, kreativitas serta inovasi bangsa yang merupakan

kunci utama keberhasilan pembangunan bangsa.

Melalui semangat untuk membangkitkan inovasi ini, “Program Indonesia, Go Open Source

(IGOS)” dideklarasikan. Tumbuhnya kesadaran untuk meraih kemandirian dalam

pemanfaatan teknologi informasi dan komunikasi (information and communication

technology-ICT), ditopang dengan tersedianya berbagai pilihan terhadap perangkat lunak

(software) yang dapat digunakan oleh masyarakat. Pilihan untuk mengembangkan dan

memanfaatkan open source software (OSS) merupakan pilihan yang rasional, baik dari segi

legalitas, ekonomi, maupun tingkat keamanannya (security).

Untuk kepentingan pendayagunaan open source serta memudahkan pengenalan perangkat

lunak berbasis Open Source kepada masyarakat, Kementerian Negara Riset dan Teknologi

menginisiasi penyusunan Panduan Pendayagunaan Open Source Software yang

bekerjasama dengan komunitas Iptek, Yayasan Penggerak Linux Indonesia (YPLI).

Dalam konteks ini, saya menyambut gembira penyusunan Panduan Pendayagunaan Open

Source Software yang tentunya diharapkan dapat lebih memudahkan masyarakat dalam

mengenal perangkat lunak berbasis open source. Dokumen tersebut terdiri atas delapan

dokumen yaitu Perangkat Lunak Bebas dan Open Source, Petunjuk Instalasi IGOS

Nusantara, Konfigurasi Server Linux, Aplikasi untuk Server, RDBMS (Relational Database

Management System): MySQL, Bahasa Pemrograman Open Source, Aplikasi Perkantoran

OpenOffice.org, dan CMS, CRM, dan ERP.

Akhir kata, semoga kedelapan Dokumen ini dapat bermanfaat bagi peningkatan

kemampuan masyarakat dalam penguasaan teknologi piranti lunak bebas dan open source.

Dengan semangat “Kreativitas Tanpa Batas” dan maju bersama Indonesia, Go Open

Source! Kita besarkan produk aplikasi perangkat lunak Indonesia.

Jakarta, Juli 2007

Menteri Negara Riset dan Teknologi

Kusmayanto Kadiman

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux ii

PENGANTAR

Dokumen ini disusun sebagai salah satu bahan acuan untuk pelatihan tentang perangkat

lunak bebas dan open source dengan semangat IGOS (Indonesia, Go Open Source!) yang

dimotori oleh Kementerian Negara Riset dan Teknologi Republik Indonesia. Dokumen ini

merupakan bagian dari delapan dokumen IGOS Training Tool Kit yang disusun oleh

Yayasan Penggerak Linux Indonesia dan diterbitkan oleh Kementerian Negara Riset dan

Teknologi Republik Indonesia.

Kedelapan dokumen itu adalah Perangkat Lunak Bebas dan Open Source, Petunjuk

Instalasi IGOS Nusantara, Konfigurasi Server Linux, Aplikasi untuk Server, RDBMS

(Relational Database Management System): MySQL, Bahasa Pemrograman Open Source,

Aplikasi Perkantoran OpenOffice.org, dan CMS, CRM, dan ERP. Sebagian bahan

penyusunan dokumen ini diambil dari Open Source Training Tool Kit yang diterbitkan oleh

Open Source Resource Center (OSRC) - Pakistan Software Export Board (PSEB).

Lisensi dokumen ini adalah OPL (Open Publication License) versi 1.0 atau yang lebih baru

dan dapat diakses di http://opencontent.org/openpub/.

Jakarta, Juli 2007

Rusmanto Maryanto

Ketua Yayasan Penggerak Linux Indonesia

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux iii

DAFTAR ISI

SAMBUTAN MENEGRISTEK.................................................................................................ii

PENGANTAR............................................................................................................................iii

DAFTAR ISI..............................................................................................................................iv

I. DOMAIN NAME SERVER (DNS).........................................................................................1

1.1 Named.conf.......................................................................................................................1

1.2 Panduan Langkah-langkah Konfigurasi...........................................................................2

II. APACHE WEB SERVER.......................................................................................................9

2.1 Pengenalan Apache...........................................................................................................9

2.2 Instalasi.............................................................................................................................9

2.2.1 Instalasi lewat rpm....................................................................................................9

2.2.2 Instalasi lewat source..............................................................................................10

2.3 Konfigurasi Apache........................................................................................................11

2.3.1 Menjalankan Apache...............................................................................................12

2.4 Konfigurasi Dasar Apache..............................................................................................12

2.4.1 Konfigurasi Server..................................................................................................12

2.4.2 Konfigurasi Site......................................................................................................13

2.4.3 Virtual Host.............................................................................................................14

2.4.4 Autentifikasi, Autorisasi dan Akses Kontrol..........................................................16

2.4.5 Logging...................................................................................................................19

2.5 Contoh Konfigurasi .......................................................................................................20

III. MAIL SERVER...................................................................................................................21

3.1 Konsep dan Cara Kerja Email.........................................................................................21

3.2 Format Mailbox..............................................................................................................22

3.3 Memilih Mail Transport Agent (MTA)..........................................................................22

3.3.1 Sendmail.................................................................................................................22

3.3.2 Smail v3.2...............................................................................................................23

3.3.4 Postfix.....................................................................................................................23

3.3.5 qmail.......................................................................................................................23

3.4 Local Delivery Agents (LDAs).......................................................................................23

3.5 User Agent Administration.............................................................................................23

3.5.1 Mutt.........................................................................................................................23

3.5.2 Elm .........................................................................................................................24

3.5.3 Mailx.......................................................................................................................24

3.6 Postfix Mail Server.........................................................................................................24

3.6.1 Instalasi Postfix Mail Server...................................................................................24

3.6.2 Konfigurasi postfix.................................................................................................24

3.6.3 Menjalankan Postfix...............................................................................................25

3.6.4 Test Postfix..............................................................................................................25

3.7 POP/IMAP Server..........................................................................................................26

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux iv

3.7.1 Instalasi Pop/Imap Server........................................................................................26

3.7.3 Menjalankan POP/Imap Server...............................................................................27

3.7.4 Test POP/Imap Server.............................................................................................27

3.8 Qmail Mail Server..........................................................................................................27

3.8.1 Mail Server Package...............................................................................................27

3.8.2 Instalasi qmail.........................................................................................................28

3.8.3 Configuration..........................................................................................................29

3.8.4 Menjalankan qmail..................................................................................................31

IV. DHCP SERVER..................................................................................................................33

4.1 Server DHCP..................................................................................................................33

4.2 Instalasi DHCP...............................................................................................................33

4.3 Konfigurasi DHCP ........................................................................................................33

4.4 Menjalankan DHCPD ....................................................................................................34

4.5 Melihat status DHCPD ..................................................................................................35

V. LDAP SERVER ...................................................................................................................37

5.1 LDAP..............................................................................................................................37

5.2 Istilah dalam LDAP........................................................................................................37

5.3 OpenLDAP daemon dan Utiliti....................................................................................38

5.4 File-file konfigurasi OpenLDAP....................................................................................39

5.5 Konfigurasi OpenLDAP server......................................................................................39

5.6 Mempopulasikan entri ke LDAP server.........................................................................40

VI. SAMBA SERVER...............................................................................................................43

6.1 Samba Server..................................................................................................................43

6.2 Instalasi Samba...............................................................................................................43

6.3 Konfigurasi Samba.........................................................................................................43

6.3.1 Konfigurasi samba sebagai 'Anonymous Read Only File server'...........................43

6.3.2 Konfigurasi samba sebagai 'Anonymous Read Write File server'..........................44

6.3.3 Konfigurasi samba sebagai 'Restricted File server'.................................................46

6.3.4 Konfigurasi samba sebagai 'Primary Domain Controller'......................................47

6.4 Menjalankan samba........................................................................................................48

VII. PROXY SERVER..............................................................................................................49

7.1 Proxy Server....................................................................................................................49

7.2 Squid Proxy Server 49

7.3 Instalasi Squid Proxy Web Server...................................................................................49

7.4 Konfigurasi Squid...........................................................................................................49

VIII. FIREWALL......................................................................................................................51

8.1 Firewall (iptables)...........................................................................................................51

8.1.1 Klasifikasi Firewall..................................................................................................51

8.1.2 Mekanisme Firewall di Linux.................................................................................52

8.2 Tool Administrasi firewall (iptables)..............................................................................52

8.2.1 Sintaks iptables.......................................................................................................53

8.2.2 iptables dan NAT....................................................................................................55

v Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux

8.3 Administrasi firewall dengan Shorewall.........................................................................56

8.3.1 Cek Instalasi shorewall............................................................................................57

8.3.2 Konfigurasi shorewall.............................................................................................57

8.3.3 Test..........................................................................................................................58

IX. ASTERISK..........................................................................................................................59

9.1 Pengantar........................................................................................................................59

9.2 Pendahuluan ..................................................................................................................59

9.3 Instalasi Asterisk VOIP Web Server...............................................................................59

9.4 Konfigurasi Asterisk.......................................................................................................59

9.5 Konfigurasi Client X-lite................................................................................................61

9.5.1 Instalasi X-lite ........................................................................................................61

9.5.2 Konfigurasi X-lite...................................................................................................61

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux vi

I. DOMAIN NAME SERVER (DNS)

Konfigurasi Domain Name Server biasanya terdiri dari file konfigurasi, beberapa file zone

dan file cache. Bagian dari jaringan name server yang bertanggung jawab dikenal sebagai

zone. Zone berbeda dengan domain, di suatu dalam domain yang banyak anda dapat

memiliki beberapa zone dimana tiap-tiap zone memiliki name server sendiri. Anda juga

dapat memiliki satu layanan name server di beberapa zone. Dalam kasus ini tiap zone

memiliki file zone masing-masing. File zone menyediakan record nama komputer dan

alamat komputer yang berhubungan dengan komputer yang berada di dalam domain name

server yang menjadi tanggung jawabnya. Ada file zone untuk server jaringan dan mesin

lokal sebagai tambahan ada juga file cache yang berisi daftar root server tempat domain

server berhubungan.

1.1 Named.conf

File konfigurasi untuk daemon named disebut named.conf, terletak di direktori /etc. File

tersebut menggunakan sintaks yang fleksibel yang mirip dengan program C. Formatnya

mudah untuk melakukan mengkonfigurasi zone, mengaktifkan fitur-fitur seperti akses

kontrol list dan kategori pencatatan log. File named.conf terdiri dari perintah-perintah

konfigurasi bind yang dibatasi oleh blok. Dengan pilihan-pilihan spesifik yang terdaftar.

Perintah konfigurasi diikuti oleh argumen dan blok yang ditandai oleh tutup kurung

kurawal. Didalam blok terdapat baris pilihan dan input fitur-fitur. Tiap masukan

dipisahkan oleh titik koma. Komentar dapat menggunakan sintaks C,C++ atau shell/perl

seperti /* */, // atau #. Contoh di bawah ini menampilkan perintah zone diikuti oleh nama

zone dan blok pilihan yang dimulai dengan buka kurung kurawal {. tiap akhir pilihan

diakhiri dengan titik koma. Pada akhir blok ditutup dengan tutup kurung kurawal yang

diikuti juga dengan titik koma.

//a caching only nameserver config

//

zone “.”{

type hint;

file “named.ca”;};

Perintah zone digunakan untuk menunjukkan domain yang dilayani oleh name server.

Masukkan kata kunci zone diikuti oleh nama domain yang dibuka dan ditutup dengan

tanda kutip. Jangan tempatkan periode pada akhir nama domain.

Terdapat beberapa tipe zone yang dapat dipilih antara lain : master, slave, stub, forward dan

hint.

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 1

Tipe master digunakan jika zone tersebut memegang otorisasi dan informasi utama dari

zone tersebut. Tipe slave mengindikasikan bahwa zone tersebut memerlukan update secara

berkala dari spesifik master name server . Slave dikenal juga sebagai secondary name

server. Anda dapat menggunakan input tersebut jika name server beroperasi sebagai

secondary name server untuk primary(master) domain name server lainnya. Zone stub

hanya menyalin input name server lain, tidak semua zone. Zone forward akan mengarahkan

semua permintaan ke name server spesifik. Zone hint digunakan spesifik untuk mengatur

root named server yang digunakan oleh semua domain name server internet.

Anda juga dapat melakukan konfigurasi spesifik untuk beberapa pilihan yang akan

menggantikan tiap pilihan global yang diatur oleh perintah pilihan. Contoh di bawah ini

menggambarkan perintah zone sederhana untuk domain ristek.go.id. Dengan kelas internet,

IN dan tipe master.

1.2 Panduan Langkah-langkah Konfigurasi

Mesin yang digunakan dalam contoh ini telah dikonfigurasi dan diberikan IP

sebagai berikut:

Nama Komputer : ns

Nama Domain : ristek.go.id

FQDN : ns.ristek.go.id

Routable/IP Statis : 222.124.63.122

Non-Routeable IP : 192.168.1.226

Buka File /etc/named.conf. File harus dikonfigurasi sebagai berikut:

//

// named.conf for Red Hat caching-nameserver

//

options {

directory "/var/named";

dump-file "/var/named/data/cache_dump.db";

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

/*

* If there is a firewall between you and nameservers

you want

* to talk to, you might need to uncomment the query-

source

* directive below. Previous versions of BIND always

asked

* questions using port 53, but BIND 8.1 uses an

unprivileged

* port by default.

*/

// query-source address * port 53;

};

2 Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux

//

// a caching only nameserver config

//

controls {

inet 127.0.0.1 allow { localhost; } keys { rndckey; };

};

zone "." IN {

type hint;

file "named.ca";

};

zone "localdomain" IN {

type master;

file "localdomain.zone";

allow-update { none; };

};

zone "localhost" IN {

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 "ristek.go.id" IN {

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 3

type master;

file "ristek.zone";

};

zone "63.124.222.in-addr.arpa" IN {

type master;

file "db.222.124.63";

};

include "/etc/rndc.key";

Penjelasan file /etc/named.conf

Options {

Bagian ini merupakan bagian file konfigurasi standar

};

zone “.”{

type hint;

file “named.ca”;

};

Blok ini juga merupakan bagian file konfigurasi standar. Setelah blok ini anda dapat

memulai konfigurasi named.conf sesuai konfigurasi zone anda sebagai berikut:

zone "ristek.go.id" IN {

type master;

file "ristek.zone";

};

Kata kunci zone sudah ditulis di atas. Tulis nama zone diapit dengan tanda kutip. Nama

zone harus merupakan nama domain anda. Baris pertama dalam blok mendefinisikan tipe

zone yaitu master. Tipe master maksudnya bahwa dia merupakan name server yang

independen yang maksudnya adalah bahwa tidak membutuhkan update dari name server

lain dan jika ingin update dari name server lain harus dikonfigurasi dengan tipe slave. File

menunjukkan nama file zone yaitu ristek.zone, tempat dimana anda mengkonfigurasi zone

tersebut.

zone "63.124.222.in-addr.arpa" IN {

type master;

file "db.222.124.63";

};

File konfigurasi ini digunakan untuk memetakan dari alamat komputer ke nama komputer.

4 Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux

Catatan:

� Jangan lupa untuk meletakkan titik koma(;) setelah tutup kurung kurawal di setiap

blok zone

� jangan lupa untuk meletakkan titik koma setelah pernyataan di blok zone

� .zone pada nama file hanya merupakan kesepakatan nama dan anda dapat

menggunakan kesepakatan nama sendiri untuk tujuan ini.

� Semua file yang disebutkan di named.conf harus ada di direktori spesifik pada pilihan

blok {} dan harus dikonfigurasi sevcara benar.

Setelah melakukan konfigurasi file named.conf langkah selanjutnya adalah konfigurasi file

zone. Pindah ke direktori spesifik yang disebutkan dipilihan blok {} file named.conf yaitu

/var/named/chroot/var/named/

Mulai mengkonfigurasi file zone ristek.zone ( yang disebutkan di baris ketiga blok di file

named.conf.

$TTL 86400

@ IN SOA ns.ristek.go.id. admin.ns.ristek.go.id. (

42 ; serial

(d. adams)

3H ; refresh

15M ; retry

1W ; expiry

1D ) ; minimum

IN NS ns.ristek.go.id.

IN A 222.124.63.122

ns IN A 222.124.63.122

www IN A 222.124.63.122

ftp IN A 222.124.63.122

Catatan:

� ns merupakan nama komputer yaitu nama dari mesin daemon named berjalan

� 222.124.63.122 merupakan alamat komputer dari mesin ns yang telah didefinisikan

� www dan ftp merupakan nama komputer virtual. Sebagai contoh alamat lengkap dari

vitual host www adalah www.ristek.go.id. Anda dapat menambahkan virtual host

sesuai kebutuhan anda.

� Ketika menulis SOA, tulis dengan format namakomputer.namazone ( nama zone

merupakan nama yang anda deklarasikan di file /etc/named.conf) pada contoh di atas

pada baris pertama adalah ns.ristek.go.id dimana ns merupakan nama komputer dan

ristek.go.id adalah nama zone. Tulis nama administrator zone dengan format

accountemail.namakomputer.namazone pada contoh di atas adalah

admin.ns.ristek.go.id

� Jangan lupa untuk meletakkan titik (.) setelah ns.ristek.go.id, admin.ns.ristek.go.id dan

ns.ristek.go.id pada baris 2 dan 8.

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 5

Konfigurasi selanjutnya adalah zone reverse yang menterjemahkan dari alamat komputer

ke nama komputer. Nama file yang digunakan pada contoh di atas adalah db.222.124.63.

$TTL 86400

@ IN SOA ns.ristek.go.id. admin.ns.ristek.go.id. (

1997022700 ; Serial

28800 ; Refresh

14400 ; Retry

3600000 ; Expire

86400 ) ; Minimum

IN NS ns.ristek.go.id.

122 IN PTR ns.ristek.go.id.

Buka file /etc/resolv.conf dan tulis baris berikut:

search ristek.go.id

nameserver 222.124.63.122

nameserver 127.0.0.1

Catatan:

� search mendefinisikan nama domain.

� nameserver mendefinisikan alamat komputer dan juga alamat ip loopback.

Menjalankan daemon named:

Jalankan dns server dengan perintah skrip berikut.

/etc/init.d/named start

Anda dapat menjalankan, mematikan atau merestart daemon dengan meletakkan start, stop

restart di akhir skrip /etc/init.d/named.

Mengecek DNS

Ada dua cara untuk mengecek apakah dns sudah terkonfigurasi dengan baik.

� Ping domain anda atau virtual host anda.

ping ristek.go.id

ping www.ristek.go.id

6 Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux

Jika anda mendapat reply ping berarti dns berjalan dengan baik.

� Menggunakan perintah nslookup atau dig:

nslookup ristek.go.id

dig ristek.go.id

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 7

8 Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux

II. APACHE WEB SERVER

2.1 Pengenalan Apache

World Wide Web merupakan aplikasi internet yang paling sukses dan merupakan

komponen utama dari web server. Web server melayani permintaan user dengan

mengembalikan permintaan halaman web kepada user. Dua aplikasi dibutuhkan untuk

memproses permintaan tersebut yaitu web server dan web client. Protokol yang dikenal

sebagai Hyper Text Transfer Protocol (HTTP) dibutuhkan untuk komunikasi antara klien

dan server.

Menurut survei bulanan secure server netcraft yang tersedia di www.netcraft.com Apache

web server saat ini menguasai pasar sebesar 68,01% dibandingkan dengan pesaing lain

Microsoft 20.56% dan Sun Microsystem 2.47%.

Apache Web Server merupakan bagian dari Apache Software Foundation yang mendukung

banyak proyek-proyek open source seperti Ant, Spamassassin, struts, tomcat dan lain-lain.

Versi Apache web server saat ini yang digunakan sebagai tutorial adalah versi 2.2.0-5.1.2

yang merupakan bawaan distro linux.

2.2 Instalasi

Apache sudah ada di tiap-tiap distribusi linux, gunakan perintah rpm -qa | grep httpd

untuk mengkonfirmasi apakah apache sudah terinstall atau belum. Jika apache sudah

terinstall dari source code maka perintah tersebut tidak berlaku.

Apache dapat dinstall manual dengan mendownload baik binari rpm maupun source code.

Tutorial ini akan menunjukkan dua metode tsb.

2.2.1 Instalasi lewat rpm

1. Download versi apache terbaru dari http://httpd.apache.org/download.cgi

2. Jika sudah terinstall apache versi sebelumnya uninstall dengan perintah:

rpm -e httpd

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 9

Install apache dengan perintah:

rpm -ivh httpd-2.2.0-5.1.2.rpm

3. Cek instalasi dengan perintah:

r pm -q http d

2.2.2 Instalasi lewat source

Beberapa pilihan dapat digunakan untuk melakukan konfigurasi apache.

Download Apache dari httpd.apache.org/download.cgi

#wget http://apache.mirror99.com/httpd/httpd-2.2.0.tar.gz

Buat direktori “/usr/local” bagian ini merupakan opsional dan dipakai hanya untuk tutorial

ini saja.

Buka file kompresi:

#tar -zxvf httpd-2.2.0.tar.gz -C /usr/local

#cd /usr/local/httpd-2.2.0

#cd apache2

Jalankan configure dengan pilihan berikut:

#./configure –with-layout=Apache –prefix=/usr/local/apache2 –

enable-module=most –enable-mods-shared=most

Jalankan make untuk kompilasi:

#make

Install apache dengan perintah berikut:

#make install

10 Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux

2.3 Konfigurasi Apache

Jika anda menggunakan apache dari disto bawaan linux maka kemungkinan besar akan

terinstal di direktori /etc/httpd. Jika anda menginstallnya dari source seperti yang

disebutkan di atas maka kemungkinan apache akan terinstall di direktori

/usr/local/apache2. Sebagai acuan direktori instalasi default (/etc/httpd atau

/usr/local/apache2) $APACHE_HOME akan digunakan untuk tutorial ini saja.

Apache berjalan sebagai daemon di backround proses, dimana server melayani secara

berkala semua permintaan. Port 80 merupakan port default di file konfigurasi apache,

httpd.conf. Menjalankan apache di port 80 memerlukan akses sebagai root dan dapat

dijalankan dengan perintah berikut.

#$APACHE_HOME/bin/apachectl start

Jika menggunakan apache bawaan distro kemungkinan direktori bin tidak berada di

direktori $APACHE_HOME

Perintah lain yang dapat digunakan adalah:

#$APACHE_HOME/bin/apachectl stop

#$APACHE_HOME/bin/apachectl restart

#$APACHE_HOME/bin/apachectl status

Skrip startup httpd juga dapat digunakan untuk start, stop atau restart apache web server.

#/etc/init.d/httpd start

Apache membaca file spesial startup httpd.conf yang mengandung informasi konfigurasi.

Yang merupakan konfigurasi utama dan lokasi filenya dapat dikonfigurasi saat kompilasi

atau dengan pilihan spesifik -f $apachectl -f /path/to/config/file

Konfigurasi Apache dibagi menjadi 3 bagian:

� global environment, digunakan untuk pengaturan server secara umum ( ServerType,

ServerRoot, MaxClients, Listen, dll )

� main server, digunakan untuk merespon permintaan yang tidak termasuk dalam

direktif global environment ( Port, User, Group, ServerName, DocumentRoot, dll )

� Virtual Host, digunakan untuk pembuatan virtual host baik yang menggunakan IP

Based maupun Name Based

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 11

File konfigurasi dapat dikonfigurasi dengan menempatkan direktif-direktif. Kebanyakan

direktif merupakan bagian umum untuk seluruh server. Tetapi dapat diubah dengan

menempatkan beberapa spesial direktif seperti <Directory>. <DirectoryMatch>, <Files>

dan <Location> dan lain-lain

2.3.1 Menjalankan Apache

Untuk mengecek apakah file konfigurasi server benar atau tidak jalankan perintah

#apachectl configtest

Keluaran tampilan di atas adalah Syntax OK jika semua konfigurasi benar.

File konfigurasi apache httpd.conf mendefinisikan port web server berjalan yaitu

standarnya port 80, jika anda ingin jalan di port lain, ubah port 80 kemudian restart apache

webserver. Dan browse ke http://localhost. Jika konfigurasi benar makan di browser akan

muncul “Test Page”

Catatan: Mulai Fedora core 3 ada paket spesial “SE LINUX” yang dapat memblok

konfigurasi apache. Pastikan untuk menonaktifkan sebelum mengecek konfigurasi

kemudian restart apache.

2.4 Konfigurasi Dasar Apache

Terdiri dari konfigurasi umum meliputi konfigurasi server, konfigurasi site, virtual host,

log, access control dan autentifikasi.

2.4.1 Konfigurasi Server

Konfigurasi dasar server meliputi sebagai berikut:

Server Name: Mendefinisikan nama server dan port yang digunakan, dapat digunakan

untuk redirection misal anda mempunyai komputer dengan nama merkurius.ristek.go.id

tetapi di file record DNS adalah www.ristek.go.id sementara anda ingin mengakses dengan

www.ristek.go.id maka Server Name dapat dikonfigurasi sebagai barikut:

12 Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux

ServerName www.ristek.go.id:80

Pendefinisian Server Name berguna untuk mencegah masalah pada saat start up. Direktif

ini juga dapat digunakan di bagian virtual Host.

Listening Port: Mendefinisikan nomor port atau alamat komputer dan nomor port dimana

web server berjalan untuk menerima permintaan. Jika hanya nomor port yang didefinisikan

maka server akan berjalan di port tersebut dan di semua alamat komputer. Jika tidak maka

akan berjalan di alamat komputer dan nomor port yang spesifik.

Listen 80

[berjalan di port 80 dan semua interface yang tersedia]

Listen 222.124.63.122:80

[berjalan di port 80 dan ip 222.124.63.122]

2.4.2 Konfigurasi Site

DocumentRoot: Standar folder apache berada di /var/www/html dimana tempat

menempatkan file-file HTML. Konfigurasi ini dapat diubah dengan menggunakan direktif

DocumentRoot. Direktif ini juga bisa dipakai di bagian virtualhost.

DocumentRoot /var/www/html

DirectoryIndex: Jika kita menginginkan permintaan ke direktori yang spesifik, pilihan ini

mendefinisikan untuk melihat htttp://www.ristek.go.id/downloads/ dimana download

adalah direktori yang dituju. Isi direktori tersebut dapat berupa index.html index.php dan

lain-lain. Yang perlu jadi catatan adalah bahwa file index yang pertama kali didefinisikan

akan dipanggil pertama kali.

DirectoryIndex index.html index.php index.txt

Konfigurasi apache di atas mendefinisikan untuk melihat file index.html di direktori

downloads jika tidak ada file index.html maka akan dicari file index.php kemudian baru

file index.txt. Jika semuanya tidak ditemukan makan tergantung dari pilihan direktif

Options apakah dikonfigurasi dengan pilihan Indexes atau tidak. Direktif ini juga dapat

digunakan di bagian virtualhost.

OptionIndexes: Pilihan ini digunakan untuk konfigurasi direktori. Dimana alamat yang

diminta akan dipetakan ke direktori http://www.ristek.go.id/downloads dan jika

dikonfigurasikan no DirectoryIndex atau file didalam DirectoryIndex tidak dapat

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 13

ditemukan. Maka pilihan ini akan menggunakan format standar untuk direktori yang

diminta:

<Directory “/var/www/html”>

Options Indexes

</Directory>

Konfigurasi ini akan mengatur index secara otomatis ke direktori “html” dan

subdirektorinya. Direktif ini juga dapat digunakan untuk virtualhost.

2.4.3 Virtual Host

Virtual host menyediakan layanan untuk menjalankan lebih dari satu website di satu server

tunggal. Apache mengizinkan untuk menjalankan lebih dari satu website di dalam satu

server. Untuk menjalankan lebih dari satu website anda dapat menggunakan banyak

daemon apache dimana tiap-tiap daemon menanggung satu website, atau anda dapat

menggunakan virtual host. Menjalankan banyak daemon apache sangat tidak efesien dan

sebaiknya dihindari karena dapat menggunakan virtual host.

2.4.3.1 Virtual Host berbasis IP

Pada konfigurasi ini mengizinkan untuk menjalankan banyak website dengan alamat

komputer yang berbeda dalam satu server. Dimana tujuannya dapat dicapai dengan

mempunyai banyak koneksi jaringan atau menggunakan virtual interfaces. Untuk set lebih

dari satu website misalnya anda mempunyai 2 buah kartu jaringan dengan Alamat

192.168.2.58 dan 10.10.10.100 anda dapat mengkonfigurasi website

http://www.ristek.go.id/account di 192.168.2.58 dan http://www.ristek.go.id/hr di

10.10.10.100

Contoh konfigurasi di bawah ini virtual host berbasis IP, Nama komputer akan dipetakan

meurut alamat komputernya.

<VirtualHost www.pagi.com>

DocumentRoot /vaw/www/html/pagi

</VirtualHost>

<VirtualHost www.malam.com>

DocumentRoot /var/www/html/malam

</VirtualHost>

Pastikan bahwa parameter NameVirtualHost diberi tanda pagar sebagai tanda komentar.

Konfigurasi di bawah ini mendefinisikan bahwa setiap permintaan klien ke

http://www.pagi.com akan memetakan nama komputer, dimana akan diteruskan ke

192.168.2.58 yang akan meneruskan ke isi direktori yang didefisikan oleh parameter

DocumentRoot.

Operasi yang sama dapat dilakukan apache untuk www.malam.com dimana alamat

14 Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux

komputernya 10.10.10.100. nama komputer dan alamat komputer sebaiknya didefinisikan di

file /etc/hosts di mesin web server, sebagai tambahan yang telah dibuat di DNS server.

Dimana nantinya klien harus mengakses dengan alamat http://www.pagi.com/pagi bukan

dengan http://www.pagi.com

Contoh yang ditampilkan membutuhkan resolusi DNS Server dimana biasanya akan

memperlambat seluruh proses. Mohon dilihat di http://httpd.apache.org/docs/2.2/dns-

cavecast.html untuk informasi lebih lanjut. Latihan yang sebaiknya dilakukan adalah

dengan mendefinisikan langsung Alamat komputer dibanding nama komputer di bagian

Virtual Host.

<VirtualHost 192.168.2.58>

DocumentRoot /var/www/html/pagi

ServerName www.pagi.com

</VirtualHost>

<VirtualHost 10.10.10.100>

DocumentRoot /var/www/html/malam

ServerName www.malam.com

</VirtualHost>

Anda membutuhkan direktif tambahan ServerName permintaan ke pagi dan malam dapat

dipetakan. Jika tidak ada servername maka Apache akan mencoba mereverse DNS untuk

mendapatkan nama komputer.

2.4.3.2 Virtual Host berbasis Nama

Virtual host berbasis nama mengizinkan banyak website dalam satu alamat komputer. Yang

berbeda sekali dengan virtual host berbasis IP dimana anda membutuhkan alamat

komputer untuk tiap-tiap website. Virtual host berbasis IP menggunakan acuan alamat

komputer untuk mendefinisikan ke virtual host yang benar di dalam server. Virtual host

berbasis name menggunakan acuan nama komputer untuk mendefinisikan nama komputer

di header http. Virtual Host berbasis nama sangat mudah dikonfigurasi dan tidak

membutuhkan banyak alamat komputer dimana kita bisa bekerja di situasi alamat komputer

yang terbatas. Dianjurkan untuk menggunakan virtualhost berbasis nama dibandingkan

dengan yang berbasis IP kecuali anda mempunyai alasan-alasan khusus. di bawah ini

adalah contoh konfigurasi virtual host berbasis nama:

NameVirtualHost 192.168.2.58:80

<VirtualHost 192.168.2.58:80>

DocumentRoot /var/www/html/pagi

ServerName www.pagi.com

</VirtualHost>

<VirtualHost 192.168.2.58:80>

DocumentRoot /var/www/html/malam

ServerName www.malam.com

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 15

</VirtualHost>

Direktif Namevirtualhost mendefinisikan secara khusus bahwa IP 192.168.2.58 harus

berjalan di IP tersebut untuk segala permintaan yang datang. Anda dapat menggunakan *

tetapi dalam kasus yang membutuhkan kombinasi konfigurasi misal komputer mendukung

baik VirtualHost berbasis IP dan virtual host berbasis nama anda membutuhkan untuk

mendefinisikan Alamat komputer secara spesifik untuk konfigurasi virtual host berbasis

nama. Jika anda berencana untuk menggunakan banyak port seperti misalnya SSL makan

definisikan port secara spesifik. Parameter NameVirtualHost harus sama dengan bagian

Virtual host untuk Virtual host berbasis nama.

NameVirtualHost *

<VirtualHost *>

DocumentRoot /var/www/html/pagi

ServerName www.pagi.com

</VirtualHost>

<VirtualHost *>

DocumentRoot /var/www/html/malam

ServerName www.malam.com

</VirtualHost>

2.4.4 Autentifikasi, Autorisasi dan Akses Kontrol

Autentifikasi menunjuk ke verifikasi untuk mengidentifikasi permintaan dari komputer

atau user. Otorisasi adalah proses untuk menjamin akses sesorang untuk mengakses

daerah dimana user diizinkan untuk itu.

Akses kontrol juga merupakan otorisasi tetapi menyediakan otorisasi di layer yang berbeda

misal berbasis alamat komputer, nama komputer atau karakteristik khusus dari permintaan.

Pastikan bahwa modul-modul yang digunakan sudah terinstall dan diaktifkan mohon

menunjuk ke http://httpd.apache.org/docs/2.2/howto/auth.html dan

http://httpd.apache.org/docs/2.2/howto/access.html untuk melihat daftarnya.

Untuk mengimplementasikan mekanisme keamanan, pertama kali anda harus mengerti

struktur direktori apache. Dan konfigurasi apache biasanya dikonfigurasi menggunakan

file httpd.conf dimana parameter konfigurasi diaplikasikan untuk semua folder web.

Kadang-kadang anda membutuhkan kostumisasi konfigurasi untuk direktori khusus, URL,

file, nama komputer dan lokasi. Contohnya jika anda menginginkan untuk membatasi

beberapa bagian website untuk beberapa user. Apache menyediakan 2 pilihan dapat

menggunakan <Directory> </Directory> di file konfigurasi httpd.conf atau menggunakan

file spesial .htaccess yang akan ditempatkan di direktori tersebut. Secara konsep tidak ada

16 Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux

perbedaan mengenai kedua metode tersebut. Dimana keduanya memiliki sintaks dan

aplikasi yang sama. Perbedaan antara directory, file dan locasi dijelaskan di bawah ini.

<Directory /var/www/html/test>

order Allow,deny

Deny from All

</Directory>

Artinya adalah melarang akses ke direktori test dan sub direktorinya. Jadi akses ke URL

http://www.test.com yang menunjuk ke direktori /var/www/html/test dilarang. Akses ke

URL http://www.test.com/public menunjuk ke direktori /var/www/html/all diizinkan.

<File private.html>

Order Allow,deny

Deny From All

</File>

Artinya akses ke file private.html yang berlokasi di manapun dilarang.

<Location /private>

order Allow,Deny

Deny From All

</Location>

Artinya bahwa akss ke url yang mengandung kata private dilarang. Akses ke

http://www.test.com/private/public dilarang sementara akses ke http://www.test.com/public

diizinkan .

Metode .htaccess sangat mudah dikonfigurasi. Tempatkan isi file .htaccess di

<Directory></Directory> pada file konfigurasi utama.

Nama file .htaccess dapat diubah dengan mengubahnya di direktif AccessNameFile pada

file konfigurasi utama. Mengkonfigurasi apache untuk mengizinkan konfigurasi file untuk

suatu direktori dapat dilakukan dengan menggunakan parameter AllowOverride

AuthConfig di <Directory> </Directory>. Jika anda menginginkan direktori tertentu

/var/www/html/public/restricted untuk dibatasi anda harus mengizinkan penggunaan file

.htaccess. Konfigurasi file konfigurasi apache seperti contoh di bawah ini.

<Directory /var/www/html/public/restricted>

AllowOverride AuthConfig

</Directory>

Definisikan user yang mempunyai hak akses ke area tersebut. User dan password akan

didefinisikan di file spesial di suatu tempat yang tidak dapat diakses lewat web. File

tersebut dapat dibuat dengan utilitas htpasswd yang merupakan bawaan apache.mirror9

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 17

#htpasswd -c /etc/httpd/conf/passwd daus

New Password:

Retype New Password :

Adding Password for user daus

Buat file .htaccess di /var/www/html/public/restrcted dimana apache akan membaca file

konfigurasi user dan password untuk mengizinkan akses daerah terbatas.

.htaccess

AuthType Basic

AuthName “Restricted Files”

AuthUserFile /etc/httpd/conf/passwd

require user daus

AuthType mendefinisikan tipe autentifikasi dan basic artinya tidak terenkripsi, Authname

mendefinisikan realm dimana digunakan sebagai pengenal sesi sementara. AuthUserFile

mendefinisikan tempat file password dan require user mendefinisikan siapa saja yang

mempunyai hak akses. Kadang-kadang akses dapat diberikan ke beberapa user. Hal ini

dapat dilakukan dengan menggunakan require valid-user dimana akan mengizinkan akses

ke area terbatas untuk siapa saja yang terdaftar di file password.

Untuk mempelajari lebih lanjut mengenai pembatasan akses berdasarkan nama komputer,

alamat komputer dan spesifik karakter tertentu. Mohon menunjuk ke

http://httpd.apache.org/docs/2.2/howto/access.html untuk melihat daftar modul yang

dibutuhkan untuk diinstall dan diaktifkan.

Untuk melakukan kostumisasi akses berdasarkan nama komputer dan alamat komputer

gunakan direktif Allow dan Deny. Direktif order dapat juga digunakan untuk kebutuhan

tertentu yang ingin diimplementasikan. Sintaksnya adalah sebagai berikut:

Allow from Host

Deny From Host

Order Allow,Deny

Order Deny,Allow

Contohnya adalah sebagai berikut:

1. Allow from 192.168.2.100 [Izinkan hanya alamat komputer ini saja]

2. Allow from 192.168.2.0/24 [Izinkan hanya jaringan komputer ini saja]

3. Allow from 192.168.2.100 192.168.2.200 [Izinkan hanya 2 komputer itu saja]

4. Allow From my.host.com

Order mendefinisikan filter order yaitu:

18 Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux

Deny,Allow: pertama deny dan kemudian direktif allow dievaluasi. Akses diizinkan secara

default berarti bahwa setiap klien yang ada di daftar direktif Allow Acess akan diizinkan

untuk akses server.

Allow,Deny: pertama allow dan kemudian direktif deny dievaluasi. Akses dilarang secara

default berarti bahwa semua klien yang tidak ada di dalam daftar deny Access akan

dizinkan akses server.

Contohnya adalah direktori /var/www/html/localusers anda menginginkan hanya user lokal

dengan alamat jaringan 192.168.2 saja yang bisa akses /var/www/html/localusers/ gunakan

konfigurasi di bawah ini.

<Directory /var/www/html/localusers>

order Allow,deny

Allow from 192.168.2.0/24

</Directory>

Contoh konfigurasi lainnya:

<Directory /var/www/html/localusers >

Order Allow,Deny

Allow from 192.168.2.0/24

Deny From 192.168.2.178

</Directory>

Contoh tersebut akan mengizinkan akses semua komputer dalam jaringan

192.168.2.0/24 kecuali 192.168.2.178. Semua permintaan lainnya akan dilarang secara

default. Perubahan order dari Allow,deny ke deny allow akan mengizinkan hanya

192.168.2.178 yang bisa akses. Dimana allow akan dihapus oleh parameter deny.

2.4.5 Logging

Log Apache menyediakan informasi yang komprehensif dan kostumisasi untuk kebutuhan

analisis keamanan dan troubleshooting. Lokasi log apache secara default berada di

direktori /var/log/httpd/

Ada beberapa tipe log apache:

Error log : log ini menyediakan informasi kesalahan ketika prose permintaan untuk

kegunaan analisa. Lokasi dari log ini diatur oleh drektif ErrorLog pada file konfigurasi.

Log error tidak dapat dikostumisasi.

Acces Log: record log ini berisi informasi yang sangat berguna seperti Alamat komputer,

waktu, lokasi akses, informasi platform klien dan lain-lain. Access Log dapat dikostumisasi

dan lokasi beserta isinya dapat diatur oleh direktif CustomLog

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 19

2.5 Contoh Konfigurasi

Contoh konfigurasi website statis. Konfigurasinya adalah sebagai berikut:

Routeable Server IP 222.124.63.123

Non-routeable IP 192.168.2.178

domain name ristek.go.id

hostname www

FQDN www.ristek.go.id

Langkah-langkah:

� Buka file konfigurasi apache httpd.conf

� Atur Direktif DocumentRoot dan pastikan berada di /var/www/html

� Atur ServerName menjadi ristek.go.id:80

� Taruh semua dokumen web ke direktori /var/www/html jika nada mempunyai data

web di /home/daus/web maka jalankan

� #mv /home/daus/web/* /var/www/html/

� Simpan konfigurasi apache, keluar dan restart apache

Pastikan bahwa masukan dns www.ristek.go.id menunjuk ke alamat komputer anda.

Cek website dengan mengakses www.ristek.go.id lewat browser.

20 Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux

III. MAIL SERVER

3.1 Konsep dan Cara Kerja Email

Email ( electronic mail ) merupakan suatu bentuk komunikasi dengan menggunakan

perangkat elektronik seperti komputer. Mail server adalah Server yang melayani komputer-

komputer dalam suatu jaringan intranet, ekstranet dan internet dalam bentuk layanan

pengiriman dan pengambilan email. Protokol yang biasa digunakan untuk layanan email

adalah smtp ( simple mail transfer protocol ) untuk pengiriman email dan pop (post office

protocol ) untuk pengambilan email.

Mail server bekerja dalam modus klien server . Aplikasi email dibedakan menjadi 3

macam:

� MTA ( mail Transfer Agent) berfungsi untuk mengirimkan email. Contoh aplikasi MTA

antara lain: Sendmail, Postfix, Exim, qmail

� MDA (Mail Delivery Agent) berfungsi mendistribusikan email yang datang ke MTA

sesuai dengan mailbox masing-masing user

� MUA (Mail User Agent) berfungsi membaca dan membuat email. Contoh aplikasi

MUA antara lain: Outlook Express, Eudora Mail, Netscape, Kmail, Evolution

Proses pengiriman email melalui beberapa tahapan antara lain :

� Pengirim menulis isi email pada MUA seperti evolution, kmail, mutt dan lain-lain

� MUA akan meneruskan email tersebut ke SMTP Server yang membuka port 25

dimana SMTP Server bisa kita sebut sebagai MTA

� Kemudian MTA akan membaca alamat tujuan dari email tersebut

� Kalau email ditujukan ke alamat lokal ( domain yang sama ) maka email tersebut

akan langsung dikirimkan ke alamat yang dituju

� Kalau email ditujukan bukan ke alamat lokal maka MTA akan mencari MTA tujuan

dari alamat tersebut dengan menggunakan pencarian database DNS

� Kemudian MTA akan berkomunikasi dengan MTA tujuan kemudian mengirimkan

email tersebut ke MTA tujuan

� email tersebut akan disimpan dalam storage MTA

� Kemudian email tersebut dapat diambil oleh penerima dari MTA dengan

menggunakan protokol pop.

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 21

3.2 Format Mailbox

Pada umumnya format mailbox ada dua macam yaitu:

� Format Mbox

Pada format ini setiap email yang datang atau keluar akan ditambahkan secara

otomatis file sehingga ukurannya akan bertambah besar secara otomatis, dimana

terdapat kekurangan pada format mbox yaitu jika pada saat pengambilan email dari

server koneksi terputus maka email client (Mail User Agent) akan mengulang kembali

dari awal proses pengambilan email yang dapat menyebabkan file mbox menjadi

rusak.

� Format Maildir

Pada format Maildir email ditempatkan di suatu direktori dibandingkan di sebuah file

sehingga lebih reliabel dan handal dibandingkan dengan format mbox.

3.3 Memilih Mail Transport Agent (MTA)

Mail transport Agent adalah aplikasi server yang berfungsi untuk mengirimkan email dari

mail server lokal ke mail server remote. Sangat baik mengganti MTA anda dengan MTA

yang paling baik di Linux. Survei perbandingan di bawah ini akan membantu anda

memahami manfaat dari MTA yang akan anda gunakan dimana pilihan anda membutuhkan

tingkat performansi dan keamanan yang lebih baik dari standar sistem yang anda miliki.

Tiap-tiap MTA memiliki keunikan fitur masing-masing tetapi di sini kami akan

menggunakan postfix dan qmail yang mempunyai fitur tingkat keamanan yang baik,

kecepatan pengiriman yang tinggi dan mudah dikonfigurasi. Anda bebas memilih kesukaan

anda. Informasi yang diberikan di bawah ini semoga menolong anda untuk memutuskan

MTA yang akan anda gunakan.

3.3.1 Sendmail

Sendmail merupakan internet MTA tertua di dunia yang sudah memiliki banyak pengganti

sebagian besar distribusi linux memasukkannya dalam distro mereka. Sendmail dapat

digunakan untuk banyak alamat site dengan pilihan-pilihan yang rumit, tetapi

konfigurasinya sangat sulit terutama bagi pemula. Tidak begitu aman dan cepat jadi

menggunakan sendmail sama saja anda kembali ke masa lalu. Sendmail mempunyai

reputasi yang panjang yang menjadi mimpi buruk bagi banyak administrator, sulit

dipahami, sulit dikonfigurasi dan banyak memiliki lubang keamanan. Kunjungi situs resmi

sendmail di http://www.sendmail.org yang didalamnya banyak dokumentasi mengenai

sendmail yang anda butuhkan untuk mengkonfigurasi sendmail.

22 Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux

3.3.2 Smail v3.2

Smail merupakan MTA pertama yang mencoba menggantikan sendmail. Lebih simpel dan

konfigurasinya lebih mudah dipahami dibanding sendmail juga lebih aman. Beberapa

distribusi linux memaketkannya bersama distribusi mereka. Smail memiliki dukungan yang

baik untuk penggabungan protokol tcp/ip dan UUCP yang merupakan nilai tambah mereka.

Smail juga lebih efisien untuk pengiriman dengan jumlah banyak. Sama seperti sendmail

Smail juga memerlukan konfigurasi tambahan untuk standar konfigurasi smail.

3.3.4 Postfix

Postfix merupakan mail server yang aman, cepat, handal dan reliabel yang dibangun oleh

pakar keamanan IBM wietse vienema, saat ini postfix sudah banyak dipaketkan di hampir

semua distribusi Linux. Konfigurasinya yang mudah dipahami dan mirip dengan sendmail

menjadikan MTA ini salah satu pilihan utama pengganti sendmail.

3.3.5 qmail

qmail merupakan Mail server yang aman, handal dan reliabel yang menjadi salah satu

pilihan utama pengganti sendmail. Qmail memiliki tingkat keamanan yang baik yang

menjadi perhatian utama saat mendesain dan membangun qmail. Walaupun berulangkali

diperbaiki untuk membuatnya lebih aman. Semua arsitektur sendmail dapat digantikan oleh

qmail karena saat pendesainan keamanan merupakan tujuan utama. Qmail sangat

handal dapat performansi dan reliabel karena arsitektur dalamnya dalam pengiriman email.

Ini dimungkinkan karena pendekatan modular yang bersih dan simpel.

3.4 Local Delivery Agents (LDAs)

Tidak seperti sistem operasi lain Linux tidak memiliki Local Delivery Agent yang built-in.

Suatu program yang dibutuhkan untuk mengirimkan email ke lokal sistem seperti lmail,

procmail atau deliver di setiap distribusi Linux tetapi saat ini Local Delivery Agent sudah

terdapat di setiap MTA seperti sendmail

3.5 User Agent Administration

3.5.1 Mutt

Anda semestinya tidak mengalami kesulitan mengkompilasi, menginstal dan menjalankan

mutt. User-user qmail dapat menggunakan tambalan atau menjalankannya dengan opsi -f

untuk membaca email lokal mereka. Jika mutt mengirimkan pesan error “unknown

terminal error” saat pengupdatean, kompilasi kembali mutt.

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 23

3.5.2 Elm

Kompilasi, instalasi dan menjalan elm sangat mudah di Linux. Untuk informasi lebih

lanjut, lihat file sumber dan file instruksi instalasi. Elm dan filternya membutuhkan mode

2755 (group mail) dengan mode /var/spool/mail 755 dan grup mail.

3.5.3 Mailx

Jika anda tidak memiliki program email lokal mailx, dapatkan mailx dari Slackware 2.1.0

atau di atasnya, yang didalamnya terdapat implementasi mailx 5.5. jika anda

membangunnya dari file sumber, mailx v5.5 dikompilasi dengan tanpa tambalan di Linux

jika anda menggunakan perintah instalasi pmake. Hapus file lama edmail dari SLS1.00 dan

gantikan dengan mailx.

3.6 Postfix Mail Server

Postfix adalah Mail Server yang dibangun dari proyek wietse vienema seorang pakar

keamanan komputer di IBM.

3.6.1 Instalasi Postfix Mail Server

Kita dapat mengecek apakah postfix sudah terinstall atau belum di linux denganperintah

berikut

# rpm -q postfix

postfix-2.2.8-1.2

3.6.2 Konfigurasi postfix

file konfigurasi postfix terdapat di /etc/postfix/main.cf. Konfigurasi yang perlu diedit untuk

dapat membangun Mail Server antara lain:

Edit file konfigurasi dengan perintah:

#vi /etc/potfix/main.cf

� myhostname, baris ini mendefinisikan nama komputer Mail Server Anda misal

myhostname=mail.ristek.go.id

� mydomain, baris ini mendefinisikan nama domain anda misal

mydomain=ristek.go.id

� myorigin, baris ini mendefinisikan tampilan from dari header email misal

24 Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux

myorigin=$mydomain

� inet_interface, baris ini mendefinisikan alamat jaringan mana saja postfix menerima email

misal

inet_interface=all

� mydestination, baris ini mendefinisikan alamat yang menjadi tujuan ke mail server misal

mydestination=$myhostname, $mydomain

� mynetworks, baris ini mendefinisikan jaringan mana saja yang boleh memakai mail server

ini misal

mynetworks= 192.168.1.0/24, 127.0.0.0/8

3.6.3 Menjalankan Postfix

Setelah selesai jalankan postfix dengan melakukan perintah berikut:

# service postfix start

3.6.4 Test Postfix

Kemudian coba tes kirim email dari user idris ke user daus sebagai berikut:

# telnet mail.ristek.go.id 25

Trying 192.168.1.2...

Connected to mail.ristek.go.id.

Escape character is '^]'.

220 mail.ristek.go.id ESMTP Postfix

mail from: [email protected]

250 Ok

rcpt to: [email protected]

250 Ok

data

354 End data with <CR><LF>.<CR><LF>

tes

.

250 Ok: queued as F152A37C95

quit

221 Bye

Connection closed by foreign host.

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 25

3.7 POP/IMAP Server

Merupakan Server yang melayani permintaan pengambilan email di server.

3.7.1 Instalasi Pop/Imap Server

Kita dapat mengecek apakah Pop/Imap sudah terinstall atau belum di linux denganperintah

berikut.

# rpm -q imap

3.7.2 Konfigurasi POP/IMAP Server

Kita harus mengedit file konfigurasi Pop/Imap yaitu file /etc/xinetd.d/imap dan file

/etc/xinetd.d/ipop3, baris yang harus diubah adalah disable = yes menjadi disable = no

� File /etc/xinetd.d/imap

service imap

{

socket_type = stream

wait = no

user = root

server = /usr/sbin/imapd

log_on_success += HOST DURATION

log_on_failure += HOST

disable = no

}

� File /etc/xinetd.d/ipop3

service pop3

{

socket_type = stream

wait = no

user = root

server = /usr/sbin/ipop3d

log_on_success += HOST DURATION

log_on_failure += HOST

disable = no

}

26 Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux

3.7.3 Menjalankan POP/Imap Server

Jalankan service xinetd sebagai berikut.

# service xinetd start

3.7.4 Test POP/Imap Server

Kemudian tes server pop sebagai berikut.

telnet mail.ristek.go.id 110

Trying 192.168.1.2...

Connected to mail.ristek.go.id.

Escape character is '^]'.

+OK POP3 mail.ristek.go.id v2001.78rh server ready

user daus

+OK User name accepted, password please

pass dauspassword

+OK Mailbox open, 1 messages

quit

+OK Sayonara

Connection closed by foreign host.

3.8 Qmail Mail Server

qmail adalah aplikasi Server email atau biasa disebut MTA ( Mail Transfer Agent ) Yang

berjalan pada platform Unix.

qmail diciptakan oleh Prof. D.J. Bernstein seorang profesor matematika di universitas

illinois Chicago, ia membuat qmail karena tidak puas dengan kinerja Sendmail, MTA yang

telah lama dibuat tetapi mempunyai banyak sekali kekurangan.

3.8.1 Mail Server Package

Untuk menginstal Mail Server Qmail diperlukan software-software sebagai berikut, anda

dapat mendownloadnya di www.qmailtoaster.com.

• daemontools-toaster

• autorespond-toaster

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 27

• spamassassin-toaster

• maildrop-toaster-devel

• qmailadmin-toaster

• libdomainkeys-toaster

• qmail-toaster

• courier-imap-toaster

• send-emails-toaster

• qmailmrtg-toaster

• isoqlog-toaster

• ucspi-tcp-toaster

• qmail-pop3d-toaster

• courier-authlib-toaster

• ezmlm-toaster

• squirrelmail-toaster

• ripmime-toaster

• vqadmin-toaster

• maildrop-toaster

• ezmlm-cgi-toaster

• simscan-toaster

• vpopmail-toaster

• control-panel-toaster

• clamav-toaster

3.8.2 Instalasi qmail

Masuk ke direktori temapat anda mendownload paket-paket qmail kemudian Jalankan

perintah-perintah berikut ini menggunakan user “root” untuk melakukan instalasi:

1. Cek Dependensi Paket

#sh fdr50-deps.sh

28 Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux

2. Cek Dependensi Perl

#sh fdr50-perl.sh

3. Buat database Vpopmail ( Pastikan MySQL sudah berjalan, service mysql status )

#sh mysql-setup.sh

sebelumnya edit dulu bagian

#vi /mysql-setup.sh

MYSQLPW=passwordmysql

4. Mulai Instalasi Paket

#sh fdr50-install-script.sh

3.8.3 Configuration

3.8.3.1 Qmail Configuration

File konfigurasi terletak di /etc/tcprules.d/tcp.smtp. Isi file tersebut adalah sebagai berikut:

#vi /etc/tcprules.d/tcp.smtp

127.0.0.1:allow,RELAYCLIENT="",QMAILQUEUE="/var/qmail/bin/simscan"

192.168.1.:allow,RELAYCLIENT="",QMAILQUEUE="/var/qmail/bin/simscan"

### Default ###

:allow,BADMIMETYPE="",BADLOADERTYPE="M",CHKUSER_RCPTLIMIT="15",CHKUS

ER_WRONGRCPTLIMIT="5",QMAILQUEUE="/var/qmail/bin/simscan"

3.8.3.2 File Konfigurasi /var/qmail/control

#vi /var/qmail/control/rcpthost

mail.ristek.go.id

ristek.co.id

#vi /var/qmail/control/defaultdomain

ristek.go.id

#vi /var/qmail/control/me

ristek.go.id

#vi /var/qmail/control/locals

mail.ristek.go.id

#vi /var/qmail/control/smtpgreeting

RISTEK

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 29

#vi /var/qmail/control/databytes

31457280

#vi /var/qmail/control/blacklist

-r zen.spamhaus.org -r bl.spamcop.net

#vi /var/qmail/control/simcontrol

:clam=yes,spam=yes,spam_hits=5,attach=.mp3:.src:.bat:.pif:.exe:.avi

:.bat:.bin:.chm:.com:.cpl:.dll:.htm:.html:.inf:.lnk:.mov:.mpeg:.mpg

:.msi:.ocx:.pl:.vb:.vbs:.vxd:.wav:.wmf:.wxf:.xlt

3.8.3.3 File Konfigurasi vpopmail

#vi /home/vpopmail/etc/defaultdomain

ristek.go.id

#vi /home/vpopmail/etc/defaultdomains

ristek.go.id

Membuat Domain

/home/vpopmail/bin/vadddomain ristek.goid

Membuat User

/home/vpopmail/bin/vadduser daus

3.8.3.4 Konfigurasi webmail

/usr/share/squirrelmail/config/conf.pl

SquirrelMail Configuration : Read: config.php (1.4.0)

---------------------------------------------------------

Main Menu --

1. Organization Preferences

2. Server Settings

3. Folder Defaults

4. General Options

5. Themes

6. Address Books

7. Message of the Day (MOTD)

8. Plugins

9. Database

10. Languages

30 Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux

D. Set pre-defined settings for specific IMAP servers

C Turn color off

S Save data

Q Quit

Command >>

A. Pilih 1 Organization Preferences

SquirrelMail Configuration : Read: config.php (1.4.0)

---------------------------------------------------------

Organization Preferences

1. Organization Name : RISTEK

2. Organization Logo : ../images/sm_logo.png

3. Org. Logo Width/Height : (308/70)

4. Organization Title : RISTEK

5. Signout Page :

6. Top Frame : _top

7. Provider link : http://www.ristek.go.id/

8. Provider name : SquirrelMail

B. Pilih 2 Server Setting

SquirrelMail Configuration : Read: config.php (1.4.0)

---------------------------------------------------------

Server Settings

General

-------

1. Domain : ristek.go.id

2. Invert Time : false

3. Sendmail or SMTP : SMTP

A. Update IMAP Settings : localhost:143 (uw)

B. Update SMTP Settings : localhost:25

R Return to Main Menu

C Turn color off

S Save data

Q Quit

Command >>

3.8.4 Menjalankan qmail

Pertama yang harus dilakukan adalah menjalankan servis qmail.

Perintah untuk menjalankan servis qmail:

# /etc/init.d/qmail start

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 31

32 Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux

IV. DHCP SERVER

4.1 Server DHCP

DHCP Server adalah server yang mampu memberikan IP Address secara otomatis/dinamis

kepada komputer klien sehingga komputer-komputer dalam jaringan bisa terhubung. Dalam

sebuah LAN DHCP server melakukan alokasi alamat komputer, dan mengirimkan parameter

konfigurasi jaringan seperti gateway, netmask, DNS dan lain-lain. DHCP mendukung tiga

macam mekanisme pemberian alamat komputer yaitu

� Alokasi Otomatis : Alamat komputer tetap untuk setiap klien

� Alokasi Dinamis : Alamat komputer diberikan dengan periode waktu tertentu oleh

DHCP Server

� Alokasi manual : Network Administrator secara langsung memberikan alamat

komputer ke klien-klien

Fedora Core 5 menyediakan aplikasi server DHCP yang disebut DHCPD.

4.2 Instalasi DHCP

Pertama kali harus kita pastikan bahwa DHCPD telah terinstal pada komputer Anda. Anda

dapat mengeceknya dengan perintah berikut.

#rpm -q dhcpd

Jika muncul pesan di atas berarti dhcpd anda telah terinstall dan siap dikonfigurasi.

4.3 Konfigurasi DHCP

File konfigurasi dhcp berada di /etc/dhcpd.conf untuk itu kita perlu mengedit file tersebut.

ddns-update-style interim;

ignore client-updates;

subnet 192.168.0.0 netmask 255.255.255.0 {

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 33

# --- default gateway

option routers 192.168.0.1;

option subnet-mask 255.255.255.0;

option nis-domain "domain.org";

option domain-name "domain.org";

option domain-name-servers 192.168.1.1;

option time-offset -18000; # Eastern Standard

Time

# option ntp-servers 192.168.1.1;

# option netbios-name-servers 192.168.1.1;

# --- Selects point-to-point node (default is hybrid). Don't

change this unless

# -- you understand Netbios very well

# option netbios-node-type 2;

range dynamic-bootp 192.168.0.128 192.168.0.254;

default-lease-time 21600;

max-lease-time 43200;

# we want the nameserver to appear at a fixed address

host ns {

next-server marvin.redhat.com;

hardware ethernet 12:34:56:78:AB:CD;

fixed-address 207.175.42.254;

}

}

Keterangan :

� option routers : Mendefinisikan default gateway untuk router

� option netmask : Mendefinisikan netmask untuk klien

� option domain-name-server : Mendefinisikan DNS server yang digunakan klien

� range : Jangkauan alamat komputer yang akan dialokasikan untuk klien.

4.4 Menjalankan DHCPD

Anda dapat mengaktifkan server dhcpd dengan perintah berikut ini:

#/etc/init.d/dhcpd start

34 Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux

4.5 Melihat status DHCPD

Untuk melihat klien yang aktif jalankan perintah berikut

# dhclient

Internet Systems Consortium DHCP Client V3.0.3-RedHat

Copyright 2004-2005 Internet Systems Consortium.

All rights reserved.

For info, please visit http://www.isc.org/products/DHCP

Listening on LPF/eth0/00:40:f4:96:4f:03

Sending on LPF/eth0/00:40:f4:96:4f:03

Sending on Socket/fallback

DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 5

DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 11

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 35

36 Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux

V. LDAP SERVER

5.1 LDAP

Lightweight Directory Access Protocol (LDAP) adalah sekumpulan protokol terbuka yang

digunakan untuk mengakses informasi yang tersimpan secara terpusat melalui suatu jaringan.

LDAP berbasiskan pada standar X.500 untuk directory sharing, tetapi sedikit lebih kompleks

dan membutuhkan resource yang lebih. Karena itulah, LDAP terkadanag dianggap sebagai "X.500

Lite", artinya LDAP bagaikan X.500 yang ringan.

Seperti halnya X.500, LDAP mengorganisasikan informasi secara hirarki dengan menggunakan

direktori direktori data. Direktori direktori ini dapat menyimpan berbagai macam informasi dan

bahkan dapat digunakan seperti NIS (Network Information Service), yang memungkinkan

siapapun dapat mengakses account mereka dari komputer manapaun dalam suatu jaringan yang

terdapat LDAP server.

Dalam beberapa kasus, LDAP digunakan untuk keperluan sederhana sebagai Address Book

directory, yang memungkinkan user atau pengguna dengan mudah mengkases contact information

user lainnya. Namun LDAP sangat fleksibel dari pada Address Book tradisional. karena LDAP

mampu mereferensikan suatu query informasi ke LDAP server LDAP server lainnya didunia.

Bagaimanapun juga , LDAP umumnya digunakan dalam individual organizations, seperti

universitas, departemen pemerintahan , dan perusahaan perusahaan.

LDAP bekerja dalam konsep client server system. LDAP server dapat menggunakan berbagai

macam jenis database backend untuk menyimpan direktori data, yang masing-masing dioptimize

untuk proses operasi membaca yang cepat dan mudah. Ketika aplikasi LDAP client terhubung ke

suatu LDAP server, client dapat melakukan query suatu direktori data ataupun mencoba

memodifikasinya. Dalam kasus query, server akan menjawab query dari client atau jika server

tidak dapat menjawab secara lokal, maka server dapat mereferensi ke suatu LDAP server yang

memiliki jawaban. Jika client mencoba memodifikasi informasi suatu direktori data LDAP, server

memverifikasi bahwa user benar-benar memiliki ijin untuk melakukan perubahan dan kemudian

menambahkan atau mengupdate informasi.

5.2 Istilah dalam LDAP

Sebelum lebih jauh mempelajari LDAP, maka ada baiknya kita pahami dan mengerti beberapa

istilah dalam LDAP, sebagai berikut:

entry — suatu entry adalah sebuah unit tunggal dalam sebuah direktori LDAP. Setiap entri

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 37

didefinisikan menggunakan suatu uniq Distinguished Name (DN).

attributes — Attribute secara langsung diasosiasikan dengan suatu entry. Sebagai contoh ,

sebuah organisasi direpresentasikan sebagai sautu LDAP entry. Atribut-atribut yang diasosiasikan

dengan organisasi seperti fax number, alamat dan seabagainya. Orang/manusia juga dapat

direpresentasikan sebagai suatu entri dalam direktori LDAP, atribut untuk orang/manusia seperti

telephone dan email address. Beberapa atribut diperlukan, tetapi ada juga yang opsional. Suatu

objectclass adalah sekumpulan definisi atribut-atribut yang diperlukan dan yang opsional untuk

setiap entri. Definisi-definisi Objectclass dapat ditemukan dalam berbagai macam file schema,

yang terletak dalam direktori /etc/openldap/schema/ .

LDIF — LDAP Data Interchange Format (LDIF) adalah suatu file ASCII text yang

merepresentasikan entri-entri LDAP. Format file inilah yang digunakan untuk mengimport data

ke LDAP server. Format isi file LDIF seperti berikut ini:

[<id>]

dn: <distinguished name>

<attrtype>: <attrvalue>

<attrtype>: <attrvalue>

<attrtype>: <attrvalue>

Setiap entri dapat mengandung beberapa pasangan <attrtype>: <attrvalue> .

Suatu baris kosong (blank line) menunjukkan akhir dari suatu entri.

Sebagai catatan: Semua pasangan <attrtype>: <attrvalue>, harus didefinisikan sesuai dengan

definisi yang ada dalam file-file schema.

Suatu nilai yang dibatasi dengan tanda "<" dan ">" adalah sebuah variabel (artinya bisa diubah

sesuai kebutuhan) yang dapat diset ketika entri LDAP baru dibuat. Aturan ini tidak berlaku untuk

<id>. Suatu <id> adalah sebuah nomor yang ditentukan oleh aplikasi yang Anda gunakan untuk

mengedit entri.

5.3 OpenLDAP daemon dan Utiliti

OpenLDAP adalah software yang mengimplementasikan protokol LDAP yang tersedia secara

gratis dan terbuka. Paket-paket software OpenLDAP terdiri dari beberapa library dan tool berikut

ini:

openldap — berisi library-library yang diperlukan untuk menjalankan aplikasi

38 Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux

OpenLDAP server dan aplikasi client.

openldap-clients — berisi tool dalam bentuk perintah command line untuk

menampilkan dan memodifikasi direktori data suatu LDAP server.

openldap-servers — berisi aplikasi server dan utiliti lainnya yang diperlukan untuk

mengkonfigur dan menjalankan LDAP server.

Terdapat dua buah server yang ada dalam paket openldap-servers yaitu : Standalone LDAP

Daemon (/usr/sbin/slapd) dan Standalone LDAP Update Replication

Daemon(/usr/sbin/slurpd). slapd daemon adalah standalone LDAP server sedangkan slurpd.

daemon digunakan untuk sinkronisasi perubahan-perubahan dari satu LDAP server ke LDAP

server lainnya dalam suatu jaringan. slurpd daemon hanya digunakan ketika membentuk multiple

LDAP server

5.4 File-file konfigurasi OpenLDAP

File-file konfigurasi OpenLDAP terinstall pada direktori /etc/openldap/.Berikut ini beberapa

direktori dan file konfigurasi penting OpenLDAP:

/etc/openldap/ldap.conf — Ini adalah file konfigurasi untuk seluruh aplikasi client

yang menggunakan librari-librari OpneLDAP seperti ldapsearch, ldapadd, Sendmail,

Evolution, dan Gnome Meeting.

/etc/openldap/slapd.conf — Ini adalah file konfigurasi server OpenLDAP (slapd

daemon) .

/etc/openldap/schema/ — ini adalah subdirektori yang berisi file-file schema yang

diperlukan oleh server OpenLDAP (slapd daemon).

5.5 Konfigurasi OpenLDAP server

Untuk menggunakan LDAP server, sebelumnya Anda harus melakukan konfigurasi terlebih

dahulu sesuai dengan skenario Anda. Untuk itu dapat Anda lakukan dengan mengedit file

konfigurasi OpenLDAP server yaitu file /etc/openldap/slapd.conf, didalam file ini ada beberapa

parameter yang perlu diset sesuai skenario database direktori LDAP yang akan Anda buat. Berikut

ini beberapa parameter yang perlu Anda set:

Parameter suffix untuk menentukan nama domain LDAP server yang menyediakan informasi

direktori data LDAP:

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 39

suffix "dc=ristek,dc=go,dc=id"

Parameter rootdn adalah Distinguished Name (DN) untuk user yang memiliki hak penuh terhadap

akses control dan administrasi LDAP server. User rootdn dapat dianggap sebagai user

root untuk direktori LDAP. Dalam file konfigurasi slapd.conf, baris rootdn didefinisikan

dengan nilai seperti berikut ini:

rootdn "cn=Manager,dc=ristek,dc=go,id"

Jika Anda berniat mempopulasikan(menambah entri) direktori LDAP melalui jaringan,

isilah/definisikan parameter rootpw dengan password yang terenkripsi untuk menjaga keamanan

LDAP server . Untuk membuat password terenkripsi gunakanlah perintah slappasswd seperti

berikut ini:

slappasswd

Ketika perintah slappaswd dieksekusi maka akan muncul prompt password, Anda ketiklah

password yang Anda inginkan . Perintah slappasswd ini akan menghasilkan string pasword yang

terenkripsi pada shell prompt. Selanjutnya Anda kopi password terenkripsi tersebut ke dalam file

/etc/openldap/slapd.conf tepatnya pada baris parameter rootpw seperti berikut ini:

rootpw {SSHA}5IKI5ZaMnfou7Y1tvE+aMmPrcIlPoTGd

Setelah melakukan konfigurasi OpenLDAP server , maka OpenLDAP server dapat kita jalankan

dengan perintah berikut ini:

# /etc/init.d/ldap start

5.6 Mempopulasikan entri ke LDAP server

Sebelum kita mempopulasikan entri-entri data ke LDAP server, kita harus menyusun terlebih

dahulu hirarki direktori data LDAP yang akan kita bangun ini, sebagai contoh dalam buku ini kita

akan membangun database direktori LDAP untuk menyimpan informasi (entri data) Address Book

organisasi Ristek.

Membuat File LDIF:

Sekarang kita buat dahulu File LDIF untuk mendefinisikan atribut-atribut setiap entri. Buatlah

file LDIF dengan nama “data.ldif” dan isi file tersebut seperti berikut ini:

#root hirarki direktori ldap

dn:dc=ristek,dc=go,dc=id objectclass: top

40 Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux

objectclass:dcObject objectclass: organization

dc: ristek

o: Departemen Riset dan Teknologi

dn:ou=Telematika,dc=ristek,dc=go,dc= id

objectclass: organizationalUnit

ou: Telematika

#sub organisasi Robotik

dn: ou=robotik,dc=ristek, dc=go,dc=id objectclass: organizationalUnit

ou: robotik

#entry 1

dn: cn=firdaus, ou=telematika, dc=ristek,dc=go,dc=id objectclass: person

objectclass: organizationalperson

objectClass: inetorgperson ou: telematika

cn: firdaus

sn: Tjahyadi homePhone: 8987654 title: Kepala Seksi

mail: [email protected]

#entry 2

dn: cn=idris, ou=robotik, dc=ristek, dc=go,dc=id objectclass: person

objectclass: organizationalperson

objectClass: inetorgperson ou: robotik

cn: idris

sn:mohammad homePhone: 7775678 title: Kepala sub Seksi

mail: idris @ristek.go.id

Dan untuk entri data lainnya silahkan Anda tambahkan dalam file LDIF tersebut, Jika sudah selesai

membuat file LDIF maka selanjutnya kita bisa mulai mempopulasikan entri-entri tersebut ke

LDAP

server dengan perintah berikut ini:

ldapadd -x -D "cn=Manager,dc=ristek,dc=go,dc=id" -f data.ldif -W

Menguji menampilkan entri data yang sudah dipopulasikan:

Cek atau coba tampilkan isi database direktori LDPA dengan perintah berikut ini:

#ldapsearch -x -b "dc=ristek,dc=go,dc=id"

Anda dapat juga menguji menampilkan entri data yang ada didalam database direktori LDAP

menggunakan Tools Address book viewer/search yang Ada atau disertakan dalam aplikasi-aplikasi

Email Client (MUA) seperti Outlook Express, Evolution dan lain-lain.

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 41

42 Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux

VI. SAMBA SERVER

6.1 Samba Server

Samba Server adalah server yang berfungsi untuk menjembatani sharing file, direktori dan

printer antara komputer linux dengan komputer windows. Samba menggunakan protokol SMB

(Server Message Block untuk menyediakan file dan printer sharing.

Samba mempunyai fungsi sebagai

� File dan Print Services

� Authentification & Authorization

� Name Resolution

� Browsing

6.2 Instalasi Samba

Kita dapat mengecek apakah samba sudah terinstall atau belum di linux dengan perintah

berikut

# rpm -qa | grep samba

6.3 Konfigurasi Samba

File konfigurasi sanba adalah smb.conf berada di rektori /etc/samba/ untuk itu kita perlu

mengedit file tersebut, gunakan editor seperti vi, pico, joe dll untuk mengedit file smb.conf

6.3.1 Konfigurasi samba sebagai 'Anonymous Read Only File server'

Berikut ini contoh konfigurasi samba sebagai Anonymous Read Only File server. Konfigurasi

seperti ini dimaksudkan bila Anda menginginkan menyediakan share direktori yang ada di

komputer linux (samba server) agar dapat diakses oleh siapapun dalam network tanpa perlu proses

authentication dan authorization. Namun share direktori ini hanya untuk dibaca saja (read only).

Untuk itu lakukan pengeditan ulang terhadap file konfigurasi default samba yang biasanya

bernama /etc/samba/smb.conf . Ada beberapa parameter atau atribut yang harus disesuaikan

dengan skenario atau maksud konfigurasi tersebut. Diantaranya yang perlu diset dengan nilai baru

yaitu sebagai berikut:

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 43

[global]

workgroup = ristek

netbios name = server

samba server string = Samba server

security = share

hosts allow = 192.168.1. 127.

[data]

path = /mnt/data

comment = Ini share folder Data public = yes

read only = yes browseable = yes

Konfigurasi yang dicontohkan di atas yang ditulis hanya parameter yang perlu didefinisikan ulang

dan paramater tambahan yang menunjukkan sharename yang baru yaitu share [DATA] yang lokasi

direktorinya di /mnt/data (direktori ini harus ada). Selanjutnya restart service samba, kemudian

coba Anda gunakan smbclient sebagai berikut:

#smbclient -L //server

password: <enter saja>

Maka akan tampak share [DATA] sebagai sahrename yang terdapat pada samba server Anda.

Kemudian coba diakses share tersebut , gunakan lagi tool smbclient sebagai berikut:

#smbclient //server/data

password: <enter saja>

6.3.2 Konfigurasi samba sebagai 'Anonymous Read Write File

server'

Berikut ini contoh konfigurasi samba sebagai Anonymous Read Write File server. Konfigurasi

seperti ini dimaksudkan bila Anda menginginkan menyediakan share direktori yang ada di

komputer linux (samba server) agar dapat diakses oleh siapapun dalam network tanpa perlu proses

authentication dan authorization. Namun share direktori ini tidak sekedar hanya untuk dibaca saja

(read only) tetapi dapat ditulis (writeble). Konfigurasi jenis ini mirip dengan read only file server.

Untuk itu lakukan pengeditan ulang terhadap file konfigurasi samba yang biasanya bernama

/etc/samba/smb.conf . Ada beberapa parameter atau atribut yang harus disesuaikan dengan skenario

atau maksud konfigurasi tersebut. Diantaranya yang perlu diset dengan nilai baru yaitu:

44 Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux

[global]

workgroup = ristek

netbios name = server

samba server string = Samba server

security = share

hosts allow = 192.168.1. 127.

[data]

path = /mnt/data

comment = Ini share folder Data public = yes

read only = no browseable = yes

force user = data

force group = data

Selanjutnya , jika direktori /mnt/data belum ada buat dahulu sebagai berikut:

#mkdir /mnt/data

Lalu buatlah user sistem linux dengan nama data, dan rubah ownership direktori data menjadi milik

user data, sebagai berikut:

#adduser data

#chown data.data /mnt/data -R

Kemudian jadikan user data sebagai user samba dengan tool smbpasswd, sebagai berikut:

# smbpasswd -a data

Dan akhirnya restart service samba , kemudian coba akses dengan tool smbclient , dan coba buat

direktori baru didalam share [DATA]. Jika berhasil maka benarlah bahwa share [DATA]

dapat ditulis (writable).

#smbclient //server/data password: <enter saja> smb\>mkdir tes

Maka selanjutnya Anda dapat mengakses isi dari share data seperti layaknya mengakses

direktori di linux melalui commandline.

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 45

6.3.3 Konfigurasi samba sebagai 'Restricted File server'

Berikut ini contoh konfigurasi samba sebagai Restricted File server. Konfigurasi seperti ini

dimaksudkan bila Anda menginginkan menyediakan share direktori yang ada di komputer linux

(samba server) agar dapat diakses oleh user atau komputer yang sudah diberi ijin, user-user

tersebut harus memberikan username dan password dalam mengakses share tersebut. Artinya share

tersebut nantinya bersifat private, siapapun yang mengakses harus melalui proses authentication.

Namun share direktori ini tidak sekedar hanya untuk dibaca saja (read only) tetapi juga dapat ditulis

(writeble). Konfigurasi jenis ini mirip dengan anonymous read write file server. Untuk itu

lakukan pengeditan ulang terhadap file konfigurasi samba yang biasanya bernama

/etc/samba/smb.conf .

Ada beberapa parameter atau atribut yang harus disesuaikan dengan skenario atau maksud

konfigurasi tersebut. Diantaranya yang perlu diset dengan nilai baru yaitu sebagai berikut:

[global]

workgroup = ristek

netbios name = server

samba server string = Samba server

security = user

hosts allow = 192.168.1. 127.

[data]

path = /mnt/data

comment = Ini share folder Data public = no

valid users = data

read only = no browseable = yes

force user = data

force group = data

Selanjutnya , jika direktori /mnt/data belum ada buat dahulu sebagai berikut:

#mkdir /mnt/data

Lalu buatlah user sistem linux dengan nama data, dan rubah ownership direktori data menjadi milik

user data, sebagai berikut:

#adduser data

46 Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux

#chown data.data /mnt/data -R

Kemudian jadikan user data sebagai user samba dengan tool smbpasswd, sebagai berikut:

# smbpasswd -a data

Dan akhirnya restart service samba , kemudian coba akses dengan tool smbclient , dan coba buat

direktori baru didalam share [DATA]. Jika berhasil maka benarlah bahwa share [DATA]

dapat ditulis (writable).

#smbclient //server/data password: <enter saja> smb\>mkdir tes

Maka selanjutnya Anda dapat mengakses isi dari share data seperti layaknya mengakses

direktori di linux melalui commandline.

6.3.4 Konfigurasi samba sebagai 'Primary Domain Controller'

Berikut ini contoh konfigurasi samba sebagai Primary Domain Controller. Konfigurasi seperti ini

dimaksudkan bila Anda menginginkan menyediakan authentication dan authorization terpusat,

dimana samba server akan berperan sebagai domain controller. Ada beberapa parameter atau atribut

yang harus disesuaikan dengan skenario atau maksud konfigurasi tersebut. Diantaranya yang perlu diset

dengan nilai baru yaitu sebagai berikut:

[global]

# smb.conf is the main Samba configuration file. You find a full

commented

# version at /usr/share/doc/packages/samba/examples/smb.conf if

the

# samba-doc package is installed.

# Date: 2005-09-13

[global]

workgroup = RISTEK netbios name = SERVER

map to guest

logon path = \\%L\profiles\%U

logon drive = P:

add machine script = /usr/sbin/useradd -c Machine -d /dev/null -s

/bin/false %m$

domain logons = Yes domain master = Yes local master = Yes os level

= 75

preferred master = Yes security = user

encrypt password = Yes

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 47

[homes]

comment = Home Directories valid users = %S

browseable = No read only = No inherit acls = Yes

[netlogon]

comment = Network Logon Service path = /var/lib/samba/netlogon

write list = root

[profiles]

comment = Network Profiles Service path = /var/lib/samba/profiles

read only = No create mask = 0600

directory mask = 0700

inherit acls = Yes

[printers]

comment = All Printers path = /var/tmp printable = Yes

create mask = 0600

browseable = No

Lalu set password user root samba ,sebagai berikut:

# smbpasswd -a root

Sebagai catatan jika direktori share profile dan netlogon belum ada maka Anda harus membuatnya

terlebih dahulu, sebagai berikut:

# mkdir -p /var/lib/samba/netlogon

# mkdir -p /var/lib/samba/profiles

# chmod 1777 /var/lib/samba/profiles

# /etc/init.d/smb restart

Direktori share netlogon dimaksudkan sebagai direktori yang dapat digunakan untuk menyimapn

script yang dapat dieksekusi ketika user logon ke domain melalui komputer windows. Dan direktori

share profiles dimaksudkan sebagai direktori yang digunakan untuk menyimpan profiles

sistem windows. Selanjutnya coba konfigurasi client windows(Xp) agar pada bagian network

identification diset untuk join ke domain “RISTEK”. Jika berhasil maka restart skomputer

windows dan coba masuk kesistem windows dengan memilih login ke network.

6.4 Menjalankan samba

Untuk menjalankan samba lakukan perintah berikut:

[root@daus root]# service smb start

48 Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux

VII. PROXY SERVER

7.1 Proxy Server

Proxy Server adalah server internet yang mampu menyediakan internet browsing untuk

komputer-komputer client yang tidak terhubung ke internet secara langsung (memiliki ip

public).

7.2 Squid Proxy Server

Squid adalah Proxy server yang dibangun dari komunitas internet yang dikomandani oleh

Duane Wessel.

7.3 Instalasi Squid Proxy Web Server

Kita dapat mengecek apakah squid sudah terinstall atau belum di linux dengan perintah

berikut:

# rpm -qa | grep squid

7.4 Konfigurasi Squid

File konfigurasi squid adalah squid.conf karena kita melakukan konfigurasi agar squid

diinstall di direktori /etc/squid maka file squid.conf berada di /etc/squid/squid.conf untuk

itu kita perlu mengedit file tersebut, gunakan editor seperti vi, pico, joe dll untuk mengedit

file squid.conf.

Item-item yang perlu kita konfigurasi antara lain:

1. http_port

http_port mendefinisikan nomor port dimana squid akan berjalan, secara default squid

akan berjalan di port 3128. Jika kita akan mengubah port tersebut ke port lain misal 8080

definisikan di file squid.conf sebagai berikut:

http_port 8080

2. cache_mgr

Cache mgr mendefinisikan alamat email admin squid, defaultnya adalah webmaster, jika

kita ingin mengubah ke alamat email kita, bisa didefinisikan sebagai berikut:

cache_mgr [email protected]

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 49

3. cache_effective_user dan cache_effective_group

Bagian di atas menggambarkan user dan group yang akan menjalankan squid. Secara

default user dan group yang menjalankan squid adalah nobody, kita dapat mengubahnya ke

user dan group yang lain ( misal squid ) sebagai berikut:

cache_effective_user squid

cache_effective_group squid

4. visible_hostname

Bagian di atas menggambarkan hostname dari squid server, kita bisa menggantinya dengan

hostname squid server kita sebagai berikut:

visible_hostname proxy.daus.or.id

5. cache_dir

Bagian di atas mendefinisikan letak direktori yang akan digunakan sebagai tempat

penyimpanan halaman-halaman web yang telah kita akses. Kita bisa mendefinisikan

jenis filesistemnya misalnya ufs, lalu diektori penyimpanan halaman web misal di /cache

kemudian ukuran cache dalam MB misal 100 lalu jumlah subdirektori level pertama

misal 16 dan jumlah subdirektori level kedua misal 256 barisnya kan sperti berikut:

cache_dir ufs /var/spool/squid 100 16 256

6. acl namanetwork src ip/netmask, http access allow namanetwork, http access deny all

Bagian di atas untuk melakukan filtering dari network berapa saja yang boleh mengakses

proxy server kita misal LAN kita mempunyai jaringan 192.168.1.0/24 maka jaringan tsb

saja yang boleh mengakses proxy server maka konfigurasinya adalah sebagai berikut:

acl dausnet src 192.168.1.0/24

http_access allow dausnet

http_access deny all

Ingat selalu menutup konfigurasi filtering dengan http_access deny all supaya hanya dari

jaringan yang kita ijinkan saja proxy dapat digunakan.

Akhirnya kita telah selesai mengkonfigurasi.

Untuk menjalankan squid lakukan perintah berikut:

# service squid start

50 Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux

VIII. FIREWALL

8.1 Firewall (iptables)

Firewall mengisolasi sebuah segment dari topologi jaringan internet (disebut juga jaringan lokal /

Local Network) dari jaringn internet dan mengendalikan semua lalu lintas paket data yang menuju

dan yang meninggalkan jaringan lokal.

Untuk mengendalikan lalu lintas jaringan setiap koneksi antara jaringan lokal dengan jaringan

internet harus dilengkapi dengan firewall. Tujun dari Firewall adalah untuk memeriksa dan

mengendalikan semua lalu lintas paket data antara jaringan lokal dan jaringan internet. Lalu lintas

paket data harus ditangani , dengan cara demikian semua lalu lintas paket data yang memiliki

potensi "membahayakan" jaringan lokal dapat di deteksi dan dihentikan dan jika perlu di "log" (

dicatat dan ditandai dalam sebuah file "log" ). Lalu lintas paket data yang "membahayakan" untuk

jaringan lokal ditentukan atau didefinisikan oleh kebijakan keamanan (security) yang diadopsi

untuk suatu jaringan.

Di sisi lain jika jaringan diamankan/dijaga oleh firewall maka hanya ada beberapa

komputer(host) saja yang dapat diakses secara langsung dan zone yang beresiko dapat dikurangi oleh

firewall itu sendiri.

8.1.1 Klasifikasi Firewall

Sebagaimana telah disebutkan di atas bahwa firewall memeriksa semua paket data yang menuju dan

meninggalkan jaringan lokal (Local Network) dan menyeleksi paket-paket data yang tidak sesuai

dengan kebijakan atau aturan kemanan yang diterapkan pada jaringan lokal.

Ingatlah tentang model tujuh lapisan protokol TCP/IP standard ISO. Pemeriksaan paket data

(packet inspection) dapat terjadi pada lapisan-lapisan tersebut. Tetapi pemeriksaan paket tersebut

sebagian besar diimplementasikan pada lapisan aplikasi (Application layer) oleh firewall lapisan

aplikasi (Application layer firewalls) dan pada lapisan jaringan ( Network layer) oleh firewall

lapisn jaringan (Network layer firewalls).

Communication

Application

Presentation

Sessio

Transport

Network

Data Link

Physical

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 51

Jika kita berbicara tentang serangkaian protokol TCP/IP firewall lapisan aplikasi (Application

layer firewalls) biasa disebut sebagai aplikasi gateway (Application Gateways) atau Proxy(Dual

Homed host) dan firewall lapisan jaringan (Network layer firewalls) disebut Filtering Routers

atau Screening Routers (selanjutnya firewall lapisan jaringan ini biasa disebut Packet Filter).

Dari penjelasan tadi maka firewall dapat di klasifikasikan menjadi dua jenis yaitu: Proxy dan

Screening Router. Berikut ini tabel yang mengilustrasikan perbedaan antara Proxy dan Screening

Router:

Screening Router

(Packet Filter)

Dual Homed host

(Proxy)

Memfilter/menyeleksi paket-paket IP Memfilter/menyeleksi protokol

Routing antar jaringan Tidak melakukan routing antar jaringan

Mendukung semua protokol Tidak mendukung semua protokol

Hanya memfilter header dari sebuah paket Dapat memfilter content

Membutuhkan hardwre minimal Memerlukan hardwre maksimal

8.1.2 Mekanisme Firewall di Linux

Kernel Linux saat ini (<= kernel 2.4) menyediakan default mekanisme firewall yaitu iptables

yang menggantikan ipchains sebagai default mekanisme firewall pada kernel 2.2. Sebagian besar

distribusi linux saat ini telah menggunakan iptables sebagai default firewall-nya.

8.2 Tool Administrasi firewall (iptables)

Iptables saat ini menggunakan table-table yang berbeda untuk aksi-aksi yang berbeda. Yang paling

umum digunakan adalah table filter dan table nat. Table filter digunakan untuk packet filtering

dan table nat digunakan untuk menampilkan

network address translation.

Rule-rule aktual disimpan dalam chains. Ada lima buah built-in chains yaitu INPUT, OUTPUT,

FORWARD, PREROUTING, dan POSTROUTING. Tetapi user dapat

juga mendefinisikan chian sendiri sesaui kebutuhan.

52 Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux

8.2.1 Sintaks iptables

Sintak iptables hampir sama dengan ipchains.

iptables [-t table ] <action> [options] [pattern] [-j target]

action, menentukan aksi yang ditampilakn pada table

-A CHAIN menambahkan sebuah rule ke sebuah chain

-D CHAIN menghapus sebuah rule dari sebuah chain

-L CHAIN menampilkan daftar rule dari sebuah chain

-F CHAIN menghapus semua rule dari sebuah chain

pattern, menspesifikasikan kapan rule-rule sesuai

-s <ip-address> sesuai dengan source address paket

-p <protocol> sesuai dengan protokol (tcp,udp,icmp)

-dport <port> sesuai dengan port tujuan

target, mendefinisikan apa yang akan terjadi dengan paket target-target

basic (DROP, ACCEPT)

target -target extension (LOG,REJECT, CUSTOM CHAIN)

Contoh perintah-perintah iptables

Sebuah rule iptables dapat menspesifiksikan sumber paket (-s), tujuan paket -d) , protokol (-p),

dan port. Sebagai contoh , untuk memblok (deny) seuatu paket yang datang dari IP address

192.168.0.254 , sebgai berikut:

iptables -t filter -A INPUT -s 192.168.0.254 -j DROP

filter adalah default table jika option -t tidak disertakan.

Jika tanda "!" disertakan didepan ip address sumber atau tujuan , ini menyatakan negasi dari ip

address tersebut.

iptables -t filter -A OUTPUT -d ! 192.168.0.254 -j DROP

Rule di atas memblok semua paket dari local komputer firewall yang ditujukan ke semua ip

address kecuali ke ip address 192.168.0.254.

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 53

Incoming atau Outgoing interface dapat di spesifikasikan sebagai berikut:

iptables -t filter -A INPUT -s 192.168.0.251 -i eth1 -j DROP

Rule di atas memblok semua paket dari 192.168.0.251 yang datang pada interface eth1.

Untuk memblok paket-paket protokol icmp dari jaringan kelas C 192.168.24.0 :

iptables -t filter -A INPUT -s 192.168.24.0/255.255.255.0 -p icmp

-j DROP

Untuk memblok semua paket yang ditujukan ke port 80 :

iptables -t filter -A INPUT -s ! 192.168.24.0/24 -p tcp --dport

80 -j DROP

Rule-rule suatu chian dapat juga disisipkan dengan aksi -I.

Menampilkan daftar rule suatu chain:

iptbles -t filter -L INPUT

Jika chain tidak disertakan maka akan menampilkan daftar seluruh rule dari semua chain.

Menghapus rule ketiga dari chain INPUT. Gunakan nomor urut rule pada chain tersebut atau

menggunakan sintak yang sebenarnya:

iptables -t filter -D INPUT 3

iptables -t filter -D INPUT -s 192.168.0.254 -j DROP

Rule-rule dapat dihapus atau "flushed" dari satu atau lebih chain dengan perintah

iptables -t filter -F

Seluruh chain dan rule-rule tidak dapat dikelola secara permanent artinya pada saat sistem reboot

akan hilang. Pada RedHat linux dan distribusi-distribusi linux yang menggunakan init script SysV

54 Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux

dapat menggunakan script iptables untuk menyimpan dan memuat ulang seluruh chain dan rule yang

ada sebelumnya. Sebagai contoh , setelah membuat perubahan terhadap chain, simpanlah ke dalam file

/ etc/sysconfig/iptables dengan menjalankan script berikut:

/etc/rc.d/init.d/iptables save

atau

service iptables save

Untuk menjamin rule-rule yang anda buat dapat diimplementasikan ulang pada saat boot , jalankan

perintah berikut:

chkconfig iptables chkconfig ipchains --del

8.2.2 iptables dan NAT

Network Address Translation dapat ditampilkan oleh kernel 2.4 dalam bentuk satu dari dua buah

cara , yaitu: source NAT (SNAT) dan destination NAT (DNAT).

DNAT sering digunakan untuk membelokkan (redirect) paket yang datang ke lokasi lain, seperti

ke mesin proxy(squid proxy server). SNAT digunakan untuk menyembunyikan source address dari

paket dengan cara memetakan ulang source address paket yang keluar ke IP address komputer yang

lain atau rentang address

yang lain. Kernel 2.4 secara otomatis melakukan reverse translate semua paket-paket

NAT yang dimaksud.

Salah satu jenis SNAT adalah IP masquerading , yang memungkinkan beberapa komputer

terkoneksi dengan internet tanpa harus menggunakan atau memiliki IP address yang dikenal atau

diakui di internet. Biasanya komputer gateway menyediakan masquerading dengan menggunakan

iptables untuk membuat seolah-olah paket-paket komputer lokal yang keluar dari jaringan lokal

ke internet berasal

dari gateway itu sendiri.

Untuk mengimplementasikan ip masquerading lakukan hal-hal sebagai berikut:

Gunakan iptables untuk mensetup ip masquerading, contoh:

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 55

MASQUERADE

Untuk menetapkan destination NAT untuk keperluan membelokkan paket web secara transparan yang

datang pada interface eth2 ke proxy server, jalankan perintah berikut:

# iptables -t nat -A PREROUTING -p tcp -m multiport --dport

80,443 -i eth2 -j DNAT --to-destination <proxy_IP_Address>

Untuk merubah source address melalui SNAT menjadi ip address 192.168.0.33 dengan

port 1024 sampai 65535, gunkan perintah berikut:

iptables -t nat -A POSTROUTING -p tcp -o eth1 -j SNAT --to

192.168.0.33:1024-65535

Contoh perintah di atas akan menyebabkan semua paket tcp yang keluar melalui interface eth1 akan

memiliki source address dan port yang diterjemahkan menjadi ip address 192.168.0.33 dn port 1024

sampai 65535.

Jika anda telah mahir dan memahami bagaimana mekanisme firewall pada sistem operasi linux

maka tidaklah merugikan jika anda kemudian mencari dan

menggunakan aplikasi atau tool yang dapat membantu dan memudahkan anda dalam mengelola dan

memelihara firewall di linux yang menggunakan iptables. Di dalam dunia open source banyak

sekali aplikasi administrasi firewall di linux yang berbasiskan iptables, salah satu diantaranya yang

akan kita bahas dalam moudul ini adalah "shorewall" (h tt p: / / w ww .s ho r e w a l l .n e t ).

8.3 Administrasi firewall dengan Shorewall

Shoreline Firewall atau lebih dikenalnya dengan istilah shorewall adalah tool tingkat tinggi yang

digunakan untuk konfigurasi netfilter/iptables (firewall di linux). Untuk implementasi firewall

dengan shorewall Anda harus mengkonfigurasi beberapa file konfigurasi shorewall seperti file

zones, interfaces, policy, masq, dan rules. Semua

file konfigurasi shorewall terletak dalam folder /etc/shorewall. Untuk konfigurasi

shorewall ikuti langkah-langkah berikut ini:

Langkah pertama, edit file /etc/shorewall/shorewall.conf untuk mengenable atau mengaktifkan

shorewall, carilah parameter “STARTUP_ENABLED”, kemudian set parameter tersebut sebagai

berikut:

STARTUP_ENABLED=Yes

56 Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux

8.3.1 Cek Instalasi shorewall

Kita bisa cek apakah shorewall terinstal dengan perintah

#rpm -q shorewall

8.3.2 Konfigurasi shorewall

File konfigurasi shorewall terletak di direktori /etc/shorewall. File yang penting dan

diubah sesuai dengan kebutuhan adalah,

� interfaces

� masq

� policy

� rules

Masing-masing isi file tersebut adalah,

1. /etc/shorewall/interfaces

Konfigurasi ini digunakan untuk menentukan nama jaringan untuk setiap interface yang ada

dalam computer server. Dalam hal ini jaringan “loc” dihubungkan pada interface eth1, dan

jaringan internet “net”, pada interface eth0.

loc eth1 detect

net eth0 detect

2. /etc/shorewall/masq

Untuk melakukan NAT pada semua trafik paket dari jaringan local ke jaringan internet.

eth0 eth1

3. /etc/shorewall/policy

File konfigurasi ini digunakan untuk menentukan kebijakan dasar dari firewall yang dibangun.

Yaitu,

� Trafik dari “loc” ke semua tujuan akan diterima.

� Trafik dari “firewall/proxy” ke semua tujuan akan diterima.

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 57

� Trafik dari internet “net” ke semua tujuan akan di ditolak.

� Semua trafik yang tidak termasuk pada kebijakan di atas akan ditolak.

loc all ACCEPT

fw all ACCEPT

net all DROP info

all all REJECT info

4. /etc/shorewall/rules

File konfigurasi ini adalah kebijakan-kebijaksaan khusus di luar policy yang telah ditentukan

pada file konfigurasi “policy”.

8.3.3 Test

Untuk menjalankan dan menghentikan firewall, gunakan perintah berikut,

# /etc/init.d/shorewall start

# /etc/init.d/shorewall stop

Gunakan kedua perintah ini jika terjadi perubahan pada file konfigurasi shorewall.

58 Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux

IX. ASTERISK

9.1 Pengantar

Komunikasi telepontidak berubah secara drastis sejak pertama kali ditemukan akhir tahun

1800. Teknologi baru seperti sirkuit digital dan caller ID telah berhasil mengembangkan

penemuan tersebut, tetapi dasar fungsionalnya tetap sama. Bertahun-tahun, Provider

layanan telekomunikasi mencoba berbagai macam cara inovasi untuk mengembangkan

berbagai jenis layanan yang mereka tawarkan. Termasuk nomor bebas pulsa, call return dan

call forwarding. Secara umum pengguna tidak tahu bagaimana cara kerja layanan tersebut.

Tetapi mereka mengetahui dua hal yaitu: Telepon yang digunakan tetap sama dan mereka

dikenakan biaya untuk setiap penambahan layanan.

Pada tahun 1990, Jumlah orang yang bekerja di lingkungan riset, baik pendidikan maupun

institusi perusahaan mulai menaruh keseriusan untuk membawa layanan suara dan video

lewat jaringan IP, terutama di intranet dan internet perusahaan. Teknologi ini dikenal

dengan nama Voice Over Internet Protocol (VOIP). Yaitu proses untuk mengkompresi data

audio dan video menjadi paket kecil yang ditransmisikan lewat jaringan IP dan

dikembalikan kembali data audio dan videonya di sisi penerima sehingga dua orang dapat

berkomunikasi dengan audio dan video.

9.2 Pendahuluan

Asterisk adalah aplikasi IPBX berbasis linux yang dikembangkan oleh Mark Spencer dari

Perusahaan Digium, perusahaan pengembang asterisk. Lisensinya berada di bawah GNU

General Public License. Didalamnya terdapat aplikasi, kelengkapan system, installer dan

sistem operasi yagng lengkap dan siap digunakan sebagai box PBX.

9.3 Instalasi Asterisk VOIP Web Server

Kita dapat mengecek apakah asterisk sudah terinstall atau belum di linux dengan perintah

berikut:

# rpm -qa | grep asterisk

asterisk-sounds-1.2.1-4.fc5.rf

asterisk-1.2.13-1.fc5.rf

9.4 Konfigurasi Asterisk

File konfigurasi asterisk yang akan kita edit ada dua buah yaitu /etc/asterisk/sip.conf dan

/etc/asterisk/extensions.conf untuk itu kita perlu mengedit file tersebut, gunakan editor

seperti vi, pico, joe dll untuk mengedit file-file tersebut.

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 59

File /etc/asterisk/sip.conf

[general]

context=default

srvlookup=yes

videosupport=yes

disallow=all

allow=alaw

allow=ilbc

allow=gsm

allow=h261

[101]

type=friend

secret=welcome

qualify=yes

nat=no

host=dynamic

canreinvite=no

context=home

;port=5061

[102]

type=friend

secret=tes

qualify=yes

nat=no

host=dynamic

canreinvite=no

context=home

;port=5061

File /etc/asterisk/extensions.conf

[home]

exten => 101,1,Dial(SIP/101)

exten => 102,1,Dial(SIP/102)

exten => 600,1,Answer()

exten => 600,2,Playback(demo-echotest)

exten => 600,3,Echo()

exten => 600,4,Playback(demo-echodone)

exten => 600,5,Hangup()

Akhirnya kita telah selesai mengkonfigurasi.

Untuk menjalankan squid lakukan perintah berikut:

# service asterisk start

60 Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux

9.5 Konfigurasi Client X-lite

9.5.1 Instalasi X-lite

Untuk pc client, dapat digunakan sistem operasi microsoft windows. Dalam tulisan ini, saya menggunakan microsoft windows xp professional. Software client yang akan digunakan adalah softphone freeware 'X-Lite' hasil produksi Xten Corp. Setelah terinstal biasanya X-Lite akan mengecek hardware anda. Jadi siapkan terlebih dulu sebuah headset (mic + speaker).

9.5.2 Konfigurasi X-lite

Tampilan X-Lite di Windows ketika pertama kali dijalankan seperti di bawah ini:

Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 61

Enabled: Yes

Display Name: [nama user]

Username: [nama user di sip.conf]

Authorization User: sama dengan Username

Password: [password user di sip.conf]

Domain/Realm: [ip addr client]

62 Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux