20090528 d dokumentasi integrasi keamanan sistem informasi

130
i

Upload: hery-zin

Post on 29-Dec-2015

21 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

i

Page 2: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

TUTORIAL INTERAKTIF

INTEGRASI KEAMANAN SISTEM

INFORMASI BERBASIS OPEN

SOURCE

Direktorat Sistem Informasi, Perangkat Lunak Dan Konten

Direktorat Jenderal Aplikasi TelematikaDepartemen Komunikasi Dan Informatika

2006

ii

Page 3: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

KATA  PENGANTAR

Keamanan informasi merupakan salah satu bagian penting dalam suatu sistem informasi, karena informasi merupakan aset yang sangat berharga bagi setiap institusi ataupun perusahaan. Begitu pentingya informasi sehingga informasi terkadang hanya diperuntukkan bagi orang-orang tertentu. Oleh karena itu, keamanan sistem informasi harus terjamin dalam batas-batas yang dapat diterima.

Keamanan informasi tidak cukup hanya dengan pemasangan Firewall semata, tetapi dapat dioptimalkan melalui integrasi berbagai komponen sistem informasi sehingga meminimalkan terjadinya akses oleh pengguna yang tidak berwenang.

Berbagai perangkat keamanan sistem informasi tersedia di Internet, mulai dari yang gratis yang dapat di download dari internet sampai yang berbayar. Namun, bagaimana mengintegrasikan keamanan sistem informasi tersebut? Untuk itu Direktorat Sistem Informasi, Perangkat Lunak dan Konten berupaya menyusun aplikasi ”Tutorial Interaktif Integrasi Keamanan Sistem Informasi Berbasis Open Source”

Tutorial yang dilengkapi dengan CD-ROM interaktif ini diharapkan dapat mempermudah implementasi keamanan informasi secara mandiri dan murah tanpa instruktur.

iii

Page 4: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Departemen Komunikasi dan Informatika akan terus memperbaiki dan mengembangkan Tutorial Interaktif ini guna memenuhi aspek keamanan informasi dalam menghadapi berbagai ancaman serangan terhadap teknologi informasi. Saran dan masukan terhadap buku ini sangat diharapkan sehingga dapat membantu untuk menyempurnakan penulisan selanjutnya. Korespondensi ditujukan ke alamat e-mail: [email protected]

Semoga bermanfaat!

Jakarta, Desember 2006

 

Lolly Amalia AbdullahDirekturSistem Informasi, Perangkat Lunak dan Konten

iv

Page 5: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

DAFTAR ISI

DAFTAR ISI...........................................................................................II

DAFTAR GAMBAR.........................................................................IV

ARSITEKTUR SISTEM KEAMANAN INFORMASI TERINTEGRASI...................................................................................1

SECURE SOCKET LAYER.................................................................3

Instalasi Secure Socket Layer..............................................6Konfigurasi Secure Socket Layer........................................6Pembuatan Certificate of Authority (CA).......................11Pembuatan Certificate Signing Request (CSR)...........14Pengesahan CSR oleh CA....................................................15REFERENSI................................................................................16

LDAP IDENTITY MANAGER..........................................................17

Instalasi LDAP Identity Manager.......................................21Konfigurasi LDAP Identity Manager.................................22Inisialisasi Direktori...............................................................32Pengelolaan Data Pengguna..............................................34Penggunaan Perlengkapan Tambahan..........................38REFERENSI................................................................................40

AUTHENTICATION SYSTEM.........................................................41

Pluggable Authentication Modules..................................42Instalasi PAM............................................................................43

v

Page 6: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Konfigurasi Name Service...................................................44Konfigurasi PAM – LDAP.......................................................52Konfigurasi Authentikasi Squid dengan PAM...............54REFERENSI................................................................................55

DOMAIN CONTROLLER..................................................................56

Instalasi Samba Domain Controller.................................59Konfigurasi Samba Domain Controller...........................59Konfigurasi Domain Client...........................................................67REFERENSI................................................................................71

SECURE APPLICATION SERVER..................................................72

Instalasi Apache Web Server.............................................76Konfigurasi Apache Web Server.......................................77Konfigurasi Apache – PAM...................................................80Konfigurasi Apache – SSL....................................................82Konfigurasi Apache – PAM - SSL.......................................84Penggunaan Client Certificate pada Browser..............85REFERENSI................................................................................87

vi

Page 7: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

DAFTAR GAMBAR

GAMBAR 1 - ARSITEKTUR KEAMANAN SISTEM INFORMASI TERINTEGRASI.................................................................................2

GAMBAR 2 - STRUKTUR DIREKTORI LDAP............................................19GAMBAR 3 - TAMPILAN INPUT NAMA DOMAIN LDAP..........................23GAMBAR 4 – TAMPILAN INPUT ORGANISASI DIREKTORI LDAP............23GAMBAR 5 – TAMPILAN INPUT PASSWORD ADMINISTRATOR................24GAMBAR 6 - TAMPILAN KONFIRMASI ULANG PASSWORD

ADMINISTRATOR...........................................................................24GAMBAR 7 - PILIHAN LDAP DATABASE BACKEND...............................25GAMBAR 8 - PILIHAN PENGHAPUSAN DATABASE LDAP.......................26GAMBAR 9 - PILIHAN PROTOKOL LDAP VERSI 2...................................26GAMBAR 10 - TAMPILAN JXPLORER......................................................38GAMBAR 11 - TAMPILAN PHP LDAP ADMIN........................................39GAMBAR 12 - ARSITEKTUR DOMAIN CONTROLLER...............................58GAMBAR 13 - SYSTEM PROPERTIES UNTUK KOMPUTER.........................68GAMBAR 14 - TAMPILAN PENGGANTIAN NAMA KOMPUTER.................69GAMBAR 15 - AUTHENTIKASI JOIN DOMAIN..........................................70GAMBAR 16 - MANAJEMEN SSL CERTIFICATE BROWSER FIREFOX.......85Gambar 17 - Import SSL Certificate Browser Firefox...........................86

vii

Page 8: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

1

Page 9: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Arsitektur Sistem Keamanan Informasi Terintegrasi

2

Page 10: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Gambar 1 - Arsitektur Keamanan Sistem Informasi Terintegrasi

3

Page 11: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

SECURE SOCKET LAYER

4

Page 12: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Secure Socket Layer (SSL) adalah sebuah protokol yang

bekerja tepat di bawah sebuah aplikasi jaringan

komputer. Protokol ini menjamin keamanan data yang

dikirimkan satu host dengan host lainnya dan juga

memberikan metode otentikasi, terutama untuk

melakukan otentikasi terhadap server yang dihubungi.

Untuk keamanan data, SSL menjamin bahwa data yang

dikirimkan tidak dapat dicuri dan diubah oleh pihak lain.

Selain itu, SSL juga melindungi pengguna dari pesan

palsu yang mungkin dikirimkan oleh pihak lain. Tahapan -

tahapan yang harus dilalui dalam menggunakan SSL

adalah :

1. Negosiasi algoritma yang akan digunakan

kedua-belah

pihak.

2. Otentikasi menggunakan Public Key Encryption

atau

Sertifikat elektronik.

3. Komunikasi data dengan menggunakan

Symmetric Key

Encryption.

Pada tahap negosiasi algoritma yang akan digunakan,

pilihan-pilihan algoritma yang bisa digunakan adalah :

• Public Key Encryption : RSA, Diffie-Helman, DSA

(Digital Signature Algorithm) atau Fortezza

5

Page 13: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

• Symmetric Key Encryption : RC2, RC4, IDEA

(International Data Encryption Algorithm), DES

(Data Encryption Standard), Triple DES atau

AES

• Untuk fungsi hash 1 arah : MD5 (Message-Digest

algorithm 5) atau SHA (Secure Hash Algorithm)

Aplikasi yang banyak menggunakan SSL adalah aplikasi

perbankan berbasiskan web. Perkembangan lanjutan dari

SSL adalah TLS, kepanjangan dari Transport Layer

Security.

Kelebihan-kelebihan yang dimiliki oleh TLS adalah :

• Pemberian nomor pada semua data dan

menggunakan nomor urut pada Message

Authentication Code (MAC)

• Message Digest hanya dapat dipergunakan

dengan kunci yang tepat.

• Perlindungan terhadap beberapa serangan yang

sudah diketahui (seperti Man in the Middle

Attack)

• Pihak yang menghentikan koneksi, mengirimkan

resume dari seluruh data yang dipertukarkan oleh

kedua belah pihak.

• Membagi data yang dikirimkan menjadi dua

bagian, lalu menjalankan fungsi hash yang

berbeda pada kedua bagian data.

6

Page 14: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Pada implementasinya banyak aplikasi di sisi server

dapat memfasilitasi koneksi biasa ataupun koneksi

dengan TLS, tergantung dengan kemampuan klien yang

melakukan koneksi. Apabila klien dapat melakukan

koneksi dengan TLS maka data yang dikirimkan akan

melalui proses enkripsi. Sebaliknya, apabila klien tidak

memiliki kemampuan TLS, maka data akan dikirimkan

dalam format plaintext.

Instalasi Secure Socket Layer

Konfigurasi Secure Socket Layer

root@server:~# apt-get install openssl

7

Page 15: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

default_daysmerupakan attribut konfigurasi yang

berfungsi untuk menentukan secara umum jangka waktu

berlakunya certificate ssl yang dibuat.

default_crl_days merupakan attribut konfigurasi yang

berfungsi untuk menentukan secara umum jangka waktu

berlakukan Certificate Revocation List (CRL).

default_md merupakan attribut konfigurasi yang

berfungsi untuk menentukan pilihan algoritma

pengacakan yang akan digunakan pada saat membuat

certificate.

# Comment out the following two lines for the "traditional"# (and highly broken) format.name_opt = ca_default # Subject Name optionscert_opt = ca_default # Certificate field options

# Extension copying option: use with caution.# copy_extensions = copy

# Extensions to add to a CRL. Note:# Netscape communicator chokes on V2 CRLs# so this is commented out # by default to leave a V1 CRL.# crlnumber must also be # commented out to leave a V1 CRL.# crl_extensions = crl_ext

default_days = 365 # 1 tahun certify fordefault_crl_days= 30 # 1 bulan default_md = sha1 # which md to use.preserve = no # keep passed DN ordering

8

Page 16: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

countryName merupakan salah satu attribut

