28
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

Embed Size (px)

Citation preview

Page 1: Pembuatan Aplikasi Primary Domain Controller untuk Jaringan

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

Page 2: Pembuatan Aplikasi Primary Domain Controller untuk Jaringan

PEMBUATAN APLIKASI PRIMARY DOMAIN CONTROLLER UNTUK

JARINGAN WEBROTHER

1 M.S. Harlina2 M.S. Herawati

Fakultas Ilmu Komputer Universitas Gunadarma

ABSTRAKSI

Aplikasi pengaturan jaringan Webrother sebagai pusat pengontrol jaringanserver terpusat, bermanfaat demi untuk menjaga keamanan data, serta mengaturpemanfaatan sumberdaya jaringan lebih efisien dan efektif dangan bantuan sistemoperasi linux dengan distro Ubuntu 9.10.

Kata kunci : Webrother, LAN, Sistem Operasi, Database

PENDAHULUANKeamanan 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 yangmemanfaatkan server terpusat sehingga masalah yang timbul dalam pengembanganjaringan dapat teratasi.

Pelaksanaan sistem server terpusat merupakan hal yang wajib dilakukan padajaringan LAN yang cukup besar seperti jaringan Webrother. Pemusatan server pada suatujaringan LAN seringkali dijumpai menggunakan Sistem Operasi Windows Server 2003.Permasalahan yang sering muncul bila menggunakan Sistem operasi windows adalahmahalnya biaya lisensi, harga dan kehandalan dalam menangani banyaknya pemakai(client). Lain halnya dengan Linux yang tidak membutuhkan biaya lisensi, dan handaldalam menangani banyaknya pemakai (client). Hal ini disebabkan oleh Linux yangbersifat Open Source.

Pada kasus pengembangan jaringan LAN Webrother yang terletak dibelakangkampus E Gunadarma kelapa dua. Linux digunakan sebagai Sistem Operasi untukmengontrol segala aktifitas di jaringan tersebut. Jaringan yang terbentuk pada awal 2003ini pada awalnya tidak menggunakan domain sebagai pusat pengontrol jaringan, namunkarena semakin banyak pemakai yang bergabung dan semakin berkembangnya teknologiakhirnya digunakan Sistem Operasi Linux dengan distro UBUNTU 9.10 sebagai DomainUtama.

Tujuan dari pembuatan suatu alternatif keamanan data dan pemanfaatansumberdaya jaringan yang lebih efisien dan efektif dengan cara : Meningkatkankeamanan data, memanfaatkan Sistem Operasi yang gratis sehingga dapat menghemat

Page 3: Pembuatan Aplikasi Primary Domain Controller untuk Jaringan

biaya, Mempermudah kontrol manajemen user, Membatasi paket data uang masuk daridalam dan luar.

TINJAUAN PUSTAKA

Sekilas Tentang LinuxLinux adalah sebuah sistem operasi yang tampilan dan cara kerjanya mirip

dengan sistem operasi UNIX. Pada mulanya Linux dibuat oleh Linus Torvald dariFinlandia, yaitu sekitar pertengahan tahun 1991. kemudian Linus Torvald menjadikanLinux sebagai software open source. Sehingga Linux dapat digunakan oleh siapa sajasecara cuma – cuma. Selain itu, setiap pengembang software mendapat kebebasanmemodifikasi 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 berbagaidistro. 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 usernamedan password untuk mengakses server domain dalam suatu jaringan computer. PDCmerupakan salah satu server domain yang difungsikan untuk mengelola databasepemakai. PDC pada OS Windows seringkali dijumpai menggunakan OS Windows 2000,Windows NT, Windows Server 2003 dan sebagainya. Kali ini penulis menggunakan OSLinux Ubuntu sebagai sistem operasi yang digunakan untuk membuat sebuah PDC yangdalam 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 aplikasiyang terhubung ke Internet seperti web browser atau e-mail, dimana DNS membantumemetakan hostname sebuah komputer ke IP address. Selain digunakan di Internet, DNSjuga dapat diimplementasikan ke private network atau intranet dimana DNS memilikikeunggulan seperti : Mudah, DNS sangat mudah karena pemakai tidak perlu lagidirepotkan untuk mengingat IP address sebuah komputer, cukup hostname (namacomputer), Konsisten, IP address sebuah komputer dapat berubah tapi hostname tidakberubah, Simple, Pemakai hanya menggunakan satu nama domain untuk mencari baik diinternet maupun di intranet.

