Anda di halaman 1dari 45

FTP SERVER DENGAN FITUR LDAP AUTHENTICATION DAN FTP STATUS

STEP-BY-STEP TUTORIAL
Diajukan untuk memenuhi tugas besar Cakru ARC

oleh ALDY WIRAWAN / STEI FATKUR ROSI / SAPPK ISKANDAR SETIADI / STEI PANDU KARTIKA PUTRA / STEI

MENTOR: MUHAMMAD AFIF

AMATEUR RADIO CLUB INSTITUT TEKNOLOGI BANDUNG 2012

PRAKATA
Puji dan syukur penulis panjatkan ke hadirat Tuhan yang Maha Pengasih dan Penyayang, karena kasih dan karunia-Nya step-by-step tutorial ini dapat diselesaikan dengan baik dan juga tepat pada waktunya. Tutorial ini dibuat untuk mencapai berbagai tujuan. Tujuan utama pembuatan tutorial ini adalah untuk memandu pengguna FreeBSD dalam melakukan installasi FTP Server dengan integrasi LDAP Authentication. Selain itu tutorial ini ditujukan sebagai salah satu tugas Calon Kru ARC. Dalam menyelesaikan tutorial ini, penulis mendapatkan bantuan dari berbagai pihak baik secara langsung maupun tidak langsung. Oleh karena itu, penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada 1. Para mentor ARC, terutama Kak Muhammad Afif sebagai mentor dan Kak Satria Ady Pradana serta mentor-mentor tahap sebelumnya, 2. orang tua penulis yang telah turut serta mendukung pembuatan tutorial ini, 3. teman-teman cakru ARC, 4. semua orang yang telah membantu pembuatan tutorial ini, yang tak dapat penulis sebutkan satu persatu. Tak ada gading yang tak retak. Penulis menyadari masih banyak kekurangan dalam tutorial ini, karena itu penulis menerima kritik dan saran yang bersifat membangun untuk karya-karya

selanjutnya. Akhir kata penulis ucapkan selamat membaca. Semoga tutorial ini dapat berguna bagi para pembaca.

Bandung, Mei 2012

Penulis

ii

BAB I PERSYARATAN AWAL

Agar FTP Server dapat terintegrasi dengan LDAP Authentication dengan baik, dibawah ini akan dijelaskan software-software yang dibutuhkan untuk membantu penggunaan FTP Server yang akan diinstall. Software-software tersebut ada yang bersifat Opsional serta ada yang bersifat wajib. Penulis menggunakan VMWare Workstation versi 8.0 yang berbasis Operating System FreeBSD. Salah satu syarat awal dalam penginstallan kali ini adalah memiliki server yang berjalan dengan baik, dan penulis menggunakan Apache22. Installasi dapat dilakukan dengan dua cara, yaitu melalui ports maupun binary. Untuk penginstallan melalui ports, anda cukup menuliskan: cd /usr/ports/www/apache22 make install clean Hostname yang penulis gunakan dalam installasi kali ini adalah example.com dengan Server Name (IP) 192.168.200.128 (dapat dilihat pada file /etc/rc.conf)

Untuk mempermudah pengerjaan, penulis juga menggunakan Putty versi 0.60 yang dapat diunduh disini. Penggunaan Putty dapat dilihat pada screenshot dibawah ini:

Selain itu, untuk mempermudah pengerjaan, penulis menggunakan php5 yang dapat didownload di /usr/ports/lang/php5 dan program berbasis Windows yaitu JXplorer yang dapat didownload disini. [Penggunaannya akan dijelaskan pada bagian masing-masing] Untuk mempermudah penginstallan FTP awal (sebelum menggunakan LDAP Authentication), penulis menggunakan PureDB sebagai database sementara yang dapat didownload melalui ports /usr/ports/databases/puredb. [Salah satunya adalah dalam penggunaan pureftpd.pdb]

