Tải bản đầy đủ (.pdf) (46 trang)

Chuyên đề SCNA xây dựng mạng tin cậy

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.48 MB, 46 trang )


Chuyên đề SCNA
Xây Dựng Mạng Tin Cậy
Building Trusted Networks



Mẫn Thắng |




HCM, 05/2012


Trong chuyên đề này, chúng ta sẽ được ôn lại và vận dụng kiến thức của nhiều chuyên đề
trước của khóa học SCNA trong việc xây dựng và triển khai một mạng tin cậy.
Ta cũng đi qua các bước cài đặt và cấu hình hai mạng nhỏ Windows và Linux có sử dụng
chứng chỉ số để đảm bảo an toàn cho các phiên truyền thông như duyệt web, gửi email.


Mẫn Thắng |

Building Trusted Networks
1
Mục lục
Danh sách hình _______________________________________________________________________ 2
Danh sách bảng_______________________________________________________________________ 3
Lời nói đầu____________________________________________________________________________ 4

1. Giới thiệu về mạng tin cậy ______________________________________________________ 5


1.1 Sự cần thiết của mạng tin cậy ________________________________________________ 5
1.2 Các yêu cầu và thành phần của mạng tin cậy _________________________________ 7
2. Cơ bản về hạ tầng khóa công khai _____________________________________________ 10
1.3 Các thành phần của PKI _____________________________________________________ 10
1.4 Các kiến trúc triển khai PKI __________________________________________________ 11
3. Xây dựng và triển khai một mạng tin cậy _____________________________________ 14
1.5 Mô hình và yêu cầu chuẩn bị ________________________________________________ 14
1.6 Các bước thực hiện _________________________________________________________ 16
1.6.1 Xây dựng Windows Domain ______________________________________________ 16
Bước 1-1: Tạo domain đầu tiên trong một forest mới_____________________________________ 16
Bước 1-2: Cấu hình DNS __________________________________________________________________ 17
Bước 1-3: Cài đặt Enterprise Root CA _____________________________________________________ 18
1.6.2 Cấu hình Enterprise CA ___________________________________________________ 19
Bước 2-1: Cấu hình Enterprise Root CA ___________________________________________________ 19
Bước 2-2: Cấu hình Certificate Template _________________________________________________ 20
Bước 2-3: Chỉnh sửa Default GPO ________________________________________________________ 21
Bước 2-4: Tạo các user trong domain _____________________________________________________ 23
Bước 2-5: Cấu hình đăng nhập với smartcard ____________________________________________ 24
Bước 2-6: Tham gia Domain ______________________________________________________________ 25
Bước 2-7: Cài đặt Enterprise Subordinate CA _____________________________________________ 25
Bước 2-8: Cấu hình Enterprise Subordinate CA ___________________________________________ 26
Bước 2-9: Cài đặt RA ______________________________________________________________________ 28

Mẫn Thắng |

Building Trusted Networks
2
Bước 9-10: Cài đặt IIS và tạo một website ________________________________________________ 29
Bước 2-11: Cấu hình SSL cho website _____________________________________________________ 30
1.6.3 Thiết lập Linux CA ________________________________________________________ 34

Bước 3-1: Cài đặt EJBCA __________________________________________________________________ 34
Bước 3-2: Tạo và cấp chứng chỉ cho máy trạm Linux _____________________________________ 38
1.6.4 Tạo Cross Trust ___________________________________________________________ 40
Bước 4-1: Trusting Linux Root CA _________________________________________________________ 40
Bước 4-2: Trusting Windows Root CA _____________________________________________________ 42
Bước 4-3: Kiểm tra trust___________________________________________________________________ 44
1.6.5 Bảo mật email ____________________________________________________________ 44
Bước 5-1: Cài đặt và cấu hình mail server Mdeamon _____________________________________ 44
Bước 5-2: Cấu hình các email client ______________________________________________________ 45
4. Tổng kết ________________________________________________________________________ 45
5. Tài liệu tham khảo _____________________________________________________________ 45

DANH SÁCH HÌNH
Hình 1 – Các lớp phòng thủ ngoại vi của mạng 5
Hình 2 – Mô hình mạng Extranet điển hình 6
Hình 3 – Kiến trúc Single CA 11
Hình 4 – Kiến trúc Hierarchical PKI 12
Hình 5 – Kiến trúc Mesh PKI 13
Hình 6 – Mô hình triển khai mạng tin cậy 15
Hình 7 – Tạo domain đầu tiên trong một forest mới 17
Hình 8 – Tạo các A record 17
Hình 9 – Cài đặt Enterprise Root CA 18
Hình 10 – Thêm mới các Certificate Template 19
Hình 11 – Thiết lập CRL publication interval 20
Hình 12 – Cấu hình Certificate Template 21
Hình 13 – Chỉnh default GPO để máy tính trong domain tự động xin và nhận chứng chỉ
22

Mẫn Thắng |


