20090528 d dokumentasi integrasi keamanan sistem informasi
TRANSCRIPT
i
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
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
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
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
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
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
1
Arsitektur Sistem Keamanan Informasi Terintegrasi
2
Gambar 1 - Arsitektur Keamanan Sistem Informasi Terintegrasi
3
SECURE SOCKET LAYER
4
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
• 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
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
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
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
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
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
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
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
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
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
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
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
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
19
LDAP IDENTITY MANAGER
20
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
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
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
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
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
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
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
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
Gambar 7 - Pilihan LDAP Database Backend
29
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
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
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
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
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
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
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
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
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
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
40
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
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
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
44
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
Gambar 11 - Tampilan PHP LDAP Admin
46
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
48
AUTHENTICATION SYSTEM
49
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
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
52
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
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
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
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
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
untuk menyimpan informasi tentang group – group
pengguna.
58
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
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
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
shadow adalah attribut konfigurasi NSSwitch yang
berfungsi untuk memberikan informasi urutan layanan –
layanan yang dapat digunakan untuk melakukan
pencarian data password.
62
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
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
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
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
7. Linux – PAM.
http://www.kernel.org/pub/linux/libs/pam/.
67
DOMAIN CONTROLLER
68
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
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
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
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
local master adalah attribut samba yang berfungsi
untuk memberikan informasi apakah server samba
tersebut akan menjadi domain controller bagi dirinya
sendiri atau tidak.
73
## 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
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
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
[homes] adalah konfigurasi yang berfungsi untuk
mengatur tentang file sharing masing – masing direktori
user.
77
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
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
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
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
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
program pelengkap yang akan digunakan pada saat
menghapus user pengguna samba.
83
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
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
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
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
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
89
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
Gambar 14 - Tampilan Penggantian Nama Komputer
91
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
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
SECURE APPLICATION SERVER
94
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
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
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
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
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
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
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
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
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
common-account merupakan file konfigurasi PAM yang
berfungsi untuk mengatur penggunakan account user
secara umum.
104
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
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
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
Penggunaan Client Certificate pada Browser
Gambar 16 - Manajemen SSL Certificate Browser Firefox
108
Gambar 17 - Import SSL Certificate Browser Firefox
109
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