• Tidak ada hasil yang ditemukan

4. DISAIN DAN IMPLEMENTASI

4.4. Konfigurasi GT

Secara umum, konfigurasi paket GT dapat dibagi dalam beberapa tahap. Berikut adalah tahap-tahap yang dilakukan di server1 dan server2.

a. Persiapan Awal. Konfigurasi dimulai dengan menyiapkan kebutuhan perangkat lunak pendukung yang dibutuhkan oleh GT. Perangkat lunak pendukung tersebut diantaranya adalah kompilator gcc, pustaka Java dan

ant, serta memastikan PATH untuk perangkat lunak pendukung serta konfigurasi GT dalam sistem operasi. Untuk shell BASH, PATH diset dengan perintah berikut.

# export JAVA_HOME=/usr/local/jdk1.5.0.8 # export ANT_HOME=/usr/local/ant1.6.5 # export GLOBUS_LOCATION=/opt/gt-4.0.2

Selain itu, perlu dibuat pengguna dalam sistem operasi dengan nama globus

yang akan mengelola sertifikat host dan pengguna. Konfigurasi dilakukan oleh globus, karena itu PATH untuk paket GT juga diset sebagai miliknya. Selanjutnya adalah variabel HOSTNAME diset pada masing- masing server. Karena asumsi yang digunakan dalam penelitian ini adalah terdapat dua domain yang akan digabungkan dalam sebuah VO, pada setiap server juga dijalankan layanan Domain Name Server (DNS). Dalam penelitian ini, variabel localhost.localdomain masing- masing diset menjadi

server1.mammoth.org dengan IP 25.20.5.31 dan server2.anaconda.org

dengan IP 195.20.5.31. Dalam penelitian ini, mesin server1 dan server2

menggunakan sistem operasi Fedora Core 4. Langkah konfigurasi paket GT berikut ini dilakukan pada kedua server, tetapi yang ditampilkan hanya pesan dari server1 karena alasan kesamaan. Opsi hostname juga disesuaikan dengan server yang digunakan.

b. Membangun paket GT. Proses konfigurasi kemudian dapat dilajutkan dengan membangun paket GT. Dalam hal ini, paket GT yang digunakan telah di-precompiled untuk sistem operasi Fedora Core 4 agar dapat diimplementasikan lebih cepat. Langkah- langkah yang dijalankan dalam mambangun paket GT adalah sebagai berikut.

$ ./configure –prefix=$GLOBUS_LOCATION $ make

$ make install.

c. Konfigurasi fasilitas kemanan. Konfigurasi fasilitas keamanan berupa simpleCA sebagai Certificate Authority (CA) yang telah dikemas dalam paket GT untuk tujuan uji coba. Konfigurasi simpleCA dilakukan oleh pengguna dengan ID globus dengan perintah

$GLOBUS_LOCATION/setup/globus/setup-simple-ca

Perintah tersebut akan memaketkan distribusi simpleCA sebagai berkas

~globus/.globus/simpleCA//globus_simple_ca_cert_hash_setup-x.xx.tar.gz. Paket inilah yang nantinya saling dipertukarkan untuk membuat simpleCA baru di masing- masing server agar keduanya dapat

saling percaya (otentikasi bersama). Paket simpleCA kemudian disimpan di direktori ~globus/.globus/simpleCA.

Langkah selanjutnya adalah membuat kedua server percaya pada CA yang baru saja dikonfigurasi. Tahap ini dilakukan oleh pengguna dengan ID root

menggunakan perintah berikut.

# $GLOBUS_LOCATION/setup/globus_simple_hash_setup/setupgsi -default

Opsi -default digunakan untuk simpleCA yang pertama kali dikonfigurasi sebagai CA yang utama untuk mesin yang bersangkutan.

Proses dilanjutkan dengan meminta sertifikat untuk host dan pengguna ke CA dengan perintah

# $GLOBUS_LOCATION/bin/grid-cert-request -host server1.mammoth.org

Opsi host digunakan untuk meminta sertifikat host, sedangkan sertifikat untuk pengguna dilakukan oleh pengguna itu sendiri. Untuk host, sertifikat ada diletakkan di direktori /etc/grid-security/certificates. Perintah