Page 4: Pembuatan Aplikasi Primary Domain Controller untuk Jaringan

Fungsi dari DNS adalah menerjemahkan nama komputer ke IP address(memetakan). Client DNS disebut dengan resolvers dan DNS server disebut dengan nameservers. Resolvers atau client mengirimkan permintaan ke name server berupa queries.

Name server akan memproses dengan cara mengecek ke local database DNS, lalumenghubungi name server lainnya atau akan mengirimkan message failure jika ternyatapermintaan dari pemakai tidak ditemukan. Proses tersebut disebut dengan ForwardLookup Query, yaitu permintaan dari pemakai dengan cara memetakan nama komputer(host) ke IP address. Sebuah jarigan lokal yang lumayan besar seperti Webrothermembutuhkan sebuah server DNS. Server DNS berfungsi seperti sebuah database daftarhostname dan IP address dari network tertentu.

Mail ServerE-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 diterimahanya dalam hitungan detik. Dalam E-mail, terdapat tiga software yang berperan penting.Yang pertama adalah software Mail Transfer Protocol (MTA) yang berfungsi untukmengirimkan surat ke kantor pos tujuan. Kedua, adalah software Mail Delivery Agent(MDA) yang merupakan kantor pos tujuan itu sendiri. Terakhir, adalah software MailUser Agent (MUA) yang mengantarkan surat dari kantor pos ke tempat tujuan. DiduniaLinux, dapat dijumpai banyak pilihan software MTA, MDA, atau MUA yang bisadigunakan.

Web ServerWeb server adalah software yang menjadi tulang belakang dari World Wide Web

(www). Web server menunggu permintaan dari pemakai yang menggunakan browserseperti Netscape Navigator, Internet Explorer, Mozilla Firefox dan program browserlainnya. Jika ada permintaan dari browser, maka web server akan memproses permintaanitu kemudian memberikan hasil prosesnya berupa data yang diinginkan kembali kebrowser. Data ini mempunyai format yang standar, disebut dengan format SGML(Standard General Markup Language). Data yang berformat ini kemudian akanditampilkan oleh browser sesuai dengan kemampuan browser tersebut. Contohnya, biladata yang dikirim berupa gambar, browser yang hanya mampu menampilkan teks(misalnya lynx) tidak akan mampu menampilkan gambar tersebut, dan jika ada akanmenampilkan 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 dapatsaling berhubungan satu sama lain. Seperti telah dijelaskan diatas, format data pada worldwide web (www) adalah SGML. Tapi para pengguna internet saat ini lebih banyakmenggunakan format HTML (hypertext markup language) karena penggunaannya lebihsederhana dan mudah dipelajari. Kata Hypertext mempunyai arti bahwa seorangpengguna internet dengan web browsernya dapat membuka dan membaca dokumen –dokumen yang ada dalam komputernya atau bahkan jauh tempatnya sekalipun. Hal inimemberikan cita rasa dari suatu proses yang tridimensional, artinya pengguna internetdapat membaca dari satu dokumen ke dokumen lainnya hanya dengan mengklik beberapa

Page 5: Pembuatan Aplikasi Primary Domain Controller untuk Jaringan

bagian dari halaman – halaman dokumen (web). Proses yang dimulai dari permintaanwebclient (browser), diterima web server, diproses dan dikembalikan hasil prosesnyaoleh web server ke web client lagi dilakukan secara transparan. Setiap orang dapatdengan mudah mengetahui apa yang terjadi pada tiap – tiap proses. Secara garis besarnyaweb server hanya memproses semua masukan yang diperoleh dari web clientnya.

ANALISA DAN PEMBAHASAN

Installasi Linux Ubuntu 9.10Sebelum memulai proses penginstallan domain penulis sedikit membahas tentang

cara menginstall Linux Ubuntu 9.10 sebagai sistem operasi domain di jaringanWebrother. Adapun Persyaratan untuk menginstall Linux Ubuntu 9.10 :

