Cách thiết lập máy chủ và máy khách Kerberos trên Ubuntu 18.04 LTS

theanh

Administrator
Nhân viên
Kerberos là một giao thức xác thực mạng sử dụng mật mã khóa đối xứng và yêu cầu sự cho phép từ bên thứ ba đáng tin cậy để xác thực các ứng dụng máy khách-máy chủ. Ban đầu, giao thức này được Viện Công nghệ Massachusetts (MIT) phát triển để bảo vệ các dịch vụ mạng do dự án Athena cung cấp.

Trong thế giới hiện đại, Kerberos thường được sử dụng như một dịch vụ xác thực của bên thứ ba. Điều này có nghĩa là tất cả các máy khách đều tin tưởng vào phán đoán của Kerberos về danh tính của máy khách khác.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách thiết lập xác thực Kerberos giữa hai máy chủ Ubuntu 18.04. Chúng tôi sẽ cài đặt và định cấu hình máy chủ Kerberos trên máy chủ Ubuntu, sau đó cài đặt máy khách Kerberos trên máy chủ kia. Cuối cùng, chúng ta sẽ kiểm tra xác thực của dịch vụ SSH với máy chủ Kerberos.

Điều kiện tiên quyết
  • Máy chủ Ubuntu 18.0410.10.10.15 krb5.ahmad.io krb5
  • 10.10.10.16 client1.ahmad.io client1
[*] Quyền root
Những gì chúng ta sẽ làm:
  1. Thiết lập tệp FQDN
  2. Cài đặt KDC Kerberos Máy chủ
  3. Cấu hình Máy chủ Kerberos KDC
  4. Cài đặt và cấu hình Máy khách Kerberos
  5. Kiểm tra

Bước 1 - Thiết lập FQDN​

Trước tiên, chúng ta phải cấu hình FQDN trên máy chủ Kerberos và sau đó chỉnh sửa tệp '/etc/hosts' của máy chủ.

Thay đổi FQDN của máy chủ Kerberos bằng lệnh sau.
Mã:
hostnamectl set-hostname krb5.ahmad.io
Sau đó, chỉnh sửa tệp '/etc/hosts' bằng trình soạn thảo vim.
Mã:
vim /etc/hosts
Thay đổi địa chỉ IP và FQDN bằng địa chỉ của riêng bạn và dán vào đó.
Mã:
10.10.10.15 krb5.ahmad.io krb5
Lưu và đóng.

Bây giờ hãy kiểm tra bằng lệnh 'ping' bên dưới và đảm bảo FQDN được phân giải thành đúng địa chỉ IP.
Mã:
ping -c 3 $(hostname -f)

Bước 2 - Cài đặt Máy chủ Kerberos KDC​

Bây giờ chúng ta sẽ cài đặt máy chủ Kerberos trên máy chủ 'krb5' có địa chỉ IP '10.10.10.15' và FQDN là 'krb5.ahmad.io'.

Cài đặt máy chủ Kerberos bằng lệnh apt sau.
Mã:
sudo apt install krb5-kdc krb5-admin-server krb5-config -y
Trong quá trình cài đặt, bạn sẽ được hỏi về Kerberos Realm, máy chủ Kerberos của Realm và Admin máy chủ.

Theo mặc định, Kerberos sẽ sử dụng tên miền máy chủ Kerberos làm REALM, 'AHMAD.IO'.



Máy chủ Kerberos là 'krb5.ahmad.io'.



Và máy chủ Quản trị giống như máy chủ Kerberos 'krb5.ahmad.io'.



Sau khi cài đặt hoàn tất, bạn sẽ thấy thông báo dịch vụ Kerberos không chạy được. Không sao cả vì chúng ta sẽ cấu hình ở giai đoạn tiếp theo.

Bước 3 - Cấu hình Máy chủ KDC Kerberos​

Bây giờ hãy tạo một mật khẩu chính mạnh mới cho Kerberos REALM bằng lệnh sau.
Mã:
sudo krb5_newrealm
Nhập mật khẩu mạnh của bạn và mật khẩu REALM sẽ được tạo tại tệp '/etc/krb5kdc/stash'.



Sau đó, chúng ta cần tạo người dùng quản trị (admin principal) cho máy chủ KDC Kerberos, thêm tên máy chủ Kerberos vào cơ sở dữ liệu, sau đó tạo keytab cho máy chủ Kerberos.

Chạy giao diện dòng lệnh 'kadmin.local' cho lệnh quản trị Kerberos bên dưới.
Mã:
sudo kadmin.local
Tạo một người dùng quản trị chính mới có tên là 'root'.
Mã:
addprinc root/admin
Nhập mật khẩu mạnh cho quản trị viên chính 'root'.

Thêm máy chủ KDC Kerberos vào cơ sở dữ liệu và tạo tệp keytab cho máy chủ KDC.
Mã:
addprinc -randkey host/krb5.ahmad.io
ktadd host/krb5.ahmad.io
Sau đó đóng tiện ích 'kadmin.local'.
Mã:
quit


