Cách cấu hình một client FreeIPA trên CentOS 7
FreeIPA là một giải pháp bảo mật open-souce cho Linux cung cấp khả năng quản lý account 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 open-souce bao gồm Server Thư mục 389, MIT Kerberos và SSSD.FreeIPA có các ứng dụng client cho CentOS 7, Fedora và Ubuntu 14.04 / 16.04. Các ứng dụng client này làm cho việc thêm máy vào domain IPA của bạn khá đơn giả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, ta sẽ cấu hình máy CentOS 7 để xác thực với server FreeIPA hiện có. Sau khi client của bạn được cấu hình , bạn có thể quản lý user và group user nào có thể đăng nhập vào máy. Ngoài ra, bạn có thể đặt user nào có thể sử dụng sudo
.
Yêu cầu
Để làm theo hướng dẫn này, bạn cần :
- Một server CentOS 7 có cài đặt phần mềm server FreeIPA, bạn có thể cài đặt phần mềm này theo hướng dẫn FreeIPA trên CentOS 7 này .
- Một server CentOS 7 khác, sẽ được sử dụng làm client FreeIPA, được cài đặt theo hướng dẫn cài đặt CentOS 7 này , bao gồm cả firewall . Tuy nhiên, vì ta sẽ sử dụng FreeIPA để quản lý user , nên không cần thiết phải thêm user không phải root có quyền sudo theo cách thủ công. Bạn chỉ có thể làm theo hướng dẫn này như là user root .
- Các bản ghi DNS sau được cài đặt cho client IPA của bạn. Bạn có thể làm theo hướng dẫn tên server này để biết chi tiết về cách thêm chúng.
- Bản ghi A với tên server của bạn (ví dụ:
ipa-client.example.com
) trỏ đến địa chỉ IPv4 của server khách hàng của bạn. - Bản ghi AAAA với tên server của bạn trỏ đến địa chỉ IPv6 của server khách hàng của bạn, nếu bạn muốn server của bạn có thể truy cập được qua IPv6.
- Bản ghi A với tên server của bạn (ví dụ:
- Tùy chọn, editor
nano
được cài đặt vớiyum install nano
. CentOS đi kèm với editorvi
theo mặc định, nhưngnano
có thể thân thiện với user hơn.
Trong suốt hướng dẫn này, ta sẽ sử dụng ipa-client.example.com
làm domain mẫu cho client IPA của bạn và ipa.example.com
cho server IPA của bạn (để phù hợp với hướng dẫn yêu cầu ).
Bước 1 - Chuẩn bị ứng dụng client IPA
Trước khi bắt đầu cài đặt bất kỳ thứ gì, ta cần thực hiện một số điều đảm bảo client của bạn đã sẵn sàng chạy ứng dụng client FreeIPA. Cụ thể, ta sẽ đặt tên server , cập nhật gói hệ thống và kiểm tra xem các bản ghi DNS từ các yêu cầu đã được phổ biến chưa.
Để bắt đầu, tên client của client của bạn cần phải trùng với domain đủ điều kiện (FQDN) của bạn để client FreeIPA hoạt động chính xác. Ta sẽ sử dụng ipa-client.example.com
làm FQDN trong suốt hướng dẫn này.
Nếu đây là server mới, bạn có thể đặt tên server khi tạo server .
Nếu bạn đã có một server , bạn có thể sử dụng lệnh hostname
thay thế, như bên dưới. Lưu ý bạn phải root để thay đổi tên server của hệ thống hiện có vì tên server là một tham số hệ thống và regular user không thể thay đổi được.
- hostname ipa-client.example.com
Nếu bạn đang thay đổi tên server của server của bạn bằng lệnh hostname
, bạn cũng nên thay đổi nó theo cách thủ công trong file /etc/hostname
.
- nano /etc/hostname
Chỉ nên có một dòng trong file với tên server ban đầu của server của bạn:
your_original_hostname
Thay đổi nó thành FQDN đầy đủ của khách hàng của bạn.
ipa-client.example.com
Sau đó, lưu file .
Khi tên server của server 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, ta cần xác minh các tên DNS phân giải đúng cách. Ta có thể sử dụng lệnh dig
cho việc này. CentOS 7 không đi kèm với bất kỳ tiện ích DNS nào. Ta cần cài đặt chúng từ gói bind-utils
.
- yum install bind-utils
Đầu tiên, sử dụng dig
để kiểm tra bản ghi A.
- dig +short ipa-client.example.com A
Kết quả sẽ trả về your_server_ipv4
.
Nếu bạn đã bật IPv6, bạn có thể kiểm tra bản ghi AAAA theo cách tương tự.
- dig +short ipa-client.example.com AAAA
Kết quả sẽ trả về your_server_ipv6
.
Ta cũng có thể kiểm tra tra cứu ngược lại. Điều này kiểm tra xem ta có thể phân giải tên server từ địa chỉ IP hay không.
- dig +short -x your_server_ipv4
- dig +short -x your_server_ipv6
Cả hai đều sẽ trả về ipa-client.example.com .
Bây giờ server đã được chuẩn bị, ta có thể cài đặt và cấu hình gói client FreeIPA.
Bước 2 - Cài đặt Ứng dụng khách FreeIPA
Trong CentOS 7, client FreeIPA có trong repository lưu trữ mặc định.
- yum install freeipa-client
Tiếp theo, chạy lệnh cài đặt FreeIPA. Thao tác này sẽ chạy một tập lệnh hướng dẫn bạn cấu hình FreeIPA để xác thực với server CentOS FreeIPA của bạn.
- ipa-client-install --mkhomedir
Cờ --mkhomedir
yêu cầu FreeIPA tạo folder chính cho user 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 cờ này.
Trước tiên, trình cài đặt sẽ nhắc bạn về domain IPA. Nó được đặt khi bạn cấu hình server .
Provide the domain name of your IPA server (ex: example.com): ipa.example.com
Tiếp theo, bạn cần nhập domain của server IPA. URL này phải giống với URL mà bạn sử dụng để truy cập giao diện user web IPA. Nếu bạn đã làm theo hướng dẫn server trong yêu cầu , nó sẽ giống với domain IPA.
Provide your IPA server name (ex: ipa.example.com): ipa.example.com
Lưu ý : Các hệ thống có server IPA dự phòng rất có thể sẽ có domain IPA và tên server IPA khác.
Với một server 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 có để tiếp tục.
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 tất cả các tùy chọn đều đúng và tiếp tục.
Continue to configure the system with these values? [no]: yes
Tiếp theo, nhập tên admin-user . Ở đây, ta sẽ chỉ sử dụng admin-user IPA mặc định đã được tạo khi server được cài đặt.
User authorized to enroll computers: admin
Cuối cùng, nhập password cho admin-user IPA của bạn. Điều này đã được đặt trong cấu hình server FreeIPA.
Sau khi bạn nhập password , client FreeIPA sẽ cấu hình hệ thống. Dòng cuối cùng của kết quả sẽ là Client configuration complete.
Điều này cho biết cài đặt thành công.
Bây giờ, ta cần xác minh hệ thống của ta 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 user web IPA của bạn, đó là https:// ipa.example.com
. Đăng nhập vào giao diện user web bằng account quản trị IPA mà bạn đã sử dụng trước đó. Bạn sẽ thấy màn hình sau:
Điều hướng đến tab Server . Bạn sẽ thấy server IPA của bạn được liệt kê cũng như client bạn vừa 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 một cái nhìn tổng quan về server .
Từ màn hình này, bạn có thể nhập thông tin về client cũng như quản lý các group và role cho máy.
Lưu ý : Theo mặc định, tất cả user IPA có thể đăng nhập vào tất cả các máy trong domain IPA.
Bạn cũng có thể thử đăng nhập vào máy bằng user IPA từ terminal local của bạn.
- ssh admin@ipa-client.example.com
Bạn sẽ đăng nhập vào máy của bạn với quyền là user IPA. Bạn có thể thoát ra khỏi kết nối này sau khi kết nối thành công.
User IPA sẽ có quyền truy cập cơ bản, nhưng sudo bị vô hiệu hóa. Trong bước tiếp theo, ta sẽ bật sudo.
Bước 4 - Bật và xác minh các luật sudo (Tùy chọn)
Không cần thiết phải sửa đổi các file cấu hình client để cho phép truy cập sudo; tuy nhiên, nếu muốn, bạn phải cấu hình luật sudo trong giao diện user web IPA để cho phép truy cập.
FreeIPA cho phép bạn chỉ định user và group user 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à user có thể chạy với sudo và những user mà họ có thể mạo danh.
Trong hướng dẫn này, ta sẽ đề cập đến việc thêm một luật đơn giản cho phép group administrator quyền truy cập sudo đầy đủ vào tất cả các máy. Lưu ý group administrator , cùng với các group khác được hiển thị bên dưới, tồn tại theo mặc định trong FreeIPA.
- Từ giao diện user web IPA, nhấp vào Dịch vụ và sau đó nhấp vào sudo . Một menu thả xuống sẽ xuất hiện.
- Trong menu thả xuống, hãy nhấp vào luật sudo , sau đó nhấp vào thêm và nhập tên cho luật trong trường Tên luật . Ở đây, ta sẽ sử dụng administrator vì ta đang cho phép sudo cho group administrator .
- Tiếp theo, nhấp vào thêm và chỉnh sửa . Thao tác này sẽ đưa ra toàn bộ các tùy chọn cho luật .
- Bên dưới Ai và Group user , hãy nhấp vào + thêm . Chọn group administrator và nhấp vào mũi tên để chuyển group đó từ Khả dụng sang Triển vọng . Sau đó nhấp vào Thêm .
- Trong Truy cập server này , hãy chọn Máy chủ lưu trữ bất kỳ . Trong Chạy lệnh , hãy chọn Lệnh bất kỳ . Trong As Whom , chọn Bất kỳ ai và Bất kỳ Group nào . Đây là nơi bạn có thể hạn chế bật các máy này sudo, các lệnh có thể chạy với sudo và user có thể bị mạo danh.
- Cuối cùng, di chuyển lên đầu trang và nhấp vào Lưu .
Luật của bạn bây giờ sẽ hoạt động; tuy nhiên, có thể mất một khoảng thời gian để khởi động và bạn có thể phải khởi động lại dịch vụ sshd
để các luật sudo có hiệu lực. Để làm điều này, bạn có thể chạy systemctl restart sshd.service
trên client IPA.
Sau khi hoàn tất, hãy xác minh ta có quyền truy cập sudo trên client . Từ máy local của bạn, hãy thử đăng nhập vào client bằng admin-user IPA. User này theo mặc định trong group administrator .
- ssh admin@ipa-client.example.com
Khi bạn đã đăng nhập, hãy thử bắt đầu dấu nhắc sudo tương tác.
- sudo -i
Dấu nhắc bây giờ sẽ thay đổi thành root@ipa-client
. Bạn có thể chỉ cần gõ exit
để quay lại dấu nhắc thông thường.
Nếu bạn bị từ chối quyền truy cập sudo, bạn có thể cần khởi động lại máy và đảm bảo luật sudo của bạn được cấu hình đúng cách.
Kết luận
Với máy của bạn được cấu hình để xác thực với FreeIPA, bạn có thể cấu hình quyền truy cập của user và group vào hệ thống của bạn từ giao diện user web IPA hoặc từ giao diện dòng lệnh của nó. FreeIPA có sẵn 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 user và server cung cấp 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 cần làm tiếp theo phần lớn phụ thuộc vào cách bạn định sử dụng nó. Để biết thêm thông tin, trang web FreeIPA có một danh sách các nguồn tài liệu .
Các tin liên quan
Cách theo dõi các chỉ số hệ thống bằng TICK Stack trên CentOS 72017-03-12
Cách thiết lập xác thực đa yếu tố cho SSH trên CentOS 7
2017-03-08
Cách cài đặt và bảo mật message broker MQTT Mosquitto trên CentOS 7
2017-01-23
Cách thay đổi thư mục dữ liệu MariaDB thành vị trí mới trên CentOS 7
2016-12-19
Cách cài đặt và cấu hình Ansible trên CentOS 7
2016-12-19
Cách cài đặt MariaDB trên CentOS 7
2016-12-01
Cách thu thập số liệu cơ sở hạ tầng với Packetbeat và ELK trên CentOS 7
2016-11-28
Cách chia sẻ tệp bằng FileRun trên CentOS 7
2016-11-21
Cách cài đặt và cấu hình Grafana để vẽ đồ thị đẹp từ Zabbix trên CentOS 7
2016-11-13
Cách cài đặt và cấu hình ownCloud trên CentOS 7
2016-10-31