• CD instalasi Linux Ubuntu 9.10CD dapat di download dari salah satu server linux seperti http://ubuntu.com ataudi situs software lainnya.

• Komputer generasi 486 keatasDengan RAM dan space hardisk yang memadai untuk commandline (server)sistem, ubuntu meminta RAM minimal 64MB (direkomendasikan 256MB) danspace harddisk 1 GB.

Masukkan CD Linux Ubuntu 9.10 kedalam CD-ROM lalu setting firstbootkomputer agar booting pertama kali dari CD-ROM drive, setelah booting selesai makaakan muncul tampilan awal untuk instalasi Linux Ubuntu 9.10 terdapat beberapa menuseperti gambar dibawah ini. Lalu pilih Install Ubuntu.

Gambar 1 Booting CD

Page 6: Pembuatan Aplikasi Primary Domain Controller untuk Jaringan

Gambar 2 Memilih Bahasa

Pilih bahasa yang ingin digunakan (default english). Setelah itu klik forward untuk kemenu selanjutnya.

Gambar 3 Memilih Zona Waktu

Memilih zona waktu (Indonesia, Jakarta), klik tombol forward untuk ke menuberikutnya.

Gambar 4 Memilih Keyboard Layout

Page 7: Pembuatan Aplikasi Primary Domain Controller untuk Jaringan

Memilih keyboard layout yang digunakan (default english), klik tombol forwarduntuk 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 harusdiberikan mount point „/‟ (slash), karena akan menjadi root utama ubuntu. Sementaraswapadalah virtual memori jika seandainya partisi utama penuh maka virtual memoriberfungsi sebagai media penyimpanan sementara. Setelah proses partisi hardisk selesailalu 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

Page 8: Pembuatan Aplikasi Primary Domain Controller untuk Jaringan

Gambar 7 Persiapan Untuk Menginstall

Gambar layar konfirmasi diatas muncul setelah semua pengaturan selesai. Kliktombol install untuk melakukan installasi

Gambar 8 Proses Penginstallan

Gambar 9 Tampilan Awal Sistem Operasi Linux

Page 9: Pembuatan Aplikasi Primary Domain Controller untuk Jaringan

Setelah proses penginstallan selesai restart komputer dan Linux Ubuntu 9.10siap untuk digunakan.

Instal Samba PDC dan OpenLDAPBagian ini menjelaskan cara mengatur windows domain dengan menggunakan

Samba dan OpenLDAP sebagai Domain Controller utama yang menyimpan informasiaccount windows pada jaringan Webrother. Yang menyediakan otentifikasi terpusatuntuk komputer pengguna windows pada jaringan Webrother. Pengguna juga dapatmenggunakan profil roaming, dimana pengguna dapat masuk ke setiap windows PCdijaringan 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 mengubahpassword mereka, dengan menekan Ctrl-Alt-Delete, dll , Drive M: muncul dan aksesbenar, Roaming profil secara otomatis dibuat bila pengguna domain log-off pada akhirsesi pertama mereka, Ubuntu server sudah berhasil disiapkan untuk menggunakan LDAPgabungan 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-utilaptitude install samba smbldap-tools smbclient samba-doc libtalloc1libpam-smbpass

2. Konfigurasi OpenLDAP untuk digunakan dengan Samba

Instal dokumen samba yang berisi skema. Ekstrak Samba,schema dan salin kearea sistem yang diperlukan untuk OpenLDAP.

Page 10: Pembuatan Aplikasi Primary Domain Controller untuk Jaringan

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:~# slappasswdNew password:Re-enter new password:{SSHA}8ocqsGYGCeZI3tzNZUmO92/GjCW6MTa+ ; ini hasil generate

slappasswd.

Buat file init.ldif nama 4 OUs (Organization Units) Users, Groups, Computer dan Idmapuntuk digunakan dengan smbldap-tools

~# vim /etc/ldap/init.ldif

dn: dc=webrother,dc=localobjectClass: dcObjectobjectClass: organizationalUnitdc: masterpop3ou: masterpop3.local

dn: cn=admin,dc=webrother,dc=localobjectClass: simpleSecurityObjectobjectClass: organizationalRolecn: admindescription: LDAP administratoruserPassword: {SSHA}8ocqsGYGCeZI3tzNZUmO92/GjCW6MTa+ ##masukkan hasildari generate slappasswd.

