Globus Tookit (1) – Cài đặt và cấu hình SimpleCA


Xem thêm:
Cài đặt Globus Toolkit 5.2.0 trên CentOS 6.2
Globus Tookit (1) – Cài đặt và cấu hình SimpleCA
Globus Tookit (2) – Cấu hình bảo mật cơ bản
Thực hành Globus Toolkit (a-z)

———————-

Lưu ý: các bước trong bài này được thực hiện với bản Globus Tookit 4.2.1 cài trên Fedora 10. Bản GT 5.x về sau có sự khác biệt trong cách cấu hình các thành phần. Nếu có thắc mắc liên quan tới bản 5.x, vui lòng ghé đây tham khảo:
http://www.globus.org/toolkit/docs/

0.     Chuẩn bị

— Đặt tên cho node chính và các node phụ theo dạng FQDN, ví dụ: thang.uit.vn (chính), thanh.uit.vn (phụ)
— Đặt IP cùng subnet cho tất các các node
— Chỉnh file /etc/hosts để tất cả các node có thể liên lạc bằng domain name
—————————-

A)    Thiết lập các biến môi trường

Thực hiện trên tất cả các node các bước sau:

+ login với root

+ mở file /etc/profile và thêm vào cuối file 2 dòng sau:

export GLOBUS_LOCATION=/usr/local/globus-5.2.0
export PATH=$PATH:$GLOBUS_LOCATION/bin:$GLOBUS_LOCATION/sbin

+ đóng file /etc/profile và chạy lệnh
# . /etc/profile

+ sau đó chạy lệnh:

# . $GLOBUS_LOCATION/etc/globus-user-env.sh

—————————-

B)    Xây dựng CA

1.      Cài SimpleCA trên node chính

Lưu ý: nếu áp dụng hướng dẫn này cho bản Globus Toolkit 4.x.x thì bỏ qua việc cài module perl-Digest-MD5. Nếu đã lỡ cài module này rồi thì gỡ bỏ nó bằng lệnh:

# rpm -e perl-Digest-MD5

1.1    Login vào node chính với account globus và chạy:

$ $GLOBUS_LOCATION/setup/globus/setup-simple-ca
———————-
— Do you want to keep this as the CA subject (y/n) [y]: y
— Enter the email of the CA (this is the email where certificate requests will be sent to be signed by the CA):
manthang90@gmail.com
— Enter the number of DAYS the CA certificate should last before it expires [default: 5 years (1825 days)]:
[nhấn Enter]
— Enter PEM pass phrase: thang90 (là password bảo vệ private key của CA)
———————–
+ Các file quan trọng được tự động tạo ra:
— private key của CA:
/home/globus/.globus/simpleCA/private/cakey.pem
— public certificate của CA:
/home/globus/.globus/simpleCA/cacert.pem
— distribution package mà các node phụ sẽ cần cài khi muốn nhận certificate từ CA:
/home/globus/.globus/simpleCA/globus_simple_ca_e6f93dcf_setup-0.20.tar.gz

(Lưu ý, chuỗi e6f93dcf là giá trị hash của certificate của CA nên SẼ KHÁC VỚI MÁY CỦA BẠN).

————————-
Và copy lại phần Note đường dẫn tới script cấu hình cho GSI có dạng như sau:
/usr/local/globus-4.2.1/setup/globus_simple_ca_e6f93dcf_setup/setup-gsi
————————-

2.2.    Login với root và chạy:

# $GLOBUS_LOCATION/setup/globus_simple_ca_e6f93dcf_setup/setup-gsi -default

——output—–
setup-gsi: Configuring GSI security
Installing /etc/grid-security/certificates//grid-security.conf.CA_Hash…
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
——————–

3.      Cấu hình tại các node phụ để nhận node chính làm CA

3.1    Thực hiện giống nhau tại các node phụ

+ login với globus và copy distribution package từ node chính (ở đây là file globus_simple_ca_e6f93dcf_setup-0.20.tar.gz) về.
sau đó chạy lần lượt chạy 2 lệnh:

$ gpt-build globus_simple_ca_e6f93dcf_setup-0.20.tar.gz gcc32dbg
$ gpt-postinstall

+ login với root và chạy:
# $GLOBUS_LOCATION/setup/globus_simple_ca_e6f93dcf_setup/setup-gsi -default

3.2    Tạo Host certificate cho từng node phụ
(vd ở đây thực hiện mẫu tại node phụ là thanh.uit.vn)

+ login với root là chạy:
# grid-cert-request -host thanh.uit.vn
—————
Sẽ có 3 file được tạo ra là
— private key của node phụ: /etc/grid-security/hostkey.pem
— request của node phụ: /etc/grid-security/hostcert_request.pem
— certificate của node phụ: /etc/grid-security/hostcert.pem (file rỗng)
—————

