FTP Server dengan Fitur LDAP Authentication dan FTP Status

download FTP Server dengan Fitur LDAP Authentication dan FTP Status

of 45

Transcript of FTP Server dengan Fitur LDAP Authentication dan FTP Status

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    1/45

    FTP SERVER DENGAN FITUR

    LDAP AUTHENTICATION DAN FTP STATUS

    STEP-BY-STEP TUTORIALDiajukan untuk memenuhi tugas besar Cakru ARC

    oleh

    ALDY WIRAWAN / STEI

    FATKUR ROSI / SAPPKISKANDAR SETIADI / STEI

    PANDU KARTIKA PUTRA / STEI

    MENTOR: MUHAMMAD AFIF

    AMATEUR RADIO CLUB

    INSTITUT TEKNOLOGI BANDUNG

    2012

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    2/45

    ii

    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

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    3/45

    1

    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)

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    4/45

    2

    Untuk mempermudah pengerjaan, penulis juga menggunakan Putty versi 0.60

    yang dapat diunduhdisini.Penggunaan Putty dapat dilihat pada screenshot dibawah

    ini:

    http://www.chiark.greenend.org.uk/~sgtatham/putty/download.htmlhttp://www.chiark.greenend.org.uk/~sgtatham/putty/download.htmlhttp://www.chiark.greenend.org.uk/~sgtatham/putty/download.htmlhttp://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    5/45

    3

    Selain itu, untuk mempermudah pengerjaan, penulis menggunakan php5 yang

    dapat didownload di /usr/ports/lang/php5 dan program berbasis Windows yaitu

    JXplorer yang dapat didownloaddisini.[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]

    http://tenet.dl.sourceforge.net/project/jxplorer/jxplorer/version%203.2.2/jxplorer-3.2.2-windows-installer.exehttp://tenet.dl.sourceforge.net/project/jxplorer/jxplorer/version%203.2.2/jxplorer-3.2.2-windows-installer.exehttp://tenet.dl.sourceforge.net/project/jxplorer/jxplorer/version%203.2.2/jxplorer-3.2.2-windows-installer.exehttp://tenet.dl.sourceforge.net/project/jxplorer/jxplorer/version%203.2.2/jxplorer-3.2.2-windows-installer.exe
  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    6/45

    4

    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):

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    7/45

    5

    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

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    8/45

    6

    #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

    dibacadisini.

    http://en.wikipedia.org/wiki/Chmodhttp://en.wikipedia.org/wiki/Chmodhttp://en.wikipedia.org/wiki/Chmodhttp://en.wikipedia.org/wiki/Chmod
  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    9/45

    7

    pw useradd cftps /sbin/nologinw nod /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 penjelasannyadisini.(sepertid

    untuk mengakses direktori, danc untuk menambah penjelasan/comment)

    pure-pw useradd useru cftpg cftpd /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 menggunakanD

    untuk menggantikand.

    #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:

    http://www.freebsd.org/cgi/man.cgi?query=pw&sektion=8http://www.freebsd.org/cgi/man.cgi?query=pw&sektion=8http://www.freebsd.org/cgi/man.cgi?query=pw&sektion=8http://www.freebsd.org/cgi/man.cgi?query=pw&sektion=8
  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    10/45

    8

    /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:

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    11/45

    9

    #Tampilan pada browser windows

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    12/45

    10

    #agar pure-FTPd menyala setiap kali melakukan boot-up system, kita cukup

    menambahkan perintah echo pureftpd_enable=YES >>/etc/rc.confsehingga 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

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    13/45

    11

    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).

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    14/45

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    15/45

    13

    #Kita cukup mengakses direktori dari web server kita (dalam kasus ini penulis

    menggunakan apache22) dan kita cukup menuliskan kode berikut ini:

    #include

    int main(int argc, char *argv[])

    {

    system(/usr/local/sbin/pure-ftpwhoHw);

    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:

    ccWallo 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:

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    16/45

    14

    #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 situshttp://machiel.generaal.net/index.php?subject=pureftpd&language=eng .

    Tampilan awal User Management menggunakan Apache + PHP + MySQL:

    http://machiel.generaal.net/index.php?subject=pureftpd&language=enghttp://machiel.generaal.net/index.php?subject=pureftpd&language=enghttp://machiel.generaal.net/index.php?subject=pureftpd&language=enghttp://machiel.generaal.net/index.php?subject=pureftpd&language=eng
  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    17/45

    15

    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. Cara-

    cara lain seperti pemasangan melalui binary juga dapat dilakukan.

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    18/45

    16

    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.

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    19/45

    17

    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 reqdays 3650nodesnewx509keyout /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! Untukbagian 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 reqdays 3650nodesnewkeyout /usr/local/etc/openldap/private/server.keyout

    /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

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    20/45

    18

    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 x509reqdays 3650in /usr/local/etc/openldap/private/client.csrout

    /usr/local/etc/openldap/client.crtCA /usr/local/etc/openldap/ca.crtCAkey

    /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

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    21/45

    19

    #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:

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    22/45

    20

    #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=-4u ldapg ldaph 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://

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    23/45

    21

    cd /usr/local/etc/openldap

    chownR ldap:ldap private

    chmodR 700 private/

    chmodR 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 -4p 636

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    24/45

    22

    #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=comsesuai hostname yang anda gunakan (hilangkan tanda komentar #)

    Ubah #URI ldap://ldap.example.com ldap://ldap-master.example.com:666menjadi 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 uidsebagai penanda

    bahwa LDAPAuthentication kita menggunakan TLS dan attribute uid

    menandakan uid sebagai kunci autentikasi yang kita gunakan.

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    25/45

    23

    #langkah selanjutnya adalah membuat password untuk OpenLDAP kita.

    /usr/local/sbin/slappasswdh {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:

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    26/45

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    27/45

    25

    #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

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    28/45

    26

    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:

    ldapaddZD cn=Manager,dc=example,dc=com Wf /root/example.ldif

    #Perintah ldapadd diatas digunakan untuk menambah entri baru.W digunakan untuk

    memintapasswordLDAP 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.

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    29/45

    27

    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

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    30/45

    28

    #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.

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    31/45

    29

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

    commanddan sourceberikutuntuk menambahkanpureftpd .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

    http://code.google.com/p/iredmail/source/browse/extra/pureftpd.schemahttp://code.google.com/p/iredmail/source/browse/extra/pureftpd.schemahttp://code.google.com/p/iredmail/source/browse/extra/pureftpd.schemahttp://code.google.com/p/iredmail/source/browse/extra/pureftpd.schema
  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    32/45

    30

    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

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    33/45

    31

    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

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    34/45

    32

    #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

    ldapmodifyZD cn=Manager,dc=example,dc=com Wf /root/example.ldif

    #Kemudian masukkanpasswordLDAP yang telah dibuat sebelumnya (Ingat!

    password Admin bukanpassworduser)

    ldapsearchZ

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    35/45

    33

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

    #Menggunakan JXplorer yang telah kita install sebelumnya, akan dimunculkan

    tampilan berikut:

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    36/45

    34

    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 pilihanAttribute Type sebagai settingan yang dapat kita

    gunakan. Berikut ini adalah contoh-contohAttribute Type yang disediakan dari

    posixAccount dan pureFTPdUser:

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    37/45

    35

    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:

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    38/45

    36

    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

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    39/45

    37

    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 -4p 636)

    #LDAPBaseDN adalah keywordyang 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

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    40/45

    38

    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):

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    41/45

    39

    Langkah selanjutnya adalah kita akan menguji coba LDAP Authentication yang

    telah kita buat. Berikut ini adalah screenshotnya:

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    42/45

    40

    FTP Status dan monitoringnya (Dengan LDAP Authentication):

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    43/45

    41

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

  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    44/45

    42

    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/

    http://bsdguides.org/guides/freebsd/networking/pure-ftpd_virtual_users.phphttp://bsdguides.org/guides/freebsd/networking/pure-ftpd_virtual_users.phphttp://code.google.com/p/iredmail/source/browse/extra/pureftpd.schemahttp://code.google.com/p/iredmail/source/browse/extra/pureftpd.schemahttp://download.pureftpd.org/pub/pure-ftpd/doc/README.LDAPhttp://download.pureftpd.org/pub/pure-ftpd/doc/README.LDAPhttp://forums.freebsd.org/showthread.php?t=591http://forums.freebsd.org/showthread.php?t=591http://freebsd.org/doc/en_US.ISO8859-1/articles/ldap-auth/index.htmlhttp://freebsd.org/doc/en_US.ISO8859-1/articles/ldap-auth/index.htmlhttp://home.roadrunner.com/~computertaijutsu/ldap.htmlhttp://home.roadrunner.com/~computertaijutsu/ldap.htmlhttp://iredmail.org/wiki/index.php?title=Integration/PureFTPd.iRedMail.with.OpenLDAP/FreeBSD#Config_OpenLDAPhttp://iredmail.org/wiki/index.php?title=Integration/PureFTPd.iRedMail.with.OpenLDAP/FreeBSD#Config_OpenLDAPhttp://iredmail.org/wiki/index.php?title=Integration/PureFTPd.iRedMail.with.OpenLDAP/FreeBSD#Config_OpenLDAPhttp://kodiva.com/post/one-stop-ldap:-installation,-configuration,-testinghttp://kodiva.com/post/one-stop-ldap:-installation,-configuration,-testinghttp://machiel.generaal.net/index.php?subject=pureftpd&language=enghttp://machiel.generaal.net/index.php?subject=pureftpd&language=enghttp://my.opera.com/weirdbricks/blog/openldap-101http://my.opera.com/weirdbricks/blog/openldap-101http://rhyous.com/2009/11/06/how-to-install-php5-and-php5-extensions-on-freebsd/http://rhyous.com/2009/11/06/how-to-install-php5-and-php5-extensions-on-freebsd/http://my.opera.com/weirdbricks/blog/openldap-101http://machiel.generaal.net/index.php?subject=pureftpd&language=enghttp://kodiva.com/post/one-stop-ldap:-installation,-configuration,-testinghttp://iredmail.org/wiki/index.php?title=Integration/PureFTPd.iRedMail.with.OpenLDAP/FreeBSD#Config_OpenLDAPhttp://iredmail.org/wiki/index.php?title=Integration/PureFTPd.iRedMail.with.OpenLDAP/FreeBSD#Config_OpenLDAPhttp://home.roadrunner.com/~computertaijutsu/ldap.htmlhttp://freebsd.org/doc/en_US.ISO8859-1/articles/ldap-auth/index.htmlhttp://forums.freebsd.org/showthread.php?t=591http://download.pureftpd.org/pub/pure-ftpd/doc/README.LDAPhttp://code.google.com/p/iredmail/source/browse/extra/pureftpd.schemahttp://bsdguides.org/guides/freebsd/networking/pure-ftpd_virtual_users.php
  • 7/23/2019 FTP Server dengan Fitur LDAP Authentication dan FTP Status

    45/45

    JADWAL KEGIATAN PENGERJAAN TUGAS BESAR

    Tanggal Aktivitas

    16 Mei (12.3014.00) Pertemuan perdana dan pengumpulan

    literatur-literatur

    18 Mei (13.0019.00) Penginstallan FTP Server dengan

    menguji-coba FTP Status

    20 Mei (12.3019.00) Penginstallan OpenLDAP beserta

    konfigurasinya

    22 Mei (13.0019.00) Penginstallan OpenLDAP beserta

    konfigurasinya

    24 Mei (12.00

    20.00) Melakukan Integrasi Pure-FTPd dengan

    OpenLDAP

    25 Mei (00:0015.00) Pengerjaan laporan Step-by-step Tutorial