dn: ou=Users,dc=webrother,dc=localobjectClass: organizationalUnitou: Users

dn: ou=Groups,dc=webrother,dc=localobjectClass: organizationalUnitou: Groups

dn: ou=Computers,dc=webrother,dc=localobjectClass: organizationalUnitou: Computers

dn: ou=Idmap,dc=webrother,dc=localobjectClass: organizationalUnitou: Idmap

membuat file /etc/ldap/slapd.conf untuk domain ini, dan sesuaikan konfigurasinya

-# vim /etc/ldap/slapd.conf

Page 11: Pembuatan Aplikasi Primary Domain Controller untuk Jaringan

include /etc/ldap/schema/core.schemainclude /etc/ldap/schema/cosine.schemainclude /etc/ldap/schema/nis.schemainclude /etc/ldap/schema/inetorgperson.schemainclude /etc/ldap/schema/misc.schemainclude /etc/ldap/schema/samba.schema

pidfile /var/run/slapd/slapd.pidargsfile /var/run/slapd/slapd.argsloglevel 0modulepath /usr/lib/ldapmoduleload back_bdbsizelimit 500tool-threads 1backend bdbdatabase bdb

suffix "dc= webrother,dc=local" #sesuaikandengan DN yg anda buat.rootdn "cn=admin,dc=webrother,dc=local" #sesuaikanrootpw {SSHA}8ocqsGYGCeZI3tzNZUmO92/GjCW6MTa+ #samakanseperti di init.ldif

directory "/var/lib/ldap"dbconfig set_cachesize 0 2097152 0dbconfig set_lk_max_objects 1500dbconfig set_lk_max_locks 1500dbconfig set_lk_max_lockers 1500

index objectClass eq

lastmod oncheckpoint 512 30

access toattrs=userPassword,shadowLastChange,sambaNTPassword,sambaLMPassword

by dn="cn=admin,dc=webrother,dc=local" writeby anonymous authby self writeby * none

access to dn.base="" by * readaccess to *

by dn="cn=admin,dc=webrother,dc=local" writeby * 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

Page 12: Pembuatan Aplikasi Primary Domain Controller untuk Jaringan

~# 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=localobjectClass: dcObjectobjectClass: organizationalUnitdc: masterpop3ou: 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 = WEBROTHERnetbios name = DC-UBUNTUserver string = DC SERVER; menjadi sebuah PDCdomain logons = Yesdomain master = Yes; menjadi sebuah WINS Serverwins support = Yes

security = user

Page 13: Pembuatan Aplikasi Primary Domain Controller untuk Jaringan

encrypt passwords = Yes

obey pam restrictions = Nodns proxy = Noos level = 35log file = /var/log/samba/log.%mmax log size = 1000syslog = 0panic action = /usr/share/samba/panic-action %dpam password change = Yes

unix password sync = Noldap passwd sync = yes

passdb backend = ldapsam:ldap://localhostldap suffix = dc= ebrother,dc=localldap admin dn = cn=admin,dc=webrother,dc=localldap machine suffix = ou=Computersldap user suffix = ou=Usersldap group suffix = ou=Groupsldap idmap suffix = ou=Idmapldap ssl = no

'%g'

add user script = /usr/sbin/smbldap-useradd -m '%u'delete user script = /usr/sbin/smbldap-userdel %uadd 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'

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 drive = M:logon home = \\DC-UBUNTU\%Ulogon path = \\DC-UBUNTU\%U\Profilelogon script = logon.bat

server signing = autoserver schannel = Auto

[homes]comment = Home Directoriesvalid users = %Sread only = Nobrowseable = No

[netlogon]comment = Network Logon Servicepath = /home/samba/netlogonadmin users = root

Page 14: Pembuatan Aplikasi Primary Domain Controller untuk Jaringan

guest ok = Yesread only = Yesbrowseable = No

[Profiles]comment = Roaming Profile Sharepath = /home/samba/profilesread only = Noprofile acls = Yesbrowsable = No

[Public]comment = Public Sharepath = /home/samba/publicread only = Noguest ok = Yesbrowsable = Yeswriteable = Yescreate mask = 0666directory mask = 0777