Building Trusted Networks
3
Hình 14 – Chỉnh default GPO để tự động khóa máy tính khi người dùng rút smartcard 22
Hình 15 – Tạo các domain user 23
Hình 16 – Thiết lập khi người dùng đăng nhập phải có smartcard 24
Hình 17 – Thực hiện join các máy vào domain 25
Hình 18 – Cài đặt Enterprise Subordinate CA 26
Hình 19 – Cấu hình Enterprise Subordinate CA 27
Hình 20 – Cài đặt RA 28
Hình 21 – Tạo một website 30
Hình 22 – Tạo một file yêu cầu cấp chứng chỉ cho website 31
Hình 23 – Gửi yêu cầu cấp và tải về chứng chỉ cho website 32
Hình 24 – Cài đặt chứng chỉ SSL cho website 32
Hình 25 – Bắt buộc người dùng truy cập webiste qua SSL 33
Hình 26 – Kiểm tra việc truy cập website qua SSL 34
Hình 27 – Cài đặt EJBCA 36
Hình 28 – Import client certificate vào trình duyệt web 37
Hình 29 – Trang chủ quản lý EJBCA sau khi cài đặt xong 37
Hình 30 – Tạo end entity trong EJBCA 38
Hình 31 – Tải về chứng chỉ cho máy trạm Linux 39
Hình 32 – Import chứng chỉ của máy trạm Linux vào trình duyệt web 40
Hình 33 – Tải về máy Windows chứng chỉ của Linux Root CA 41
Hình 34 – Import chứng chỉ của Linux Root CA trong Default GPO 41
Hình 35 – Kiểm tra các máy Windows trong domain đã tin cậy chứng chỉ của Linux Root
CA 42
Hình 36 – Export chứng chỉ của Windows Root CA 43
Hình 37 – Import chứng chỉ của Windows Root CA 43

DANH SÁCH BẢNG
Bảng 1 – Yêu cầu chuẩn bị triển khai 15





Mẫn Thắng |

Building Trusted Networks
4
LỜI NÓI ĐẦU
Đây là chuyên đề cuối cùng trong loạt chuyên đề của giáo trình SCNA, nó là sự
tổng hợp các kiến thức đã được giới thiệu trong các nhóm trước. Nội dung của chuyên
đề này chủ yếu đi thẳng vào việc xây dựng và triển khai một môi trường tin cậy giữa hai
mạng nhỏ là Windows và Linux. Nhưng trước tiên ta cần tìm hiểu lại các khía cạnh của
mạng tin cậy bao gồm: nó là gì? nó có cần thiết không? Các thành phần của nó? Sau đó
kiến thức cơ bản về hạ tầng khóa công khai (PKI) là hệ thống cung cấp các dịch vụ cho
mạng tin cậy cũng sẽ được đề cập. Phần cuối cùng sẽ trình bày các bước cài đặt và cấu
hình một mạng tin cậy dựa trên một mô hình với các yêu cầu cụ thể.

CẢM ƠN
Cố gắng và thành quả này xin dành tới người thân thương nhất, Yel PA.
Cuppy Security, manthang











Mẫn Thắng |

Building Trusted Networks
5
1. GIỚI THIỆU VỀ MẠNG TIN CẬY
1.1 Sự cần thiết của mạng tin cậy
Nhiều năm trước đây và cả bây giờ, vẫn còn nhiều người có khái niệm chưa đầy đủ và
chuẩn xác về an toàn mạng. Họ cho là chỉ cần mua về một sản phẩn firewall nào đó,
thay đổi một vài cấu hình cho nó và coi như mạng của họ đã trở nên an toàn. Nếu tổ
chức của họ quan tâm nhiều hơn đến bảo mật mạng, một hệ thống phát hiện/ngăn
chặn xâm nhập (IDS/IPS) cùng với hệ thống anti-virus sẽ được triển khai thêm.
Các thành phần đó (IDS/IPS, firewall, antivirus) cùng nhau tạo nên một hệ thống bảo vệ
vững chắc cho ngoại vi của mạng. Mặc dù vậy chúng vẫn là chưa đủ để đáp ứng các yêu
cầu kết nối an toàn cho một thế giới mạng phức tạp như ngày nay.

Hình 1 – Các lớp phòng thủ ngoại vi của mạng
An toàn mạng ngày nay có thể được định nghĩa như là việc đảm bảo an toàn (bao gồm
sự bí mật, tính toàn vẹn và độ sẵn sàng) cho các phiên truyền thông trên mạng và bảo
vệ ngoại vi của mạng. Khi mà các mạng bên ngoài thường không đáng tin cậy thì các
công cụ và kỹ thuật trên vẫn rất quan trọng nhưng chúng chỉ có thể giúp kiểm soát,
sàng lọc các lưu lượng mạng vào và ra mạng nội bộ của tổ chức. Dưới đây, chúng ta sẽ
xem xét những thách thức và mục tiêu mà thực tế một doanh nghiệp ngày nay thường
gặp phải để từ đó thấy được việc phòng thủ ngoại vi cho mạng thôi là chưa đủ.
Doanh nghiệp có nhiều khách hàng ở các châu lục, đất nước, vùng miền khác nhau. Mỗi
khách hàng cần có khả năng trao đổi thông tin với doanh nghiệp một cách nhanh nhất
có thể. Một cách để đạt được điều này là cung cấp cho họ một kết nối trực tiếp vào

Mẫn Thắng |


Building Trusted Networks
6
mạng doanh nghiệp. Điều này có nghĩa rằng các khách hàng cũng như các nhà cung
cấp, đối tác cần truy cập tới các thông tin không chỉ ở dạng công khai, như website, mà
còn là các thông tin ở dạng bí mật của doanh nghiệp. Những thông tin bí mật này được
lưu trữ bên trong hệ thống mạng của doanh nghiệp thay vì nằm trên các máy chủ công
cộng như webserver.

