18/09/2018, 16:26

Cách cấu hình máy khách FreeIPA trên CentOS 7

Giới thiệu FreeIPA là một giải pháp bảo mật mã nguồn mở cho Linux, cung cấp quản lý tài khoản và xác thực tập trung, tương tự như Active Directory của Microsoft. FreeIPA được xây dựng dựa trên nhiều dự án mã nguồn mở bao gồm Máy chủ Thư mục 389, MIT Kerberos và SSSD. FreeIPA có các máy khách ...

Giới thiệu

FreeIPA là một giải pháp bảo mật mã nguồn mở cho Linux, cung cấp quản lý tài khoản và xác thực tập trung, tương tự như Active Directory của Microsoft. FreeIPA được xây dựng dựa trên nhiều dự án mã nguồn mở bao gồm Máy chủ Thư mục 389, MIT Kerberos và SSSD.

FreeIPA có các máy khách cho CentOS 7, Fedora và Ubuntu 14.04 / 16.04. Các máy khách này làm cho nó khá đơn giản để thêm các máy vào miền IPA của bạn. Các hệ điều hành khác có thể xác thực với FreeIPA bằng SSSD hoặc LDAP.

Trong hướng dẫn này, chúng ta sẽ cấu hình một máy CentOS 7 để xác thực đối với một máy chủ FreeIPA hiện có. Khi khách hàng của bạn được định cấu hình, bạn sẽ có thể quản lý người dùng và nhóm người dùng nào có thể đăng nhập vào máy. Ngoài ra, bạn sẽ có thể đặt người dùng nào có thể sử dụng sudo.

Điều kiện tiên quyết

Để làm theo hướng dẫn này, bạn sẽ cần:

  • Một máy chủ CentOS 7 đã cài đặt phần mềm máy chủ FreeIPA, mà bạn có thể thiết lập bằng cách làm theo Hướng dẫn FreeIPA này trên CentOS 7.
  • Máy chủ CentOS 7 khác, sẽ được sử dụng làm ứng dụng khách FreeIPA, được thiết lập bằng cách làm theo Hướng dẫn cài đặt CentOS 7 này, bao gồm tường lửa. Tuy nhiên, vì chúng tôi sẽ sử dụng FreeIPA để quản lý người dùng, bạn không cần phải thêm người dùng không phải gốc sudo theo cách thủ công. Bạn có thể chỉ cần làm theo hướng dẫn này như nguồn gốc.
  • Các bản ghi DNS sau được thiết lập cho ứng dụng khách IPA của bạn. Bạn có thể đi theo tui hướng dẫn tên máy chủ này để biết chi tiết về cách thêm chúng.
    • Bản ghi A có tên máy chủ của bạn (ví dụ: ipa-client.example.com) trỏ đến địa chỉ IPv4 của máy chủ khách hàng của bạn.
    • Bản ghi AAAA với tên máy chủ của bạn trỏ đến địa chỉ IPv6 của máy chủ khách hàng của bạn, nếu bạn muốn máy chủ của mình có thể truy cập thông qua IPv6.
  • Tùy chọn, nano đã cài đặt trình chỉnh sửa văn bản yum install nano. CentOS đi kèm với vi trình soạn thảo văn bản theo mặc định, nhưng nano có thể thân thiện với người dùng hơn.

Trong suốt hướng dẫn này, chúng tôi sẽ sử dụng ipa-client.example.com làm miền ví dụ cho ứng dụng khách IPA của bạn và ipa.example.com cho máy chủ IPA của bạn (để khớp với hướng dẫn điều kiện tiên quyết).

Bước 1 - Chuẩn bị ứng dụng khách IPA

Trước khi chúng ta bắt đầu cài đặt bất cứ thứ gì, chúng ta cần thực hiện một vài điều để đảm bảo máy khách của bạn đã sẵn sàng chạy ứng dụng khách FreeIPA. Cụ thể, chúng tôi sẽ đặt tên máy chủ của máy chủ, cập nhật các gói hệ thống và kiểm tra xem bản ghi DNS từ các điều kiện tiên quyết đã được phổ biến chưa.