grid-cert-request kemudian menghasilkan tiga berkas di direktori

/etc/grid-security masing hostcert_request.pem, hostcert.pem

yang masih kosong, dan hostkey.pem. Sertifikat tersebut kemudian perlu ditandatangani. Berikut adalah proses menandatangani sertifikat oleh

globus. Opsi –in menunjukkan asal berkas permintaan tanda tangan, sedangkan opsi –out menunjukkan berkas sertifikat yang telah ditandatangani.

$GLOBUS_LOCATION/bin/grid-ca-sign -in /etc/grid-security/hostcert_request.pem -out hostsigned1.pem

To sign the request

please enter the kata sandi for the CA key: The new signed certificate is at:

/home/globus/.globus/simpleCA//newcerts/01.pem

Perintah tersebut menunjukkan permintaan tanda tangan diberikan melalui berkas hostcert_request, sedangkan sertifikat yang telah ditandatangani disimpan dalam berkas hostsigned1. Sertifikat tersebut juga disimpan oleh

simpleCA dalam berkas ~globus/.globus/simpleCA//newcerts/01.pem. Penamaan 01.pem disebabkan karena berkas sertifikat host adalah sertifikat yang pertama kali ditandatangani simpleCA. Sertifikat yang ditandatangani kemudian akan diberi nama 02.pem, 03.pem, dan seterusnya. Selanjutnya,

hostsigned1.pem akan menggantikan berkas /etc/grid-security/hostcert.pem yang sebelumnya masih kosong.

Sertifikat host akan dimiliki oleh root dan akan digunakan oleh layanan seperti globus-gridftp-server. Akan tetapi, tidak semua layanan dan kontainer yang dijalankan dari root. Karenanya, perlu dibuat salinan dari sertifikat host bagi kontainer yang akan menjalankan layanan globus. Hal ini dilakukan dengan menyalin berkas hostcert.pem dan hostkey.pem

masing- masing menjadi containercert.pem dan containerkey.pem yang dimiliki pengguna dengan ID globus.

# cp hostcert.pem containercert.pem # cp hostkey.pem containerkey.pem # chown globus:globus container*.pem

Setelah permintaan sertifikasi host, proses dilanjutkan dengan permintaan sertifikasi oleh pengguna. Dalam hal ini, server1 menggunakan adhy, sedangkan server2 menggunakan arya sebaga i pengguna. Permintaan sertifikasi tersebut dilakukan dengan perintah berikut

$GLOBUS_LOCATION/bin/grid-cert-request

Perintah tersebut akan menghasilkan berkas sertifikat bagi pengguna yang disimpan di direktori ~username/.globus. Sama seperti host, pengguna juga perlu meminta tanda tangan dari simpleCA untuk sertifikatnya. Dengan otoritas globus, sertifikat pengguna ditandatagani dengan perintah berikut.

$GLOBUS_LOCATION/bin/grid-ca-sign -in ~username/.globus/ usercert_request.pem -out usersigned.pem

Sertifikat yang baru saja ditandatangani, disimpan sebagai

Selain itu, sertifikat pengguna yang telah ditandatangani akan menggantikan berkas sertifikat yang sebelumnya masih kosong. Kemudian, perlu dibuat berkas grid-mapfile untuk keperluan otorisasi. Berkas teks ini berisi variabel DN (Distinguished Name) bagi pengguna bersertifikat. Berkas tersebut diisi dengan DN seperti contoh pada server1 berikut.

"/O=Grid/OU=GlobusTest/OU=simpleCA-server1.mammoth.org/ OU=mammoth.org/CN=Arya Adhyaksa Waskita" adhy

d. Mengkonfigurasi GridFTP. GridFTP dikonfigurasi menggunakan berkas yang diberi nama /etc/xinetd.d/gridftp. Berkas ini bertujuan untuk mengkonfigurasi server untuk layanan gridftp. Sebelumnya paket,

xinetd-2.3.13-6.i386.rpm harus terlebih dahulu dikonfigurasi di kedua server. Paket tersebut bertujuan untuk mengkombinasikan fitur daemon