Tiếp theo, chúng ta cần thêm quản trị viên chính 'root' vào danh sách kiểm soát truy cập bằng cách chỉnh sửa tệp '/etc/krb5kdc/kadm5.acl'.
Mã:
vim /etc/krb5kdc/kadm5.acl
Thêm cấu hình sau.
Mã:
root/admin *
Lưu và đóng cấu hình, sau đó khởi động lại dịch vụ Kerberos.
Mã:
sudo systemctl restart krb5-admin-server.service
Và cấu hình máy chủ KDC Kerberos đã hoàn tất.


Bước 4 - Cài đặt và cấu hình Kerberos Client​

Trong bước này, chúng ta sẽ cài đặt máy khách Kerberos trên máy chủ Ubuntu với địa chỉ IP '10.10.10.16' và tên máy chủ 'client1'.

- Cấu hình FQDN

Cấu hình FQDN trên máy khách bằng lệnh sau.
Mã:
hostnamectl set-hostname client1.ahmad.io
Sau đó, chỉnh sửa tệp '/etc/hosts' bằng trình soạn thảo vim.
Mã:
vim /etc/hosts
Dán cả máy chủ KDC Kerberos và máy khách như bên dưới.
Mã:
10.10.10.15 krb5.ahmad.io krb5
10.10.10.16 client1.ahmad.io client1
Lưu và đóng.



- Cài đặt Kerberos Client

Cài đặt các gói Kerberos client bằng cách chạy lệnh apt sau.
Mã:
sudo apt install -y krb5-user libpam-krb5 libpam-ccreds auth-client-config
Trong quá trình cài đặt, bạn sẽ được hỏi về Kerberos Realm, máy chủ Kerberos của Realm và máy chủ Admin.

Theo mặc định, Kerberos sẽ sử dụng tên miền máy chủ Kerberos làm REALM, 'AHMAD.IO'.



Máy chủ Kerberos là 'krb5.ahmad.io'.



Và máy chủ Admin giống như máy chủ Kerberos 'krb5.ahmad.io'.



Và quá trình cài đặt cho máy khách Kerberos đã hoàn tất.

- Cấu hình máy khách Kerberos

Từ máy khách, kết nối với máy chủ KDC Kerberos bằng lệnh 'kadmin'.
Mã:
kadmin
Và bạn sẽ được yêu cầu nhập mật khẩu theo nguyên tắc 'root/admin'. Nhập mật khẩu và bạn sẽ được đăng nhập vào hệ thống quản trị KDC Kerberos.

Bây giờ hãy thêm FQDN của máy khách 'client1.ahmad.io' vào cơ sở dữ liệu Kerberos và thêm tệp keytab cho máy khách.
Mã:
addprinc -randkey host/client1.ahmad.io
ktadd host/client1.ahmad.io
Sau đó, đóng giao diện quản trị kadmin Kerberos.
Mã:
quit
Và quá trình cấu hình máy khách Kerberos đã hoàn tất.


Bước 5 - Kiểm tra​

Với mục đích kiểm tra này, chúng ta sẽ cấu hình xác thực SSH bằng Kerberos. Máy khách 'client1.ahmad.io' sẽ kết nối với máy chủ 'krb5.ahmad.io' thông qua SSH với xác thực Kerberos.

- Thiết lập máy chủ 'krb5.ahmad.io'

Tạo người dùng hệ thống mới có tên là 'ammar'.
Mã:
useradd -m -s /bin/bash ammar
Đăng nhập vào quản trị KDC Kerberos và thêm người dùng chính mới có tên là 'ammar'.
Mã:
kadmin.local
addprinc ammar
Đóng giao diện quản trị Kerberos và chỉnh sửa cấu hình ssh '/etc/ssh/sshd_config'.
Mã:
vim /etc/ssh/sshd_config
Bỏ ghi chú 'GSSAPIAuthentication' và bật nó bằng cách thay đổi giá trị thành ''.
Mã:
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
Lưu và đóng cấu hình, sau đó khởi động lại dịch vụ ssh.
Mã:
systemctl restart sshd


- Thiết lập máy 'client1.ahmad.io'

Thêm người dùng hệ thống mới 'ammar' trên máy khách và đăng nhập vào đó.
Mã:
useradd -m -s /bin/bash ammar
su - ammar
Sau đó, khởi tạo người dùng Kerberos chính 'ammar'.
Mã:
kinit ammar
Nhập mật khẩu của người dùng và sau đó kiểm tra Vé khả dụng bằng lệnh sau.
Mã:
klist
Và bạn sẽ thấy kết quả sau.



Bây giờ bạn có thể kết nối Máy chủ 'krb5.ahmad.io' sử dụng xác thực SSH Kerberos.
Mã:
ssh krb5.ahmad.io
Và bạn sẽ được kết nối với máy chủ 'krb5.ahmad.io' thông qua SSH với xác thực Kerberos.



Dưới đây là Nhật ký SSH sau khi đăng nhập vào máy chủ.



Cuối cùng, quá trình cài đặt và cấu hình máy chủ và máy khách Kerberos trên Ubuntu 18.04 đã hoàn tất thành công.

Tham khảo​

https://web.mit.edu/kerberos/
 
Back
Bên trên