Để bắt đầu, tên máy chủ của khách hàng của bạn sẽ cần phải khớp với tên miền đầy đủ của bạn (FQDN) để máy khách FreeIPA hoạt động chính xác. Chúng tôi sẽ sử dụng ipa-client.example.com như FQDN trong suốt hướng dẫn này.

Nếu đây là một máy chủ mới, bạn có thể đặt tên máy chủ khi bạn tạo máy chủ.

Nếu bạn đã có một máy chủ, bạn có thể sử dụng hostname thay vào đó, như dưới đây. Lưu ý rằng bạn phải nguồn gốc để thay đổi tên máy chủ của hệ thống hiện tại vì tên máy chủ là thông số hệ thống và không thể thay đổi bởi người dùng thông thường.

hostname ipa-client.example.com

Nếu bạn đang thay đổi tên máy chủ của máy chủ bằng hostname lệnh, bạn nên thay đổi nó theo cách thủ công trong /etc/hostname tập tin là tốt.

nano /etc/hostname

Chỉ nên có một dòng trong tệp với tên máy chủ ban đầu của máy chủ của bạn:

/etc/hosts

your_original_hostname

Thay đổi nó thành FQDN đầy đủ của khách hàng của bạn.

/etc/hosts

ipa-client.example.com

Sau đó lưu và đóng tệp.

Khi tên máy chủ của máy chủ của bạn được đặt chính xác, hãy cập nhật hệ thống.

yum update

Cuối cùng, chúng tôi cần phải xác minh rằng các tên DNS giải quyết đúng cách. Chúng ta có thể sử dụng dig lệnh cho việc này. CentOS 7 không đi kèm với bất kỳ tiện ích DNS nào ngoài hộp. Chúng ta cần phải cài đặt chúng từ bind-utils gói.

yum install bind-utils

Lần dùng đầu tiên dig để kiểm tra bản ghi A.

dig +short ipa-client.example.com A

Điều này sẽ trở lại your_server_ipv4.

Nếu bạn đã bật IPv6, bạn có thể kiểm tra bản ghi AAAA theo cùng một cách.

dig +short ipa-client.example.com AAAA

Điều này sẽ trở lại your_server_ipv6.

Chúng tôi cũng có thể kiểm tra tra cứu ngược lại. Điều này kiểm tra xem chúng ta có thể giải quyết tên máy chủ từ địa chỉ IP hay không.

dig +short -x your_server_ipv4

dig +short -x your_server_ipv6

Cả hai nên trở lại ipa-client.example.com.

Bây giờ máy chủ đã được chuẩn bị, chúng ta có thể cài đặt và cấu hình gói ứng dụng khách FreeIPA.

Bước 2 - Cài đặt ứng dụng FreeIPA

Trong CentOS 7, máy khách FreeIPA được bao gồm trong các kho lưu trữ mặc định.

yum install freeipa-client

Tiếp theo, chạy lệnh cài đặt FreeIPA. Điều này sẽ chạy một kịch bản hướng dẫn bạn thông qua cấu hình FreeIPA để xác thực với máy chủ CentOS FreeIPA của bạn.

ipa-client-install --mkhomedir

Các --mkhomedir flag yêu cầu FreeIPA tạo thư mục nhà cho người dùng IPA khi họ đăng nhập vào máy lần đầu tiên. Nếu bạn không muốn hành vi này, bạn có thể bỏ qua lá cờ này.

Trình cài đặt trước tiên sẽ nhắc bạn về miền IPA. Nó được thiết lập khi bạn cấu hình máy chủ.

Installation script prompt

Provide the domain name of your IPA server (ex: example.com): ipa.example.com