Hình 2 – Mô hình mạng Extranet điển hình
Đến đây ta cần đặt ra các câu hỏi: những người dùng bên ngoài tổ chức đó cụ thể là
những ai và làm sao để tin cậy được các kênh truyền thông của họ? Các kênh truyền
thông tin cậy, an toàn luôn là một yêu cầu cần thiết. Vì vậy mà cần có cơ chế để đảm
bảo không ai có thể đọc trộm được những thông tin bí mật trên kênh truyền. Và cũng
cần có biện pháp để chắc rằng không ai có thể giả dạng là một người dùng có quyền
truy cập hợp pháp vào mạng của tổ chức. Giải quyết được các câu hỏi trên chính là ta
đã hình thành được cái gọi là mạng tin cậy rồi.
Tóm lại, mạng tin cậy cần đạt được các mục tiêu sau:
 Có khả năng thiết lập được các kênh truyền thông an toàn giữa 2 điểm đầu cuối
bất kỳ, như giữa các nhân viên, khách hàng và đối tác.
 Có khả năng nhận dạng được bất kỳ yêu cầu kết nối, truy cập nào là hợp lệ hay
không hợp lệ.
 Có khả năng xác thực người dùng, thiết bị.


Mẫn Thắng |

Building Trusted Networks
7
1.2 Các yêu cầu và thành phần của mạng tin cậy
Khi thực hiện chuyển dịch từ một mạng hướng phòng thủ sang mạng tin cậy thì cần

đáp ứng một vài dịch vụ/yêu cầu bảo mật thiết yếu sau:
 Nhận dạng
 Xác thực
 Cấp phép
 Bảo mật
 Toàn vẹn
 Không thể chối từ
Nếu không có khả năng đảm bảo tất cả các dịch vụ trên vận hành chính xác trong mạng
thì không thể thiết lập được một mạng tin cậy một cách đầy đủ. Còn trong các mạng
hướng phòng thủ thì chú trọng tới các dịch vụ sau mà thôi: bí mật, toàn vẹn và xác thực.
Dưới đây sẽ bàn thêm về 6 dịch vụ trên.
Nhận dạng (Identification) là bước đầu tiên trong quá trình xác thực, một đối tượng sẽ
cung cấp một vài dữ liệu dùng để nhận dạng nó (như tên người dùng, mật khẩu, mã
PIN, vân tay,…) cho dịch vụ xác thực.
Xác thực (Authentication) là quá trình xác định xem ai hoặc thứ gì đó có thực sự là người
(hoặc là thứ) mà nó tuyên bố hay không. Hay nói cách khác, đây là việc xác minh nhận
dạng của một người, một thiết bị, một chương trình… nào đó.
Cấp phép (Authorization) là quá trình xác định xem đối tượng (đã được xác thực) được
phép làm những gì. Bước này thường xảy ra sau bước xác thực ở trên.
Bảo mật (Confidentiality) là việc đảm bảo tính bí mật, chỉ để những người được cấp
phép mới có thể đọc được thông tin mang tính riêng tư.
Toàn vẹn (Integrity) là việc đảm bảo tính chính xác và tin cậy của thông tin, và bất kỳ sự
thay đổi trái phép nào tới thông tin sẽ được phát hiện và ngăn chặn.
Chống chối từ (Non-repudiation) là việc đảm bảo rằng đối tượng đã gửi đi thông điệp
không thể phủ nhận việc gửi đó và ngược lại, đối tượng đã nhận được thông điệp cũng
không thể phủ nhận là chưa biết đến thông điệp đó.
Để triển khai những dịch vụ trên thì cần tới các công nghệ cốt lõi sau:

Mẫn Thắng |


Building Trusted Networks
8
 Mật mã
 Chứng thực mạnh
 Chữ ký số
 Chứng chỉ số
Các công nghệ này gắn kết với nhau để cùng xây dựng nên một mạng tin cậy.
Mật mã
Đây là thành phần có vai trò rất quan trọng, là trái tim của bất cứ mạng tin cậy nào. Nó
giúp đảm bảo bảo mật và toàn vẹn cho các thông điệp, cũng như nhận dạng và xác
thực các đối tượng tham gia vào phiên truyền thông. Về cơ bản, mật mã được phân làm
2 loại chính: mã hóa đối xứng và mã hóa bất đối xứng.
Loại mã hóa đối xứng thường được gọi là mật mã khóa bí mật và cả hai bên đều sử
dụng cùng một khóa để mã hóa và giải mã thông tin. Các thuật toán mã hóa đối xứng
phổ biến như 3DES, AES, RC5.
Còn loại mã hóa bất đối xứng còn được gọi là mật mã khóa công khai và cần sử dụng
một cặp khóa để mã hóa và giải mã. Nếu mã hóa bằng khóa thứ nhất (gọi là khóa công
khai) thì chỉ có thể giải mã bằng khóa thứ hai (gọi là khóa bí mật) và ngược lại. DSA,
RSA, Diffie-Hellman là ví dụ về các thuật toán mã hóa bất đối xứng nổi tiếng.
Ngoài ra trong mật mã còn có kỹ thuật băm một chiều (one-way hash) là một hàm nhận
vào một thông điệp có chiều dài bất kỳ và tạo ra một chuỗi có chiều dài cố định được
gọi là giá trị băm. Ví dụ, giá trị mà giải thuật băm MD5 tạo ra luôn là 128-bit, với SHA-1
là 160-bit. Hàm băm một chiều làm việc mà không cần sử dụng bất kỳ khóa nào và đặc
biệt, từ kết quả băm cuối cùng thì rất khó (thường không thể) lần ngược lại thông điệp
gốc ban đầu. Nó thường được dùng để kiểm tra tính toàn vẹn của thông điệp, tập tin.
Chứng thực mạnh
Để thỏa mãn yêu cầu này, hệ thống chứng thực cần phải sử dụng ít nhất 2 trong 3 yếu
tố sau:
Thứ mà bạn biết (something you know): mật khẩu hoặc mã PIN là ví dụ điển hình cho
phương thức chứng thực phổ biến nhất này. Cách này thì rẻ tiền, dễ triển khai nhưng có