membuat password untuk LDAP admin account (spt: cn=admin,dc=webrother,dc=local)

~# smbpasswd -WSetting stored password for "cn=admin,dc=webrother,dc=local" in

secrets.tdbNew SMB password: ; password yg sama dengan

LDAP adminRetype 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 successfulDomain=[WEBROTHER] OS=[Unix] Server=[Samba 3.4.0]

Sharename Type Comment--------- ---- -------IPC$ IPC IPC Service (DC SERVER)Public Disk Public Share

Anonymous login successfulDomain=[webrother] OS=[Unix] Server=[Samba 3.4.0]

Server Comment--------- -------

Page 15: Pembuatan Aplikasi Primary Domain Controller untuk Jaringan

DC-UBUNTU DC SERVERDB-SRVNIXNUXTDSWABAHTIAR-PC

Workgroup Master--------- -------WEBROTHER DC-UBUNTU

4. Konfigurasi paket SMBLDAP-TOOL

Gunakan paket smbldap-tools untuk mengisi direktori ldap, menambahkan users,menambahkan groups, menambahkan workstation, dll .. Namun, toolsnya harusdikonfigurasi 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

Page 16: Pembuatan Aplikasi Primary Domain Controller untuk Jaringan

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 LDAPdatabase. Tool ini juga meletakkan/memasukkan inetOrgPerson dan POSIX ke dalamdatabase.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

Page 17: Pembuatan Aplikasi Primary Domain Controller untuk Jaringan

• 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 meliputipembentukan grup standard, seperti Administrators dan Domain Users.Jalankan perintah berikut untuk mengisi LDAP database..

~# smbldap-populate -u 30000 -g 30000Populating LDAP directory for domain MASTERPOP3 (S-1-5-21-

1544440099-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=localadding new entry: uid=nobody,ou=Users,dc= webrother,dc=localadding new entry: cn=Domain Admins,ou=Groups,dc= webrother,dc=localadding new entry: cn=Domain Users,ou=Groups,dc= webrother,dc=localadding new entry: cn=Domain Guests,ou=Groups,dc= webrother,dc=localadding new entry: cn=Domain Computers,ou=Groups,dc=

webrother,dc=localadding new entry: cn=Administrators,ou=Groups,dc= webrother,dc=localadding new entry: cn=Account Operators,ou=Groups,dc=

webrother,dc=localadding new entry: cn=Print Operators,ou=Groups,dc=

webrother,dc=localadding new entry: cn=Backup Operators,ou=Groups,dc=

webrother,dc=localadding new entry: cn=Replicators,ou=Groups,dc= webrother,dc=localentry sambaDomainName=WEBROTHER,dc= webrother,dc=local already

exist. Updating it...Please provide a password for the domain root:Changing UNIX and samba passwords for rootNew password: ;isi password yg sama dg

rootRetype new password:

Pastikan bahwa direktori LDAP database memiliki informasi di dalamnya denganmenjalankan perintah:

~# ldapsearch -x -b dc= webrother,dc=local -h 127.0.0.1 |less

Page 18: Pembuatan Aplikasi Primary Domain Controller untuk Jaringan

6. Konfigurasi server untuk menggunakan LDAP authentication

Pada dasarnya perlu memberitahukan server untuk menggunakan otentikasiLDAP sebagai salah satu pilihan. Maksudnya jika akan menghubungkan sebuah servermaka 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?: YesLDAP server Uniform Resource Identifier: ldapi://127.0.0.1Distinguished name of the search base: dc=masterpop3,dc=localLDAP version to use: 3Make local root Database admin: YesDoes the LDAP database require login? NoLDAP account for root: cn=admin,dc=masterpop3,dc=localLDAP root account password: 12345

Buka file /etc/ldap.conf untuk di edit ..

~# vim /etc/ldap.conf

host 127.0.0.1base dc= webrother,dc=localuri ldapi://127.0.0.1ldap_version 3rootbinddn cn=admin,dc= webrother,dc=localbind_policy softpam_password md5 nss_initgroups_ignoreusers avahi,avahi-autoipd,backup,bin,bind,couchdb,daemon,games,gdm,gnats,haldaemon,hplip,irc,kernoops,landscape,libuuid,list,lp,mail,man,messagebus,news,openldap,proxy,pulse,root,saned,speech-dispatcher,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