+ copy file hostcert_request.pem vào máy CA (là node chính)

+ tại máy CA, login với globus và chạy lệnh sau để ký vào host request cert của node phụ:
$ grid-ca-sign -in hostcert_request.pem -out hostsigned.pem

—————–
To sign the request please enter the password for the CA key:
(nhập vào PEM pass phrase đã đặt ở bước 2.1, ở đây là thang90)
……
The new signed certificate is at: /home/globus/.globus/simpleCA//newcerts/01.pem
—————–

+ copy file cert đã được ký (hostsigned.pem) ở trên qua node phụ

+ move file hostsigned.pem vào folder /etc/grid-security và ghi đè lên file cert rỗng

(quyền user root) # mv hostsigned.pem /etc/grid-security/hostcert.pem

3.3.    Tạo User certificate cho từng node phụ
(vd ở đây thực hiện mẫu tại node phụ là thanh.uit.vn)

+ login với root và tạo một normal user mới là thanh
+ login với user thanh và chạy:

$ grid-cert-request
————————
Enter your name, e.g., John Smith: Thanh Nguyen
(nhập username sở hữu cert, ở đây là Thanh Nguyen)
…..
Enter PEM pass phrase: thanh90
Verifying – Enter PEM pass phrase: thanh90
(nhập password bảo vệ cho private key của user thanh, ở đây là thanh90)
…..
Sẽ có 3 file sau được tạo ra trong folder home của thanh
———-
/home/thanh/.globus/usercert.pem (file rỗng)
/home/thanh/.globus/userkey.pem
/home/thanh/.globus/usercert_request.pem
———-

+ copy file usercert_request.pem vào máy CA

+ tại máy CA, login với globus và chạy lệnh sau để ký vào user request cert của node phụ:
$ grid-ca-sign -in usercert_request.pem -out usersigned.pem

—————–
To sign the request please enter the password for the CA key:
(nhập vào PEM pass phrase đã đặt ở bước 2.1, ở đây là thang90)
……
The new signed certificate is at: /home/globus/.globus/simpleCA//newcerts/02.pem
—————–

+ copy file cert đã được ký (usersigned.pem) ở trên qua node phụ

+ move file usersigned.pem vào folder /home/thanh/.globus/ và ghi đè lên file cert rỗng

(quyền user thanh) $ mv usersigned.pem /home/thanh/.globus/usercert.pem

+ Để kiểm tra user thanh đã được chứng thực, login với user thanh và chạy:

$ grid-proxy-init -debug -verify
—————-
…..
Enter GRID pass phrase for this identity: thanh90
(nhập vào password nhận dạng, ở đây là thanh90)
…..
Creating proxy ….++++++++++++
……++++++++++++
Done
Proxy Verify OK
—————

–manthang