tcpd dan inetd ke dalam satu paket. Berkas tersebut dijelaskan dalam Lampiran 1. Karena ada tambahan konfigurasi layanan yang akan dijalankan dalam server, layanan xinetd perlu di-reload. Setelah itu, perlu ditambahkan baris gsiftp 2811/tcp ke baris terakhir dari berkas

/etc/services. Baris ini bertujuan untuk mengkonfigurasi port untuk layanan gridftp dengan port 2811.

Selanjutnya, untuk menguji konfigurasi GridFTP, dilakukan dengan menyalin berkas menggunakan layanan gridftp. Pengujian dilakukan oleh pengguna bersertifikat dengan tahapan sebagai berikut.

$ grid-proxy-init -verify -debug Files used:

proxy : /tmp/x509up_u1000

user key : /home/arya/.globus/userkey.pem user cert : /home/arya/.globus/usercert.pem Your identity: O=Grid,OU=GlobusTest,OU=simpleCA-server1.mammoth.org,OU=mammoth.org,CN=Arya Adhyaksa Waskita

Enter GRID pass phrase for this identity: Using 512 bits for private key

Creating proxy, please wait... Proxy verify OK

Saving proxy to: /tmp/x509up_u500

Your proxy is valid until Sat May 19 10:45:01 WIT 2007

$ globus-url-copy

gsiftp://server1.mammoth.org/etc/group file:///tmp/arya.copy.group

Langkah pertama, berkas proxy credential untuk pengguna disimpan sebagai /tmp/x509up_uxxx, dengan ‘xxx’ adalah nomor identitas pengguna sistem operasi. Jika perintah diff tidak menemukan perbedaan antara berkas asal dengan berkas tujuan, maka disimpulkan bahwa proses layanan gridftp telah berjalan baik.

e. Mengkonfigurasi layanan RFT. Untuk mengkonfigurasi RFT, pengguna dengan ID globus perlu menjalankan langkah-langkah berikut.

Dari modus globus, dibuat basis data dengan nama rftDatabase.

$ /usr/local/pgsql/bin/createdb rftDatabase

Memasukkan konfigurasi layanan RFT yang disimpan dalam berkas

$GLOBUS_LOCATION/share/globus_wsrf_rft/rft_schema.sql ke dalam basis data rftDatabase.

$ /usr/local/pgsql/bin/psql rftDatabase -f $

GLOBUS_LOCATION/ share/globus_wsrf_rft/rft_schema.sql

Memasukkan kata sandi globus pada sub elemen password name dalam berkas $GLOBUS_LOCATION/etc/globus_wsrf_rft/jndi-config.xml

pindah ke modus postgres, su – postgres

menambahkan baris: host rftDatabase "globus" "25.20.5.31/8" trust pada berkas ~postgres/data/pg_hba.conf .

f. Mengkonfigurasi kontainer GT

Kontainer GT akan dijalankan menggunakan berkas yang disimpan di

$GLOBUS_LOCATION/start-stop dan isinya diberikan dalam Lampiran 2. Dari berkas tersebut, dijelaskan bahwa kontainer GT akan dijalankan dengan perintah $GLOBUS_LOCATION/sbin/globus-start-container-detached -p 8443. Sedangkan untuk menghentikannya digunakan perintah $GLOBUS_LOCATION/sbin/globus-stop-container-detached. Sedangkan untuk menjalankan berkas tersebut, digunakan berkas yang disimpan di /etc/init.d/globus-4.0.2. Berkas tersebut memberikan tiga opsi operasi pada container GT, masing- masing adalah start, stop, dan

Untuk menjalankan berbagai layanan pada kontainer GT, digunakan perintah /etc/init.d/globus-4.0.2 start

Layanan yang telah dijalankan, disimpan dalam berkas /opt/globus-4.0.2/var/container.log. Jika berhasil, berkas tersebut akan berisi pesan seperti di bawah ini.

2007-05-05 03:35:32,522 INFO exec.RunQueue

[main,initialize:68] Starting state machine with 18 run queues.

2007-05-05 03:36:19,186 INFO

impl.DefaultIndexService [ServiceThread-9,processConfigFile:107] Reading default