nhược điểm là nếu ai đó biết được bí mật này thì họ có thể đạt được quyền truy cập vào
hệ thống.

Mẫn Thắng |

Building Trusted Networks
9
Thứ mà bạn có (something you have): ví dụ cho phương thức chứng thực này là thẻ
ATM, thẻ thông minh, thẻ truy cập, phù hiệu v.v… Hạn chế của cách này là những vật đó
có thể bị mất hoặc đánh cắp và bị ai đó lạm dụng để truy cập trái phép vào hệ thống.
Đặc điểm duy nhất trên cơ thể bạn (something you are): là cách nhận diện dựa trên
thuộc tính vật lý duy nhất của một người như võng mạc mắt, dấu vân tay. Phương pháp
chứng thực này hiệu quả vì khó giả mạo hay sao chép nhưng lại mắc tiền để triển khai.
Các phương pháp chứng thực 2 yếu tố (two-factor authentication) trong thực tế thường
thấy như sự kết hợp giữa mật khẩu với thẻ truy cập hoặc thẻ thông minh với sinh trắc
học mang lại sự tin cậy, an toàn hơn chỉ là sử dụng tên người dùng và mật khẩu để
đăng nhập vào hệ thống. Các kỹ thuật trong mật mã cũng được ứng dụng rộng rãi vào
các phương thức xác thực như Kerberos, RADIUS, CHAP, NTLM, v.v…
Chữ ký số
Được tạo ra sử dụng kết hợp giữa hàm băm và mật mã khóa công khai để đảm bảo tính
toàn vẹn, giúp xác thực nguồn gốc của thông điệp và đồng thời bên gửi không thể chối
từ việc đã tạo ra thông điệp đó. Nó là một giá trị băm của thông điệp được mã hóa
bằng khóa bí mật của bên gửi rồi được đính kèm với thông điệp gốc. Bên nhận sẽ dùng
khóa công khai của bên gửi để giải mã phần chữ ký ra được giá trị băm của thông điệp
rồi đối chiếu với giá trị mà nó thu được từ việc thực hiện lại hàm băm trên thông điệp
gốc. Nếu hai giá trị đó giống nhau thì bên nhận có thể tin cậy được rằng thông điệp
không bị thay đổi và nó chỉ được gửi từ bên sở hữu khóa công khai ở trên.
Chứng chỉ số
Là một tập tin giúp chắc chắn rằng khóa công khai thuộc về một thực thể nào đó như
người dùng, tổ chức, máy tính và điều này được xác minh bởi một bên thứ ba đáng tin

cậy thường gọi là CA (Certificate Authorities). Chứng chỉ số chứa các thông tin nhận
dạng về thực thể như tên, địa chỉ, khóa công khai (cùng nhiều thông tin khác) và được
ký số bởi khóa bí mật của CA.
Cuối cùng, tất cả 6 dịch vụ và 4 công nghệ nói trên được cung cấp và triển khai bởi một
hạ tầng khóa công khai (Public Key Infrastructure - PKI) làm nền tảng cho các mạng tin
cậy mà chúng ta sẽ cùng tìm hiểu trong phần 2 của chuyên đề này.

Mẫn Thắng |

Building Trusted Networks
10
2. CƠ BẢN VỀ HẠ TẦNG KHÓA CÔNG KHAI
Dựa trên nền tảng của mật mã khóa công khai, PKI là một hệ thống bao gồm phần
mềm, dịch vụ, chuẩn định dạng, giao thức, quy trình, chính sách để giúp đảm bảo an
toàn, tin cậy cho các phiên truyền thông.
PKI đáp ứng các yêu cầu về xác thực, bảo mật, toàn vẹn, chống chối từ cho các thông
điệp được trao đổi.
1.3 Các thành phần của PKI
Ngoài các thành phần cơ bản đã được đề cập ở phần 1 là chứng chỉ số, chữ ký số và
mật mã. PKI còn được tạo nên bởi các thành phần chức năng chuyên biệt sau:
 Certificate Authority
 Registration Authority
 Certificate Repository và Archive
 Security Server
 PKI-enabled applications và PKI users
Certificate Authority (CA): là một bên thứ được tin cậy có trách nhiệm tạo, quản lý, phân
phối, lưu trữ và thu hồi các chứng chỉ số. CA sẽ nhận các yêu cầu cấp chứng chỉ số và
chỉ cấp cho những ai đã xác minh được nhận dạng của họ.
Registration Authority (RA): đóng vai trò trung gian giữa CA và người dùng. Khi người
dùng cần chứng chỉ số mới, họ gửi yêu cầu tới RA và RA sẽ xác nhận tất cả các thông tin