34 comments

  1. Bạn ơi, cho mình hỏi các node phụ và chính có cần phiên bản Linux giống nhau hay không? Có cần Globus, jdk, ant,… giống nhau hay không?

      1. Mình hiểu rồi. Nhưng mình có 1 vấn đề đó là cái lap làm node phụ của mình, ram nó có 1gb. Mà CentOS 6 chạy trên VMware lại recommend đến 1GB, mình định chạy cái Linux nhẹ hơn như Cent5 hay là Fedora 10 như thầy hướng dẫn cùng với version khác của Globus thì có kết nối đến CA được không?

      2. Bạn đang làm GT 5.2.0 trên CentOS 6.2 phải không?
        Coi lại phần đính chính mình mới bổ sung ở đầu bài này:
        https://manthang.wordpress.com/2012/04/12/cai-dat-globus-toolkit-tren-centos/

        Mình đã cài đặt và đang cấu hình bản GT 4.2.1 trên Fedora 10, nên có thể có một số chỗ khác biệt với bản GT 5.2.0 mà mình không nắm chắc được. Mình cũng không rõ là liệu các bản GT 5.x có làm việc tốt với các bản GT 4.x hay không.

        Về vấn đề RAM thì bạn nên cài CentOS 6.2 với số lượng gói phần mềm tối thiểu nhất và không chọn GUI thì máy ảo có 300-400 RAM chạy cũng OK rồi. Nếu còn e ngại thì cứ cài GT 5.x trên các bản Linux cũ như Fedora 10, CentOS 5.x, không sao cả.

  2. Bạn ơi, bạn có thể hướng dẫn rõ chỗ này một chút được không. Mình làm nhóm 3 người – 3 lap, gồm CA và 2 Node phụ. IP cho các node lần lượt là: 192.168.1.1/24->1.3/24


    — Đặt tên cho node chính và các node phụ theo dạng FQDN, ví dụ: thang.uit.vn (chính), thanh.uit.vn (phụ)
    — Đặt IP cùng subnet cho tất các các node
    — Chỉnh file /etc/hosts để tất cả các node có thể liên lạc bằng domain name

    Cảm ơn bạn rất nhiều.

    1. ++ Để chỉnh hostname, mở file /etc/sysconfig/network và sửa dòng
      HOSTNAME=

      ++ Để chỉnh IP, mở file /etc/sysconfig/network-scripts/ifcfg-eth0 và làm theo hướng dẫn như bài này:
      https://manthang.wordpress.com/2010/11/26/cau-hinh-ip-cho-card-mang-trong-linux/

      ++ file /etc/hosts trong Linux có tác dụng như file hosts trong Windows (mà ngta hay chỉnh nó để vào Facebook) đó.
      cú pháp trong file này giống với file hosts trong Windows.

      1. Nếu minh connect giữa các máy ảo trên 2 máy thì khi connect bằng cable thì mình sẽ chọn chế độ Host-only hay Bridge. Mình đọc tài liệu cách tạo mạng LAN giữa các máy ảo trên các lap khác nhau mà không thực hiện được.

        Bạn giúp mình chút nhé. Cảm ơn bạn.

  3. chào bạn cho mình hởi cài ở bước này với như thế này đúng không sao nó không chạy vậy bạn
    [globus@localhost ~]$ $GLOBUS_LOCATION/setup/globus/setup-simple-ca
    bash: /usr/local/globus-5.2/setup/globus/setup-simple-ca: No such file or directory
    nó không chạy được bạn xem thử mình ở thư mục góc [globus@localhost ~] đúng không vây. mong bạn trả lời sớm cho mình. cảm ơn bạn nhiều

    1. bạn coi lại xem đã làm đúng như ở phần A) chưa?

      A) Thiết lập các biến môi trường

      Thực hiện trên tất cả các node các bước sau:

      + login với root

      + mở file /etc/profile và thêm vào cuối file 2 dòng sau:

      export GLOBUS_LOCATION=/usr/local/globus-5.2.0 export PATH=$PATH:$GLOBUS_LOCATION/bin:$GLOBUS_LOCATION/sbin

      + đóng file /etc/profile và chạy lệnh # . /etc/profile

      để kiểm tra, gõ lệnh # echo $GLOBUS_LOCATION

      nếu output là /usr/local/globus-5.2.0 thì OK.

      1. Mình cũng bị lỗi giống vậy. Mình vào xem thì không thấy có thư mục /usr/local/globus-5.2/setup/globus/
        Không biết thư mục đó ở đâu nữa.

      2. Minh thu cai roi nhung ma luc CA no chi den buoc xac dinh so ngay, enter xong la no ko de minh dien key xac thuc. Chac chuyen qua cai GT 4.2.0 tren Fe 10 qua. Thang test thu GT 4.2.0 tren Fe 10 ok chu..

  4. Bạn xem thử cái lỗi mình mắc phải là cái gì vậy(Bước 3.1): ls: cannot access /root/globus_simple_ca_5c225ddd_setup-0.20.tar.gz: No such file or directory

    Can’t locate object method “initialize” via package “Pod::Usage” at /usr/local/globus-4.2.1/lib/perl/Pod/Usage.pm line 531, line 79.

    và mình dùng WinSCP copy file đó vào mấy host cũng chạy không được

  5. Thắng cấu hình xong cái GridFTP xong chưa, post lên cho anh em tham khảo với, Thành cài GridFTP mà lỗi từa lưa, cũng đang xài Fedora10, gt4.2.1 .

  6. + login với globus và copy distribution package từ node chính (ở đây là file globus_simple_ca_e6f93dcf_setup-0.20.tar.gz) về. Sao mình theo đường dẫn usr/local/globus-4.2.1/setup mà mình không tìm thấy file đó vậy Thang. Help me với.

    1. à mình thấy thư mục đó trong node chính rồi. Nhưng làm sao để copy distribution package được vậy? mình không biết làm thế nào. :(

      1. dùng máy thật làm trung gian:
        — copy file .tar.gz đó từ node chính vào máy thật.
        — copy nó từ máy thật sang node phụ.

    2. copy cái gói package vào thư mục nào trong node phụ rồi chạy 2 câu lệnh này vậy bạn?
      $ gpt-build globus_simple_ca_e6f93dcf_setup-0.20.tar.gz gcc32dbg
      $ gpt-postinstall

    3. /home/globus/.globus/simpleCA/globus_simple_ca_e6f93dcf_setup-0.20.tar.gz – cái này là đường dẫn của Package lúc chạy tại node chính, nhưng mình vào thư mục globus thì chẳng thấy thư mục .globus ở đâu. thấy có thư mục BUILD, trong đó thì có folder mang tên đó chứ không có file tar.gz :(

      1. cậu nên học lại kiến thức cơ bản về Linux đi thôi.
        file/folder có dấu chấm ở đầu là luôn là file/folder ẩn.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s