Tiếp theo, bạn sẽ cần phải nhập tên miền của máy chủ IPA. URL này phải giống với URL mà bạn sử dụng để truy cập giao diện người dùng web IPA. Nếu bạn làm theo hướng dẫn của máy chủ trong các điều kiện tiên quyết, nó sẽ giống như tên miền IPA.

Installation script prompt

Provide your IPA server name (ex: ipa.example.com): ipa.example.com

chú thích: Các hệ thống có các máy chủ IPA dự phòng nhiều khả năng sẽ có một tên miền IPA và tên máy chủ IPA khác nhau.

Với một máy chủ duy nhất, chuyển đổi dự phòng sẽ không hoạt động. FreeIPA sẽ cảnh báo bạn về điều này và bạn nên nhập Vâng tiến hành với.

Installation script prompt

Autodiscovery of servers for failover cannot work with this configuration.
If you proceed with the installation, services will be configured to always access the discovered server for all operations and will not fail over to other servers in case of failure.
Proceed with fixed values and no DNS discovery? [no]: yes

Xác nhận rằng tất cả các tùy chọn đều chính xác và tiếp tục.

Installation script prompt

Continue to configure the system with these values? [no]: yes

Tiếp theo, nhập tên người dùng quản trị. Ở đây, chúng tôi sẽ chỉ sử dụng người dùng quản trị IPA mặc định đã được tạo khi máy chủ được cài đặt.

Installation script prompt

User authorized to enroll computers: admin

Cuối cùng, nhập mật khẩu cho người dùng quản trị IPA của bạn. Điều này đã được thiết lập trong cấu hình máy chủ FreeIPA.

Sau khi bạn nhập mật khẩu, máy khách FreeIPA sẽ cấu hình hệ thống. Dòng đầu ra cuối cùng sẽ là Client configuration complete. Điều này cho thấy cài đặt thành công.

Bây giờ, chúng tôi cần xác minh rằng hệ thống của chúng tôi hiển thị trong giao diện web IPA.

Bước 3 - Xác minh xác thực

Điều hướng đến giao diện người dùng web IPA của bạn, https://ipa.example.com. Đăng nhập vào giao diện người dùng web bằng tài khoản quản trị IPA mà bạn đã sử dụng trước đó. Bạn sẽ thấy màn hình sau:

ipa login

Điều hướng đến Máy chủ lưu trữ chuyển hướng. Bạn sẽ thấy máy chủ IPA của bạn được liệt kê cũng như máy khách mà bạn vừa định cấu hình. Nhấp vào mục nhập cho ứng dụng IPA của bạn. Điều này sẽ đưa bạn đến tổng quan về máy chủ.

Từ màn hình này, bạn có thể nhập thông tin về máy khách cũng như quản lý nhóm và vai trò cho máy.

client view

chú thích: Theo mặc định, tất cả người dùng IPA có thể đăng nhập vào tất cả các máy trong miền IPA.

Bạn cũng có thể thử đăng nhập vào máy bằng một người dùng IPA từ thiết bị đầu cuối cục bộ của bạn.

ssh admin@ipa-client.example.com

Bạn sẽ đăng nhập vào máy của mình với tư cách là người dùng IPA. Bạn có thể thoát ra khỏi kết nối này khi kết nối thành công.

Người dùng IPA sẽ có quyền truy cập cơ bản, nhưng sudo bị tắt. Trong bước tiếp theo, chúng ta sẽ kích hoạt sudo.

Bước 4 - Kích hoạt và kiểm tra các quy tắc sudo (tùy chọn)

Không cần phải sửa đổi các tệp cấu hình máy khách để cho phép truy cập sudo; tuy nhiên, nếu bạn muốn, bạn phải định cấu hình các quy tắc sudo trong giao diện người dùng web IPA để cho phép truy cập.

FreeIPA cho phép bạn chỉ định người dùng và nhóm người dùng nào có thể chạy lệnh sudo trên máy nào. Cũng có thể giới hạn các lệnh mà người dùng có thể chạy với sudo và người dùng nào họ có thể mạo danh.