nhận dạng cần thiết trước khi chuyển tiếp yêu cầu đó tới CA để CA thực hiện tạo và ký
số lên chứng chỉ rồi gửi về cho RA hoặc gửi trực tiếp cho người dùng.
Certificate Repository và Archive: có 2 kho chứa quan trọng trong kiến trúc của PKI. Đầu
tiên là kho công khai lưu trữ và phân phối các chứng chỉ và CRL (chứa danh sách các
chứng chỉ không còn hiệu lực). Cái thứ 2 là một cơ sở dữ liệu được CA dùng để sao lưu
các khóa hiện đang sử dụng và lưu trữ các khóa hết hạn, kho này cần được bảo vệ an
toàn như chính CA.
Security Server: là một máy chủ cung cấp các dịch vụ quản lý tập trung tất cả các tài
khoản người dùng, các chính sách bảo mật chứng chỉ số, các mối quan hệ tin cậy
(trusted relationship) giữa các CA trong PKI, lập báo cáo và nhiều dịch vụ khác.

Mẫn Thắng |

Building Trusted Networks
11
PKI-enabled applications và PKI users: bao gồm các người dùng sử dụng các dịch vụ của
PKI và các phần mềm có hỗ trợ cài đặt và sử dụng các chứng chỉ số như các trình duyệt
web, các ứng dụng email chạy phía máy khách.
1.4 Các kiến trúc triển khai PKI
Tùy vào các yêu cầu, quy mô và khả năng của từng tổ chức mà có thể chọn triển khai
một trong 3 mô hình PKI phổ biến sau:
 Hierarchical PKI
 Mesh PKI
 Single CA
Single CA

Hình 3 – Kiến trúc Single CA
Đây là mô hình PKI cơ bản nhất phù hợp với các tổ chức nhỏ trong đó chỉ có một CA
cung cấp dịch vụ cho toàn hệ thống và tất cả người dùng đặt sự tin cậy vào CA này. Mọi
thực thể muốn tham gia vào PKI và xin cấp chứng chỉ đều phải thông qua CA duy nhất

này. Mô hình này dễ thiết kế và triển khai nhưng cũng có các hạn chế riêng. Thứ nhất là
ở khả năng co giãn – khi quy mô tổ chức được mở rộng, chỉ một CA thì khó mà quản lý
và đáp ứng tốt các dịch vụ. Hạn chế thứ hai là CA này sẽ là điểm chịu lỗi duy nhất, nếu
nó ngưng hoạt động thì dịch vụ bị ngưng trệ. Cuối cùng, nếu nó bị xâm hại thì nguy hại
tới độ tin cậy của toàn bộ hệ thống và tất cả các chứng chỉ số phải được cấp lại một khi
CA này được phục hồi.
Trust List
Nếu có nhiều CA đơn lẻ trong tổ chức nhưng lại không có các trust relationship giữa các
CA được tạo ra thì bằng cách sử dụng trust list người dùng vẫn có thể tương tác với tất
cả các CA. Lúc này các người dùng sẽ duy trì một danh sách các CA mà họ tin cậy. Các
CA mới về sau có thể dễ dàng được thêm vào danh sách. Phương thức này tuy đơn giản
nhưng cũng sẽ tốn thời gian để cập nhật hết các CA cho một lượng lớn người dùng,

Mẫn Thắng |

Building Trusted Networks
12
mặt khác nếu một CA nào đó bị thỏa hiệp thì không có một hệ thống cảnh báo nào báo
cho những người dùng mà tin cậy CA đó biết được sự cố này.
Hierarchical PKI
Đây là mô hình PKI được áp dụng rộng rãi trong các tổ chức lớn. Có một CA nằm ở cấp
trên cùng gọi là root CA, tất cả các CA còn lại là các Subordinate CA (gọi tắt là sub. CA)
và hoạt động bên dưới root CA. Ngoại trừ root CA thì các CA còn lại trong đều có duy
nhất một CA khác là cấp trên của nó. Hệ thống tên miền DNS trên Internet cũng có cấu
trúc tương tự mô hình này.

Hình 4 – Kiến trúc Hierarchical PKI
Tất cả các thực thể (như người dùng, máy tính) trong tổ chức đều phải tin cậy cùng một
root CA. Sau đó các trust relationship được thiết lập giữa các sub. CA và cấp trên của
chúng thông qua việc CA cấp trên sẽ cấp các chứng chỉ cho các sub. CA ngay bên dưới

nó. Lưu ý, root CA không trực tiếp cấp chứng chỉ số cho các thực thể mà chúng sẽ được
cấp bởi các sub. CA. Các CA mới có thể được thêm ngay dưới root CA hoặc các sub. CA
cấp thấp hơn để phù hợp với sự thay đổi trong cấu trúc của tổ chức. Sẽ có các mức độ
tổn thương khác nhau nếu một CA nào đó trong mô hình này bị xâm hại.
Trường hợp một sub. CA bị thỏa hiệp thì CA cấp trên của nó sẽ thu hồi chứng chỉ đã cấp
cho nó và chỉ khi sub. CA đó được khôi phục thì nó mới có thể cấp lại các chứng chỉ mới
cho người dùng của nó. Cuối cùng, CA cấp trên sẽ cấp lại cho nó một chứng chỉ mới.

Mẫn Thắng |