BAB II FTP SERVER BERBASIS PURE-FTPD

Untuk memulai installasi FTP Server (menggunakan Pure-FTPd) melalui ports, kita cukup mengetik command berikut: portsnap fetch update #command tersebut digunakan untuk mengecek apakah ada update port terbaru dari FTP freebsd, jika ada maka akan dilakukan peng-update-an cd /usr/ports/ftp/pure-ftpd #command diatas digunakan untuk mengakses lokasi port pure-FTPd berada make config #untuk melakukan konfigurasi awal, akan keluar box berikut (silang semua):

make install clean #untuk memulai proses instalasi rehash #command ini berfungsi seperti refresh, yaitu untuk mengecek command-command baru yang telah ditambahkan setelah proses installasi Pure-FTPd. Langkah selanjutnya adalah melakukan konfigurasi awal terhadap Pure-FTPd. cd /usr/local/etc cp pure-ftpd.conf.sample pure-ftpd.conf #setelah kita mengakses folder /usr/local/etc, cp digunakan untuk membuat duplikat file pure-ftpd.conf.sample (konfigurasi default) menjadi file pure-ftpd.conf (file yang akan kita konfigurasikan), lakukan konfigurasi berikut Verboselog yes PureDB /usr/local/etc/pureftpd.pdb CreateHomeDir yes #Verboselog digunakan untuk membuat log file dari kegiatan-kegiatan client #PureDB disini digunakan untuk membantu proses pembuatan virtual user sementara sebelum authentikasi menggunakan LDAP #CreateHomeDir digunakan untuk memberikan akses kepada Pure-FTPd untuk membuat direktori baru jika direktori yang dituju tidak ada #P.S: tanda # pada configuration file mendadakan tulisan tersebut bersifat sebagai komentar

#Langkah selanjutnya adalah kita akan mencoba apakah Pure-FTPd yang telah kita install berjalan dengan lancar atau tidak. Untuk itu, kita akan menggunakan Virtual User dengan database PureDB chmod 600 /usr/local/etc/pureftpd.passwd #command tersebut digunakan untuk mengatur tingkat accessible sistem dalam mengakses file pureftpd.passwd. Penjelasan lebih lanjut mengenai chmod dapat dibaca disini.
6

pw useradd cftp s /sbin/nologin w no d /usr/home/cftp\ ? c Virtual FTP user m #perintah pw useradd digunakan untuk menambah semua grup dari Virtual User yang akan kita tambahkan. Dalam kasus ini, penulis memberikan nama grup berupa cftp. Syntax-syntax yang digunakan pada pw dapat dibaca penjelasannya disini. (seperti d untuk mengakses direktori, dan c untuk menambah penjelasan/comment) pure-pw useradd user u cftp g cftp d /usr/home/cftp/user pure-pw mkdb #pure-pw useradd adalah perintah yang digunakan untuk menambah user baru. User dapat digantikan sesuai keinginan kita, dalam kasus ini, penulis menggunakan iskandar3, sedangkan cftp merupakan nama grup yang telah kita buat sebelumnya. Untuk memberikan akses penuh kepada user tersebut, kita dapat menggunakan D untuk menggantikan d. #pure-pw mkdb digunakan untuk meng-import database yang telah kita buat (dalam hal ini virtual user). #Setelah selesai, kita dapat melakukan penghapusan user dengan perintah pure-pw userdel user dimana user adalah nama dari pengguna yang kita buat. Untuk membuat virtual user baru, kita cukup mengulangi langkah diatas. Screenshot berikut menunjukkan contoh user yang telah berhasil dibuat:

/usr/local/etc/rc.d/pure-ftpd start #command diatas digunakan untuk menyalakan pure-FTPd yang telah kita install. Kita dapat menstubtitusi start dengan perintah-perintah seperti restart dan stop (untuk mengulang atau mematikan pure-FTPd). ftp localhost #Jika berhasil, anda dapat melihat screenshot seperti dibawah ini:

#Tampilan pada browser windows

#agar pure-FTPd menyala setiap kali melakukan boot-up system, kita cukup menambahkan perintah echo pureftpd_enable=YES >> /etc/rc.conf sehingga akan terdapat baris baru berupa pureftpd_enable=YES pada file konfigurasi /etc/rc.conf. #Untuk keluar dari ftp localhost di FreeBSD, kita dapat menggunakan perintah exit

10

BAB III FTP STATUS PADA PURE-FTPD

Secara singkat, untuk melihat status dari FTP yang kita gunakan, kita dapat melihat melalui perintah status setelah kita masuk kedalam ftp localhost. Localhost yang digunakan oleh penulis dapat diganti dengan server lainnya (jika ada).

11

#Localhost (127.0.0.1) adalah default sistem sehingga kita dapat mengubah sesuai keinginan kita. Untuk melakukan monitoring langsung, kita dapat menggunakan perintah pure-ftpwho yang menghasilkan tampilan seperti berikut ini (VMWare):

# PID: Identitas proses yang sedang berlangsung (Process ID) #Login: Nama user yang digunakan #For/Spd: Lama seseorang telah masuk kedalam FTP Server (Jam:Menit) #What: Status user yang sedang terhubung Untuk melakukan monitoring langsung melalui Windows, kita dapat menggunakan web server kita untuk menghubungkannya langsung ke browser. cd /usr/local/www/apache22/cgi-bin ee ftpstatus.c #perintah ee digunakan untuk membuat file baru.

12

#Kita cukup mengakses direktori dari web server kita (dalam kasus ini penulis menggunakan apache22) dan kita cukup menuliskan kode berikut ini: #include <stdlib.h> int main(int argc, char *argv[]) { system(/usr/local/sbin/pure-ftpwho H w); return 0; }

#Perintah yang dituliskan dalam bahasa C diatas memiliki prinsip kerja yang sama dengan perintah pure-ftpwho yang kita gunakan sebelumnya. Untuk melakukan kompilasi dan memberikan izin kepada sistem untuk menjalankan program, kita dapat menambahkan perintah berikut ini: cc Wall o ftpstatus ftpstatus.c chmod 755 ftpstatus chmod ug+s ftpstatus

#setelah kompilasi, kita dapat menggunakan perintah rm ftpstatus.c untuk menghapus file tersebut karena sudah tidak dibutuhkan lagi. Syntax umum yang dapat diketikkan pada web browser adalah http://myipaddress.com/cgi-bin/ftpstatus seperti yang terlihat pada screenshot berikut:

13

#untuk melakukan manajemen user, Pure-FTPd memiliki beberapa cara seperti melakukan pengecekan terhadap database PureDB (Virtual User), MySQL, serta LDAP Authentication(yang akan dijelaskan pada bab selanjutnya). Salah satu user management berintegrasi MySQL tidak akan dibahas disini, melainkan dapat dibaca pada situs http://machiel.generaal.net/index.php?subject=pureftpd&language=eng . Tampilan awal User Management menggunakan Apache + PHP + MySQL:

14

BAB IV LDAP AUTHENTICATION BERBASIS OPEN-LDAP

LDAP (Lightweight Directory Access Protocol) merupakan salah satu protokol yang digunakan untuk mengakses dan mengirimkan subset data pada jaringan internet. Salah satu manfaat penggunaan protokol LDAP adalah data-data tersusun secara terstruktur (organized records) seperti dalam melakukan penyimpanan nama dan profil pengguna. LDAP didukung dengan enskripsi keamanan data melalui TLS (Transport Layer Security) melalui suatu skema enskripsi yang dinamakan SSL Certificate. Selain itu, data-data dalam LDAP biasanya memiliki ekstensi LDIF (LDAP Data Interchange Format) yang biasanya berisikan sekumpulan data (records) dan kita dapat melakukan operasi-operasi seperti menambah, mengubah, dan menghapus bagian-bagian dari setiap data. Untuk lebih jelasnya, cara kerja dari LDAP Authentication akan dijelaskan selama proses installasi dan konfigurasi OpenLDAP berikut. cd /usr/ports/net/openldap24-server make clean install rehash #Pertama-tama, kita akan meng-install OpenLDAP melalui ports yang tersedia. Caracara lain seperti pemasangan melalui binary juga dapat dilakukan.