distinguished Name (DN) yang akan digunakan pada saat

pembuatan sebuah certificate. Attribut countryName

[ req_distinguished_name ]countryName = Nama Negara (2 letter code)countryName_default = IDcountryName_min = 2countryName_max = 2

stateOrProvinceName = Nama Propinsi (full name)stateOrProvinceName_default = DKI Jakarta

localityName = Nama Lokasi

0.organizationName = Nama Organisasi

organizationName_default = Departemen Komunikasi dan Informatika

organizationalUnitName = Nama Unit Organisasi organizationalUnitName_default = Direktorat Sistem Informasi Perangkat Lunak dan Konten

commonName = Common Name commonName_max = 64

emailAddress = Alamat EmailemailAddress_max = 64

# SET-ex3 = SET extension number 3

9

Page 17: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

berfungsi untuk memberikan informasi nama negara

tempat organisasi pembuat certificate berada.

countryName_default merupakan attribut yang

berfungsi untuk memberikan nilai standard terhadap

attribut countryName.

countryName_min merupakan attribut yang berfungsi

untuk mengatur jumlah karakter minimal yang harus

diberikan pada saat mengisi nilai variabel countryName.

countryName_max merupakan attribut yang berfungsi

untuk mengatur jumlah karakter maksimal yang harus

diberikan pada saat mengisi nilai variabel countryName.

stateOrProvinceName merupakan attribut yang

berfungsi untuk memberikan informasi nama propinsi

tempat organisasi pembuat certificate berada.

stateOrProvinceName_default attribut yang berfungsi

untuk menentukan nilai umum yang dapat digunakan

pada saat mengisi nilai variabel stateOrProvinceName.

localityName merupakan attribut yang berfungsi untuk

memberikan informasi nama lokasi tempat organisasi

pembuat certificate berada.

10

Page 18: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

organizationName merupakan attribut yang berfungsi

untuk memberikan informasi nama organisasi pembuat

certificate.

organizationName_default merupakan attribut yang

berfungsi untuk memberikan informasi nilai umum yang

dapat digunakan sebagai nama organisasi pembuat

certificate.

organizationalUnitName merupakan attribut yang

berfungsi untuk memberikan informasi nama unit divisi

organisasi pembuat certificate.

organizationalUnitName_default merupakan attribut

yang berfungsi untuk memberikan informasi nilai umum

yang dapat digunakan pada variabel

organizationalUnitName.

commonName merupakan attribut yang berfungsi untuk

memberikan informasi nama pembuat certificate atau

pada umumnya variabel tersebut dapat disamakan

dengan nama host sebuah komputer.

11

Page 19: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

commonName_max merupakan attribut yang berfungsi

untuk memberikan informasi nilai maksimum yang dapat

diberikan untuk variabel commonName.

emailAddress merupakan attribut yang berfungsi untuk

memberikan informasi alamat email pembuat certificate.

12

Page 20: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Pembuatan Certificate of Authority (CA)

Langkah yang harus dilakukan sebelum membuat sebuah

Certificate of Authority adalah membuat key dari

certificate tersebut. Untuk membuat key dapat dilakukan

sesuai dengan langkah sebagai berikut:

Lalu setelah membuat sebuah key dengan panjang 2048

bits yang disimpan pada file ca.key, kita dapat membuat

sebuah Certificate of Authority (CA) yang aktif selama 10

tahun (3650 hari) dengan cara sebagai berikut:

Setelah perintah tersebut dijalankan maka akan muncul

beberapa pertanyaan seperti berikut:

root@server:~# openssl genrsa -des3 -out ca.key 2048

root@server:~# openssl req -new -x509 -days 3650 – key ca.key -out ca.crt

13

Page 21: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Using configuration from /etc/ssl/openssl.cnf

Enter PEM pass phrase: <ketik password ca.key anda disini>

You are about to be asked to enter information that will be incorporatedinto your certificate request.What you are about to enter is what is called a Distinguished Name or a DN.There are quite a few fields but you can leave some blankFor some fields there will be a default value,If you enter '.', the field will be left blank.-----

Nama Negara (2 letter code) [ID]:<enter>

Nama Propinsi (full name) [DKI Jakarta]:<enter>Nama Lokasi (eg, city) [Jakarta Pusat]:<enter>Nama Organisasi(eg, company) [Departemen Komunikasi dan Informatika]:<enter>

Nama Unit Organisasi (eg, section) [Direktorat Sistem Informasi Perangkat Lunak dan Konten]: <enter>