Building Trusted Networks
13
Nếu root CA bị xâm hại thì đó là một vấn đề hoàn toàn khác, toàn bộ hệ thống PKI sẽ
chịu ảnh hưởng. Khi đó tất cả các thực thể cần được thông báo về sự cố và cho đến khi
root CA được phục hồi và các chứng chỉ mới được cấp lại thì không một phiên truyền
thông nào là an toàn cả. Vì thế, cũng như single CA, root CA phải được bảo vệ an toàn ở
mức cao nhất để đảm bảo điều đó không xảy ra và thậm chí root CA có thể ở trạng thái
offline – bị tắt và không được kết nối vào mạng.
Mesh PKI
Nổi lên như một sự thay thế chính cho mô hình Hierarchical PKI truyền thống, thiết kế
của Mesh PKI giống với kiến trúc Web-of-Trust trong đó không có một CA nào làm root
CA và các CA sẽ có vai trò ngang nhau trong việc cung cấp dịch vụ. Tất cả người dùng
trong mạng lưới có thể tin cậy chỉ một CA bất kỳ, không nhất thiết hai hay nhiều người
dùng phải cùng tin một CA nào đó và người dùng tin cậy CA nào thì sẽ nhận chứng chỉ
do CA đó cấp.

Hình 5 – Kiến trúc Mesh PKI
Các CA trong mô hình này sau đó sẽ cấp các chứng chỉ cho nhau. Khi hai CA cấp chứng
chỉ cho nhau thì một sự tin cậy hai chiều được thiết lập giữa hai CA đó. Các CA mới có
thể được thêm vào bằng cách tạo các mối tin cậy hai chiều giữa chúng với các CA còn

lại trong mạng lưới.
Vì không có một CA duy nhất làm cấp cao nhất nên sự tổn hại khi tấn công vào mô hình
này có khác so với hai mô hình trước đó. Hệ thống PKI không thể bị đánh sập khi chỉ
một CA bị thỏa hiệp. Các CA còn lại sẽ thu hồi chứng chỉ mà chúng đã cấp cho CA bị
xâm hại và chỉ khi CA đó khôi phục hoạt động thì nó mới có khả năng cấp mới các
chứng chỉ cho người dùng rồi thiết lập trust với các CA còn lại trong mạng lưới.

Mẫn Thắng |

Building Trusted Networks
14
Trên đây là tổng quan các vấn đề trong PKI, còn nhiều nội dung khác về hạ tầng này mà
không tiện đề cập do sẽ vượt ra khỏi trọng tâm của chuyên đề. Ở phần tiếp theo sẽ
trình bày việc xây dựng và triển khai một môi trường tin cậy giữa hai mạng nhỏ
Windows và Linux để giúp các máy trạm trao đổi thông tin một cách an toàn.
3. XÂY DỰNG VÀ TRIỂN KHAI MỘT MẠNG TIN CẬY
Đây là phần tổng hợp và áp dụng các kiến thức từ các chuyên đề trước như
Cryptography and Data Security, Secure Email, Planning A Trusted Network, v.v…
Chúng ta sẽ từng bước xây dựng hai mạng nhỏ là Windows và Linux, cả hai đều cần tới
các chứng chỉ số nếu muốn truy cập tài nguyên hay trao đổi thông điệp. Sau đó sẽ thiết
lập tin cậy chéo (cross-trust) giữa hai mạng này và cấu hình một máy chủ email để cho
phép các máy trạm ở hai mạng truyền nhận email trong một môi trường an toàn. Dưới
đây là các mục tiêu cụ thể:
 Triển khai các CA trong cả 2 mạng Windows và Linux
 Cấu hình cấu trúc phân cấp CA trên Windows
 Cấu hình CA trên Linux
 Thiết lập cross-trust giữa các CA trong mạng Windows và Linux
 Triển khai và cấu hình email server và các email client để trao đổi email an toàn
giữa 2 mạng Windows và Linux
1.5 Mô hình và yêu cầu chuẩn bị

Để đạt được các mục tiêu ở trên, trong bài thực hành này cần chuẩn bị 7 máy. Mô hình
mạng logic và các yêu cầu chuẩn bị cho từng máy như sau:


Mẫn Thắng |

Building Trusted Networks
15

Hình 6 – Mô hình triển khai mạng tin cậy

Tên máy
tính
Tên đầy đủ
Domai
n
Địa chỉ IP
Hệ điều
hành
Vai trò
RootCA
rootca.uit.vm
uit.vm
10.0.10.1 /
8
Windows
Server 2003
Domain
Controller,
DNS server,

Root CA
SubCA
subca.uit.vm
10.0.10.2 /
8
Windows
Server 2003
Subordinate
CA
RA
ra.uit.vm
10.0.10.3 /
8
Windows
Server 2003
Registration
Authority
WinClient1
winclient1.uit.v
m
10.0.10.4 /
8
Windows XP
Máy trạm
DMZW
dmzw.uit.vm
10.0.20.1 /
8
Windows
Server 2003

SSL Website
Email Server
LinRootCA
linrootca.uit.vm
10.0.30.1 /
8
Ubuntu
Server 10.10
Root CA
LinClient1
linclient1.uit.vm
10.0.30.2 /
8
Ubuntu
11.10
Máy trạm

Bảng 1 – Yêu cầu chuẩn bị triển khai

Mẫn Thắng |

Building Trusted Networks
16
1.6 Các bước thực hiện
1.6.1 Xây dựng Windows Domain
Trong phần này, ta sẽ tạo một Windows domain (uit.vm) có tích hợp DNS. Sau đó, cấu
hình cho các máy không tham gia vào Windows domain này gồm LinRootCA,
LinClient1, DMZW cũng nằm trong DNS namespace là uit.vm.
Windows domain uit.vm sẽ có một domain controller là máy Root CA và 3 member
server là các máy SubCA, RA, DMZW cùng với một client là máy WinClient1.