15

mkdir /var/db/openldap-data
cp /usr/local/etc/openldap/DB_CONFIG.example /var/db/openldap-data/DB_CONFIG

#Setelah proses installasi selesai, selanjutnya kita akan membuat direktori baru yang berada pada /var/db/ dan memiliki nama direktori openldap-data. Selanjutnya kita melakukan penduplikasi file konfigurasi default DB_CONFIG yang terletak pada /usr/local/etc/openldap/ ke direktori baru yang kita buat sebelumnya.

#Langkah selanjutnya adalah pembuatan certificate yang diperlukan oleh OpenLDAP untuk melakukan proses autentikasi.
16

cd /usr/local/etc/openldap/ mkdir /usr/local/etc/openldap/private #Pada direktori tempat kita melakukan peng-installan OpenLDAP, kita akan membuat sebuah folder baru yang bernama private. Folder ini diperuntukkan untuk meletakkan certificate-certificate yang akan kita buat.
openssl req days 3650 nodes new x509 keyout /usr/local/etc/openldap/private/ca.key out /usr/local/etc/openldap/ca.crt

#Perintah diatas digunakan untuk meminta (me-request) sebuah file certificate dari OpenSSL yang akan digunakan untuk OpenLDAP (dalam contoh diatas, penulis melakukan permintaan file certificate dengan jangka berlaku 3650 hari). Proses selanjutnya adalah memasukkan entri data untuk mendapatkan CA (Certificate Authority). PERHATIAN! Untuk bagian Common Name (eg, YOUR name) []:, isilah sub-entri tersebut dengan nama hostname yang anda miliki, dengan prefiks tambahan. Dalam kasus ini, penulis menggunakan server.example.com #CN = server.example.com
openssl req days 3650 nodes new keyout /usr/local/etc/openldap/private/server.key out /usr/local/etc/openldap/private/server.csr

#Pada bagian ini, kita akan diminta untuk mengisi entri yang kurang lebih sama dengan sebelumnya. Perlu diingat CN yang digunakan haruslah hostname yang kita
17

gunakan pada FreeBSD (dapat dicek pada /etc/rc.conf) yaitu CN= example.com (tanpa prefiks). Bagian Challenge password dan Optional Company Name dapat dikosongkan. openssl x509 req days 3650 in /usr/local/etc/openldap/private/client.csr out /usr/local/etc/openldap/client.crt CA /usr/local/etc/openldap/ca.crt CAkey /usr/local/etc/openldap/private/ca.key #Dari file client.csr yang telah kita buat sebelumnya, kita akan membuat self-sign certificate berupa client.crt dan membuat file yang mengizinkan Certificate Authority yaitu ca.key yang terletak pada direktori private. Jika proses berlangsung benar, maka akan terdapat file-file berikut

18

#Selain itu akan terdapat file-file ca.key, client.csr, client.key, server.csr, dan server.key pada direktori private. ee /usr/local/etc/openldap/slapd.conf #Selanjutnya tambahkan line-line dibawah ini untuk pengaturan direktori TLS security ssf=128 TLSCipherSuite HIGH:MEDIUM:+SSLv3 TLSCertificateFile /usr/local/etc/openldap/server.crt TLSCertificateKeyFile /usr/local/etc/openldap/private/server.key TLSCACertificateFile /usr/local/etc/openldap/ca.crt #Serta lakukan pengubahan terhadap suffix dan rootdn sesuai hostname yang digunakan, misalnya example.com seperti pada screenshot dibawah ini:

