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. Tipe master digunakan jika zone tersebut memegang otorisasi dan informasi utama dari zone Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux - 1
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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 tiaptiap zone memiliki name server sendiri. Anda juga dapat memiliki satu layanan name server di beberapa zone. Dalam kasus ini tiap zone memiliki file zone masingmasing. 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.confFile 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 fiturfitur seperti akses kontrol list dan kategori pencatatan log. File named.conf terdiri dari perintahperintah konfigurasi bind yang dibatasi oleh blok. Dengan pilihanpilihan spesifik yang terdaftar. Perintah konfigurasi diikuti oleh argumen dan blok yang ditandai oleh tutup kurung kurawal. Didalam blok terdapat baris pilihan dan input fiturfitur. 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.
Tipe master digunakan jika zone tersebut memegang otorisasi dan informasi utama dari zone
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 1
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 Langkahlangkah KonfigurasiMesin yang digunakan dalam contoh ini telah dikonfigurasi dan diberikan IP sebagai berikut:
Nama Komputer : nsNama Domain : ristek.go.idFQDN : ns.ristek.go.idRoutable/IP Statis : 222.124.63.122NonRouteable IP : 192.168.1.226
Buka File /etc/named.conf. File harus dikonfigurasi sebagai berikut: //// named.conf for Red Hat cachingnameserver //
options {directory "/var/named";dumpfile "/var/named/data/cache_dump.db";statisticsfile "/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. */ // querysource address * port 53;
};
//
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 2
zone "localdomain" IN {type master;file "localdomain.zone";allowupdate { none; };
};
zone "localhost" IN {type master;file "localhost.zone";allowupdate { none; };
};
zone "0.0.127.inaddr.arpa" IN {type master;file "named.local";allowupdate { 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";allowupdate { none; };
};zone "255.inaddr.arpa" IN {
type master;file "named.broadcast";allowupdate { none; };
};
zone "0.inaddr.arpa" IN {type master;file "named.zero";allowupdate { none; };
};
zone "ristek.go.id" IN {type master;file "ristek.zone";
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 3
};zone "63.124.222.inaddr.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.inaddr.arpa" IN {type master;file "db.222.124.63";
};
File konfigurasi ini digunakan untuk memetakan dari alamat komputer ke nama komputer.
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
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 4
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.122ns IN A 222.124.63.122www IN A 222.124.63.122ftp 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.
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. (
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 5
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 proyekproyek open source seperti Ant, Spamassassin, struts, tomcat dan lainlain. Versi Apache web server saat ini yang digunakan sebagai tutorial adalah versi 2.2.05.1.2 yang merupakan bawaan distro linux.
2.2 InstalasiApache sudah ada di tiaptiap 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
Install apache dengan perintah:
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 7
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
File konfigurasi dapat dikonfigurasi dengan menempatkan direktifdirektif. Kebanyakan direktif merupakan bagian umum untuk seluruh server. Tetapi dapat diubah dengan
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 9
menempatkan beberapa spesial direktif seperti <Directory>. <DirectoryMatch>, <Files> dan <Location> dan lainlain
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 ServerKonfigurasi 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:
ServerName www.ristek.go.id:80
Pendefinisian Server Name berguna untuk mencegah masalah pada saat start up. Direktif ini
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 10
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 filefile 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 lainlain. 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 ditemukan. Maka pilihan ini akan menggunakan format standar untuk direktori yang diminta:
<Directory “/var/www/html”>Options Indexes
</Directory>
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 11
Konfigurasi ini akan mengatur index secara otomatis ke direktori “html” dan subdirektorinya. Direktif ini juga dapat digunakan untuk virtualhost.
2.4.3 Virtual HostVirtual 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 tiaptiap 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.
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 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
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 12
cavecast.html untuk informasi lebih lanjut. Latihan yang sebaiknya dilakukan adalah dengan mendefinisikan langsung Alamat komputer dibanding nama komputer di bagian Virtual Host.
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 tiaptiap 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 alasanalasan khusus. di bawah ini adalah contoh konfigurasi virtual host berbasis nama:
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
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 13
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.
2.4.4 Autentifikasi, Autorisasi dan Akses KontrolAutentifikasi 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 modulmodul 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. Kadangkadang 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 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
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 14
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.
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
#htpasswd c /etc/httpd/conf/passwd dausNew 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.
.htaccessAuthType Basic
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 15
AuthName “Restricted Files”AuthUserFile /etc/httpd/conf/passwdrequire 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. Kadangkadang akses dapat diberikan ke beberapa user. Hal ini dapat dilakukan dengan menggunakan require validuser 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 HostDeny From HostOrder Allow,DenyOrder 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:
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
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 16
<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 LoggingLog 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 lainlain. Access Log dapat dikostumisasi dan lokasi beserta isinya dapat diatur oleh direktif CustomLog
2.5 Contoh Konfigurasi
Contoh konfigurasi website statis. Konfigurasinya adalah sebagai berikut:
Routeable Server IP 222.124.63.123Nonrouteable IP 192.168.2.178domain name ristek.go.idhostname wwwFQDN www.ristek.go.id
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 17
3.1 Konsep dan Cara Kerja EmailEmail ( electronic mail ) merupakan suatu bentuk komunikasi dengan menggunakan perangkat elektronik seperti komputer. Mail server adalah Server yang melayani komputerkomputer 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 masingmasing 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 lainlain
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 19
3.2 Format Mailbox Pada umumnya format mailbox ada dua macam yaitu:
Format MboxPada 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 MaildirPada 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. Tiaptiap MTA memiliki keunikan fitur masingmasing 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 SendmailSendmail 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 pilihanpilihan 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.
3.3.2 Smail v3.2Smail merupakan MTA pertama yang mencoba menggantikan sendmail. Lebih simpel dan konfigurasinya lebih mudah dipahami dibanding sendmail juga lebih aman. Beberapa
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 20
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 PostfixPostfix 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 qmailqmail 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 builtin. 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 MuttAnda semestinya tidak mengalami kesulitan mengkompilasi, menginstal dan menjalankan mutt. Useruser 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.
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
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 21
(group mail) dengan mode /var/spool/mail 755 dan grup mail.
3.5.3 MailxJika 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 ServerPostfix adalah Mail Server yang dibangun dari proyek wietse vienema seorang pakar keamanan komputer di IBM.
3.6.1 Instalasi Postfix Mail ServerKita dapat mengecek apakah postfix sudah terinstall atau belum di linux denganperintah berikut
# rpm q postfix postfix2.2.81.2
3.6.2 Konfigurasi postfixfile 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 misalmyhostname=mail.ristek.go.id
• mydomain, baris ini mendefinisikan nama domain anda misalmydomain=ristek.go.id
• myorigin, baris ini mendefinisikan tampilan from dari header email misalmyorigin=$mydomain
• inet_interface, baris ini mendefinisikan alamat jaringan mana saja postfix menerima email misalinet_interface=all
• mydestination, baris ini mendefinisikan alamat yang menjadi tujuan ke mail server misal
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 22
mydestination=$myhostname, $mydomain • mynetworks, baris ini mendefinisikan jaringan mana saja yang boleh memakai mail server ini
misalmynetworks= 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 PostfixKemudian coba tes kirim email dari user idris ke user daus sebagai berikut:
# telnet mail.ristek.go.id 25Trying 192.168.1.2...Connected to mail.ristek.go.id.Escape character is '^]'.220 mail.ristek.go.id ESMTP Postfixmail from: [email protected] Okrcpt to: [email protected] Okdata354 End data with <CR><LF>.<CR><LF>tes.250 Ok: queued as F152A37C95quit221 ByeConnection closed by foreign host.
3.7 POP/IMAP ServerMerupakan Server yang melayani permintaan pengambilan email di server.
3.7.1 Instalasi Pop/Imap ServerKita dapat mengecek apakah Pop/Imap sudah terinstall atau belum di linux denganperintah berikut.
# rpm q imap
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 23
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
}
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.
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 24
telnet mail.ristek.go.id 110Trying 192.168.1.2...Connected to mail.ristek.go.id.Escape character is '^]'.+OK POP3 mail.ristek.go.id v2001.78rh server readyuser daus+OK User name accepted, password pleasepass dauspassword+OK Mailbox open, 1 messagesquit+OK SayonaraConnection closed by foreign host.
3.8 Qmail Mail Serverqmail 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 PackageUntuk menginstal Mail Server Qmail diperlukan softwaresoftware sebagai berikut, anda dapat mendownloadnya di www.qmailtoaster.com.
• daemontoolstoaster
• autorespondtoaster
• spamassassintoaster
• maildroptoasterdevel
• qmailadmintoaster
• libdomainkeystoaster
• qmailtoaster
• courierimaptoaster
• sendemailstoaster
• qmailmrtgtoaster
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 25
• isoqlogtoaster
• ucspitcptoaster
• qmailpop3dtoaster
• courierauthlibtoaster
• ezmlmtoaster
• squirrelmailtoaster
• ripmimetoaster
• vqadmintoaster
• maildroptoaster
• ezmlmcgitoaster
• simscantoaster
• vpopmailtoaster
• controlpaneltoaster
• clamavtoaster
3.8.2 Instalasi qmailMasuk ke direktori temapat anda mendownload paketpaket qmail kemudian Jalankan perintahperintah berikut ini menggunakan user “root” untuk melakukan instalasi:
1. Cek Dependensi Paket#sh fdr50deps.sh
2. Cek Dependensi Perl#sh fdr50perl.sh
3. Buat database Vpopmail ( Pastikan MySQL sudah berjalan, service mysql status )#sh mysqlsetup.sh
sebelumnya edit dulu bagian#vi /mysqlsetup.shMYSQLPW=passwordmysql
4. Mulai Instalasi Paket#sh fdr50installscript.sh
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 26
3.8.3 Configuration3.8.3.1 Qmail Configuration
File konfigurasi terletak di /etc/tcprules.d/tcp.smtp. Isi file tersebut adalah sebagai berikut:
SquirrelMail Configuration : Read: config.php (1.4.0)Main Menu 1. Organization Preferences2. Server Settings3. Folder Defaults4. General Options5. Themes6. Address Books7. Message of the Day (MOTD)8. Plugins9. Database10. Languages
D. Set predefined settings for specific IMAP servers
C Turn color offS Save dataQ Quit
Command >>
A. Pilih 1 Organization Preferences
SquirrelMail Configuration : Read: config.php (1.4.0)Organization Preferences1. Organization Name : RISTEK2. Organization Logo : ../images/sm_logo.png3. Org. Logo Width/Height : (308/70)
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 28
4. Organization Title : RISTEK5. Signout Page :6. Top Frame : _top7. Provider link : http://www.ristek.go.id/8. Provider name : SquirrelMail
R Return to Main MenuC Turn color offS Save dataQ Quit
Command >>
3.8.4 Menjalankan qmailPertama 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 29
IV. DHCP SERVER
4.1 Server DHCP
DHCP Server adalah server yang mampu memberikan IP Address secara otomatis/dinamis kepada komputer klien sehingga komputerkomputer dalam jaringan bisa terhubung. Dalam sebuah LAN DHCP server melakukan alokasi alamat komputer, dan mengirimkan parameter konfigurasi jaringan seperti gateway, netmask, DNS dan lainlain. 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 klienklien
Fedora Core 5 menyediakan aplikasi server DHCP yang disebut DHCPD.
4.2 Instalasi DHCPPertama 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.
ddnsupdatestyle interim;ignore clientupdates;
subnet 192.168.0.0 netmask 255.255.255.0 {
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 30
option timeoffset 18000; # Eastern Standard Time# option ntpservers 192.168.1.1;# option netbiosnameservers 192.168.1.1;# Selects pointtopoint node (default is hybrid). Don't change this unless# you understand Netbios very well# option netbiosnodetype 2;
range dynamicbootp 192.168.0.128 192.168.0.254; defaultleasetime 21600; maxleasetime 43200;
# we want the nameserver to appear at a fixed address host ns { nextserver marvin.redhat.com; hardware ethernet 12:34:56:78:AB:CD; fixedaddress 207.175.42.254; }}
Keterangan :
option routers : Mendefinisikan default gateway untuk router option netmask : Mendefinisikan netmask untuk klien option domainnameserver : 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
4.5 Melihat status DHCPD Untuk melihat klien yang aktif jalankan perintah berikut
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 31
# dhclientInternet Systems Consortium DHCP Client V3.0.3RedHatCopyright 20042005 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:03Sending on LPF/eth0/00:40:f4:96:4f:03Sending on Socket/fallbackDHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 5DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 11
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 32
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 masingmasing 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 benarbenar 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 33
didefinisikan menggunakan suatu uniq Distinguished Name (DN).
attributes — Attribute secara langsung diasosiasikan dengan suatu entry. Sebagai contoh , sebuah organisasi direpresentasikan sebagai sautu LDAP entry. Atributatribut 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 atributatribut yang diperlukan dan yang opsional untuk setiap entri. Definisidefinisi 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 entrientri LDAP. Format file inilah yang digunakan untuk mengimport data ke LDAP server. Format isi file LDIF seperti berikut ini:
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 filefile 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. Paketpaket software OpenLDAP terdiri dari beberapa library dan tool berikut ini:
openldap — berisi librarylibrary yang diperlukan untuk menjalankan aplikasiOpenLDAP server dan aplikasi client.
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 34
openldapclients — berisi tool dalam bentuk perintah command line untuk menampilkan dan memodifikasi direktori data suatu LDAP server.
openldapservers — berisi aplikasi server dan utiliti lainnya yang diperlukan untuk mengkonfigur dan menjalankan LDAP server.
Terdapat dua buah server yang ada dalam paket openldapservers 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 perubahanperubahan dari satu LDAP server ke LDAP server lainnya dalam suatu jaringan. slurpd daemon hanya digunakan ketika membentuk multiple LDAP server
5.4 Filefile konfigurasi OpenLDAP
Filefile 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 librarilibrari 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 filefile 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:
suffix "dc=ristek,dc=go,dc=id"
Parameter rootdn adalah Distinguished Name (DN) untuk user yang memiliki hak penuh terhadap
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 35
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 entrientri data ke LDAP server, kita harus menyusun terlebih dahulu hirarki direktori data LDAP yang akan kita bangun ini, sebagai contoh dalam buku ini kitaakan membangun database direktori LDAP untuk menyimpan informasi (entri data) Address Book organisasi Ristek.
Membuat File LDIF:
Sekarang kita buat dahulu File LDIF untuk mendefinisikan atributatribut 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
objectclass:dcObject objectclass: organizationdc: risteko: Departemen Riset dan Teknologi
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 36
dn:ou=Telematika,dc=ristek,dc=go,dc= id objectclass: organizationalUnit
ou: Telematika
#sub organisasi Robotikdn: ou=robotik,dc=ristek, dc=go,dc=id objectclass: organizationalUnitou: robotik
Dan untuk entri data lainnya silahkan Anda tambahkan dalam file LDIF tersebut, Jika sudah selesaimembuat file LDIF maka selanjutnya kita bisa mulai mempopulasikan entrientri tersebut ke LDAPserver dengan perintah berikut ini:
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 aplikasiaplikasi Email Client (MUA) seperti Outlook Express, Evolution dan lainlain.
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 37
VI. SAMBA SERVER
6.1 Samba ServerSamba 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 SambaKita dapat mengecek apakah samba sudah terinstall atau belum di linux dengan perintah berikut
# rpm qa | grep samba
6.3 Konfigurasi SambaFile 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 dikomputer linux (samba server) agar dapat diakses oleh siapapun dalam network tanpa perlu prosesauthentication 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 disesuaikandengan skenario atau maksud konfigurasi tersebut. Diantaranya yang perlu diset dengan nilai baruyaitu sebagai berikut:
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 38
[global]
workgroup = risteknetbios name = server
samba server string = Samba server security = sharehosts allow = 192.168.1. 127.
[data]path = /mnt/data
comment = Ini share folder Data public = yesread only = yes browseable = yes
Konfigurasi yang dicontohkan di atas yang ditulis hanya parameter yang perlu didefinisikan ulangdan 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 //serverpassword: <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/datapassword: <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 dikomputer 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:
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 39
[global]
workgroup = risteknetbios name = server
samba server string = Samba server security = sharehosts allow = 192.168.1. 127.
[data]path = /mnt/data
comment = Ini share folder Data public = yesread only = no browseable = yesforce user = dataforce 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 40
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, userusertersebut 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 = risteknetbios name = server
samba server string = Samba server security = userhosts allow = 192.168.1. 127.
[data]path = /mnt/data
comment = Ini share folder Data public = novalid users = dataread only = no browseable = yesforce user = dataforce 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
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 41
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# sambadoc package is installed.# Date: 20050913[global]workgroup = RISTEK netbios name = SERVER map to guestlogon path = \\%L\profiles\%Ulogon 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 = 75preferred master = Yes security = userencrypt password = Yes[homes]comment = Home Directories valid users = %Sbrowseable = No read only = No inherit acls = Yes[netlogon]
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 42
comment = Network Logon Service path = /var/lib/samba/netlogon write list = root[profiles]comment = Network Profiles Service path = /var/lib/samba/profilesread only = No create mask = 0600directory mask = 0700inherit acls = Yes[printers]comment = All Printers path = /var/tmp printable = Yescreate mask = 0600browseable = 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 menyimapnscript 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
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 43
VII. PROXY SERVER
7.1 Proxy ServerProxy Server adalah server internet yang mampu menyediakan internet browsing untuk komputerkomputer 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 ServerKita dapat mengecek apakah squid sudah terinstall atau belum di linux dengan perintah berikut:
# rpm qa | grep squid
7.4 Konfigurasi SquidFile 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.
Itemitem yang perlu kita konfigurasi antara lain:
1. http_porthttp_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_mgrCache mgr mendefinisikan alamat email admin squid, defaultnya adalah webmaster, jika kita ingin mengubah ke alamat email kita, bisa didefinisikan sebagai berikut:
3. cache_effective_user dan cache_effective_groupBagian 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:
4. visible_hostnameBagian 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_dirBagian di atas mendefinisikan letak direktori yang akan digunakan sebagai tempat penyimpanan halamanhalaman 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:
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/24http_access allow dausnethttp_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
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 45
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 FirewallSebagaimana telah disebutkan di atas bahwa firewall memeriksa semua paket data yang menuju dan meninggalkan jaringan lokal (Local Network) dan menyeleksi paketpaket 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 lapisanlapisan 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 LayersApplicationPresentation
SessionTransportNetwork
Data LinkPhysical
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 46
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 paketpaket 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 firewallnya.
8.2 Tool Administrasi firewall (iptables)
Iptables saat ini menggunakan tabletable yang berbeda untuk aksiaksi yang berbeda. Yang paling umum digunakan adalah table filter dan table nat. Table filter digunakan untuk packet filtering dan table nat digunakan untuk menampilkannetwork address translation.
Rulerule aktual disimpan dalam chains. Ada lima buah builtin chains yaitu INPUT, OUTPUT, FORWARD, PREROUTING, dan POSTROUTING. Tetapi user dapatjuga mendefinisikan chian sendiri sesaui kebutuhan.
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 47
action, menentukan aksi yang ditampilakn pada tableA CHAIN menambahkan sebuah rule ke sebuah chainD CHAIN menghapus sebuah rule dari sebuah chainL CHAIN menampilkan daftar rule dari sebuah chainF CHAIN menghapus semua rule dari sebuah chain
pattern, menspesifikasikan kapan rulerule sesuais <ipaddress> sesuai dengan source address paketp <protocol> sesuai dengan protokol (tcp,udp,icmp)dport <port> sesuai dengan port tujuan
target, mendefinisikan apa yang akan terjadi dengan paket targettarget basic (DROP, ACCEPT)target target extension (LOG,REJECT, CUSTOM CHAIN)
Contoh perintahperintah 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 48
Incoming atau Outgoing interface dapat di spesifikasikan sebagai berikut:
Rulerule dapat dihapus atau "flushed" dari satu atau lebih chain dengan perintah
iptables t filter F
Seluruh chain dan rulerule tidak dapat dikelola secara permanent artinya pada saat sistem reboot akan hilang. Pada RedHat linux dan distribusidistribusi linux yang menggunakan init script SysV dapat
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 49
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
atauservice iptables save
Untuk menjamin rulerule 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 addressyang lain. Kernel 2.4 secara otomatis melakukan reverse translate semua paketpaketNAT 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 seolaholah paketpaket komputer lokal yang keluar dari jaringan lokal ke internet berasal
dari gateway itu sendiri.
Untuk mengimplementasikan ip masquerading lakukan halhal sebagai berikut:Gunakan iptables untuk mensetup ip masquerading, contoh:
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 50
Untuk menetapkan destination NAT untuk keperluan membelokkan paket web secara transparan yang datang pada interface eth2 ke proxy server, jalankan perintah berikut:
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 danmenggunakan 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. Semuafile konfigurasi shorewall terletak dalam folder /etc/shorewall. Untuk konfigurasishorewall ikuti langkahlangkah 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
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 51
8.3.1 Cek Instalasi shorewallKita bisa cek apakah shorewall terinstal dengan perintah
#rpm q shorewall
8.3.2 Konfigurasi shorewallFile konfigurasi shorewall terletak di direktori /etc/shorewall. File yang penting dan diubah
sesuai dengan kebutuhan adalah,
• interfaces
• masq
• policy
• rules
Masingmasing 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 detectnet 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 52
• Trafik dari internet “net” ke semua tujuan akan di ditolak.
• Semua trafik yang tidak termasuk pada kebijakan di atas akan ditolak.
loc all ACCEPTfw all ACCEPTnet all DROP infoall all REJECT info
4. /etc/shorewall/rules
File konfigurasi ini adalah kebijakankebijaksaan khusus di luar policy yang telah ditentukan
pada file konfigurasi “policy”.
8.3.3 TestUntuk menjalankan dan menghentikan firewall, gunakan perintah berikut,
Gunakan kedua perintah ini jika terjadi perubahan pada file konfigurasi shorewall.
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 53
IX. ASTERISK
9.1 PengantarKomunikasi 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. Bertahuntahun, 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 ServerKita dapat mengecek apakah asterisk sudah terinstall atau belum di linux dengan perintah berikut:
9.4 Konfigurasi AsteriskFile 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
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 54
vi, pico, joe dll untuk mengedit filefile tersebut.
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 55
# service asterisk start
9.5 Konfigurasi Client Xlite
9.5.1 Instalasi Xlite 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 'XLite' hasil produksi Xten Corp. Setelah terinstal biasanya XLite akan mengecek hardware anda. Jadi siapkan terlebih dulu sebuah headset (mic + speaker).
9.5.2 Konfigurasi XliteTampilan XLite di Windows ketika pertama kali dijalankan seperti di bawah ini:
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 56
Enabled: YesDisplay Name: [nama user]Username: [nama user di sip.conf]Authorization User: sama dengan UsernamePassword: [password user di sip.conf]Domain/Realm: [ip addr client]
Panduan Pendayagunaan Open Source Software: Konfigurasi Server Linux 57