registration configuration from file: /opt/globus-4.0.2/etc/globus_wsrf_mds_index /hierarchy.xml Starting SOAP server at:

https://25.20.5.31:8443/wsrf/services/ With the following services:

[1]: https://25.20.5.31:8443/wsrf/services/TriggerFactor yService [2]: https://25.20.5.31:8443/wsrf/services/DelegationTes tService [3]: https://25.20.5.31:8443/wsrf/services/SecureCounter Service [4]: https://25.20.5.31:8443/wsrf/services/IndexServiceE ntry [5]: https://25.20.5.31:8443/wsrf/services/DelegationSer vice ...

Sebelumnya, telah dikonfigurasi layanan RFT. Tetapi, karena kontainer GT belum dapat diaktifkan, layanan tersebut belum dapat diuji. Setelah kontainer GT dapat dijalankan, kita dapat menguji layanan RFT. Pengujian dilakukan dengan menggunakan berkas uji coba yang disertakan dalam distribusi GT. Berkas tersebut terletak di /opt/globus-4.0.2/share/globus_wsrf_rft_test/ transfer.xfr. Berkas tersebut kemudian disalin (ke dalam /tmp/rft.xfr) untuk kemudian dimodifikasi sesuai keadaan server. Modifikasi dilakukan pada dua baris terakhir dengan dua baris berikut berikut.

gsiftp://server1.mammoth.org:2811/etc/group

gsiftp://server1.mammoth.org:2811/tmp/rftTest_Done. tmp

Maksud berkas tersebut adalah menyalin berkas /etc/group (baris ke-1) ke berkas /tmp/rftTest_Done.tmp (baris ke-2) menggunakan layanan RFT. Layanan RFT kemudian dipanggil dengan perintah berikut.

$ rft -h server1.mammoth.org -f /tmp/rft.xfr Number of transfers in this request: 1

Subscribed for overall status

Termination time to set: 60 minutes Overall status of transfer:

Finished/Active/Failed/Retrying/Pending 0/1/0/0/0

Overall status of transfer:

Finished/Active/Failed/Retrying/Pending 1/0/0/0/0

All Transfers are completed

Hasil tersebut menunjukkan bahwa layanan RFT telah dapat digunakan.

g. Mengkonfigurasi WS GRAM.

Beberapa layanan dalam GT membutuhkan 'sudo' untuk mengeksekusi proses dari pengguna yang meminta layanan tersebut. Untuk itu, berkas

/etc/sudoers perlu dikonfigurasi dengan menambahkan baris berikut. Tetapi, sebelumnya berkas tersebut perlu ditambahkan opsi writeable untuk sementara agar dapat dimodifikasi.

globus ALL=(arya) NOPASSWD: /opt/globus-4.0.2/libexec/globus-gridmap-and-execute -g /etc/grid-security/grid-mapfile /opt/globus-4.0.2/libexec/globus-job-manager-script.pl * globus ALL=(arya) NOPASSWD: /opt/globus-4.0.2/libexec/globus-gridmap-and-execute -g /etc/grid-security/grid-mapfile /opt/globus-4.0.2/libexec/globus-gram-local-proxy-tool *

Informasi yang ditambahkan adalah identititas pengguna yang akan meminta layanan. Dengan demikian, pengguna tersebut tidak perlu memasukkan kata sandinya, ketika layanan yang diminta harus didelegasikan ke sumber daya yang lain.

h. Konfigurasi simpleCA yang saling percaya.

Setelah server1 dan server2 dikonfigurasi, langkah selanjutnya adalah mempertukarkan paket distribusi simpleCA (~globus/.globus/simpleCA/ globus_simple_ca_cert_hash_setup-x.xx.tar.gz) masing- masing server untuk kemudian diinstal sebagi CA tambahan. Dengan cara ini, kedua server dapat saling percaya karena.

Paket simpleCA untuk server1 dan server2 masing adalah

globus_simple_ca_9f408d32_setup-0.19.tar.gz dan

globus_simple_ca_eebc609f_setup-0.19.tar.gz. Dalam penelitian ini, keduanya dipertukarkan menggunakan fasilitas pertukaran berkas dengan