Trong hướng dẫn này, chúng tôi sẽ giới thiệu thêm một quy tắc đơn giản cho phép nhóm quản trị truy cập đầy đủ sudo vào tất cả các máy. Lưu ý rằng nhóm quản trị, cùng với các nhóm khác được hiển thị bên dưới, tồn tại theo mặc định trong FreeIPA.

  1. Từ giao diện người dùng web IPA, nhấp vào Dịch vụ và sau đó nhấp sudo. Một trình đơn thả xuống sẽ xuất hiện.
  2. Trong menu thả xuống, nhấp quy tắc sudo, sau đó nhấn vào thêm vào và nhập tên cho quy tắc trong Tên quy tắc cánh đồng. Ở đây, chúng ta sẽ sử dụng quản trị viên bởi vì chúng tôi cho phép sudo cho nhóm quản trị viên.
  3. Tiếp theo, nhấp thêm và chỉnh sửa. Điều này sẽ mang đến toàn bộ các tùy chọn cho quy tắc.
  4. Dưới Người nàoCác nhóm người sử dụng nhấp chuột + thêm. Chọn nhóm quản trị viên và nhấp vào mũi tên để di chuyển từ Có sẵn đến Tương lai. Sau đó nhấn vào Thêm vào.
  5. Dưới Truy cập máy chủ lưu trữ này, lựa chọn Bất kỳ máy chủ nào. Dưới Chạy lệnh, lựa chọn Bất kỳ lệnh nào. Dưới Là ai, lựa chọn Bất kỳ aiBất kỳ nhóm nào. Đây là nơi bạn có thể hạn chế các máy này sudo được bật, các lệnh có thể chạy với sudo và người dùng nào có thể bị mạo danh.
  6. Cuối cùng, hãy truy cập vào đầu trang và nhấp vào Tiết kiệm.

Quy tắc của bạn bây giờ sẽ hoạt động; tuy nhiên, có thể mất một chút thời gian để thúc đẩy và bạn có thể phải khởi động lại sshd dịch vụ cho các quy tắc sudo để có tác động. Để làm điều này, bạn có thể chạy systemctl restart sshd.service trên ứng dụng khách IPA.

Khi đã xong, hãy xác minh rằng chúng ta có quyền truy cập sudo trên máy khách. Từ máy cục bộ của bạn, hãy thử đăng nhập vào máy khách với người dùng quản trị IPA. Người dùng này theo mặc định trong nhóm quản trị viên.

ssh admin@ipa-client.example.com

Khi bạn đã đăng nhập, hãy thử bắt đầu một dấu nhắc sudo tương tác.

sudo -i

Lời nhắc giờ đây sẽ thay đổi thành root@ipa-client. Bạn có thể chỉ cần gõ exit để trở về dấu nhắc thông thường.

Nếu bạn bị từ chối truy cập sudo, bạn có thể muốn khởi động lại máy và đảm bảo rằng quy tắc sudo của bạn được định cấu hình đúng cách.

Phần kết luận

Với máy tính của bạn được cấu hình để xác thực với FreeIPA, bạn có thể định cấu hình quyền truy cập của người dùng và nhóm vào hệ thống của mình từ giao diện người dùng web IPA hoặc từ giao diện dòng lệnh của nó. FreeIPA có chức năng nâng cao, nhưng đối với các cấu hình đơn giản hơn, bạn có thể chỉ cần thêm người dùng và máy chủ cung cấp một hệ thống xác thực tập trung đơn giản.

FreeIPA là một công cụ xác thực cực kỳ linh hoạt, và những gì bạn sẽ cần làm tiếp theo phụ thuộc phần lớn vào cách bạn định sử dụng nó. Để biết thêm thông tin, trang web FreeIPA có danh sách tài nguyên tài liệu.

0