PEMBUATAN APLIKASI PRIMARY DOMAIN CONTROLLER UNTUK JARINGAN WEBROTHER
Disusun Oleh : M.S. Harlina, SKom., MM / NIP : 880082 M.S. Herawati, SKom., MMSi / NIP : 011015
FAKULTAS ILMU KOMPUTER Universitas Gunadarma Depok, Oktober 2010
PEMBUATAN APLIKASI PRIMARY DOMAIN CONTROLLER UNTUK JARINGAN WEBROTHER 1 M.S. Harlina 2 M.S. Herawati Fakultas Ilmu Komputer Universitas Gunadarma
ABSTRAKSI Aplikasi pengaturan jaringan Webrother sebagai pusat pengontrol jaringan server terpusat, bermanfaat demi untuk menjaga keamanan data, serta mengatur pemanfaatan sumberdaya jaringan lebih efisien dan efektif dangan bantuan sistem operasi linux dengan distro Ubuntu 9.10. Kata kunci : Webrother, LAN, Sistem Operasi, Database
PENDAHULUAN Keamanan data merupakan satu hal yang harus diperhatikan dalam membangun server yang kompleks, dengan mengacu pada keamanan data server baik dari virus, serangan peretas (hacker), kemudahan akses dan kemampuan saling berbagi data (sharebility). Untuk efisiensi sumberdaya, dibentuklah penataan jaringan komputer yang memanfaatkan server terpusat sehingga masalah yang timbul dalam pengembangan jaringan dapat teratasi. Pelaksanaan sistem server terpusat merupakan hal yang wajib dilakukan pada jaringan LAN yang cukup besar seperti jaringan Webrother. Pemusatan server pada suatu jaringan LAN seringkali dijumpai menggunakan Sistem Operasi Windows Server 2003. Permasalahan yang sering muncul bila menggunakan Sistem operasi windows adalah mahalnya biaya lisensi, harga dan kehandalan dalam menangani banyaknya pemakai (client). Lain halnya dengan Linux yang tidak membutuhkan biaya lisensi, dan handal dalam menangani banyaknya pemakai (client). Hal ini disebabkan oleh Linux yang bersifat Open Source. Pada kasus pengembangan jaringan LAN Webrother yang terletak dibelakang kampus E Gunadarma kelapa dua. Linux digunakan sebagai Sistem Operasi untuk mengontrol segala aktifitas di jaringan tersebut. Jaringan yang terbentuk pada awal 2003 ini pada awalnya tidak menggunakan domain sebagai pusat pengontrol jaringan, namun karena semakin banyak pemakai yang bergabung dan semakin berkembangnya teknologi akhirnya digunakan Sistem Operasi Linux dengan distro UBUNTU 9.10 sebagai Domain Utama. Tujuan dari pembuatan suatu alternatif keamanan data dan pemanfaatan sumberdaya jaringan yang lebih efisien dan efektif dengan cara : Meningkatkan keamanan data, memanfaatkan Sistem Operasi yang gratis sehingga dapat menghemat
biaya, Mempermudah kontrol manajemen user, Membatasi paket data uang masuk dari dalam dan luar.
TINJAUAN PUSTAKA Sekilas Tentang Linux Linux adalah sebuah sistem operasi yang tampilan dan cara kerjanya mirip dengan sistem operasi UNIX. Pada mulanya Linux dibuat oleh Linus Torvald dari Finlandia, yaitu sekitar pertengahan tahun 1991. kemudian Linus Torvald menjadikan Linux sebagai software open source. Sehingga Linux dapat digunakan oleh siapa saja secara cuma – cuma. Selain itu, setiap pengembang software mendapat kebebasan memodifikasi dan mendistribusi ulang Linux dengan distro dan nama lain. Hal ini, dimungkinkan karena Linux berada dibawah lisensi GPL (General Public License). Varian atau distro Linux sangat banyak. Linux dapat dijumpai dalam berbagai distro. Beberapa distro Linux yang popular diantaranya : Red Hat, Fedora, Debian, Slackware, Corel, SuSE, Xandros, Knoppix, Ubuntu, Mandriva. Dalam penulisan ini, distro Linux Ubuntu 9.10 digunakan sebagai sistem operasi, yang merupakan varian terbaru dari distro Linux Ubuntu.
Primary Domain Controller (PDC) PDC adalah pengatur utama domain untuk mengatur atau menyambungkan antara komputer server dengan komputer pengguna jaringan. Dengan menggunakan username dan password untuk mengakses server domain dalam suatu jaringan computer. PDC merupakan salah satu server domain yang difungsikan untuk mengelola database pemakai. PDC pada OS Windows seringkali dijumpai menggunakan OS Windows 2000, Windows NT, Windows Server 2003 dan sebagainya. Kali ini penulis menggunakan OS Linux Ubuntu sebagai sistem operasi yang digunakan untuk membuat sebuah PDC yang dalam Linux dikenal sebagai SAMBA.
Domain Name System (DNS) Domain Name System (DNS) adalah distribute database system yang digunakan untuk pencarian nama komputer (name resolution) dijaringan yang menggunakan TCP/IP (Transmission Control Protocol/Internet Protocol). DNS biasa digunakan pada aplikasi yang terhubung ke Internet seperti web browser atau e-mail, dimana DNS membantu memetakan hostname sebuah komputer ke IP address. Selain digunakan di Internet, DNS juga dapat diimplementasikan ke private network atau intranet dimana DNS memiliki keunggulan seperti : Mudah, DNS sangat mudah karena pemakai tidak perlu lagi direpotkan untuk mengingat IP address sebuah komputer, cukup hostname (nama computer), Konsisten, IP address sebuah komputer dapat berubah tapi hostname tidak berubah, Simple, Pemakai hanya menggunakan satu nama domain untuk mencari baik di internet maupun di intranet.
Fungsi dari DNS adalah menerjemahkan nama komputer ke IP address (memetakan). Client DNS disebut dengan resolvers dan DNS server disebut dengan name servers. Resolvers atau client mengirimkan permintaan ke name server berupa queries. Name server akan memproses dengan cara mengecek ke local database DNS, lalu menghubungi name server lainnya atau akan mengirimkan message failure jika ternyata permintaan dari pemakai tidak ditemukan. Proses tersebut disebut dengan Forward Lookup Query, yaitu permintaan dari pemakai dengan cara memetakan nama komputer (host) ke IP address. Sebuah jarigan lokal yang lumayan besar seperti Webrother membutuhkan sebuah server DNS. Server DNS berfungsi seperti sebuah database daftar hostname dan IP address dari network tertentu.
Mail Server E-mail atau surat elektronik adalah suatu hal yang sangat umum saat ini. Surat yang pada masa lampau bisa diterima setelah 3 sampai 5 hari dikirim, kini bisa diterima hanya dalam hitungan detik. Dalam E-mail, terdapat tiga software yang berperan penting. Yang pertama adalah software Mail Transfer Protocol (MTA) yang berfungsi untuk mengirimkan surat ke kantor pos tujuan. Kedua, adalah software Mail Delivery Agent (MDA) yang merupakan kantor pos tujuan itu sendiri. Terakhir, adalah software Mail User Agent (MUA) yang mengantarkan surat dari kantor pos ke tempat tujuan. Didunia Linux, dapat dijumpai banyak pilihan software MTA, MDA, atau MUA yang bisa digunakan.
Web Server Web server adalah software yang menjadi tulang belakang dari World Wide Web (www). Web server menunggu permintaan dari pemakai yang menggunakan browser seperti Netscape Navigator, Internet Explorer, Mozilla Firefox dan program browser lainnya. Jika ada permintaan dari browser, maka web server akan memproses permintaan itu kemudian memberikan hasil prosesnya berupa data yang diinginkan kembali ke browser. Data ini mempunyai format yang standar, disebut dengan format SGML (Standard General Markup Language). Data yang berformat ini kemudian akan ditampilkan oleh browser sesuai dengan kemampuan browser tersebut. Contohnya, bila data yang dikirim berupa gambar, browser yang hanya mampu menampilkan teks (misalnya lynx) tidak akan mampu menampilkan gambar tersebut, dan jika ada akan menampilkan alternatifnya saja. Web server, untuk berkomunikasi dengan penggunanya (web browser) mempunyai protokol sendiri, yaitu HTTP (hypertext transfer protocol). Dengan protokol ini, komunikasi antara web server dengan web browser dapat saling berhubungan satu sama lain. Seperti telah dijelaskan diatas, format data pada world wide web (www) adalah SGML. Tapi para pengguna internet saat ini lebih banyak menggunakan format HTML (hypertext markup language) karena penggunaannya lebih sederhana dan mudah dipelajari. Kata Hypertext mempunyai arti bahwa seorang pengguna internet dengan web browsernya dapat membuka dan membaca dokumen – dokumen yang ada dalam komputernya atau bahkan jauh tempatnya sekalipun. Hal ini memberikan cita rasa dari suatu proses yang tridimensional, artinya pengguna internet dapat membaca dari satu dokumen ke dokumen lainnya hanya dengan mengklik beberapa
bagian dari halaman – halaman dokumen (web). Proses yang dimulai dari permintaan webclient (browser), diterima web server, diproses dan dikembalikan hasil prosesnya oleh web server ke web client lagi dilakukan secara transparan. Setiap orang dapat dengan mudah mengetahui apa yang terjadi pada tiap – tiap proses. Secara garis besarnya web server hanya memproses semua masukan yang diperoleh dari web clientnya.
ANALISA DAN PEMBAHASAN Installasi Linux Ubuntu 9.10 Sebelum memulai proses penginstallan domain penulis sedikit membahas tentang cara menginstall Linux Ubuntu 9.10 sebagai sistem operasi domain di jaringan Webrother. Adapun Persyaratan untuk menginstall Linux Ubuntu 9.10 : • CD instalasi Linux Ubuntu 9.10 CD dapat di download dari salah satu server linux seperti http://ubuntu.com atau di situs software lainnya. • Komputer generasi 486 keatas Dengan RAM dan space hardisk yang memadai untuk commandline (server) sistem, ubuntu meminta RAM minimal 64MB (direkomendasikan 256MB) dan space harddisk 1 GB. Masukkan CD Linux Ubuntu 9.10 kedalam CD-ROM lalu setting firstboot komputer agar booting pertama kali dari CD-ROM drive, setelah booting selesai maka akan muncul tampilan awal untuk instalasi Linux Ubuntu 9.10 terdapat beberapa menu seperti gambar dibawah ini. Lalu pilih Install Ubuntu.
Gambar 1 Booting CD
Gambar 2 Memilih Bahasa Pilih bahasa yang ingin digunakan (default english). Setelah itu klik forward untuk ke menu selanjutnya.
Gambar 3 Memilih Zona Waktu Memilih zona waktu (Indonesia, Jakarta), klik tombol forward untuk ke menu berikutnya.
Gambar 4 Memilih Keyboard Layout
Memilih keyboard layout yang digunakan (default english), klik tombol forward untuk ke menu selanjutnya. Melakukan partisi pada harddisk terdapat empat pilihan yaitu Guided-resize, Guided – Use entire hardisk, Guide-use the largest countinous free space dan manual. Penulis menggunakan tipe partisi manual.
Gambar 5 Mempartisi Harddisk
Format partisi yang digunakan untuk instalasi ubuntu adalah ext3 dan swap. Untuk ext3, penulis memberikan 9 GB dan 1 GB untuk swap area. Untuk ext3 harus diberikan mount point „/‟ (slash), karena akan menjadi root utama ubuntu. Sementara swapadalah virtual memori jika seandainya partisi utama penuh maka virtual memori berfungsi sebagai media penyimpanan sementara. Setelah proses partisi hardisk selesai lalu klik forward untuk ke menu berikutnya. Pengaturan nama pemakai, password pemakai, nama desktop (nama komputer) dan nama untuk log-in seperti pada gambar dibawah ini.
Gambar 6 Pengaturan Pemakai
Gambar 7 Persiapan Untuk Menginstall
Gambar layar konfirmasi diatas muncul setelah semua pengaturan selesai. Klik tombol install untuk melakukan installasi
Gambar 8 Proses Penginstallan
Gambar 9 Tampilan Awal Sistem Operasi Linux
Setelah proses penginstallan selesai restart komputer dan Linux Ubuntu 9.10 siap untuk digunakan.
Instal Samba PDC dan OpenLDAP Bagian ini menjelaskan cara mengatur windows domain dengan menggunakan Samba dan OpenLDAP sebagai Domain Controller utama yang menyimpan informasi account windows pada jaringan Webrother. Yang menyediakan otentifikasi terpusat untuk komputer pengguna windows pada jaringan Webrother. Pengguna juga dapat menggunakan profil roaming, dimana pengguna dapat masuk ke setiap windows PC dijaringan tanpa harus mengubah pengaturan terlebih dahulu. Bagian yang harus tercapai : Windows PC dapat bergabung dengan domain, Windows domain user dapat masuk ke PC, Windows domain user bisa mengubah password mereka, dengan menekan Ctrl-Alt-Delete, dll , Drive M: muncul dan akses benar, Roaming profil secara otomatis dibuat bila pengguna domain log-off pada akhir sesi pertama mereka, Ubuntu server sudah berhasil disiapkan untuk menggunakan LDAP gabungan dan file sebagai mekanisme otentikasi POSTFIX. Langkah pertama buka terminal di Linux lalu install OpenLDAP dan Samba :
Gambar 10 Membuka Terminal Linux
1. Install OpenLDAP, Samba dan bagian – bagian lainnya aptitude install slapd ldap-utils migrationtools db4.7-util aptitude install samba smbldap-tools smbclient samba-doc libtalloc1 libpam-smbpass
2. Konfigurasi OpenLDAP untuk digunakan dengan Samba Instal dokumen samba yang berisi skema. Ekstrak Samba,schema dan salin ke area sistem yang diperlukan untuk OpenLDAP.
cp /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz /etc/ldap/schema/ gzip -d /etc/ldap/schema/samba.schema.gz
Tentukan password admin LDAP dan menghasilkan kunci hash SSHA untuk itu root@webrother:~# slappasswd New password: Re-enter new password: {SSHA}8ocqsGYGCeZI3tzNZUmO92/GjCW6MTa+ slappasswd.
; ini hasil generate
Buat file init.ldif nama 4 OUs (Organization Units) Users, Groups, Computer dan Idmap untuk digunakan dengan smbldap-tools ~# vim
/etc/ldap/init.ldif
dn: dc=webrother,dc=local objectClass: dcObject objectClass: organizationalUnit dc: masterpop3 ou: masterpop3.local dn: cn=admin,dc=webrother,dc=local objectClass: simpleSecurityObject objectClass: organizationalRole cn: admin description: LDAP administrator userPassword: {SSHA}8ocqsGYGCeZI3tzNZUmO92/GjCW6MTa+ dari generate slappasswd.
##masukkan hasil
dn: ou=Users,dc=webrother,dc=local objectClass: organizationalUnit ou: Users dn: ou=Groups,dc=webrother,dc=local objectClass: organizationalUnit ou: Groups dn: ou=Computers,dc=webrother,dc=local objectClass: organizationalUnit ou: Computers dn: ou=Idmap,dc=webrother,dc=local objectClass: organizationalUnit ou: Idmap
membuat file /etc/ldap/slapd.conf untuk domain ini, dan sesuaikan konfigurasinya -# vim /etc/ldap/slapd.conf
include include include include include include
/etc/ldap/schema/core.schema /etc/ldap/schema/cosine.schema /etc/ldap/schema/nis.schema /etc/ldap/schema/inetorgperson.schema /etc/ldap/schema/misc.schema /etc/ldap/schema/samba.schema
pidfile argsfile loglevel modulepath moduleload sizelimit tool-threads backend database
/var/run/slapd/slapd.pid /var/run/slapd/slapd.args 0 /usr/lib/ldap back_bdb 500 1 bdb bdb
suffix "dc= webrother,dc=local" #sesuaikan dengan DN yg anda buat. rootdn "cn=admin,dc=webrother,dc=local" #sesuaikan rootpw {SSHA}8ocqsGYGCeZI3tzNZUmO92/GjCW6MTa+ #samakan seperti di init.ldif directory "/var/lib/ldap" dbconfig set_cachesize 0 2097152 0 dbconfig set_lk_max_objects 1500 dbconfig set_lk_max_locks 1500 dbconfig set_lk_max_lockers 1500 index objectClass lastmod checkpoint
eq
on 512 30
access to attrs=userPassword,shadowLastChange,sambaNTPassword,sambaLMPassword by dn="cn=admin,dc=webrother,dc=local" write by anonymous auth by self write by * none access to dn.base="" by * read access to * by dn="cn=admin,dc=webrother,dc=local" write by * read
inisialisasi OpenLDAP Database ~# ~# ~# ~#
/etc/init.d/slapd stop rm -rf /var/lib/ldap/* mv /etc/ldap/slapd.d /etc/ldap/slapd.d.orig mkdir /etc/ldap/slapd.d
~# slapadd -v -l init.ldif /etc/ldap/slapd.conf: line 109: rootdn is always granted unlimited privileges. /etc/ldap/slapd.conf: line 126: rootdn is always granted unlimited privileges. added: "dc=webrother,dc=local" (00000001) added: "cn=admin,dc=webrother,dc=local" (00000002) added: "ou=Users,dc=webrother,dc=local" (00000003) : : : ~# chown -R openldap:openldap /var/lib/ldap
selanjutnya update konfigurasi OpenLDAP ~# cd /etc/ldap ~# slaptest -f slapd.conf -F slapd.d
berhasil jika terlihat: config file testing succeeded, ubah kembali kepemilikan directory slapd.d ~# chown -R openldap:openldap slapd.d ~# /etc/init.d/slapd start ~# ldapsearch -x -b dc=webrother,dc=local -h 127.0.0.1 | less dn: dc=webrother,dc=local objectClass: dcObject objectClass: organizationalUnit dc: masterpop3 ou: masterpop3.local : : :
3. Konfigurasi samba sebagai Primary Domain Controller (PDC) Membuat folder samba untuk keperluan share dan logon ~# mkdir -p /home/samba/{netlogon,profiles,public} ~# chmod 777 /home/samba/{profiles,public}
Membuat atau mengubah file /etc/samba/smb.conf seperti contoh berikut ini [global] workgroup = WEBROTHER netbios name = DC-UBUNTU server string = DC SERVER ; menjadi sebuah PDC domain logons = Yes domain master = Yes ; menjadi sebuah WINS Server wins support = Yes security = user
encrypt passwords = Yes obey pam restrictions = No dns proxy = No os level = 35 log file = /var/log/samba/log.%m max log size = 1000 syslog = 0 panic action = /usr/share/samba/panic-action %d pam password change = Yes unix password sync = No ldap passwd sync = yes passdb backend = ldapsam:ldap://localhost ldap suffix = dc= ebrother,dc=local ldap admin dn = cn=admin,dc=webrother,dc=local ldap machine suffix = ou=Computers ldap user suffix = ou=Users ldap group suffix = ou=Groups ldap idmap suffix = ou=Idmap ldap ssl = no add user script = /usr/sbin/smbldap-useradd -m '%u' delete user script = /usr/sbin/smbldap-userdel %u add group script = /usr/sbin/smbldap-groupadd -p '%g' delete group script = /usr/sbin/smbldap-groupdel '%g' add user to group script = /usr/sbin/smbldap-groupmod -m '%u' '%g' delete user from group script = /usr/sbin/smbldap-groupmod -x '%u' '%g' set primary group script = /usr/sbin/smbldap-usermod -g '%g' '%u' add machine script = /usr/sbin/smbldap-useradd -w '%u' logon logon logon logon
drive = M: home = \\DC-UBUNTU\%U path = \\DC-UBUNTU\%U\Profile script = logon.bat
server signing = auto server schannel = Auto [homes] comment = Home Directories valid users = %S read only = No browseable = No [netlogon] comment = Network Logon Service path = /home/samba/netlogon admin users = root
guest ok = Yes read only = Yes browseable = No [Profiles] comment = Roaming Profile Share path = /home/samba/profiles read only = No profile acls = Yes browsable = No [Public] comment = Public Share path = /home/samba/public read only = No guest ok = Yes browsable = Yes writeable = Yes create mask = 0666 directory mask = 0777
membuat password untuk LDAP admin account (spt: cn=admin,dc=webrother,dc=local) ~# smbpasswd -W Setting stored password for "cn=admin,dc=webrother,dc=local" in secrets.tdb New SMB password: ; password yg sama dengan LDAP admin Retype new SMB password:
Restart Samba ~# /etc/init.d/samba restart
Gunakan SMB klien untuk memeriksa bahwa server Samba merespons dengan benar. ~# smbclient -L dc-ubuntu -U anonymous% Anonymous login successful Domain=[WEBROTHER] OS=[Unix] Server=[Samba 3.4.0] Sharename Type Comment -----------------IPC$ IPC IPC Service (DC SERVER) Public Disk Public Share Anonymous login successful Domain=[webrother] OS=[Unix] Server=[Samba 3.4.0] Server ---------
Comment -------
DC-UBUNTU DB-SRV NIXNUX TDS WABAHTIAR-PC Workgroup --------WEBROTHER
DC SERVER
Master ------DC-UBUNTU
4. Konfigurasi paket SMBLDAP-TOOL Gunakan paket smbldap-tools untuk mengisi direktori ldap, menambahkan users, menambahkan groups, menambahkan workstation, dll .. Namun, toolsnya harus dikonfigurasi terlebih dahulu. ~# ~# ~# ~#
cd /usr/share/doc/smbldap-tools/examples/ cp smbldap_bind.conf /etc/smbldap-tools/ cp smbldap.conf.gz /etc/smbldap-tools/ gzip -d /etc/smbldap-tools/smbldap.conf.gz
Mengedit file /etc/smbldap-tools/smbldap.conf untuk dikonfigurasi : ~# cd /etc/smbldap-tools/ ~# vim smbldap.conf
Konfigurasinya akan terlihat seperti ini, edit dan sesuaikan.. SID="S-1-5-21-1544440099-1215257018-185093263" sambaDomain="WEBROTHER" slaveLDAP="127.0.0.1" slavePort="389" masterLDAP="127.0.0.1" masterPort="389" ldapTLS="0" verify="require" cafile="/etc/smbldap-tools/ca.pem" clientcert="/etc/smbldap-tools/smbldap-tools.pem" clientkey="/etc/smbldap-tools/smbldap-tools.key" suffix="dc=webrother,dc=local" usersdn="ou=Users,${suffix}" computersdn="ou=Computers,${suffix}" groupsdn="ou=Groups,${suffix}" idmapdn="ou=Idmap,${suffix}" sambaUnixIdPooldn="sambaDomainName=WEBROTHER,${suffix}" scope="sub" hash_encrypt="SSHA" crypt_salt_format="%s" # Unix Accounts Configuration
userLoginShell="/bin/bash" userHome="/home/%U" userHomeDirectoryMode="700" userGecos="System User" defaultUserGid="513" defaultComputerGid="515" skeletonDir="/etc/skel" defaultMaxPasswordAge="45" userSmbHome= userProfile= userHomeDrive= userScript= mailDomain="webrother.local" with_smbpasswd="0" smbpasswd="/usr/bin/smbpasswd" with_slappasswd="0" slappasswd="/usr/sbin/slappasswd"
Edit file /etc/smbldap-tools/smbldap_bind.conf .. ~# vim smbldap_bind.conf slaveDN="cn=admin,dc=webrother,dc=local" slavePw="passwordmu" masterDN="cn=admin,dc=webrother,dc=local" masterPw="passwordmu"
Set permision file ~# chmod 0644 /etc/smbldap-tools/smbldap.conf ~# chmod 0600 /etc/smbldap-tools/smbldap_bind.conf
5. Mengisi populate OpenLDAP Database Sesuai namanya, smbldap-tools menyediakan hubungan antara Samba dan LDAP database. Tool ini juga meletakkan/memasukkan inetOrgPerson dan POSIX ke dalam database. Smbldap-tools memberikan perintah berikut • smbldap-groupadd - menambahkan grup baru • smbldap-groupdel - menghapus grup • smbldap-groupmod - memodifikasi sebuah grup, termasuk menambahkan atau menghapus member • smbldap-groupshow - menampilkan propertis dari sebuah grup, termasuk member • smbldap-passwd - mengganti password user • smbldap-populate - mengisi LDAP database, menyediakan struktur yang diperlukan untuk Samba
• • • • • •
smbldap-useradd - menambahkan akun user baru smbldap-userdel - menghapus sebuah akun user smbldap-userlist - daftar user atau mesin dengan beberapa info smbldap-usershow - menampilkan informasi untuk akun user smbldap-usermod - mengubah Unix dan Samba propertis dalam satu user (banyak properti) smbldap-userinfo - mengubah gecos informasi dalam sebuah akun user (hanya beberapa properti)
Mengisi LDAP database dengan entri Samba sangat penting, karena meliputi pembentukan grup standard, seperti Administrators dan Domain Users. Jalankan perintah berikut untuk mengisi LDAP database.. ~# smbldap-populate -u 30000 -g 30000 Populating LDAP directory for domain MASTERPOP3 (S-1-5-211544440099-1215257018-185093263) (using builtin directory structure) entry dc= webrother,dc=local already exist. entry ou=Users,dc= webrother,dc=local already exist. entry ou=Groups,dc= webrother,dc=local already exist. entry ou=Computers,dc= webrother,dc=local already exist. entry ou=Idmap,dc= webrother,dc=local already exist. adding new entry: uid=root,ou=Users,dc= webrother,dc=local adding new entry: uid=nobody,ou=Users,dc= webrother,dc=local adding new entry: cn=Domain Admins,ou=Groups,dc= webrother,dc=local adding new entry: cn=Domain Users,ou=Groups,dc= webrother,dc=local adding new entry: cn=Domain Guests,ou=Groups,dc= webrother,dc=local adding new entry: cn=Domain Computers,ou=Groups,dc= webrother,dc=local adding new entry: cn=Administrators,ou=Groups,dc= webrother,dc=local adding new entry: cn=Account Operators,ou=Groups,dc= webrother,dc=local adding new entry: cn=Print Operators,ou=Groups,dc= webrother,dc=local adding new entry: cn=Backup Operators,ou=Groups,dc= webrother,dc=local adding new entry: cn=Replicators,ou=Groups,dc= webrother,dc=local entry sambaDomainName=WEBROTHER,dc= webrother,dc=local already exist. Updating it... Please provide a password for the domain root: Changing UNIX and samba passwords for root New password: ;isi password yg sama dg root Retype new password:
Pastikan bahwa direktori LDAP database memiliki informasi di dalamnya dengan menjalankan perintah: ~# ldapsearch -x -b dc= webrother,dc=local -h 127.0.0.1 |less
6. Konfigurasi server untuk menggunakan LDAP authentication Pada dasarnya perlu memberitahukan server untuk menggunakan otentikasi LDAP sebagai salah satu pilihan. Maksudnya jika akan menghubungkan sebuah server maka dapat login sebagai klien ke LDAP server. Install paket yang diperlukan .. ~# aptitude install auth-client-config libpam-ldap libnss-ldap
Konfigurasi akan menampilkan pertanyaan, dan jawab dengan contekan berikut ini : Should deb conf manage LDAP configuration?: Yes LDAP server Uniform Resource Identifier: ldapi://127.0.0.1 Distinguished name of the search base: dc=masterpop3,dc=local LDAP version to use: 3 Make local root Database admin: Yes Does the LDAP database require login? No LDAP account for root: cn=admin,dc=masterpop3,dc=local LDAP root account password: 12345
Buka file /etc/ldap.conf untuk di edit .. ~# vim /etc/ldap.conf host 127.0.0.1 base dc= webrother,dc=local uri ldapi://127.0.0.1 ldap_version 3 rootbinddn cn=admin,dc= webrother,dc=local bind_policy soft pam_password md5 nss_initgroups_ignoreusers avahi,avahiautoipd,backup,bin,bind,couchdb,daemon,games,gdm,gnats,haldaemon,hplip, irc,kernoops,landscape,libuuid,list,lp,mail,man,messagebus,news,openlda p,proxy,pulse,root,saned,speechdispatcher,sshd,sync,sys,syslog,uucp,www-data
Buat symlink atau shortcut untuk file ldap.conf ~# ln -s /etc/ldap.conf /etc/ldap/ldap.conf
Buat file baru di /etc/auth-client-config/profile.d/open_ldap : ~# vim /etc/auth-client-config/profile.d/open_ldap [open_ldap] nss_passwd=passwd: compat ldap
nss_group=group: compat ldap nss_shadow=shadow: compat ldap nss_netgroup=netgroup: compat ldap pam_auth=auth required pam_env.so auth sufficient pam_unix.so likeauth nullok auth sufficient pam_ldap.so use_first_pass auth required pam_deny.so pam_account=account sufficient pam_unix.so account sufficient pam_ldap.so account required pam_deny.so pam_password=password sufficient pam_unix.so nullok md5 shadow use_authtok password sufficient pam_ldap.so use_first_pass password required pam_deny.so pam_session=session required pam_limits.so session required pam_mkhomedir.so skel=/etc/skel/ session required pam_unix.so session optional pam_ldap.so
Backup /etc/nsswitch.conf dan bagian – bagian lainnya : ~# ~# ~# ~#
cp /etc/nsswitch.conf /etc/nsswitch.conf.orig cd /etc/pam.d/ mkdir backup cp * backup/
Aktifkan Profil baru Authentication LDAP dengan menjalankan perintah berikut: ~# auth-client-config -a -p open_ldap
7. Menambahkan user domain ke dalam LDAP database Untuk menambahkan user LDAP. Gunakan account user ini untuk memverifikasi bahwa otentikasi LDAP sudah bekerja. ~# smbldap-useradd -a -m -M gery -c "Gery Erlangga" gery ~# smbldap-passwd gery Changing UNIX and samba passwords for gery New password: Retype new password:
Berikut ini adalah penjelasan perintah pilihan yang digunakan. -a yang memungkinkan Windows maupun Linux login -m membuat direktori home, tinggalkan ini jika Anda tidak memerlukan akses lokal -M set up username bagian dari alamat email -c menyebutkan nama lengkap user
Install dan konfigurasi Domain Name Service (DNS) Setelah melakukan instalasi Ubuntu Linux Server versi 9.10 (Karmic Koala) dan sudah berfungsi dengan benar. Berikut adalah langkah-langkah untuk melakukan instalasi paket yang berhubungan dengan server DNS: 1. Install paket bind9 dan dnsutils $ sudo apt-get install bind9 dnsutils
Hasil instalasi bind9 terdapat pada folder /etc/bind. 2. Setting cache server atau tempat penyimpanan sementara Sunting file /etc/bind/named.conf.options, hilangkan tanda komentar ( // ) dan ganti angka 1.2.3.4 dengan alamat server DNS yang diberikan oleh ISP (pada contoh ini IP DNS adalah 8.8.8.8, milik Google). forwarders { 8.8.8.8; };
Restart service bind dengan: $ sudo /etc/init.d/bind9 restart
Untuk menguji hasil cache server ini, lakukan perintah berikut: $ dig –x 127.0.0.1 $ dig yahoo.co.id
Pastikan output dari dig mendapatkan ANSWER: 1 (bukan 0). 3. Membuat File Zone File zone diperlukan untuk resolving (pemetaan) nama ke alamat IP. Ikuti langkahnya: Sunting file /etc/bind/named.conf.local, dan buat zone webrother.org: zone “webrother.org” { type master; file “/etc/bind/db.webrother.org”; };
Isi file dari db.webrother.org dapat disalin dari file db.local dan dilakukan modifikasi seperlunya. Lihat langkah dibawah ini untuk menyalinnya: # cp /etc/bind/db.local /etc/bind/db.webrother.org
Sunting file /etc/bind/db.webrother.org dengan ketentuan: • Ganti localhost. dengan nama_domain yang akan digunakan, yaitu webrother.org • Ganti root.localhost dengan webmaster.webrother.com (perhatikan disini email menggunakan tanda titik (.) bukan @ untuk pemisah dengan domainnya). • Jangan menghapus tanda “.” yang sudah ada pada setiap akhir nama host. ; Zone file for webrother.org $TTL 604800 ; @ IN SOA ns1.webrother.org. 2 ; 604800 ; 86400 ; 2419200 ; 604800 ) ; ;
@ ns www idschool
NS A A A CNAME
2 hours webmaster.webrother.org. ( Serial Refresh Retry Expire Negative Cache TTL
ns1.webrother.org. 172.168.10.25 172.168.10.20 172.168.10.25 www
4. Membuat File Reverse Zone File reverse zone ini diperlukan mengkonversi alamat IP ke nama. Berikut adalah langkah yang harus dilakukan. Sunting file /etc/bind/named.conf.local, dan masukkan reverse zone berikut: zone “10.168.172.in-addr.arpa” { type master; notify no; file “/etc/bind/db.172”; };
Angka 10.168.172 di dapatkan dari reverse alamat (3 oktet pertama) dari alamat IP yang digunakan untuk server DNS ini. Langkah berikutnya adalah membuat file db.172 dengan menyalin file db.127: # cp /etc/bind/db.127 /etc/bind/db.172
Sunting file /etc/bind/db.172, dengan ketentuan: • Ganti localhost. dengan domain yang akan digunakan, yaitu webrother.org. • Ganti root.localhost. dengan webmaster.webrother.org. (perhatikan disini email menggunakan tanda titik (.) bukan @ untuk pemisah dengan domainnya). • Jangan menghapus tanda “.” yang sudah ada pada setiap akhir nama host.
Berikut adalah hasil setelah perubahan pada file /etc/bind/db.172, setelah di sesuaikan: ; Zone file for reverse zone 10.168.172.in-addr.arpa (172.168.10.x) $TTL 604800 ; 2 hours @ IN SOA ns1.webrother.org. webmaster.webrother.org. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ; Negative Cache TTL ; @ IN NS ns1. 20 IN PTR ns1.webrother.com. 25
IN
PTR
www.webrother.org.
Restart kembali bind: $ sudo /etc/init.d/bind9 restart
Sunting file /etc/resolv.conf dengan: $ sudo /etc/resolv.conf
Isi seperti dibawah ini: search webrother.org nameserver 172.168.0.1
Lakukan pengujian: $ named-checkzone webrother.org /etc.bind/db.webrother.org // check zone webrother.org $ named-checkzone webrother.com /etc.bind/db.172 // check reverse zone untuk webrother.org
Kedua perintah pengujian diatas harus memberikan jawaban OK. Lakukan ping : $ ping webrother.org
$ ping www.webrother.org
$ ping idschool.webrother.org
Pastikan hasilnya memberikan jawaban (reply). Install Mail Server
Untuk menginstall mail server ada beberapa tahap dan bagian yang harus diinstal dan dikonfigurasikan satu persatu 1. Install postfix Postfix adalah Mail Transfer Agent (MTA) untuk ubuntu. MTA ada didalam repositori utama Ubuntu yang berarti MTA adalah bagian yang menerima keamanan dalam suatu Mail Server. Berikut adalah cara untuk menginstall postfix dan mengkonfigurasikannya sebagai server SMTP sebagai sumber yang aman dijaringan webrother. Install postfix terlebih dahulu. sudo aptitude install postfix
setelah menginstall dilanjutkan dengan konfigurasi postfix tersebut pada terminal di linux ketik sudo dpkg-reconfigure postfix
konfigurasi mailbox dengan format maildir : sudo postconf -e 'home_mailbox = Maildir/' sudo postconf -e 'mailbox_command ='
Dibawah ini merupakan tempat penempatan mail baru di /home/username/maildir sehingga perlu untuk mengkonfigurasi Mail Delivery Agent untuk menggunakan jalan yang sama. Konfigurasi untuk postfix SMTP AUTH menggunakan SASL (saslauthd) sudo postconf -e 'smtpd_sasl_local_domain =' sudo postconf -e 'smtpd_sasl_auth_enable = yes' sudo postconf -e 'smtpd_sasl_security_options = noanonymous' sudo postconf -e 'broken_sasl_auth_clients = yes' sudo postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination' sudo postconf -e 'inet_interfaces = all'
setelah itu ubahlah /etc/postfix/sasl/smtpd.conf dan ketik sebagai berikut : pwcheck_method: saslauthd mech_list: plain login
membuat sertifikat yang akan digunakan untuk enkripsi TLS atau otentikasi sertifikat : touch smtpd.key chmod 600 smtpd.key openssl genrsa 1024 > smtpd.key openssl req -new -key smtpd.key -x509 -days 3650 -out smtpd.crt # has prompts
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650 # has prompts sudo mv smtpd.key /etc/ssl/private/ sudo mv smtpd.crt /etc/ssl/certs/ sudo mv cakey.pem /etc/ssl/private/ sudo mv cacert.pem /etc/ssl/certs/
konfigurasi postfix untuk melakukan enkripsi TLS untuk surat masuk dan surat keluar : sudo postconf -e 'smtp_tls_security_level = may' sudo postconf -e 'smtpd_tls_security_level = may' sudo postconf -e 'smtpd_tls_auth_only = no' sudo postconf -e 'smtp_tls_note_starttls_offer = yes' sudo postconf -e 'smtpd_tls_key_file = /etc/ssl/private/smtpd.key' sudo postconf -e 'smtpd_tls_cert_file = /etc/ssl/certs/smtpd.crt' sudo postconf -e 'smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem' sudo postconf -e 'smtpd_tls_loglevel = 1' sudo postconf -e 'smtpd_tls_received_header = yes' sudo postconf -e 'smtpd_tls_session_cache_timeout = 3600s' sudo postconf -e 'tls_random_source = dev:/dev/urandom' sudo postconf -e 'myhostname = server1.example.com' # remember to change this to yours
dokumen /etc/postfix/main.cf akan terlihat seperti dibawah ini: See /usr/share/postfix/main.cf.dist for a commented, more complete version smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) biff = no # appending .domain is the MUA's job. append_dot_mydomain = no # Uncomment the next line to generate "delayed mail" warnings #delay_warning_time = 4h myhostname = server1.example.com alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = server1.example.com, example.com, localhost.example.com, localhost relayhost = mynetworks = 127.0.0.0/8 mailbox_command = procmail -a "$EXTENSION" mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all smtpd_sasl_local_domain = smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination smtpd_tls_auth_only = no #Use these on Postfix 2.2.x only #smtp_use_tls = yes #smtpd_use_tls = yes #For Postfix 2.3 or above use: smtp_tls_security_level = may smtpd_tls_security_level = may smtp_tls_note_starttls_offer = yes smtpd_tls_key_file = /etc/ssl/private/smtpd.key smtpd_tls_cert_file = /etc/ssl/certs/smtpd.crt smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s tls_random_source = dev:/dev/urandom
setelah itu restart postfix daemon : sudo /etc/init.d/postfix restart
2. Konfigurasi postfix untuk menggunakan SASL untuk SMTP AUTH Pertama install libsasl2-2 dan sasl2-bin dari repository utama lalu ubah beberapa hal untuk membuatnya bekerja dengan baik. Karena chroot postfix berjalan di /var/spool/postfix. Untuk itu ubah beberapa jalur untuk berada di root palsu. /var/run/sasluthd menjadi /var/spool/postfix/var/run/saslauthd. Dengan mengubah jalur saslauthd aplikasi lain yang menggunakan saslauthd mungkin akan ikut terpengaruh Ubah /etc/default/saslauthd untuk mengaktikan saslauthd. Hapus # didepan START = yes, tambahkan PWDIR, params dan garis – garis pidfile dan ubahlah baris di OPTION terakhir # This needs to be uncommented before saslauthd will be run automatically START=yes PWDIR="/var/spool/postfix/var/run/saslauthd" PARAMS="-m ${PWDIR}" PIDFILE="${PWDIR}/saslauthd.pid" # # # #
You must specify the authentication mechanisms you wish to use. This defaults to "pam" for PAM support, but may also include "shadow" or "sasldb", like this: MECHANISMS="pam shadow"
MECHANISMS="pam" # Other options (default: -c) # See the saslauthd man page for information about these options. # # Example for postfix users: "-c -m /var/spool/postfix/var/run/saslauthd"
# Note: See /usr/share/doc/sasl2-bin/README.Debian #OPTIONS="-c" #make sure you set the options here otherwise it ignores params above and will not work OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"
Selanjutnya, perbaharui dpkg “state” dari /var/spool/potfix/var/run/saslauthd. Skrip saslauthd init menggunakan peraturan untuk membuat direktori yang hilang dpkg-statoverride --force --update --add root sasl 755 /var/spool/postfix/var/run/saslauthd
setelah itu start saslauthd sudo /etc/init.d/saslauthd start
untuk melihat apakah SMTP-AUTH dan TLS sudah bekerja dengan baik ketik telnet localhost 25
setelah ditetapkan koneksi ke postfix mail server, ketik : ehlo localhost
jika muncul statement 250-STARTTLS 250-AUTH
menyatakan bahwa sistem telah bekerja. setelah itu ketik quit untuk kembali ke system shell. Install Web Server Langkah terakhir dalam penginstallan Domain di jaringan Webrother adalah penginstallan web server. Pada jaringan webrother yang terhubung lebih dari 150 PC akan lebih mudah jika melihat dari suatu web server. 1. Install Apache : sudo apt-get install apache2 Selanjutnya cek apakah web server sudah terinstal dengan baik dengan cara buka browser anda dan ketikkan localhost. 2. Install Mysql-server Khusus untuk instalasi mysql akan diminta untuk mengisi user dan password administrator root mysql yang akan digunakan nanti. Sedangkan paket phpmysql digunakan untuk editor mysql via web, untuk mengaksesnya buka browser lalu ketik
localhost/phpmyadmin masukkan user dan password root mysql yang sudah dibuat sewaktu installasi mysql. Kebanyakan penempatan file – file web diletakkan didalam folder /var/www atau /usr/share. Agar tidak terjadi pembengkakan di direktori root karena banyaknya aplikasi web yang di porting ke server, konten web dapat dialihkan ke direktori user di /home/user/public_html dengan cara mengetikkan kode di terminal sebagai berikut : sudo a2enmod userdir kemudian restart web server dengan mengetik pada console sudo /etc/init.d/apache2 restart lalu buat direktori di /home/user/public_html dan tes dengan membuka browser kemudian ketikkan : http://localhost/~user 3. Install phpmyadmin sudo apt-get install phpmyadmin Buka folder /srv/www/htdocs/ yang merupakan folder default untuk localhost yang akan membaca aplikasi web yang akan dijalankan. Selanjutnya, running localhost melalui web browser dengan mengetikkan pada address bar : http://localhost /manual/ Setelah itu muncul informasi tentang Apache, running MySQL dengan bantuan phpmyadmin melalui web browser dengan mengetikkan pada address bar : http://localhost/phpmyadmin/
KESIMPULAN Penggunaan Domain menyebabkan jaringan Webrother menjadi teratur dan lebih mudah untuk di kontrol penggunaannya. Karena dapat membatasi arus data yang masuk dan keluar dari jaringan Webrother termasuk virus dan serangan Hacker maupun Cracker. PDC membuat user atau pengguna dapat mengakses dari beberapa server hanya dengan satu acoount user. Hal ini merupakan suatu efisiensi dan efektifitas dalam pemanfaatan jaringan webrother yang sudah semakin padat populasinya.
Daftar Pustaka
1.
Erlangga Al Farozi, An Ubuntu Guide, Penerbit Andi. Jakarta. Januari 2009
2.
URL : http://www.nixnux.or.id/2009/12/10/openldap-sambapdc-ubuntukarmic/, 12 Januari 2010
3.
URL : http://help.ubuntu.com/community/Postfix, 15 Januari 2010
4.
URL : http://www.forumbebas.com/thread-98841.html, 31 Januari 2010
5.
URL : http://ardelindo.livejournal.com/1985.html, 17 Februari 2010
6.
Wahana Komputer, Administrasi Jaringan Menggunakan Linux Ubuntu 7. Penerbit Andi. Jakarta. 2008.