samba.

Berikut adalah cara mengkonfigurasi paket simpleCA tambahan untuk kepentingan saling percaya. Contoh diberikan untuk kasus server1.

Konfigurasi paket simpleCA

[globus@server1 ~]$ /opt/globus-4.0.2/sbin/gpt-build /media/samba/

globus_simple_ca_eebc609f_setup-0.19.tar.gz gpt-build ====> CHECKING BUILD DEPENDENCIES FOR globus_simple_ca _eebc609f_setup gpt-build ====> Changing to /home/globus/BUILD/globus_simple_ca _eebc609f_setup-0.19/ gpt-build ====> BUILDING globus_simple_ca_eebc609f_setup

gpt-build ====> Changing to /home/globus/BUILD gpt-build ====> REMOVING empty package

globus_simple_ca _eebc609f_setup-noflavor-data gpt-build ==Times New Roman==> REMOVING empty package globus_simple_ca _eebc609f_setup-noflavor-dev

gpt-build ====> REMOVING empty package

globus_simple_ca _eebc609f_setup-noflavor-doc gpt-build ====> REMOVING empty package

globus_simple_ca _eebc609f_setup-noflavor-pgm_static

gpt-build ====> REMOVING empty package

globus_simple_ca _eebc609f_setup-noflavor-rtl

Konfigurasi SSL

$ /opt/globus-4.0.2/sbin/gpt-postinstall

running 4.0.2/setup/globus/./setup-ssl-utils.eebc609f..[ Changing to /opt/globus-4.0.2/setup/globus/. ]

setup-ssl-utils: Configuring ssl-utils package Running setup-ssl-utils-sh-scripts...

... setup-ssl-utils: Complete ..Done Konfigurasi GSI # /opt/globus-4.0.2/setup/globus_simple_ca _eebc609f_setup/setup-gsi

setup-gsi: Configuring GSI security

Installing /etc/grid-security/certificates//grid-security.conf.eebc609f...

Running grid-security-config...

Installing Globus CA certificate into trusted CA certificate directory...

Installing Globus CA signing policy into trusted CA certificate directory...

...

setup-gsi: Complete

Menampilkan daftar CA yang telah dikenal

# grid-default-ca -list

The available CA configurations installed on this host are: Directory: /etc/grid-security/certificates 1) 9f408d32 - /O=Grid/OU=GlobusTest/OU=simpleCA-server1.mammoth.org/CN=Globus Simple CA 2) eebc609f - /O=Grid/OU=GlobusTest/OU=simpleCA-server2.anaconda.org/CN=Globus Simple CA

The default CA is:

/O=Grid/OU=GlobusTest/OU=simpleCA-server1.mammoth.org/CN=Globus Simple CA Location:

/etc/grid-security/certificates/9f408d32.0

Dari perintah terakhir, terlihat bahwa telah terdapat dua simpleCA yang dikenal oleh server1. Kejadian yang sama juga terdapat pada server2. Perbedaanya adalah simpleCA utama pada masing- masing server.

Selanjutnya, sertifikat dari kedua host dan pengguna juga dipertukarkan. Berikut adalah contoh proses untuk menandatangani sertifikat pengguna dan host dari server2 oleh server1. Tahap ini dilanjutkan juga pada server2.

$ grid-ca-sign -in /media/samba/hostcert_ request.pem -out hostsigned2.pem

To sign the request

please enter the password for the CA key: The new signed certificate is at:

/home/globus/.globus/ simpleCA//newcerts/03.pem $ grid-ca-sign -in /media/samba/usercert

To sign the request

please enter the password for the CA key: The new signed certificate is at:

/home/globus/.globus/ simpleCA//newcerts/04.pem

Dari proses di atas, sertifikat host dan pengguna dari server2, disimpan

dalam berkas 03.pem dan 04.pem di direktori

~globus/.globus/simpleCA/newcerts. Selanjutnya, isi berkas grid-mapfile juga dipertukarkan. Untuk kasus ini, kedua berkas grid-mapfile

dari dua server tersebut memiliki isi yang sama.

Dokumen terkait