Hai máy Linux là LinRootCA và LinClient1 cũng sẽ tham gia vào DNS domain của uit.vm,
vì thế tên đầy đủ của chúng lần lượt là linrootca.uit.vm và linclient1.uit.vm.
Cho mục đích thử nghiệm nên ở đây giả định rằng cả 7 máy đều cùng lớp mạng là
10.x.x.x / 255.0.0.0. Phiên bản hệ điều hành chạy cũng như vai trò của từng máy được
liệt kê ở bảng trên.
Bước 1-1: Tạo domain đầu tiên trong một forest mới
Thực hiện tại máy RootCA
1 Đăng nhập bằng tài khoản quản trị.
2 Thiết lập Preferred DNS Server là địa chỉ IP của chính nó (10.0.10.1).
3 Vào Start | Run, chạy lệnh dcpromo để khởi chạy trình cài đặt Active
Directory. Sau đó làm theo các hướng dẫn để cài đặt máy RootCA làm
Domain Controller cho một domain mới (uit.vm) trong một forest mới.
4 Khởi động lại máy để hoàn tất.

Mẫn Thắng |

Building Trusted Networks
17

Hình 7 – Tạo domain đầu tiên trong một forest mới
Bước 1-2: Cấu hình DNS
Thực hiện tại máy RootCA
1 Vào Administrative Tools | DNS.
2 Tạo một Reverse Lookup Zone cho domain uit.vm.
3 Bật tùy chọn Allow Dynamic Updates cho cả 2 zone Forward và Reverse.
4 Tạo các A record và PTR record cho các máy LinRootCA, DMZW, LinClient1.
5 Sử dụng lệnh nslookup để kiểm tra hoạt động của DNS.

Hình 8 – Tạo các A record



Mẫn Thắng |

Building Trusted Networks
18
Cài đặt CA
Kế tiếp ta sẽ bổ sung vào domain một thành phần quan trọng là Enterprise Root CA. Tới
giai đoạn này, giả định là các chính sách cần thiết cho hoạt động của PKI đã được tạo và
chấp thuận, và các máy chủ quan trọng trong hạ tầng đã được kiện toàn bảo mật.
Bước 1-3: Cài đặt Enterprise Root CA
Thực hiện tại máy RootCA
1 Tạo một thư mục C:\labcerts để lưu trữ chứng chỉ số và thông tin về các CA để
người dùng trong mạng có thể đọc được.
2 Vào Add Remove Programs và chạy Add/Remove Windows Components
rồi chọn cài đặt gói Certificate Services.
3 Làm theo các hướng dẫn, lưu ý chọn tùy chọn Enterprise Root CA, đặt CA
name là UIT Root CA, chỉ định mục Store Configuration Information In A
Shared Folder là đường dẫn C:\labcerts và giữ nguyên mặc định các tùy chọn
còn lại.
4 Chờ cho quá trình cài đặt hoàn tất.

Hình 9 – Cài đặt Enterprise Root CA


Mẫn Thắng |

Building Trusted Networks
19
1.6.2 Cấu hình Enterprise CA
Trong phần này, ta sẽ cấu hình cho Enterprise Root CA bao gồm:

 CRL publication interval: khoảng thời gian mà sau đó CA sẽ cập nhật danh sách
các chứng chỉ không còn hiệu lực (CRL).
 Certificate template: các mẫu chứng chỉ được tạo sẵn.
 Default GPO: thiết lập để các máy tham gia vào domain tự động nhận được
chứng chỉ
 Domain user: tạo các tài khoản người dùng
 Hierarchical PKI: tạo cấu trúc CA phân cấp với sự có mặt của một Sub. CA và
một RA.
Bước 2-1: Cấu hình Enterprise Root CA
Thực hiện tại máy RootCA
1 Vào Administrative Tools | Certification Authority.
2 Mở rộng nhánh UIT Root CA và nhấn phải chuột lên mục Certificate
Templates rồi chọn New | Certificate Template to Issue
3 Trong cửa sổ Enable Certificate Templates, chọn 2 cái là Smartcard User và
Enrollment Agent rồi nhấn OK.
4 Trở lại cửa sổ Certificate Authority, nhấn phải chuột lên mục Revoked
Certificates và chọn Properties. Sau đó đổi mục CRL publication interval là
1 giờ. Nhấn OK.
5 Đóng cửa sổ CA MMC để hoàn tất.

Hình 10 – Thêm mới các Certificate Template

Mẫn Thắng |

Building Trusted Networks
20

Hình 11 – Thiết lập CRL publication interval
Certificate Templates
Các chứng chỉ mẫu đã được Microsoft xây dựng sẵn và ta đã vừa kích hoạt thêm 2 loại