Common Name (eg, your name or your server's hostname) []:www.depkominfo.go.id

Alamat Email []:[email protected]

14

Page 22: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Setelah selesai dibuat, Certificate of Authority (CA)

tersebut dapat digunakan untuk melakukan pengesahan

terhadap sebuah Certificate Signing Request (CSR).

Syarat agar CA tersebut dapat digunakan untuk

mengesahkan sebuah certificate adalah penggunaan

kombinasi public key – private key dan password yang

telah dibuat pada sebelumnya.

Pembuatan Certificate Signing Request (CSR)

Langkah yang harus dilakukan sebelum membuat sebuah

Certificate Signing Request adalah membuat key dari

certificate tersebut. Untuk membuat key dapat dilakukan

sesuai dengan langkah sebagai berikut:

Lalu setelah membuat sebuah key dengan panjang 2048

bits yang disimpan pada file cert.key, kita dapat

membuat sebuah Certificate Signing Request (CSR)

dengan cara sebagai berikut:

root@server:~# openssl genrsa -des3 -out cert.key 2048

root@server:~# openssl req -new -key cert.key -out cert.csr

15

Page 23: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Setelah perintah tersebut dijalankan maka akan muncul

beberapa pertanyaan seperti berikut:

Using configuration from /etc/ssl/openssl.cnf

Enter PEM pass phrase: <ketik password ca.key anda disini>

You are about to be asked to enter information that will be incorporatedinto your certificate request.What you are about to enter is what is called a Distinguished Name or a DN.There are quite a few fields but you can leave some blankFor some fields there will be a default value,If you enter '.', the field will be left blank.-----

Nama Negara (2 letter code) [ID]:<enter>

Nama Propinsi (full name) [DKI Jakarta]:<enter>Nama Lokasi (eg, city) [Jakarta Pusat]:<enter>Nama Organisasi(eg, company) [Departemen Komunikasi dan Informatika]:<enter>

Nama Unit Organisasi (eg, section) [Direktorat Sistem Informasi Perangkat Lunak dan Konten]: <enter>

Common Name (eg, your name or your server's hostname) []:www.depkominfo.go.id

Alamat Email []:[email protected]

16

Page 24: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Pengesahan CSR oleh CA

Pengesahan CSR oleh Certificate of Authority berfungsi

agar certificate tersebut dapat digunakan sebagai alat

authentikasi dengan certificate lain yang disahkan oleh

CA yang sama. Hal tersebut dapat diimplementasikan

pada authentikasi apache web server dengan

menggunakan mekanisme client certificate

authentication.

Untuk melihat hasil certificate yang telah dibuat maka

lakukan perintah dibawah ini:

root@server:~# openssl x509 -req -in cert.csr -out

cert.crt -sha1 –CA ca.crt -CAkey ca.key

-CAcreateserial -days 3650

root@server:~# openssl x509 –in cert.crt –text

-noout

17

Page 25: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

REFERENSI

1. Certificate Revocation List – Wikipedia, the free en-

cyclopedia.

http://en.wikipedia.org/wiki/CRL

2. Certificate Signing Request – Wikipedia, the free en-

cyclopedia.

http://en.wikipedia.org/wiki/CSR

3. Certificate Authority – Wikipedia, the free encyclo-

pedia.

http://en.wikipedia.org/wiki/CA

4. Secure Socket Layer – Wikipedia, the free encyclo-

pedia.

http://en.wikipedia.org/wiki/SSL

18

Page 26: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

19

Page 27: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

LDAP IDENTITY MANAGER

20

Page 28: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

LDAP adalah sebuah protokol yang mengatur mekanisme

pengaksesan sebuah layanan direktori. LDAP pertama

kali diperkenalkan oleh Tim Howes dari University of

Michigan. LDAP sendiri adalah sebuah versi sederhana

dari DAP (Directori Access Protocol) sebuah protokol un-

tuk mengakses direktori X.500.

Sebuah entri dalam Direktori LDAP dapat dibedakan satu

dengan yang lainnya melalui DN (Distinguish Name). Un-

tuk mempermudah pemahaman anda tentang konsep di-

rektori ini, saya akan mencontohkan model direktori

dalam keluarga *nix. Disini kita bisa merujuk ke entri pal-

ing bawah dari pohon ini dengan menyebutkan full path

dari direktori ini yaitu misalnya /var/vhost/domain2 dan

entri ini dapat dipastikan unik.

Konsep ini hampir sama dengan entri pada direktori

LDAP, misalnya saya mempunyai dua buah DN yang per-

tama adalah “dc=id, dc=go, dc=depkominfo,

ou=People” dan “dc=id, dc=go, dc=depkominfo,

ou=Group” saya dapat mengambarkannya sebagai

berikut:

21

Page 29: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Gambar 2 - Struktur Direktori LDAP

Setiap entri dalam direktori LDAP merupakan objectClass

dari kelas tertentu, atribut yang mungkin dimiliki oleh se-

buah entri tergantung dari objectClass yang dimiliki entri

tersebut. Aturan ini dijelaskan dalam skema yang dimiliki

oleh sebuah direktori LDAP.

Sebagai contoh, entri

cn=pegawai ,ou=Group,dc=depkominfo, dc=go,

dc=id harus memiliki atribut gidNumber karena entri ini

memiliki objectClass posixGroup yang mengharuskan

adanya atribut gidNumber. Hal ini berguna untuk men-

22

Page 30: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

jaga kekonsistenan informasi yang terdapat pada direk-

tori LDAP tersebut.

Sama seperti pada direktori yang selama ini kita kenal,

kegunaan utama dibuatnya direktori LDAP ini adalah un-

tuk memudahkan pengguna mengorganisasi dan mene-

mukan kembali informasi atau data yang dimiliki. Pada

artikel ini informasi yang dimaksud adalah informasi

mengenai pengguna, namun penggunaan Direktori LDAP

tidak tertutup pada hal ini saja.

Sebagai contoh lainnya adalah kita dapat menyimpan

informasi mengenai Domain dalam direktori LDAP.

Direktori LDAP sejak semula dirancang untuk operasi

pencarian, oleh sebab itu operasi pencarian pada

Direktori LDAP sangat cepat, hal inilah yang menjadi

dasar kenapa banyak sistem administrator yang memilih

menggunakan LDAP sebagai basisdata informasi

pengguna layanannya dari pada menggunakan RDBMS

sekarang ini.

23

Page 31: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Instalasi LDAP Identity Manager

Instalasi LDAP Server pada debian dapat dilakukan

dengan menjalankan perintah sebagai berikut:

slapd merupakan paket yang terdiri dari perangkat lunak

yang membentuk sebuah service LDAP Server.

ldap-utils merupakan paket yang terdiri dari perangkat

lunak yang berfungsi untuk membantu user dalam

menggunakan server LDAP.

root@DirectoryServer:~# apt-get install slapd ldap-utils

Reading Package Lists... DoneBuilding Dependency Tree... Done

The following NEW packages will be installed:ldap-utils libiodbc2 libslp1 slapd0 upgraded, 4 newly installed, 0 to remove and 281 not upgraded.Need to get 15.6MB of archives.After unpacking 4952kB of additional disk space will be used.Do you want to continue? [Y/n]

24

Page 32: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Konfigurasi LDAP Identity Manager

Untuk melakukan konfigurasi dasar server LDAP maka

lakukan perintah sebagai berikut:

Selanjutnya sistem konfigurasi akan menampilkan pilihan

sebagai berikut yang berfungsi untuk menanyakan

apakah sistem pada saat selesai melakukan konfigurasi

akan membuat sebuah file konfigurasi dan database ldap

baru atau tidak.

Pilihlah [No] apabila anda melihat tampilan seperti diatas.

Jika anda memilih [Yes] maka konfigurasi dan database

dasar tidak akan dibuat pada saat proses inisialisasi

selesai dilakukan.

root@server:~# dpkg-reconfigure slapd

25

Page 33: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Selanjutnya sistem akan menanyakan nama domain yang

akan digunakan untuk membuat struktur direktori LDAP.

Nilai yang diberikan pada tampilan tersebut harus

berbentuk nama domain seperti “depkominfo.go.id”

sehingga sistem akan melakukan perubahan secara

otomatis menjadi “dc=depkominfo, dc=go, dc=id”.

Gambar 3 - Tampilan Input Nama Domain LDAP

Setelah memasukkan nama domain yang akan dikelola

oleh direktori LDAP, maka sistem akan menanyakan

nama organisasi yang akan disimpan pada direktori

LDAP. Sebagai contoh, masukkan nilai “depkominfo”

seperti pada tampilan dibawah ini.

26

Page 34: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Gambar 4 – Tampilan Input Organisasi Direktori LDAPSetelah struktur direktori berhasil didefinisikan, maka hal

selanjutnya yang harus dilakukan adalah memberikan

kata kunci atau password untuk user admin dari direktori

LDAP.

Gambar 5 – Tampilan Input Password Administrator

Setelah kata kunci atau password diberikan, maka sistem

akan menanyakan kembali nilai yang sama untuk

melakukan konfirmasi apakah benar nilai tersebut yang

akan digunakan sebagai password.

27

Page 35: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Gambar 6 - Tampilan Konfirmasi Ulang Password Administrator

Setelah password untuk user admin direktori LDAP

diberikan, maka sistem akan menanyakan tipe backend

yang akan digunakan oleh server. Pilihan yang tersedia

antara lain:

o BDB,

o HDB,

o LDBM,

Pilihlah backend mana yang paling sesuai dengan

kebutuhan.

28

Page 36: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Gambar 7 - Pilihan LDAP Database Backend

29

Page 37: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Apabila pilihan backend database yang akan digunakan

telah ditentukan maka selanjutnya sistem akan

menanyakan apakah database akan dihapus apabila

admin melakukan proses “uninstall” terhadap service

slapd. Apabila anda ingin menggunakan data tersebut

setelah melakukan proses “uninstall” terhadap service

slapd maka pilihlah [No].

Gambar 8 - Pilihan Penghapusan Database LDAP

Pilihan terakhir adalah apakah LDAP server yang sedang

dikonfigurasi dapat memberikan akses terhadap protokol

LDAP versi 2 atau tidak.

30

Page 38: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Gambar 9 - Pilihan Protokol LDAP versi 2Setelah menyelesaikan konfigurasi dengan menggunakan pemandu, maka administrator dapat melihat hasilnya pada lokasi /etc/ldap/slapd.conf.

Suffix adalah attribut konfigurasi slapd yang berfungsi

untuk memberikan informasi alamat hirarki yang akan

digunakan pada direktori.

suffix dc=depkominfo,dc=go,dc=id

rootdn cn=admin,dc=depkominfo,dc=go,dc=idrootpw “kominfo” # pilihan password MD5 SHA1 CRYPT

access to attrs=userPassword by dn="cn=admin,dc=depkominfo,dc=go,dc=id" write by anonymous auth by self write by * none

access to * by dn="cn=admin,dc=depkominfo,dc=go,dc=id" write by * read

31

Page 39: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Rootdn adalah attribut konfigurasi slapd yang berfungsi

untuk memberikan informasi user administrator yang

bertanggung jawab terhadap direktori tersebut.

Rootpw adalah attribut konfigurasi slapd yang berfungsi

untuk memberikan informasi password dari user

administrator direktori. Format password yang dapat

digunakan antara lain:

PLAIN, format tersebut akan menampilkan

password tanpa mengalami pengubahan. Format

tersebut sangat tidak direkomendasikan, karena

dapat membahayakan jika user lain melihat file

konfigurasi slapd.

MD5, format tersebut akan menggunakan

algoritma Message Digest 5. Algoritma MD5

mempunyai tingkat keamanan yang bagus karena

menggunakan mekanisme one way encryption.

CRYPT, format tersebut akan menggunakan

algoritma CRYPT yang digunakan oleh sistem

operasi linux.

SHA1, format tersebut akan menggunakan

algoritma Secure Hash Algoritma – 1.

Penggunaan Secure Socket Layer

32

Page 40: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Karena salah satu tujuan penggunaan LDAP adalah

sebagai sarana untuk melakukan authentikasi dan

otorisasi maka diperlukan sebuah mekanisme

pengamanan terhadap data sensitif yang dikirimkan dari

mesin client terhadap mesin LDAP. Untuk melakukan

proteksi terhadap data yang dikirimkan maka diperlukan

sebuah mekanisme enkripsi yang bernama Transport

Layer Security (TLS).

Untuk menggunakan TLS, diperlukan beberapa

komponen yang harus dibuat terlebih dahulu yaitu

Certificate Authority, Server Certificate dan Server Key.

Pembuatan komponen tersebut dapat dilakukan dengan

cara sebagai berikut:

root@Server:~# /usr/lib/ssl/misc/CA.sh –newca

root@Server:~# openssl req -new -nodes -keyout newreq.pem -out newreq.pem

root@Server:~# /usr/lib/ssl/misc/CA.sh –sign

root@Server:~# cp demoCA/cacert.pem /etc/ldap/cacert.pem

root@Server:~# mv newcert.pem /etc/ldap/servercert.pem

root@Server:~# mv newreq.pem /etc/ldap/serverkey.pem

33

Page 41: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Setelah proses pembuatan komponen TLS certificate

selesai dilakukan maka tambahkan pada file

/etc/ldap/slapd.conf konfigurasi seperti berikut:

TLSCACertificateFile adalah attribut konfigurasi LDAP

server yang berfungsi untuk memberikan informasi lokasi

file Certificate Authority yang akan digunakan oleh server

LDAP.

TLSCertificateFile adalah attribut konfigurasi LDAP

server yang berfungsi untuk memberikan informasi lokasi

file SSL Certificate yang akan digunakan oleh server

LDAP.

TLSCertificateKeyFile adalah attribut konfigurasi LDAP

server yang berfungsi untuk memberikan informasi lokasi

file tempat penyimpanan sepasang kunci publik dan

privat yang akan digunakan oleh server untuk melakukan

enkripsi data.

TLSCACertificateFile /etc/ldap/cacert.pemTLSCertificateFile /etc/ldap/servercrt.pemTLSCertificateKeyFile /etc/ldap/serverkey.pem

Konfigurasi Service SLAPD

34

Page 42: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Setelah seluruh rangkaian konfigurasi LDAP Server

selesai dilakukan maka hal selanjutnya yang harus

dilakukan adalah mengatur konfigurasi runtime yang

terletak pada file /etc/default/slapd seperti URI (Unified

Resource Identifier) yang akan digunakan, user dan

group yang akan menjalankan, pemberian parameter

eksekusi tambahan, dan lain sebagainya.

SLAPD_CONF adalah attribut yang berfungsi

untuk memberikan informasi lokasi file konfigurasi

Server LDAP yang akan digunakan.

SLAPD_USERadalah attribut yang berfungsi untuk

memberikan informasi nama user yang akan

digunakan untuk menjalankan service SLAPD.

Apabila tidak diberikan nilai maka secara

otomatis, sistem operasi akan menggunakan user

‘root’.

SLAPD_CONF=SLAPD_USER=SLAPD_GROUP=SLAPD_PIDFILE=TRY_BDB_RECOVERY=yesSLURPD_START=autoSLAPD_SERVICES="ldap:/// ldaps:///"SLAPD_OPTIONS=""SLURPD_OPTIONS=""

35

Page 43: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

SLAPD_GROUP adalah attribut yang berfungsi

untuk memberikan informasi nama group yang

akan digunakan untuk menjalankan service

SLAPD. Apabila tidak diberikan nilai maka secara

otomatis, sistem operasi akan menggunakan

group ‘root’.

SLAPD_PIDFILE adalah attribut yang berfungsi

untuk memberikan informasi file yang akan

digunakan untuk menyimpan ID dari proses server

LDAP.

TRY_BDB_RECOVERY adalah attribut yang

berfungsi untuk memberikan informasi apakah

server LDAP akan melakukan pemeriksaan

terhadap kebenaran dari database pada saat

dijalankan atau tidak.

SLURPD_START adalah attribut yang berfungsi

untuk memberikan informasi apakah server LDAP

akan menggunakan fitur replikasi atau tidak.

Pilihan yang tersedia sebagai nilai untuk attribut

ini antara lain : yes, no, dan auto. Pilihan “yes”

menandakan bahwa server LDAP akan

menggunakan fitur replikasi, “no” menandakan

36

Page 44: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

bahwa server LDAP tidak akan menggunakan fitur

replikasi, sedangkan “auto” menandakan bahwa

server LDAP akan melakukan deteksi pada file

konfigurasi apakah fungsi replikasi digunakan atau

tidak.

SLAPD_SERVICES adalah attribut yang berfungsi untuk

memberikan informasi alamat URI (Unified

Resource Identifier) yang akan digunakan oleh

server LDAP.

SLAPD_OPTIONS adalah attribut yang berfungsi untuk

memberikan informasi parameter – parameter

tambahan yang akan digunakan pada saat server

LDAP berjalan.

SLURPD_OPTIONS adalah attribut yang berfungsi untuk

memberikan informasi parameter – parameter

tambahan yang akan digunakan pada saat server

LDAP dengan fitur replikasi akan dijalankan.

37

Page 45: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Inisialisasi Direktori

Attribute userPassword pada direktori merupakan

password yang akan digunakan untuk melakukan

mekanisme authentikasi user. Untuk mengisi password

dari setiap user diperlukan sebuah tools yang berfungsi

#group nodedn: ou=Group,dc=depkominfo,dc=go,dc=idobjectClass: topobjectClass: organizationalUnitou: Group

#People nodedn: ou=People,dc=depkominfo,dc=go,dc=idobjectClass: topobjectClass: organizationalUnitou: People

#add staff groupdn: cn=staff,ou=Group,dc=depkominfo,dc=go,dc=idobjectClass: posixGroupobjectClass: topcn: staffgidNumber: 1001

#add userdn: uid=pegawai,ou=People,dc=depkominfo,dc=go,dc=idloginShell: /bin/bashobjectClass: topobjectClass: accountobjectClass: posixAccountuserPassword: {MD5}risfylFZSeXVT7IrjtlVdQ==gecos: Pegawai Depkominfo,,,1237-1110gidNumber: 1001homeDirectory: /home/pegawaiuidNumber: 12060cn: Pegawai Depkominfouid: pegawai

38

Page 46: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

untuk mengubah password berbentuk text menjadi

bentuk rahasia sesuai dengan algoritma yang digunakan.

Untuk mendapatkan password yang telah diubah menjadi

bentuk acak, lakukan langkah sebagai berikut dan

setelah mendapatkan hasil pengacakan maka password

tersebut dapat dimasukkan sebagai nilai dari attribute

userPassword.

Untuk mulai menambahkan data directory LDAP maka

lakukanlah perintah berikut ini:

root@DirectoryServer:~# slappasswd -h {md5}New password: <masukkan password anda>Re-enter new password: <masukkan kembali password anda>{MD5}risfylFZSeXVT7IrjtlVdQ==

ldapadd -x -D "cn=admin,dc=depkominfo,dc=go,dc=id" -W -f init.ldif

Enter LDAP Password: <masukkan password disini>

adding new entry "ou=Group,dc=depkominfo,dc=go,dc=id"adding new entry "ou=People,dc=depkominfo,dc=go,dc=id"adding new entry "cn=staff,ou=Group,dc=depkominfo,dc=go,dc=id"adding new entry "uid=pegawai,ou=People,dc=depkominfo,dc=go,dc=id"

39

Page 47: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

40

Page 48: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Pengelolaan Data Pengguna

Apabila server LDAP yang ingin digunakan sebagai pusat

data pengguna telah berhasil dikonfigurasi maka hal

yang selanjutnya harus dilakukan oleh administrator

adalah mengelola data pengguna yang akan disimpan

pada server LDAP. Kegiatan yang dapat dilakukan pada

saat mengelola data pengguna antara lain

menambahkan, mengubah, dan menghapus data

pengguna.

Buatlah sebuah file /tmp/tambahuser.ldif dan tambahkan

dengan informasi sebagai berikut:

Penambahan Data Pengguna

dn: uid=pengguna,ou=People,dc=depkominfo,dc=go,dc=idloginShell: /bin/bashobjectClass: topobjectClass: accountobjectClass: posixAccountuserPassword: {MD5}risfylFZSeXVT7IrjtlVdQ==gecos: Pengguna,,, 1110gidNumber: 1001homeDirectory: /home/penggunauidNumber: 1501cn: Pengguna Komputeruid: pengguna

41

Page 49: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Setelah data yang ingin ditambahkan telah lengkap maka

simpanlah file tersebut dan selanjutnya gunakan perintah

“ldapadd” dengan sintaks sebagai berikut.

Buatlah sebuah file /tmp/ubahuser.ldif dan tambahkan

dengan informasi sebagai berikut:

Setelah data yang ingin ditambahkan telah lengkap maka

simpanlah file tersebut dan selanjutnya gunakan perintah

“ldapmodify” dengan sintaks sebagai berikut.

root@server:~# ldapadd -x -D "cn=admin,dc=depkominfo,dc=go,dc=id" -W -f /tmp/tambahuser.ldif

Enter LDAP Password: <masukkan password disini>

Perubahan Data Pengguna

dn: uid=pegawai,ou=People, dc=depkominfo,dc=go,dc=idchangetype: modifyreplace: homeDirectoryhomeDirectory: /home/staff/pegawai- add: mailmail: [email protected]: gecos

42

Page 50: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Apabila user ingin melakukan perubahan terhadap

attribut password, maka gunakan perintah “slappasswd”

untuk mengubah password berbentuk text menjadi

bentuk acak.

Buatlah sebuah file /tmp/hapususer.ldif dan tambahkan

dengan informasi sebagai berikut:

Setelah data yang ingin ditambahkan telah lengkap maka

simpanlah file tersebut dan selanjutnya gunakan perintah

“ldapdelete” dengan sintaks sebagai berikut.

root@server:~# ldapmodify -x -D "cn=admin,dc=depkominfo,dc=go,dc=id" -W -f /tmp/ubahuser.ldif

Enter LDAP Password: <masukkan password disini>

Penghapusan Data Pengguna

dn: uid=pegawai,ou=People,dc=depkominfo,dc=go,dc=id

dn: uid=staff,ou=People,dc=depkominfo,dc=go,dc=id

dn: uid=operator,ou=People,dc=depkominfo,dc=go,dc=id

root@server:~# ldapdelete -x -D "cn=admin,dc=depkominfo,dc=go,dc=id" -W -f /tmp/hapususer.ldif

Enter LDAP Password: <masukkan password disini>

43

Page 51: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

44

Page 52: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Penggunaan Perlengkapan Tambahan

Selain menggunakan perangkat lunak yang berasal dari

OpenLDAP, perangkat lunak lain yang dapat digunakan

untuk melakukan pengelolaan terhadap data yang

tersimpan dalam direktori antara lain : jxplorer

(http://jxplorer.org) dan phpldapadmin (

http://www.phpldapadmin.org)

Gambar 10 - Tampilan JXplorer

45

Page 53: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Gambar 11 - Tampilan PHP LDAP Admin

46

Page 54: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

REFERENSI

1. Abdullah, Jefri. PAM LDAP – OSS-Doc Wiki 28 July

2006. 10 November 2006.

http://tuma.vlsm.org/wiki/index.php/PAM_LDAP

2. Lightweight Directory Access Protocol – Wikipedia

the free encyclopedia.

http://en.wikipedia.org/wiki/Lightweight_Directory_

Access_Protocol

3. LDAP Linux HOWTO – The Linux Documentation

Project

http://www.tldp.org/HOWTO/LDAP-HOWTO/

4. LDAP Authentication – Linux Wiki

http://linuxwiki.riverworth.com/index.php/LDAP_Au

thentication

5. PHP LDAP Admin

http://phpldapadmin.sourceforge.net

6. JXplorer

http://www.jxplorer.org

7. OpenLDAP Software 2.3 Administrator’s Guide: A

Quick-Start Guide.

http://www.openldap.org/doc/admin23/quickstart.html

47

Page 55: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

48

Page 56: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

AUTHENTICATION SYSTEM

49

Page 57: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Pluggable Authentication Modules

Sistem operasi linux mempunyai modul authentikasi yang

dapat diubah sesuai dengan keperluan sehingga sistem

administrator dapat memilih bagaimana cara aplikasi

yang berjalan dapat melakukan authentikasi dan

autorisasi pengguna.

Mekanisme authentikasi yang paling dasar digunakan

pada sistem operasi linux adalah dengan memanfaatkan

file /etc/shadow dan /etc/passwd. Berdasarkan kedua file

tersebut seorang pengguna dapat dibedakan dan diatur

hak aksesnya berdasarkan nomor user-id serta

keanggotaannya pada group tertentu yang disimpan

pada file /etc/group.

Pemilihan mekanisme authentikasi akan sangat terasa

apabila sistem tersebut digunakan pada sebuah

organisasi yang besar dan diikuti oleh banyaknya jumlah

pengguna sistem. Hal tersebut akan menyulitkan sistem

administrator apabila harus melakukan pengaturan user

secara berulang jika harus menambahkan sebuah mesin

baru.

50

Page 58: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Sebagai alternatif untuk mempermudah pengaturan user,

sistem administrator dapat menggunakan sebuah

database terpusat yang secara khusus diperuntukkan

sebagai tempat menyimpan dan mengelola seluruh user

yang ada. Teknologi yang dapat digunakan untuk

mendukung mekanisme tersebut antara lain yaitu :

Active Directory dan LDAP (Lightweight Directory Access

Protocol).

Instalasi PAM

Untuk melakukan instalasi PAM – LDAP pada distribusi

debian maka jalankan perintah berikut:

root@Server:~# apt-get install libpam-ldap libnss-ldapReading Package Lists... DoneBuilding Dependency Tree... DoneRecommended packages:nscdThe following NEW packages will be installed:libnss-ldap libpam-ldap0 upgraded, 2 newly installed, 0 to remove and 281 not upgraded.Need to get 136kB of archives.After unpacking 487kB of additional disk space will be used.

51

Page 59: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

52

Page 60: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Konfigurasi Name Service

Name service adalah sebuah service yang berfungsi

untuk memberikan informasi terhadap suatu entitas yang

berhubungan dengan jaringan komputer. Informasi yang

diberikan antara lain alamat suatu komputer, informasi

umum pengguna jaringan, informasi authentikasi

pengguna jaringan. Implementasi name service yang

umumnya digunakan adalah YP (Yellow Pages), NIS

(Network Information System), DNS (Domain Name

Service), LDAP (Lightweight Directory Access Protocol) .

Pada tutorial ini, name service yang digunakan sebagai

media penyimpanan informasi pengguna dan penyedia

layanan authentikasi adalah LDAP. Agar sistem operasi

dapat mengenali dan mencari informasi pada server

LDAP, terlebih dahulu harus diberitahukan lokasi dan

beberapa attribut tambahan yang diperlukan untuk

mengakses LDAP server.

Untuk memberitahukan LDAP directory server yang benar

kepada sistem operasi, file /etc/ldap/ldap.conf harus

diubah sesuai dengan konfigurasi berikut:

Konfigurasi LDAP.CONF

53

Page 61: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

BASE adalah attribut Distinguished Name (DN) dari

direktori yang ingin digunakan. Seluruh informasi yang

ingin dikelola maupun dicari haruslah disimpan secara

hirarki dibawah DN tersebut. Contoh bentuk dari DN

adalah: dc=siplk,dc=depkominfo,dc=go,dc=id.

URI (Unified Resource Identifier) adalah attribut lokasi

dari LDAP Server yang ingin digunakan. Skema URI yang

digunakan dapat dibagi menjadi 2 yaitu ldap dan ldaps

dimana ldaps merupakan penanda bahwa LDAP Server

yang digunakan mempunyai implementasi Secure Socket

Layer. Nilai dari attribut URI dapat mempunyai beberapa

bentuk yaitu: ldaps://depkominfo.go.id,

ldaps://192.168.1.2 , ldaps://depkominfo.go.id:636 , dan

lain sebagainya.

ssl adalah attribut yang berfungsi untuk menandakan

apakah server LDAP yang ingin digunakan mempunyai

BASE dc=depkominfo,dc=go,dc=idURI ldaps://ldap.depkominfo.go.id

ldap_version 3scope subssl ontls_checkpeer notls_reqcert never

54

Page 62: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

kemampuan komunikasi dengan Secure Socket Layer

atau tidak.

tls_reqcert adalah attribut yang berfungsi untuk

menandakan apakah server LDAP yang menggunakan

mekanisme SSL untuk mengamankan komunikasi

meminta SSL client certificate kepada seluruh komputer

yang mencoba membuka sesi komunikasi dengan server.

scope adalah attribut yang berfungsi untuk menandakan

scope pencarian yang dapat dilakukan pada

direktori apakah pencarian dapat dilakukan

secara full tree atau hanya sub tree.

tls_checkpeer adalah attribut yang berfungsi

untuk menandakan apakah pada saat melakukan

pembukaan sesi komunikasi antara client dan server

diperlukan pemeriksaan terhadap SSL certificate yang

dimiliki oleh client.

ldap_version adalah attribut yang berfungsi untuk

menandakan protokol ldap versi berapa yang

digunakan untuk membuka sebuah sesi komunikasi

dengan LDAP server.

55

Page 63: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Setelah sistem operasi mengetahui lokasi dan

distinguished name (DN) dari direktori LDAP yang ingin

digunakan, maka hal yang harus dilakukan adalah

melakukan konfigurasi terhadap name service yang

disimpan pada file /etc/libnss-ldap.conf. Ubah file

tersebut dengan menggunakan konfigurasi sebagai

berikut:

base adalah attribut yang berfungsi untuk memberikan

informasi mengenai root distinguished name dari

direktori yang digunakan untuk menyimpan informasi.

Konfigurasi LIBNSS-LDAP.CONF

base dc=depkominfo,dc=go,dc=id

#host ldap server

uri ldaps://ldap.depkominfo.go.id

ldap_version 3scope sub

nss_base_passwd ou=People,dc=depkominfo,dc=go,dc=idnss_base_shadow ou=People,dc=depkominfo,dc=go,dc=idnss_base_group ou=Group,dc=depkominfo,dc=go,dc=id

56

Page 64: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

URI (Unified Resource Identifier) adalah attribut yang

berfungsi untuk memberikan informasi alamat dari server

LDAP.

ldap_version adalah attribut yang berfungsi untuk

memberikan informasi versi protokol ldap yang

digunakan untuk membuka sesi komunikasi antara client

dan server LDAP.

scope adalah attribut yang berfungsi untuk menandakan

scope pencarian yang dapat dilakukan pada direktori

apakah pencarian dapat dilakukan secara full tree

atau hanya sub tree.

nss_base_passwd adalah attribut yang berfungsi untuk

memberikan informasi sub direktori yang digunakan

untuk menyimpan informasi tentang account pengguna.

nss_base_shadow adalah attribut yang berfungsi untuk

memberikan informasi sub direktori yang digunakan

untuk menyimpan informasi tentang password

dari account pengguna.

nss_base_group adalah attribut yang berfungsi untuk

memberikan informasi sub direktori yang digunakan

57

Page 65: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

untuk menyimpan informasi tentang group – group

pengguna.

58

Page 66: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

ldap_version adalah attribut yang berfungsi untuk

memberikan informasi versi protokol ldap yang

digunakan untuk membuka sesi komunikasi antara client

dan server LDAP.

scope adalah attribut yang berfungsi untuk menandakan

scope pencarian yang dapat dilakukan pada direktori

apakah pencarian dapat dilakukan secara full tree

atau hanya sub tree.

nss_base_passwd adalah attribut yang berfungsi untuk

memberikan informasi sub direktori yang digunakan

untuk menyimpan informasi tentang account pengguna.

base dc=depkominfo,dc=go,dc=id

#host ldap server

uri ldaps://ldap.depkominfo.go.id

ldap_version 3scope sub

nss_base_passwd ou=People,dc=depkominfo,dc=go,dc=idnss_base_shadow ou=People,dc=depkominfo,dc=go,dc=idnss_base_group ou=Group,dc=depkominfo,dc=go,dc=id

59

Page 67: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

nss_base_shadow adalah attribut yang berfungsi untuk

memberikan informasi sub direktori yang digunakan

untuk menyimpan informasi tentang password

dari account pengguna.

nss_base_group adalah attribut yang berfungsi untuk

memberikan informasi sub direktori yang digunakan

untuk menyimpan informasi tentang group – group

pengguna.

60

Page 68: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Langkah selanjutnya adalah melakukan perubahan

urutan pencarian user sesuai dengan backend tempat

data user tersebut disimpan. Bentuk dari setiap baris

konfigurasi disusun sedemikian rupa sehingga untuk

masing – masing entry mempunyai prioritas urutan

pencarian data user. Semakin kiri posisi dari entry

backend mempunyai prioritas lebih tinggi dibandingkan

dengan backend lainnya. Sebagai contoh dapat dilihat

pada file /etc/nsswitch.conf yang terlihat pada konfigurasi

berikut:

passwd adalah attribut konfigurasi NSSwitch yang

berfungsi untuk memberikan informasi urutan layanan –

layanan yang dapat digunakan untuk melakukan

pencarian data user.

group adalah attribut konfigurasi NSSwitch yang

berfungsi untuk memberikan informasi urutan layanan –

layanan yang dapat digunakan untuk melakukan

pencarian data group.

Konfigurasi Name Server Switch

passwd: files ldap compat group: files ldap compatshadow: files ldap compat

61

Page 69: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

shadow adalah attribut konfigurasi NSSwitch yang

berfungsi untuk memberikan informasi urutan layanan –

layanan yang dapat digunakan untuk melakukan

pencarian data password.

62

Page 70: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Konfigurasi PAM – LDAP

Konfigurasi PAM yang umum digunakan disimpan pada 4

file yang terdapat pada direktori /etc/pam.d/ yaitu

common-auth, common-account, common-password dan

common-session.

Ubah file /etc/pam.d/common-auth sesuai dengan

konfigurasi berikut:

Ubah file /etc/pam.d/common-password sesuai dengan

konfigurasi berikut:

Ubah file /etc/pam.d/common-account sesuai dengan

konfigurasi berikut:

auth sufficient pam_ldap.soauth required pam_unix.so nullok_secure

password sufficient pam_ldap.sopassword required pam_unix.so nullok obscure min=4 max=8 md5

63

Page 71: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Ubah file /etc/pam.d/common-session sesuai dengan

konfigurasi berikut:

catatan: Urutan penggunaan library pam_ldap.so

mempengaruhi mekanisme pencarian data.

account sufficient pam_ldap.soaccount required pam_unix.so

session sufficient pam_ldap.sosession required pam_unix.so

64

Page 72: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Konfigurasi Authentikasi Squid dengan PAM

Untuk menggabungkan sistem authentikasi SQUID proxy

server dengan sistem authentikasi yang sudah tersedia,

maka diperlukan perubahan konfigurasi untuk

ditambahkan entry authentikasi menggunakan PAM.

# Konfigurasi authentikasi menggunakan PAMauth_param basic program /usr/lib/squid/pam_auth

# menggunakan daemon untuk authentikasi sebanyak 10 buahauth_param basic children 10auth_param basic realm Squid Proxy Authentication Depkominfo

# session authentikasi berlaku selama 2 jamauth_param basic credentialsttl 2 hoursacl password proxy_auth REQUIREDhttp_access allow password

65

Page 73: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

REFERENSI

1. Abdullah, Jefri. PAM LDAP – OSS-Doc Wiki 28 July

2006. 10 November 2006.

http://tuma.vlsm.org/wiki/index.php/PAM_LDAP

2. Lightweight Directory Access Protocol – Wikipedia

the free encyclopedia.

http://en.wikipedia.org/wiki/Lightweight_Directory_

Access_Protocol

3. LDAP Linux HOWTO – The Linux Documentation

Project

http://www.tldp.org/HOWTO/LDAP-HOWTO/

4. LDAP Authentication – Linux Wiki

http://linuxwiki.riverworth.com/index.php/LDAP_Au

thentication

5. Pluggable Authentication Modules – Wikipedia, the

free encyclopedia.

http://en.wikipedia.org/wiki/Pluggable_Authenticati

on_Modules

6. Name Service Switch – Wikipedia, the free

encyclopedia.

http://en.wikipedia.org/wiki/Name_Service_Switch

66

Page 74: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

7. Linux – PAM.

http://www.kernel.org/pub/linux/libs/pam/.

67

Page 75: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

DOMAIN CONTROLLER

68

Page 76: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Domain Contoller merupakan pusat dari sebuah domain

yang menyimpan informasi-informasi. Sedangakan

domain adalah sekelompok komputer dalam satu grup

yang sama dan saling berbagi resource dengan

manajemen terpusat pada DC. Dengan DC, hanya user

terdaftar yang diijinkan masuk ke dalam domain tersebut

dan mengakses semua fasilitas domain yang disediakan.

Samba adalah himpunan aplikasi yang bertujuan agar

komputer dengan sistem operasi Linux, BSD ( atau UNIX

lainnya) dapat bertindak sebagai file dan print server

yang berbasis protokol SMB (session message block).

Jaringan yang semacam ini biasa dijumpai pada Windows

workgroup atau Windows NT Domain. Samba juga

dilengkapi dengan beberapa program bantu sehingga

sistem operasi Linux (dan UNIX lainnya) bisa mengakses

resources yang ada pada jaringan Windows yang telah

ada. Bisa dikatakan, Samba adalah jembatan

penghubung antara Windows dan UNIX.

69

Page 77: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Gambar 12 - Arsitektur Domain Controller

Samba terdiri atas dua program yang berjalan di

background: SMBD dan NMBD. Secara singkat dapat

disebutkan bahwa SMBD adalah file server yang akan

menghasilkan proses baru untuk setiap client yang aktif

sementara NMBD bertugas mengkonversi nama

komputer (NetBIOS) menjadi alamat IP sekaligus juga

memantau share yang ada di jaringan. Kerja SMBD

sendiri diatur melalui file konfigurasi /etc/smb.conf.

Dengan membuat file konfigurasi yang tepat, Samba

70

Page 78: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

dapat dijadikan file server, print server, domain

controller, dan banyak fungsi lainnya.

Instalasi Samba Domain Controller

Untuk melakukan instalasi samba pada linux distribusi

debian, jalankan perintah sebagai berikut:

Konfigurasi Samba Domain Controller

root@FileServer:~# apt-get install samba

[global]

## SAMBA sebagai Domain Controller

workgroup = DEPKOMINFO # nama domain netbios name = DCSAMBA # nama netbios SAMBAencrypt passwords = yesdomain logons = yessecurity = domainos level = 35 # lebih besar dari 32domain master = yeslocal master = yespreferred master = yesserver string = SAMBA sebagai DC enable privileges = yes

71

Page 79: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

workgroup adalah attribut yang berfungsi untuk

memberikan informasi nama domain yang akan

digunakan oleh domain controller.

netbios name adalah attribut samba yang berfungsi

untuk memberikan informasi nama dari komputer domain

controller.

encrypt passwords adalah attribut samba yang berfungsi

untuk memberikan informasi apakah password yang

dikirimkan antara client dan domain controller akan

dienkripsi atau tidak.

domain logons adalah attribut samba yang berfungsi

untuk memberikan informasi apakah diperlukan

mekanisme authentikasi pada saat seorang user aktif

pada sebuah domain.

security adalah attribut samba yang berfungsi untuk

memberikan informasi konteks security yang digunakan

pada saat seorang user ingin aktif pada sebuah domain.

domain master adalah attribut samba yang berfungsi

untuk memberikan informasi apakah server samba

tersebut akan aktif sebagai sebuah primary domain

controller atau tidak.

72

Page 80: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

local master adalah attribut samba yang berfungsi

untuk memberikan informasi apakah server samba

tersebut akan menjadi domain controller bagi dirinya

sendiri atau tidak.

73

Page 81: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

## Membuat Roaming Profile

logon path = \\%L\Profiles\%u

## Setting Roaming HomeDir :

logon home = \\%L\homes\%u

logon drive = Z:

logon script = startup.bat

[netlogon]path = /var/lib/samba/netlogonguest ok = yeswritable = noshare modes = no

## Setting Roaming Profile tambahkan :

[profiles] path = /tmp/profilesbrowsable = nocreate mask = 0600directory mask = 0700readonly = no

## Setting Roaming Homedir tambahkan :

[homes]readonly = nobrowsable = nocreate mask = 0644directory mask = 0755writeable = yes

74

Page 82: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

logon path adalah attribut pada konfigurasi samba yang

berfungsi untuk memberikan informasi tempat dimana

data sebuah profile dinamis ( NTuser.dat ) disimpan. Data

profile merupakan kumpulan konfigurasi – konfigurasi

yang digunakan oleh masing – masing pengguna. Apabila

attribut logon path diberikan tanpa mengalami kesalahan

maka profile masing – masing pengguna dapat digunakan

secara berpindah – pindah dari satu komputer ke

komputer lainnya tanpa perlu adanya konfigurasi ulang

aplikasi.

logon home adalah attribut pada konfigurasi samba

yang berfungsi untuk memberikan informasi lokasi

sebuah direktori dinamis yang dimiliki oleh masing –

masing pengguna. Apabila seorang pengguna berhasil

melakukan proses authentikasi maka domain controller

akan memberikan informasi direktori khusus pengguna

tersebut agar dapat digunakan oleh komputer yang

sedang aktif.

logon drive adalah attribut pada konfigurasi samba

yang berfungsi untuk memberikan informasi alamat disk

drive apa yang digunakan sebagai alamat untuk

memetakan roaming direktori yang dimiliki oleh

pengguna. Apabila seorang pengguna berhasil

melakukan proses authentikasi maka domain controller

75

Page 83: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

akan memberikan informasi agar direktori khusus

pengguna tersebut dapat dipetakan menjadi drive

tertentu pada komputer yang digunakan. Contoh

penggunaan: logon drive = Z:

logon script adalah attribut pada konfigurasi samba

yang berfungsi untuk memberikan informasi script yang

akan dijalankan secara otomatis pada saat pengguna

berhasil melakukan mekanisme authentikasi. Pada

umumnya logon script disimpan pada server dan akan

secara otomatis didownload oleh workstation apabila

proses authentikasi pengguna selesai dilakukan. Selain

disimpan pada server, logon script dapat disimpan pada

masing – masing workstation namun skenario tersebut

akan memberikan usaha yang lebih untuk merawat

sistem secara keseluruhan. Contoh penggunaan attribut

logon script: logon script = scripts\%U.bat.

[profiles] adalah konfigurasi yang berhubungan dengan

penyimpanan data profil masing – masing user

workstation. Setiap profile yang dibuat oleh pengguna

harus disimpan pada domain controller, sehingga pada

saat user kembali menggunakan workstation seluruh

konfigurasi yang pernah dibuat akan dibuka secara

otomatis.

76

Page 84: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

[homes] adalah konfigurasi yang berfungsi untuk

mengatur tentang file sharing masing – masing direktori

user.

77

Page 85: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

passdb backend adalah attribut pada konfigurasi

samba yang berfungsi untuk memberikan informasi

media penyimpanan data account yang digunakan oleh

server samba. Pilihan backend yang dapat digunakan

antara lain :

smbpasswd merupakan backend standard yang

digunakan oleh samba, pilihan ini memerlukan alamat

dari file smbpasswd sebagai informasi tambahan.

## Koneksi ke LDAP

passdb backend = ldapsam:ldap://ldap.depkominfo.go.id

ldap suffix = dc=depkominfo,dc=go,dc=id

ldap machine suffix = ou=Machines

ldap user suffix = ou=People

ldap group suffix = ou=Group

ldap admin dn = cn=admin,dc=depkominfo,dc=go,dc=id

ldap delete dn = no

ldap ssl = no

ldap timeout = 20

idmap backend = ldap:ldap://ldap.depkominfo.go.ididmap uid = 15000-20000idmap gid = 15000-20000ldap passwd sync = yes

78

Page 86: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

tdbsam merupakan backend yang menggunakan

TDB sebagai media penyimpanan. File yang akan

digunakan untuk menyimpan data pada umumnya

adalah passdb.tdb

ldapsam merupakan backend samba yang

menggunakan LDAP sebagai media penyimpanan.

Informasi yang dibutuhkan oleh samba agar dapat

menggunakan backend ldapsam adalah alamat server

LDAP.

nisplussam merupakan backend samba yang

menggunakan NIS+ server sebagai media

penyimpanan.

mysqlsam merupakan backend samba yang

menggunakan database MySQL server sebagai media

penyimpanan.

ldap suffix adalah attribut konfigurasi samba yang

berfungsi untuk memberikan informasi alamat direktori

pada LDAP yang digunakan sebagai media penyimpanan.

Nilai yang dapat dimasukkan untuk attribut ldap suffix

adalah string Distinguished Name (DN) yang menjadi

acuan teratas pada hirarki direktori. Contoh :

dc=siplk,dc=depkominfo,dc=go,dc=id

ldap delete dn adalah attribut konfigurasi samba yang

berfungsi untuk memberikan informasi apakah sebuah

79

Page 87: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

direktori dengan Distinguished Name (DN) tertentu dapat

dihapus melalui server samba. Pilihan nilai yang dapat

dimasukkan untuk attribut ldap delete dn adalah yes

atau no.

ldap user suffix adalah attribut konfigurasi samba yang

berfungsi untuk memberikan informasi struktur direktori

yang digunakan untuk menyimpan data user.

ldap machine suffix adalah attribut konfigurasi samba

yang berfungsi untuk memberikan informasi struktur

direktori yang digunakan untuk menyimpan data

workstation anggota domain.

ldap group suffix adalah attribut konfigurasi samba

yang berfungsi untuk memberikan informasi struktur

direktori yang digunakan untuk menyimpan data group.

ldap admin dn adalah attribut konfigurasi samba yang

berfungsi untuk memberikan informasi data admin yang

mempunyai akses penuh terhadap keseluruhan direktori.

80

Page 88: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

add user script adalah attribut konfigurasi samba yang

berfungsi untuk memberikan informasi program

pelengkap yang akan digunakan pada saat

menambahkan user pengguna samba.

delete user script adalah attribut konfigurasi samba

yang berfungsi untuk memberikan informasi program

pelengkap yang akan digunakan pada saat menghapus

user pengguna samba.

# konfigurasi administrasi samba – ldap

add user script = /usr/sbin/smbldap-useradd –m %u

delete user script = /usr/sbin/smbldap-userdel %u

add group script = /usr/sbin/smbldap-groupadd %g

delete group script = /usr/sbin/smbldap-groupdel %g

add user to group script = /usr/sbin/smbldap-groupmod –m %u %g

delete user from group script = /usr/sbin/smbldap-groupmod –x %u %g

set primary group script = /usr/sbin/smbldap-usermod –g %g %u

add machine script = /usr/sbin/smbldap-useradd –w %u

81

Page 89: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

add group script adalah attribut konfigurasi samba

yang berfungsi untuk memberikan informasi program

pelengkap yang akan digunakan pada saat

menambahkan group pengguna samba.

delete group script adalah attribut konfigurasi samba

yang berfungsi untuk memberikan informasi program

pelengkap yang akan digunakan pada saat menghapus

group pengguna samba.

add user to group script adalah attribut konfigurasi

samba yang berfungsi untuk memberikan informasi

program pelengkap yang akan digunakan pada saat

menambahkan sebuah user pengguna samba kedalam

sebuah group.

delete user from group script adalah attribut

konfigurasi samba yang berfungsi untuk memberikan

informasi program pelengkap yang akan digunakan pada

saat menghapus user pengguna samba dari sebuah

group.

set primary group script adalah attribut konfigurasi

samba yang berfungsi untuk memberikan informasi

82

Page 90: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

program pelengkap yang akan digunakan pada saat

menghapus user pengguna samba.

83

Page 91: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Konfigurasi Samba – LDAP

userHome adalah attribut konfigurasi samba-ldap yang

berfungsi untuk memberikan informasi lokasi direktori

home yang terletak pada server samba. Nilai attribut

tersebut menggunakan format sistem operasi linux yang

mengacu kepada suatu direktori.

SID=sambaDomain=”DEPKOMINFO”suffix=”dc=depkominfo,dc=go,dc=id”usersdn=”ou=People,${suffix}”computersdn=”ou=Machines,${suffix}”groupsdn=”ou=Group,${suffix}”idmapdn=”ou=ldmap,${suffix}”sambaUnixIdPooldn= ”sambaDomainName=DEPKOMINFO,${suffix}”scope=”sub”hash_encrypt=”CLEARTEXT”userLoginShell=”/bin/bash”userHome=”/home/%U”userHomeDirectoryHome=”700”userGecos=”User”defaultUserGid=”1020”defaultComputerGid=”1050”skeletonDir=”/etc/skel”defaultMaxPasswordAge=”45”userSmbHome=”\\samba-server\%U”userProfile=\\samba-server\profiles\%UuserHomeDrive=”Z:”userScript=”%U.bat”mailDomain=”depkominfo.go.id”with_smbpasswd=”0”smbpasswd=”/usr/bin/smbpasswd”with_slappasswd=”0”slappasswd=”/usr/sbin/slappasswd”

84

Page 92: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

defaultComputerGid adalah attribut konfigurasi samba-

ldap yang berfungsi untuk memberikan informasi nomor

group standard yang akan digunakan pada saat terjadi

suatu proses penambahan data komputer pada domain

controller. Nilai nomor group tersebut akan dipetakan

secara otomatis terhadap data komputer.

defaultUserGid adalah attribut konfigurasi samba-ldap

yang berfungsi untuk memberikan informasi nomor group

standard yang akan digunakan jika terjadi suatu proses

penambahan user baru. Nomor group tersebut akan

dipetakan secara otomatis kepada data user yang baru

dibuat.

userSmbHome adalah attribut konfigurasi samba-ldap

yang berfungsi untuk memberikan informasi lokasi

direktori home masing – masing user yang terletak pada

server samba.

userProfile adalah attribut konfigurasi samba-ldap yang

berfungsi untuk memberikan informasi lokasi profile

masing - masing user yang disimpan pada samba server.

Profile merupakan kumpulan konfigurasi – konfigurasi

yang dimiliki oleh masing – masing user, sehingga pada

saat user yang bersangkutan berhasil melakukan proses

85

Page 93: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

authentikasi maka user tersebut tidak perlu membuat

sebuah konfigurasi baru pada komputer yang berbeda.

userHomeDrive adalah attribut konfigurasi samba-ldap

yang berfungsi untuk memberikan informasi lokasi hard

drive yang digunakan untuk memetakan direktori home

masing – masing user pada suatu drive di sebuah

workstation. Proses pemetaan direktori home user

terhadap suatu alamat hard drive pada workstation akan

dilakukan pada saat user yang bersangkutan berhasil

melakukan proses authentikasi terhadap domain

controller.

userScript adalah attribut konfigurasi samba-ldap yang

berfungsi untuk memberikan informasi nama script yang

akan dijalankan oleh masing – masing user pada saat

user tersebut berhasil melakukan authentikasi terhadap

domain.

with_smbpasswd adalah attribut konfigurasi samba-

ldap yang berfungsi untuk memberikan informasi apakah

sistem akan menggunakan perangkat lunak smbpasswd

atau tidak. Nilai yang dapat diberikan pada attribut ini

adalah 0 atau 1. Berikan nilai 0 jika anda tidak ingin

menggunakan smbpasswd dan berikan nilai 1 jika anda

ingin menggunakan smbpasswd.

86

Page 94: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

smbpasswd adalah attribut konfigurasi samba-ldap

yang berfungsi untuk memberikan informasi lokasi

perangkat lunak smbpasswd yang akan digunakan untuk

melakukan perubahan password pada database SAMBA.

with_slappasswd adalah attribut konfigurasi samba-

ldap yang berfungsi untuk memberikan informasi apakah

sistem yang berjalan akan menggunakan perangkat

lunak slappasswd untuk membuat sebuah password

LDAP.

slappasswd adalah attribut konfigurasi samba-ldap yang

berfungsi untuk memberikan informasi lokasi file yang

akan digunakan untuk membuat password yang sesuai

dengan format LDAP server.

sambaDomain adalah attribut konfigurasi samba-ldap

yang berfungsi untuk memberikan informasi nama

domain yang akan dilayani oleh samba server.

suffix adalah attribut konfigurasi samba-ldap yang

berfungsi untuk memberikan informasi suffix direktori

LDAP yang digunakan sebagai tempat penyimpanan data

user, password maupun komputer dari sebuah organisasi.

87

Page 95: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

usersdn adalah attribut konfigurasi samba-ldap yang

berfungsi untuk memberikan informasi distinguished

name atau direktori LDAP dengan hirarki tertinggi yang

digunakan untuk menyimpan data user.

computersdn adalah attribut konfigurasi samba-ldap

yang berfungsi untuk memberikan informasi

distinguished name atau direktori LDAP dengan hirarki

tertinggi yang digunakan untuk menyimpan data

komputer.

groupsdn adalah attribut konfigurasi samba-ldap yang

berfungsi untuk memberikan informasi distinguished

name atau direktori LDAP dengan hirarki tertinggi yang

digunakan untuk menyimpan data group.

idmapdn adalah attribut konfigurasi samba-ldap yang

berfungsi untuk memberikan informasi distinguished

name atau direktori LDAP dengan hirarki tertinggi yang

digunakan untuk menyimpan data pemetaan identitas

layanan samba.

mailDomain adalah attribut konfigurasi samba-ldap

yang berfungsi untuk memberikan informasi nama

domain yang akan digunakan sebagai elemen alamat

email.

88

Page 96: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

89

Page 97: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Konfigurasi Domain Client

Komputer client yang menggunakan sistem operasi

windows dapat menggabungkan diri kedalam domain

sesuai dengan langkah – langkah sebagai berikut:

Gambar 13 - System Properties untuk komputer

90

Page 98: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Gambar 14 - Tampilan Penggantian Nama Komputer

91

Page 99: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Setelah nama domain dimasukkan maka komputer client

akan secara otomatis melakukan pencarian terhadap

server domain controller. Apabila server domain

controller tersebut sedang dalam kondisi menyala maka

hal yang selanjutnya harus dilakukan adalah memberikan

username dan password untuk masuk kedalam domain

tersebut.

Gambar 15 - Authentikasi Join Domain

Apabila mekanisme authentikasi berhasil dilakukan,

maka workstation akan tergabung ke domain sehingga

seluruh user yang ingin menggunakan workstation

diharuskan untuk memberikan username dan password.

92

Page 100: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

REFERENSI

1. Lemaire, Olivier. The Samba – 2.2.4 / LDAP PDC

HOWTO. 7 June 2002.

2. Samba as a Primary Domain Controller

http://optics.ph.unimelb.edu.au/help/samba

3. Cipta Sukmana, Ratdhian. Implementasi SAMBA

PDC

Menggunakan backend LDAP.

http://www.ilmukomputer.com

93

Page 101: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

SECURE APPLICATION SERVER

94

Page 102: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Apache merupakan aplikasi web server yang berguna un-

tuk melayani dan memfungsikan situs web. Protokol yang

digunakan untuk melayani fasilitas web/www ini mengu-

nakan HTTP. Apache dapat dijalankan di banyak sistem

operasi (Unix, BSD, Linux, Microsoft Windows dan Novell

Netware serta platform lainnya)

Apache memiliki fitur-fitur canggih seperti pesan kesala-

han yang dapat dikonfigurasi, autentikasi berbasis basis

data dan lain-lain. Apache juga didukung oleh sejumlah

antarmuka pengguna berbasis grafik (GUI) yang memu-

ngkinkan penanganan server menjadi mudah.

Apache merupakan perangkat lunak sumber terbuka

dikembangkan oleh komunitas terbuka yang terdiri dari

pengembang-pengembang dibawah naungan Apache

Software Foundation. Apache dibuat dengan pemrogra-

man yang efisien sehingga dapat melayani sampai den-

gan berpuluh ribu halaman web setiap menit dengan

baik. Hampir di semua situs, Apache lebih cepat diband-

ingkan saingannya.

Kemampuan dasar Apache sudah mencukupi, namun ke-

mampuan-kemampuan baru dapat saja ditambahkan

dalam bentuk modul-modul. Pada Apache memiliki beber-

apa fungsi yang biasa digunakan, yaitu:

95

Page 103: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Server-side Includes

Dengan memasukkan tag khusus dalam dokumen

HTML, user dapat memberikan perintah kepada

server Apache untuk melakukan tindakan atas

HTML itu, sebelum dikirimkan ke pengunjung

situs.

HTTP log

Apache dapat membuat sendiri HTTP Log yaitu

catatan mengenai setiap file yang pernah

diberikan oleh situs, siapa yang melihat file itu,

dengan browser apa, dan kapan. Dengan

informasi ini dapat dianalisa pola trafik situs

tersebut dalam jam-jam tertentu, pada daerah

tertentu di situs tersebut, dan bebagai informasi

penting lainnya.

Secure Sockets Layer (SSL),

Dengan SSL dapat dibuat situs yang aman dengan

protokol HTTPS. SSL memungkinkan pengunjung

situs untuk mengirim dan melihat informasi

melalui sebuah jalur yang aman dan dienkripsi

sehingga pencurian data yang dikirimkan memiliki

kemungkinan yang kecil . Untuk situs-situs e-

commerce SSL menjadi dasar untuk menjaga

kerahasiaan dan keamanan pelanggan Anda.

CGI-BIN

96

Page 104: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Common Gateway Interface (CGI) dapat

menjalankan program pada server itu sendiri, dan

mengirimkan serta menerima informasi ke

pengunjung situs. Dengan CGI, suatu situs dapat

menyediakan interactive content yang bentuknya

dapat berupa sebuah buku tamu atau message

board, atau sebuah sistem pemrosesan dan

pencatatan order secara on-line.

Protected Directories

Apache dapat diatur berdasar direktori di dalam

situs. Salah satu opsi konfigurasi ini adalah

pengunjung situs Anda yang mengakses halaman

di dalam suatu direktori khusus hanya akan

dilayani jika memberikan username dan password

yang benar atau jika dia berasal dari lokasi

tertentu di internet.

Configurable error pages

Apache dapat membuat situs dengan pesan

kesalahan yang dapat diatur sendiri. Pembuat

situs dapat memerintahkan server untuk

menampilan halaman yang menyediakan link ke

bagian utama situs sehingga pengunjung tersebut

dapat kembali ke jalur yang benar. Cara yang

sama dapat dilakukan untuk pesan kesalahan

lainnya - halaman yang sudah dipindah, atau

97

Page 105: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

sebuah permintaan masuk ke direktori yang diberi

password telah ditolak.

Arsitektur Modular

Apache mempunyai arsitektur yang modular

sehingga memudahkan administrator untuk

melakukan konfigurasi terhadap service – service

apa saja yang ingin digunakan. Contoh modul –

modul yang dapat digunakan pada apache web

server antara lain : PHP, SSL, PAM, Proxy, Security

dan masih banyak lagi.

Instalasi Apache Web Server

Untuk melakukan instalasi apache web server pada

sistem operasi linux distribusi debian dapat dengan

menjalankan perintah sebagai berikut:

root@server:~# apt-get install apache2 apache2-common apache2-mpm-worker

98

Page 106: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Konfigurasi Apache Web Server

DocumentRoot adalah attribut pada konfigurasi apache

yang berfungsi untuk memberikan informasi tempat

penyimpanan dokumen web yang ingin ditampilkan

melalui web server.

<VirtualHost _default_:443> DocumentRoot /var/www/ ServerName www.depkominfo.go.id ServerAlias depkominfo.go.id ServerAdmin [email protected] ErrorLog /var/www/log/error_log TransferLog /var/www/log/transfer_log SSLEngine on SSLCertificateFile /etc/apache2/ssl/server.crt SSLCertificateKeyFile /etc/apache2/ssl/server.key SSLCACertificateFile /etc/apache2/ssl/ca.crt

#Hanya Memerlukan Client Certificate<Directory /var/www/rahasialevel1/ > SSLVerifyClient require SSLVerifyDepth 1</Directory>

</VirtualHost>

99

Page 107: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

ServerName adalah attribut pada konfigurasi apache

yang berfungsi untuk memberikan informasi nama server

yang akan digunakan sebagai web server.

ServerAlias adalah attribut pada konfigurasi apache

yang berfungsi untuk memberikan informasi nama

pendek dari server yang akan digunakan sebagai web

server. Attribut ini pada umumnya berfungsi untuk

menyingkat nama server yang telah diberikan pada

attribut ServerName.

ServerAdmin adalah attribut pada konfigurasi apache

yang berfungsi untuk memberikan informasi

administrator yang bertanggung jawab atas web server

tersebut. Pada umumnya informasi yang diberikan pada

attribut ServerAdmin adalah alamat email dari

administrator.

SSLEngine adalah attribut pada konfigurasi apache yang

berfungsi menandakan apakah web server akan

menggunakan fitur Secure Socket Layer sebagai

mekanisme pengamanan komunikasi data. Untuk

mengaktifkan fitur SSL maka nilai yang harus diberikan

kepada attribut SSLEngine adalah on.

SSLCACertificateFile adalah attribut pada konfigurasi

apache yang berfungsi untuk memberikan informasi

100

Page 108: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

lokasi dari Certificate Authority yang digunakan untuk

melakukan validasi terhadap SSL Certificate.

SSLCertificateFile adalah attribut pada konfigurasi

apache yang berfungsi untuk memberikan informasi

lokasi dari SSL Certificate yang digunakan pada Web

Server.

SSLCertificateKeyFile adalah attribut pada konfigurasi

apache yang berfungsi untuk memberikan informasi

lokasi dari private key yang dimiliki oleh SSL Certificate.

Private key tersebut akan digunakan untuk melakukan

enkripsi data yang dikirimkan antara client dan server.

101

Page 109: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Konfigurasi Apache – PAM

Instalasi Modul PAM untuk apache web server dengan

melakukan perintah sebagai berikut:

root@server:~# apt-get install libapache2- mod-auth-pam

<VirtualHost _default_:443> DocumentRoot /var/www/ ServerName www.depkominfo.go.id ServerAlias depkominfo.go.id ServerAdmin [email protected] ErrorLog /var/www/log/error_log TransferLog /var/www/log/transfer_log SSLEngine on SSLCertificateFile /etc/apache2/ssl/server.crt SSLCertificateKeyFile /etc/apache2/ssl/server.key SSLCACertificateFile /etc/apache2/ssl/ca.crt

#Hanya Memerlukan Username dan Password<Directory /var/www/ > AuthType Basic AuthName "Area Rahasia" AuthPAM_Enabled on Require valid-user AllowOverride None</Directory></VirtualHost>

102

Page 110: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Lalu tambahkan konfigurasi PAM untuk apache webserver

dengan mengubah file konfigurasi yang terletak pada

/etc/pam.d/httpd atau /etc/pam.d/apache2 menjadi

seperti berikut ini :

Perintah @include pada sebuah file konfigurasi PAM

berfungsi untuk menggunakan file konfigurasi PAM lain

sehingga tidak memerlukan penulisan hal yang sama

berulang kali.

common-auth merupakan file konfigurasi PAM yang

berfungsi untuk mengatur penanganan authentikasi

secara umum.

common-session merupakan file konfigurasi PAM yang

berfungsi untuk mengatur penanganan sesi user secara

umum.

common-password merupakan file konfigurasi PAM

yang berfungsi untuk mengatur penanganan password

user secara umum.

@include common-auth@include common-session@include common-password@include common-account

103

Page 111: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

common-account merupakan file konfigurasi PAM yang

berfungsi untuk mengatur penggunakan account user

secara umum.

104

Page 112: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Konfigurasi Apache – SSL

Metode Pengamanan Transportasi data antara client

dengan web server mempunyai 2 jenis yaitu :

1. SSL Tanpa verifikasi certificate client

2. SSL Dengan verifikasi certificate client

Metode 1 hanya membutuhkan server certificate

sehingga siapapun dapat mengakses web server.

Metode 2 membutuhkan server certificate dan client

certificate yang disahkan oleh Certificate of Authority

(CA) yang sama. Setiap pengguna sistem informasi harus

menyimpan client certificate pada browser yang

digunakan agar dapat mengakses web server tempat

sistem informasi tersebut berjalan.

105

Page 113: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

SSLVerifyClient merupakan attribut konfigurasi yang

berfungsi untuk memberikan informasi apakah web

server akan melakukan pemeriksaan terhadap SSL

Certificate yang dimiliki oleh client.

<VirtualHost _default_:443> DocumentRoot /var/www/ ServerName www.depkominfo.go.id ServerAlias depkominfo.go.id ServerAdmin [email protected] ErrorLog /var/www/log/error_log TransferLog /var/www/log/transfer_log

SSLEngine on

SSLCertificateFile /etc/apache2/ssl/server.crt SSLCertificateKeyFile /etc/apache2/ssl/server.key

SSLCACertificateFile /etc/apache2/ssl/ca.crt

#Hanya Memerlukan Client Certificate <Directory /var/www/rahasialevel1/ > SSLVerifyClient require SSLVerifyDepth 1 </Directory></VirtualHost>

106

Page 114: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Konfigurasi Apache – PAM - SSL

<VirtualHost _default_:443> DocumentRoot /var/www/ ServerName www.depkominfo.go.id ServerAlias depkominfo.go.id ServerAdmin [email protected] ErrorLog /var/www/log/error_log TransferLog /var/www/log/transfer_log SSLEngine on SSLCertificateFile /etc/apache2/ssl/server.crt SSLCertificateKeyFile /etc/apache2/ssl/server.key SSLCACertificateFile /etc/apache2/ssl/ca.crt

#Memerlukan Client Certificate dan Kombinasi #Username - Password<Directory /var/www/sangatrahasia/ > AuthType Basic AuthName "Area Sangat Rahasia" AuthPAM_Enabled On Require group pegawai SSLVerifyClient require

SSLVerifyDepth 1

</Directory> </VirtualHost>

107

Page 115: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Penggunaan Client Certificate pada Browser

Gambar 16 - Manajemen SSL Certificate Browser Firefox

108

Page 116: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

Gambar 17 - Import SSL Certificate Browser Firefox

109

Page 117: 20090528 d Dokumentasi Integrasi Keamanan Sistem Informasi

REFERENSI

1. Pluggable Authentication Modules – Wikipedia, the

free encyclopedia.

http://en.wikipedia.org/wiki/Pluggable_Authenticati

on_Modules

2. Name Service Switch – Wikipedia, the free

encyclopedia.

http://en.wikipedia.org/wiki/Name_Service_Switch

3. Linux – PAM.

http://www.kernel.org/pub/linux/libs/pam/.

4. Emery, Van. Van's Apache SSL/TLS mini-HOWTO .

11 November 2006.

http://www.vanemery.com/Linux/Apache/openSSL.

html

110