19

#kemudian buka file konfigurasi ldap.conf dan lakukan konfigurasi seperti berikut: ee /usr/local/etc/openldap/ldap.conf TLS_CACERT /usr/local/etc/openldap/ca.crt TLS_CIPHER_SUITE HIGH:MEDIUM:+SSLv3 #Tambahkan dua line tersebut pada baris terakhir konfigurasi, sehingga LDAP dapat mengeset direktori dari sertifikat TLS yang telah kita buat sebelumnya. ee /etc/rc.conf slapd_enable=YES slapd_flags=-4 u ldap g ldap h ldaps:/// #Langkah selanjutnya adalah mengatur agar slapd selalu di start-up setiap kali booting melalui etc/rc.conf. Line diatas memiliki arti menyalakan ldap untuk IPv4, oleh user ldap, group ldap, dan menggunakan port ldaps://

20

cd /usr/local/etc/openldap chown R ldap:ldap private chmod R 700 private/ chmod R 700 private/* #Perintah diatas digunakan untuk mengatur tingkat keaksesan dari direktori private (tempat penyimpanan sertifikat) dengan perintah chmod seperti yang telah disinggung dibagian sebelumnya /usr/local/etc/rc.d/slapd restart #Kemudian kita uji dengan me-restart sistem LDAP kita. Jika terdapat tulisan WARNING: failed to start ldap menandakan ada konfigurasi yang salah dari sertifikat kita (biasanya hostname yang digunakan) sockstat -4 p 636

21

#Perintah diatas digunakan untuk menguji apakah LDAP benar-benar berfungsi dengan baik pada port lokal 636.

ee /usr/local/etc/openldap/ldap.conf #Buka kembali file konfigurasi ldap.conf, lakukan pengaturan berikut ini Ubah #BASE dc=example,dc=com menjadi BASE dc=example,dc=com sesuai hostname yang anda gunakan (hilangkan tanda komentar #) Ubah #URI ldap://ldap.example.com ldap://ldap-master.example.com:666 menjadi URI ldap:// ldaps:// (URI = Uniform Resource Identifier) Hilangkan tanda komentar dari #SIZELIMIT 12 dan #TIMELIMIT 15 Tambahkan atribut ssl start_tls dan pam_login_attribute uid sebagai penanda bahwa LDAP Authentication kita menggunakan TLS dan attribute uid menandakan uid sebagai kunci autentikasi yang kita gunakan.

22

#langkah selanjutnya adalah membuat password untuk OpenLDAP kita. /usr/local/sbin/slappasswd h {MD5} >> /usr/local/etc/openldap/slapd.conf #Password yang kita gunakanakan dienskripsi dengan MD5 dan langsung tersimpan pada file konfigurasi slapd.conf ee /usr/local/etc/openldap/slapd.conf #Lakukan pengaturan seperti berikut ini:

23

Tambahkan password-hash {md5} dan allow bind_v2 di baris awal sebagai penanda password LDAP yang kita gunakan Ubah dc=my-domain,dc=com menjadi dc=example,dc=com Ubah cn=Manager,dc=my-domain,dc=com menjadi cn=Manager,dc=example,dc=com [Pengaturan bergantung pada hostname yang digunakan] Hapus baris yang bertuliskan rootpw secret Tambahkan tulisan rootpw disertai spasi pada baris paling bawah [Baris yang memiliki enskripsi password dalam {MD5}] seperti screenshot berikut ini:

/usr/local/etc/rc.d/slapd restart #Lakukan restart sistem LDAP kita, jika terdapat masalah, berarti terdapat kesalahan dalam pengaturan TLS Certificate dan password yang digunakan. /usr/local/bin/ldapsearch Z

24

#Perintah diatas digunakan untuk mengecek entri data yang terdapat dalam LDAP kita. Z yang digunakan berarti kita melakukan pencarian data yang memiliki konfigurasi TLS Certificate. #cn=Manager yang kita gunakan menandakan Manager setara dengan administrator dari root user, dan akan diproses melalui penambahan entri LDIF berikut ini ee /root/example.ldif #file LDIF yang dibuat dapat berada pada direktori apapun, pada kasus ini, penulis menggunakan /root/ sebagai tempat penyimpanan dn: dc=example,dc=com objectclass: dcObject objectclass: organization o: Example dc: Example

dn: cn=Manager,dc=example,dc=com objectclass: organizationalRole cn: Manager

#File LDIF yang digunakan memiliki sebuah karakteristik khusus yang dinamakan objectclass. Fitur LDIF sendiri memiliki banyak sekali tipe-tipe objectclass (hirarki

25

struktur data), pada contoh diatas, kita membuat sebuah struktur hirarki organisasi dengan kata kunci dc=example,dc=com

#Untuk menambahkan data tersebut kedalam entri (import), kita dapat menggunakan command berikut: ldapadd Z D cn=Manager,dc=example,dc=com W f /root/example.ldif #Perintah ldapadd diatas digunakan untuk menambah entri baru. W digunakan untuk meminta password LDAP dari pengguna (Admin password); Selain perintah ldapadd, kita dapat menggunakan ldapmodify untuk mengubah entri dari file LDIF yang sudah ada. Jika proses berlangsung benar, maka akan terdapat tulisan adding new entry. ldapsearch #Jika proses berlangsung lancar, maka database LDAP kita akan ter-update secara otomatis.

26

Seperti yang telah disinggung pada Bab I, kita dapat menggunakan fitur Windows untuk memudahkan pengolahan data entri dalam OpenLDAP yang kita miliki, yaitu dengan menggunakan JXplorer.

#Host diisi dengan IPv4 dari FreeBSD kita (dalam kasus penulis, 192.168.200.128) dan Port diisi dengan 636 #Level menggunakan SSL + User + Password, lalu masukkan User DN seperti yang tertera pada database yaitu cn=Manager,dc=example,dc=com dengan password yang telah kita masukkan sebelumnya #Jika proses berlangsung lancar, akan keluar kotak peringatan seperti berikut, kemudian pilih Always

27

#Jika benar, maka semua tampilan data yang ada akan dimunculkan

#Untuk penambahan User FTP menggunakan JXplorer akan dibahas dibagian selanjutnya Pada bagian ini, OpenLDAP telah siap dikonfigurasi. Bab selanjutnya akan membahas mengenai konfigurasi yang harus dilakukan untuk melakukan integrasi OpenLDAP dengan Pure-FTPD.

28

BAB V FTP SERVER TERINTEGRASI LDAP AUTHENTICATION

LDAP sebagai suatu protokol akses data, memiliki sekumpulan struktur data yang terorganisir disebut schema. Schema dikenal juga sebagai DIT (Directory Information Tree) yaitu sekumpulan data yang tersusun secara hirarki. Schema ini didefinisikan oleh ObjectClasses yang biasanya terdapat dalam entri data. Dengan menggunakan schema, suatu records (kumpulan data) dapat terstruktur dengan baik karena setiap record akan memiliki attribute-attribute yang sama. Pada integrasi LDAP dengan FTP Server kali ini, akan digunakan dua macam skema, yaitu nis.schema dan pureftpd.schema. Pada umumnya, nis.schema sudah disediakan pada /usr/local/etc/openldap/schema dan kita dapat menggunakan command dan source berikut untuk menambahkan pureftpd .schema: cd /usr/local/etc/openldap/schema ee pureftpd.schema #kita cukup mendrag source, melakukan penduplikatan dengan mengklik kanan mouse pada interface Putty yang kita gunakan (berfungsi sebagai Paste) #nis.schema merepresentasikan ObjectClass: PosixAccount yang berfungsi sebagai keyword dari FTP user yang kita gunakan dan pureftpd.schema merepresentasikan

29

ObjectClass: PureFTPdUser yang berfungsi sebagai kontrol panel untuk melakukan manajemen pengguna. ee /usr/local/etc/openldap/slapd.conf #Tambahkan schema berikut ini: include /usr/local/etc/openldap/schema/nis.schema include /usr/local/etc/openldap/schema/pureftpd.schema

#Kemudian lakukan restart LDAP /usr/local/etc/rc.d/slapd restart Setelah menambahkan schema yang telah didefinisikan kedalam OpenLDAP, langkah selanjutnya adalah melakukan penambahan user FTP baru kedalam database

30

melalui dokumen LDIF yang telah kita buat sebelumnya / menggunakan file LDIF baru. Perlu diingat bahwa struktur data dari LDAP adalah struktur data hirarki, sehingga kita tidak dapat mengabaikan objectClass: Organization yang telah kita buat sebelumnya. ee /root/example.ldif #Kita akan menambahkan data yang memiliki uid (keyword) : ryznki2. dn: cn=ryznki2,dc=example,dc=com objectclass: organizationalRole objectclass: PureFTPdUser objectclass: posixAccount cn: ryznki2 uid: ryznki2 uidNumber: 10000 gidNumber: 10000 userPassword: secret homeDirectory: /usr/home/ryznki2 #uid yang digunakan merupakan faktor kunci dari nama User FTP yang akan kita gunakan, sedangkan homeDirectory merupakan tempat penyimpanan FTP yang akan digunakan

31

#uidNumber dan gidNumber yang dimasukkan bisa bervariasi, dalam kasus ini penulis memilih angka yang lebih besar dari 1000 agar untuk menghindari terjadinya proses yang bertabrakan #userPassword yang dimasukkan merupakan kebebasan user, karena selanjutnya akan melalui proses enskripsi dari LDAP

#Setelah selesai melakukan penambahan data, saatnya melakukan modifikasi database dengan perintah berikut ldapmodify Z D cn=Manager,dc=example,dc=com W f /root/example.ldif #Kemudian masukkan password LDAP yang telah dibuat sebelumnya (Ingat! password Admin bukan password user) ldapsearch Z

32

#Jika user yang ditambahkan telah berhasil, maka akan muncul tampilan berikut:

#Menggunakan JXplorer yang telah kita install sebelumnya, akan dimunculkan tampilan berikut:

33

Selain menambahkan entri baru melalui FreeBSD seperti cara diatas, kita dapat menggunakan JXplorer untuk menambahkan entri. Pertama-tama, klik kanan pada example kemudian pilih New. Kemudian masukkan cn (common name) yang diinginkan disertai dengan attribute posixAccount dan PureFTPdUser seperti pada screenshot berikut:

#Akan terdapat banyak pilihan Attribute Type sebagai settingan yang dapat kita gunakan. Berikut ini adalah contoh-contoh Attribute Type yang disediakan dari posixAccount dan pureFTPdUser:

34

ee /usr/local/etc/pure-ftpd.conf #Langkah selanjutnya adalah kita mengatur agar Pure-FTPd yang kita gunakan mengakses konfigurasi dari LDAP File, dengan mengubah LDAP Config File menjadi LDAPConfigFile /usr/local/etc/pureftpd-ldap.conf seperti pada screenshot berikut:

35

cp /usr/local/etc/pureftpd-ldap.conf.sample /usr/local/etc/pureftpd-ldap.conf ee /usr/local/etc/pureftpd-ldap.conf #Pertama-tama, kita menduplikasikan file konfigurasi pureftpd-ldap.conf.sample menjadi pureftpd-ldap.conf, yang akan kita modifikasi selanjutnya. Lakukan penyettingan berikut ini: LDAPServer localhost LDAPPort 636 LDAPBaseDN dc=example,dc=com LDAPDefaultUID 500 LDAPDefaultGID 100

36

LDAPFilter (&(objectClass=posixAccount)(uid=\L)) LDAPHomeDir homeDirectory LDAPUseTLS True LDAPAuthMethod PASSWORD #Sisanya dapat dijadikan komentar menggunakan #. #Karena server yang kita gunakan adalah server lokal, maka kita melakukan penyettingan ke localhost dan port 636. (port ini dapat dicek seperti cara pada bab sebelumnya yaitu sockstat -4 p 636) #LDAPBaseDN adalah keyword yang digunakan LDAP dalam mengakses entri data yang ada (ketika user melakukan autentikasi melalui Pure-FTPd). #LDAPFilter menandakan objectClass yang dipakai adalah posixAccount, dengan uid=\L berfungsi sebagai keyword pengenal (seperti uid = ryznki2 yang telah dibuat sebelumnya). #LDAPHomeDirectory memberikan kewenangan untuk membuat direktori baru apabila homeDirectory belum diset sebelumnya. #LDAPUseTLS menandakan entri yang digunakan akan dikirim melalui enskripsi 128 bit (pada pengaturan security ssf=128). #LDAPAuthMethod memberikan pengaturan tentang bagaiman LDAP melakukan proses autentikasinya /usr/local/etc/rc.d/slapd restart /usr/local/etc/rc.d/pure-ftpd restart

37

Lalu bagaimanakah cara membedakan data yang melalui PureDB maupun OpenLDAP?

Perhatikan screenshot diatas, ketika kita mengetikkan command pure-pw show iskandar3, kita akan mengecek apakah record tersebut tersimpan dalam PureDB atau tidak. Sedangkan karena ryznki2 tersimpan dalam LDAP, maka kita tidak dapat mengaksesnya melalui PureDB. Berikut ini adalah screenshot dari database yang tersimpan dalam /usr/local/etc/pureftpd.passwd (PureDB):

38

Langkah selanjutnya adalah kita akan menguji coba LDAP Authentication yang telah kita buat. Berikut ini adalah screenshotnya:

39

FTP Status dan monitoringnya (Dengan LDAP Authentication):

40

Berikut ini adalah uji coba Pure-FTPd yang telah kita buat dengan CMD Windows:

41

DAFTAR PUSTAKA
http://bsdguides.org/guides/freebsd/networking/pure-ftpd_virtual_users.php

http://code.google.com/p/iredmail/source/browse/extra/pureftpd.schema

http://download.pureftpd.org/pub/pure-ftpd/doc/README.LDAP

http://forums.freebsd.org/showthread.php?t=591

http://freebsd.org/doc/en_US.ISO8859-1/articles/ldap-auth/index.html

http://home.roadrunner.com/~computertaijutsu/ldap.html

http://iredmail.org/wiki/index.php?title=Integration/PureFTPd.iRedMail.with.OpenLDA P/FreeBSD#Config_OpenLDAP

http://kodiva.com/post/one-stop-ldap:-installation,-configuration,-testing

http://machiel.generaal.net/index.php?subject=pureftpd&language=eng

http://my.opera.com/weirdbricks/blog/openldap-101

http://rhyous.com/2009/11/06/how-to-install-php5-and-php5-extensions-on-freebsd/

42

JADWAL KEGIATAN PENGERJAAN TUGAS BESAR

Tanggal 16 Mei (12.30 14.00)

Aktivitas Pertemuan perdana dan pengumpulan literatur-literatur

18 Mei (13.00 19.00)

Penginstallan FTP Server dengan menguji-coba FTP Status

20 Mei (12.30 19.00)

Penginstallan OpenLDAP beserta konfigurasinya

22 Mei (13.00 19.00)

Penginstallan OpenLDAP beserta konfigurasinya

24 Mei (12.00 20.00)

Melakukan Integrasi Pure-FTPd dengan OpenLDAP

25 Mei (00:00 15.00)

Pengerjaan laporan Step-by-step Tutorial

43