chứng chỉ (Smartcard User và Enrollment Agent) ở bước trên. Tuy nhiên, để người dùng
hay máy tính có thể nhận được các chứng chỉ dựa trên những mẫu chứng chỉ thì các đối
tượng đó cần có được các quyền read và enroll thích hợp.
Bước 2-2: Cấu hình Certificate Template
Thực hiện tại máy RootCA
1 Vào Administrative Tools | Active Directory Users and Computers.
2 Trong domain uit.vm, tạo 1 group tên Enrollers, giữ nguyên mục Group
scope là Global và mục Group type là Security.
3 Vào Administrative Tools | Active Directory Sites and Services.
4 Nhấn phải chuột lên domain uit.vm và chọn View | Show Services Node.
Sau đó duyệt đến mục Services | Public Key Services | Certificate
Templates.
5 Ở khung bên phải sẽ hiện ra danh sách các chứng chỉ mẫu, nhấn đúp vào
dòng Enrollment Agent. Tại cửa sổ Properties mới hiện ra, chọn tab
Security, rồi nhấn Add và thêm vào group Enrollers (vừa tạo ở trên) và gán
thêm quyền enroll cho nhóm này (ngoài quyền read đã được chọn sẵn).
6 Làm tương tự như bước 5 cho mẫu chứng chỉ Smartcard User.
7 Đóng hết cửa sổ MMC để hoàn tất.

Mẫn Thắng |

Building Trusted Networks
21

Hình 12 – Cấu hình Certificate Template
Group Policy Objects (GPO)
Thông qua GPO các máy như domain controller, domain member có thể tự động nhận
về các chứng chỉ của chúng khi chúng tham gia (join) vào domain. Cũng nhờ GPO mà ta
có thể điều khiển việc một máy sẽ phản ứng như thế nào nếu thẻ thông minh
(smartcard) của một người dùng đã đăng nhập nào đó bị rút ra khỏi thiết bị đọc thẻ.

Bước 2-3: Chỉnh sửa Default GPO
Thực hiện tại máy RootCA
1 Mở Active Directory Users and Computers.
2 Nhấn phải chuột lên domain uit.vm và chọn Properties. Cửa sổ mới hiện ra,
chọn tab Group Policy rồi chọn Default Domain Policy và nhấn Edit.
3 Cửa sổ GPO Editor hiện ra, duyệt đến nhánh Computer Configuration |
Windows Settings | Security Settings | Public Key Polices | Automatic
Certificate Requests Settings. Ở khung bên phải, nhấn phải chuột và chọn
New | Automatic Certificate Request.
4 Một cửa sổ mới hiện ra, nhấn Next. Trong danh sách Certificate templates,
chọn Computer rồi nhấn Next và cuối cùng nhấn Finish. Sau đó, làm tương
tự đối với mẫu chứng chỉ dành cho Domain Controller.

Mẫn Thắng |

Building Trusted Networks
22
5 Trở lại cửa sổ GPO Editor, duyệt đến nhánh Computer Configuration |
Windows Settings | Security Settings | Security Options. Ở khung bên
phải, nhấn đúp chuột vào dòng Interactive logon: Smart card removal
behavior.
6 Ở cửa sổ mới hiện ra, đánh dấu kiểm vào mục Define this policy setting và
chọn Lock Workstation và nhấn OK.
7 Đóng hết cửa sổ để hoàn tất.

Hình 13 – Chỉnh default GPO để máy tính trong domain tự động xin và nhận chứng chỉ

Hình 14 – Chỉnh default GPO để tự động khóa máy tính khi người dùng rút smartcard



Mẫn Thắng |

Building Trusted Networks
23
End Entities – Người dùng
Trong phần này, ta sẽ tạo và cấu hình cho các domain user - là các thực thể đầu cuối
(end entity) trong toàn bộ cấu trúc phân cấp CA mà sẽ tham gia vào hạ tầng PKI.
Bước 2-4: Tạo các user trong domain
Thực hiện tại máy RootCA
1 Mở Active Directory Users and Computers.
2 Tạo mới 5 user có Logon name là: enroller1, winuser1, winuser2, winuser3,
winuser4 và tất cả đều thuộc nhóm Domain Users, riêng tài khoản enroller1
còn nằm trong nhóm Enrollers.

Hình 15 – Tạo các domain user
Đăng nhập với smartcard
Với mẫu chứng chỉ Smartcard User cộng với các quyền hạn được cấu hình hợp lý thì
một CA có thể cấp chứng chỉ được lưu trong smartcard cho người dùng. Sau đó nó có
thể được dùng để đăng nhập, bảo mật cho email, hay mã hóa hệ thống file bằng EFS.
Việc yêu cầu người dùng phải có smartcard để đăng nhập vào domain là một biện pháp
chứng thực mạnh (gồm 2 yếu tố là mật khẩu và smartcard) giúp tăng cường độ tin cậy
cho mạng.

Mẫn Thắng |

Building Trusted Networks
24
Bước 2-5: Cấu hình đăng nhập với smartcard
Thực hiện tại máy RootCA
1 Mở Active Directory Users and Computers.

2 Nhấn đúp vào tài khoản winuser1 để mở cửa sổ Properties của nó.
3 Tại tab General, mục E-mail để là Tại tab Dial-in, chọn
Allow access cho mục Remote Access Permission. Qua tab Account, bên
dưới danh sách Account options chọn mục Smart card is required for
interactive logon, sau đó nhấn OK.
4 Làm tương tự từ bước 2 và 3 cho tài khoản winuser2.

Hình 16 – Thiết lập khi người dùng đăng nhập phải có smartcard
End Entities – Máy tính
Ở bước 2-3, ta đã cấu hình GPO để các máy tính (gồm cả domain controller) trong
mạng sẽ tự động nhận được các chứng chỉ khi chúng thực hiện tham gia vào domain.
Bây giờ, ta sẽ cấu hình để các máy đang nằm trong Workgroup tham gia domain. Sau
đó vào CA để kiểm tra xem các máy đó đã nhận được chứng chỉ hay chưa.

×