Page 19: Pembuatan Aplikasi Primary Domain Controller untuk Jaringan

nss_group=group: compat ldapnss_shadow=shadow: compat ldapnss_netgroup=netgroup: compat ldappam_auth=auth required pam_env.soauth sufficient pam_unix.so likeauth nullokauth sufficient pam_ldap.so use_first_passauth required pam_deny.so

pam_account=account sufficient pam_unix.soaccount sufficient pam_ldap.soaccount required pam_deny.so

pam_password=password sufficient pam_unix.so nullok md5 shadowuse_authtokpassword sufficient pam_ldap.so use_first_passpassword required pam_deny.so

pam_session=session required pam_limits.sosession required pam_mkhomedir.so skel=/etc/skel/session required pam_unix.sosession 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 memverifikasibahwa otentikasi LDAP sudah bekerja.

~# smbldap-useradd -a -m -M gery -c "Gery Erlangga" gery~# smbldap-passwd gery

Changing UNIX and samba passwords for geryNew 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

Page 20: Pembuatan Aplikasi Primary Domain Controller untuk Jaringan

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 instalasipaket 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 ( // ) danganti angka 1.2.3.4 dengan alamat server DNS yang diberikan oleh ISP (pada contoh iniIP 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. Ikutilangkahnya:Sunting file /etc/bind/named.conf.local, dan buat zone webrother.org:

zone “webrother.org” {

type master;

file “/etc/bind/db.webrother.org”;

};

Page 21: Pembuatan Aplikasi Primary Domain Controller untuk Jaringan

Isi file dari db.webrother.org dapat disalin dari file db.local dan dilakukanmodifikasi 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 ; 2 hours@ IN SOA ns1.webrother.org. webmaster.webrother.org. (

2 ; Serial604800 ; Refresh86400 ; Retry

2419200 ; Expire604800 ) ; Negative Cache TTL

;

NS ns1.webrother.org.@ A 172.168.10.25ns A 172.168.10.20wwwidschool

ACNAME

172.168.10.25www

4. Membuat File Reverse Zone

File reverse zone ini diperlukan mengkonversi alamat IP ke nama. Berikut adalahlangkah 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 alamatIP 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.

Page 22: Pembuatan Aplikasi Primary Domain Controller untuk Jaringan

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 ; Serial604800 ; Refresh86400 ; Retry

2419200 ; Expire604800 ; 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 untukwebrother.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

Page 23: Pembuatan Aplikasi Primary Domain Controller untuk Jaringan

Untuk menginstall mail server ada beberapa tahap dan bagian yang harusdiinstal dan dikonfigurasikan satu persatu1. Install postfix

Postfix adalah Mail Transfer Agent (MTA) untuk ubuntu. MTA ada didalamrepositori utama Ubuntu yang berarti MTA adalah bagian yang menerima keamanandalam suatu Mail Server. Berikut adalah cara untuk menginstall postfix danmengkonfigurasikannya sebagai server SMTP sebagai sumber yang aman dijaringanwebrother.

Install postfix terlebih dahulu.

sudo aptitude install postfix

setelah menginstall dilanjutkan dengan konfigurasi postfix tersebutpada terminal di linux ketiksudo 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/maildirsehingga perlu untuk mengkonfigurasi Mail Delivery Agent untuk menggunakan jalanyang 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: saslauthdmech_list: plain login

membuat sertifikat yang akan digunakan untuk enkripsi TLS atau otentikasi sertifikat :

touch smtpd.keychmod 600 smtpd.keyopenssl genrsa 1024 > smtpd.keyopenssl req -new -key smtpd.key -x509 -days 3650 -out smtpd.crt # hasprompts

Page 24: Pembuatan Aplikasi Primary Domain Controller untuk Jaringan

openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -outcacert.pem -days 3650 # has promptssudo 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 tochange this to yours

dokumen /etc/postfix/main.cf akan terlihat seperti dibawah ini:

See /usr/share/postfix/main.cf.dist for a commented, more completeversion

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.comalias_maps = hash:/etc/aliasesalias_database = hash:/etc/aliasesmyorigin = /etc/mailnamemydestination = server1.example.com, example.com,localhost.example.com, localhostrelayhost =mynetworks = 127.0.0.0/8mailbox_command = procmail -a "$EXTENSION"mailbox_size_limit = 0recipient_delimiter = +inet_interfaces = allsmtpd_sasl_local_domain =smtpd_sasl_auth_enable = yessmtpd_sasl_security_options = noanonymousbroken_sasl_auth_clients = yes

Page 25: Pembuatan Aplikasi Primary Domain Controller untuk Jaringan

smtpd_recipient_restrictions =permit_sasl_authenticated,permit_mynetworks,reject_unauth_destinationsmtpd_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 = maysmtpd_tls_security_level = maysmtp_tls_note_starttls_offer = yessmtpd_tls_key_file = /etc/ssl/private/smtpd.keysmtpd_tls_cert_file = /etc/ssl/certs/smtpd.crtsmtpd_tls_CAfile = /etc/ssl/certs/cacert.pemsmtpd_tls_loglevel = 1smtpd_tls_received_header = yessmtpd_tls_session_cache_timeout = 3600stls_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 beberapahal 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 jalursaslauthd aplikasi lain yang menggunakan saslauthd mungkin akan ikut terpengaruh

Ubah /etc/default/saslauthd untuk mengaktikan saslauthd. Hapus # didepanSTART = yes, tambahkan PWDIR, params dan garis – garis pidfile dan ubahlah baris diOPTION terakhir

# This needs to be uncommented before saslauthd will be runautomaticallySTART=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"

Page 26: Pembuatan Aplikasi Primary Domain Controller untuk Jaringan

# Note: See /usr/share/doc/sasl2-bin/README.Debian#OPTIONS="-c"

#make sure you set the options here otherwise it ignores params aboveand will not workOPTIONS="-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-STARTTLS250-AUTH

menyatakan bahwa sistem telah bekerja. setelah itu ketik quit untuk kembali ke systemshell.

Install Web ServerLangkah terakhir dalam penginstallan Domain di jaringan Webrother adalah

penginstallan web server. Pada jaringan webrother yang terhubung lebih dari 150 PCakan 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 bukabrowser anda dan ketikkan localhost.

2. Install Mysql-serverKhusus untuk instalasi mysql akan diminta untuk mengisi user dan password

administrator root mysql yang akan digunakan nanti. Sedangkan paket phpmysqldigunakan untuk editor mysql via web, untuk mengaksesnya buka browser lalu ketik

Page 27: Pembuatan Aplikasi Primary Domain Controller untuk Jaringan

localhost/phpmyadmin masukkan user dan password root mysql yang sudah dibuatsewaktu installasi mysql.

Kebanyakan penempatan file – file web diletakkan didalam folder /var/www atau/usr/share. Agar tidak terjadi pembengkakan di direktori root karena banyaknya aplikasiweb 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 consolesudo /etc/init.d/apache2 restart

lalu buat direktori di /home/user/public_html dan tes dengan membuka browserkemudian ketikkan :http://localhost/~user

3. Install phpmyadmin

sudo apt-get install phpmyadmin

Buka folder /srv/www/htdocs/ yang merupakan folder default untuk localhostyang akan membaca aplikasi web yang akan dijalankan. Selanjutnya, running localhostmelalui web browser dengan mengetikkan pada address bar :http://localhost /manual/

Setelah itu muncul informasi tentang Apache, running MySQL dengan bantuanphpmyadmin melalui web browser dengan mengetikkan pada address bar :http://localhost/phpmyadmin/

KESIMPULAN

Penggunaan Domain menyebabkan jaringan Webrother menjadi teratur dan lebihmudah untuk di kontrol penggunaannya. Karena dapat membatasi arus data yang masukdan keluar dari jaringan Webrother termasuk virus dan serangan Hacker maupun Cracker.

PDC membuat user atau pengguna dapat mengakses dari beberapa server hanya dengansatu acoount user. Hal ini merupakan suatu efisiensi dan efektifitas dalam pemanfaatanjaringan webrother yang sudah semakin padat populasinya.

Page 28: Pembuatan Aplikasi Primary Domain Controller untuk Jaringan

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-ubuntu-

karmic/, 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.