Redis là kho lưu trữ dữ liệu khóa-giá trị trong bộ nhớ mã nguồn mở và phổ biến. Nó hỗ trợ nhiều cấu trúc dữ liệu khác nhau như Hash, List, Set, String và nhiều cấu trúc khác nữa. Redis được thiết kế để chỉ chạy trong môi trường đáng tin cậy, nó có thể được sử dụng làm cơ sở dữ liệu, bộ nhớ đệm và môi giới tin nhắn. Redis được biết đến rộng rãi vì khả năng hỗ trợ rộng rãi, hiệu suất cao, tính khả dụng cao và tính linh hoạt.
Bạn có thể cài đặt Redis dưới dạng độc lập cho triển khai nhỏ. Đối với triển khai lớn, họ cung cấp các thành phần bổ sung như Redis Sentinel cho tính khả dụng cao và Redis Cluster để phân vùng dữ liệu trên nhiều máy chủ nút Redis.
Hướng dẫn này sẽ chỉ cho bạn cách cài đặt và cấu hình Redis trên máy chủ AlmaLinux 9. Ngoài ra, chúng tôi cũng sẽ chỉ cho bạn cách bảo mật Redis thông qua Redis ACL (Danh sách kiểm soát truy cập) và Firewalld.
Trước khi cài đặt Redis, hãy chạy lệnh sau để xây dựng lại bộ đệm gói và lấy phiên bản thông tin gói mới nhất.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%2290%22%3E%3C/svg%3E
Bây giờ, hãy chạy lệnh dnf bên dưới để cài đặt Redis. Nhập y khi được nhắc, sau đó nhấn ENTER để tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22167%22%3E%3C/svg%3E
Khi Redis được cài đặt, hãy chạy các lệnh systemctl sau để khởi động và kích hoạt Redis dịch vụ.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%2293%22%3E%3C/svg%3E
Cuối cùng, hãy xác minh trạng thái dịch vụ Redis bằng lệnh bên dưới.
Đầu ra sau đây xác nhận rằng Redis đang chạy và được bật, điều này có nghĩa là nó sẽ tự động chạy khi hệ thống khởi động.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22290%22%3E%3C/svg%3E
Chạy lệnh sau để tạo vùng firewalld mới có tên là 'svcs', sau đó thêm giao diện mạng nội bộ vào đó. Trong ví dụ này, Redis sẽ được chạy trên một địa chỉ IP nội bộ dưới giao diện 'enp0s8', bạn phải thêm giao diện của mình vào vùng 'svcs'.
Bây giờ, hãy chạy lệnh sau để cho phép mạng '192.168.5.1/24' truy cập các cổng trên vùng 'svcs'.
Sau đó, thêm cổng Redis '6379/tcp' vào vùng 'svcs', sau đó áp dụng các thay đổi cho tường lửa.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22295%22%3E%3C/svg%3E
Bây giờ, hãy tải lại firewalld bằng lệnh sau để đảm bảo rằng những thay đổi mới được áp dụng cho firewalld.
Cuối cùng, hãy chạy lệnh sau để kiểm tra danh sách các vùng đang hoạt động trên firewalld. Và bạn sẽ thấy vùng 'svcs' đang hoạt động.
Bây giờ bạn có thể xác minh danh sách các quy tắc có sẵn trong vùng 'svcs'. Khi thành công, bạn sẽ thấy cổng Redis '6379/tcp' trên phần Cổng và mạng con '192.168.5.1/24' trên Nguồn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22642%22%20height=%22370%22%3E%3C/svg%3E
Mở tệp cấu hình Redis '/etc/redis/redis.conf' bằng lệnh nano editor bên dưới.
Thay đổi giá trị trên tham số 'liên kết' bằng địa chỉ IP nội bộ của máy chủ. Trong ví dụ của mình, Redis sẽ chạy trên địa chỉ IP cục bộ '192.168.5.21'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22697%22%20height=%22118%22%3E%3C/svg%3E
Bây giờ, hãy tắt 'protected-mode' bằng cách thay đổi giá trị của tham số thành 'no'. Để cho phép kết nối từ xa từ ứng dụng của bạn đến máy chủ Redis, bạn phải tắt 'protected-mode'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22703%22%20height=%22130%22%3E%3C/svg%3E
Trên AlmaLinux, trình quản lý dịch vụ mặc định là 'systemd'. Bỏ ghi chú tham số 'supervised' và thay đổi giá trị mặc định thành 'systemd' để kích hoạt tích hợp Redis với systemd.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22738%22%20height=%22359%22%3E%3C/svg%3E
Cuối cùng, bỏ ghi chú Tham số 'aclfile' để bật ACL (Danh sách kiểm soát truy cập) của Redis qua tệp. Kể từ Redis v6, sử dụng ACL là cách được khuyến nghị để bảo mật Redis và Redis hỗ trợ các phương pháp khác nhau để sử dụng ACL, bạn có thể tạo ACL qua shell Redis hoặc tệp ACL đã xác định. Ví dụ này sẽ sử dụng ACL qua tệp.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22717%22%20height=%22246%22%3E%3C/svg%3E
Lưu và đóng tệp khi hoàn tất.
Bây giờ, hãy chạy lệnh sau để tạo tệp ACL '/etc/redis/users.acl'.
Sau đó, chạy lệnh bên dưới để khởi động lại dịch vụ Redis và áp dụng các thay đổi bạn đã thực hiện.
Với lệnh này, redis sẽ hoạt động với các cấu hình mới. Bước tiếp theo bạn sẽ thực hiện là xác minh cấu hình Redis của bạn thông qua Redis CLI.
Kết nối với máy chủ Redis bằng lệnh 'redis-cli' bên dưới. Trong ví dụ này, bạn sẽ chỉ định địa chỉ IP cho máy chủ Redis.
Sau khi đăng nhập, hãy chạy lệnh sau để đảm bảo kết nối thành công. Bạn sẽ thấy đầu ra 'test redis' khi kết nối thành công.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22465%22%20height=%22135%22%3E%3C/svg%3E
Tiếp theo, chạy các truy vấn sau để lấy cấu hình Redis hiện tại. Trong ví dụ này, bạn sẽ kiểm tra các thiết lập 'bind', 'supervised' và protected-mode'.
Khi thành công, cấu hình của bạn sẽ khớp với các thiết lập bạn đã thực hiện trước đó.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22450%22%20height=%22282%22%3E%3C/svg%3E
Cuối cùng, chạy truy vấn ACL sau đây để lấy danh sách các ACL khả dụng trên Redis.
Bạn sẽ thấy đầu ra như thế này - Cài đặt Redis mặc định đi kèm với người dùng ACL 'mặc định', xác thực là 'nopass' hoặc đăng nhập mà không cần mật khẩu và quyền '+@all', cho phép người dùng 'mặc định' thực hiện bất kỳ truy vấn Redis nào.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22412%22%20height=%22118%22%3E%3C/svg%3E
Lúc này, bạn đã hoàn tất cấu hình cơ bản của Redis. Ở bước tiếp theo, bạn sẽ tìm hiểu sâu hơn về cấu hình Redis ACL (Danh sách kiểm soát truy cập) để bảo mật cài đặt Redis.
Bạn có thể thiết lập ACL trên Redis bằng hai phương pháp khác nhau:
Đầu tiên, hãy mở tệp ACL '/etc/redis/users.acl' bằng trình chỉnh sửa nano sau lệnh.
Chèn các cấu hình sau để tạo hai người dùng cho Redis.
Lưu tệp và thoát khỏi trình chỉnh sửa khi hoàn tất.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22477%22%20height=%22104%22%3E%3C/svg%3E
Với cấu hình này, bạn sẽ tạo hai người dùng:
Bây giờ, hãy chạy lệnh systemctl sau để khởi động lại dịch vụ Redis và áp dụng các thay đổi.
Sau khi Redis khởi động lại, hãy kết nối với máy chủ Redis bằng lệnh redis-cli sau bên dưới.
Sau khi đăng nhập, hãy chạy truy vấn ACL sau để kiểm tra danh sách người dùng khả dụng trên Redis.
Tại thời điểm này, bạn sẽ thấy ba người dùng alice, bob và default.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22147%22%3E%3C/svg%3E
Bạn cũng có thể xác minh người dùng chi tiết trên Redis bằng truy vấn sau.
Bạn sẽ thấy rằng người dùng alice được phép thực thi tất cả các lệnh khả dụng trên Redis, với nhóm lệnh '+@all'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22702%22%20height=%22346%22%3E%3C/svg%3E
Đối với người dùng bob, bạn có thể thấy lệnh được phép '+@all', nhưng nhóm lệnh 'nguy hiểm' cũng bị vô hiệu hóa.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22697%22%20height=%22306%22%3E%3C/svg%3E
Sau đó, kiểm tra lại danh sách người dùng khả dụng trên Redis bằng lệnh bên dưới.
Bạn nên mong đợi người dùng 'mặc định' với trạng thái tắt hoặc vô hiệu hóa như thế này:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22152%22%3E%3C/svg%3E
Nhấn Ctrl+d để thoát khỏi shell Redis.
Sau đó, đăng nhập lại vào Redis bằng lệnh sau.
Sau đó, nhập truy vấn PING sau để xác minh kết nối hiện tại.
Khi người dùng Redis "mặc định" bị vô hiệu hóa, bạn sẽ nhận được lỗi như sau - Bạn cần phải là người dùng đã xác thực để chạy truy vấn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22500%22%20height=%22159%22%3E%3C/svg%3E
Chạy lệnh sau để xác thực với tư cách là người dùng 'alice'. Nếu thành công, bạn sẽ nhận được kết quả đầu ra là 'OK'.
Bây giờ hãy chạy các truy vấn sau để đảm bảo rằng bạn đã xác thực với Redis thông qua người dùng alice.
Bạn sẽ thấy thông báo PONG và được xác thực là người dùng alice.
Bây giờ, hãy chạy các truy vấn sau để đảm bảo rằng người dùng alice có thể thực hiện tất cả các truy vấn khả dụng, bao gồm cả quản lý Redis liên quan.
Khi thành công, bạn sẽ nhận được đầu ra của cấu hình Redis hiện tại cho tham số bind và supervised.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22426%22%20height=%22325%22%3E%3C/svg%3E
Sau khi xác thực, hãy chạy truy vấn PING bên dưới. Nếu thành công, bạn sẽ nhận được thông báo PONG.
Tiếp theo, trong tệp Redis ACL, người dùng bob có danh mục lệnh '-@dangerous', lệnh này ngăn người dùng này thực thi một số lệnh nguy hiểm như FLUSHALL, CONFIG và nhiều lệnh khác trên máy chủ Redis.
Nếu bạn chạy các truy vấn sau với tư cách là người dùng bob, bạn sẽ nhận được kết quả đầu ra như 'NOPERM', nghĩa là người dùng bob không có quyền thực thi lệnh.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22269%22%3E%3C/svg%3E
Với điều này, bây giờ bạn đã bảo mật thành công Redis với ACL (Danh sách kiểm soát truy cập) thông qua tệp ACL.
Bạn có thể cài đặt Redis dưới dạng độc lập cho triển khai nhỏ. Đối với triển khai lớn, họ cung cấp các thành phần bổ sung như Redis Sentinel cho tính khả dụng cao và Redis Cluster để phân vùng dữ liệu trên nhiều máy chủ nút Redis.
Hướng dẫn này sẽ chỉ cho bạn cách cài đặt và cấu hình Redis trên máy chủ AlmaLinux 9. Ngoài ra, chúng tôi cũng sẽ chỉ cho bạn cách bảo mật Redis thông qua Redis ACL (Danh sách kiểm soát truy cập) và Firewalld.
Điều kiện tiên quyết
Để hoàn thành hướng dẫn này, bạn phải có những điều sau:- Máy chủ AlmaLinux 9 - Ví dụ này sử dụng máy chủ AlmaLinux với tên máy chủ 'alma-linux' và địa chỉ IP '192.168.5.21'.
- Người dùng không phải root có quyền quản trị viên sudo/root.
- Tường lửa đã được cấu hình, thiết lập và chạy.
Cài đặt Redis
Redis là kho lưu trữ dữ liệu mã nguồn mở, hiệu suất cao có thể được sử dụng làm cơ sở dữ liệu, bộ nhớ đệm, trình môi giới tin nhắn và công cụ phát trực tuyến. Redis có sẵn trên hầu hết các bản phân phối Linux, bao gồm cả AlmaLinux. Có thể cài đặt thông qua kho lưu trữ phân phối mặc định.Trước khi cài đặt Redis, hãy chạy lệnh sau để xây dựng lại bộ đệm gói và lấy phiên bản thông tin gói mới nhất.
Mã:
sudo dnf makecache
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%2290%22%3E%3C/svg%3E
Bây giờ, hãy chạy lệnh dnf bên dưới để cài đặt Redis. Nhập y khi được nhắc, sau đó nhấn ENTER để tiếp tục.
Mã:
sudo dnf install redis
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22167%22%3E%3C/svg%3E
Khi Redis được cài đặt, hãy chạy các lệnh systemctl sau để khởi động và kích hoạt Redis dịch vụ.
Mã:
sudo systemctl start redis
sudo systemctl enable redis
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%2293%22%3E%3C/svg%3E
Cuối cùng, hãy xác minh trạng thái dịch vụ Redis bằng lệnh bên dưới.
Mã:
sudo systemctl is-enabled redis
sudo systemctl status redis
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22290%22%3E%3C/svg%3E
Bảo mật Redis bằng Firewalld
Trong phần, bạn sẽ thiết lập firewalld để bảo mật cài đặt Redis. Và cách tốt nhất để đạt được điều này là tạo vùng trên firewalld và cho phép các mạng/mạng con cụ thể vào dịch vụ.Chạy lệnh sau để tạo vùng firewalld mới có tên là 'svcs', sau đó thêm giao diện mạng nội bộ vào đó. Trong ví dụ này, Redis sẽ được chạy trên một địa chỉ IP nội bộ dưới giao diện 'enp0s8', bạn phải thêm giao diện của mình vào vùng 'svcs'.
Mã:
sudo firewall-cmd --new-zone=svcs --permanent
sudo firewall-cmd --zone=svcs --add-interface=enp0s8 --permanent
Mã:
sudo firewall-cmd --zone=svcs --add-source=192.168.5.1/24
Mã:
sudo firewall-cmd --zone=svcs --add-port=6379/tcp
sudo firewall-cmd --runtime-to-permanent
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22295%22%3E%3C/svg%3E
Bây giờ, hãy tải lại firewalld bằng lệnh sau để đảm bảo rằng những thay đổi mới được áp dụng cho firewalld.
Mã:
sudo firewall-cmd --reload
Mã:
sudo firewall-cmd --get-active-zones
Mã:
sudo firewall-cmd --list-all --zone=svcs
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22642%22%20height=%22370%22%3E%3C/svg%3E
Cấu hình Redis
Trong phần này, bạn sẽ cấu hình cài đặt Redis bằng cách sửa đổi cấu hình Redis mặc định '/etc/redis/redis.conf'.Mở tệp cấu hình Redis '/etc/redis/redis.conf' bằng lệnh nano editor bên dưới.
Mã:
sudo nano /etc/redis/redis.conf
Mã:
bind 192.168.5.21
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22697%22%20height=%22118%22%3E%3C/svg%3E
Bây giờ, hãy tắt 'protected-mode' bằng cách thay đổi giá trị của tham số thành 'no'. Để cho phép kết nối từ xa từ ứng dụng của bạn đến máy chủ Redis, bạn phải tắt 'protected-mode'.
Mã:
protected-mode no
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22703%22%20height=%22130%22%3E%3C/svg%3E
Trên AlmaLinux, trình quản lý dịch vụ mặc định là 'systemd'. Bỏ ghi chú tham số 'supervised' và thay đổi giá trị mặc định thành 'systemd' để kích hoạt tích hợp Redis với systemd.
Mã:
supervised systemd
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22738%22%20height=%22359%22%3E%3C/svg%3E
Cuối cùng, bỏ ghi chú Tham số 'aclfile' để bật ACL (Danh sách kiểm soát truy cập) của Redis qua tệp. Kể từ Redis v6, sử dụng ACL là cách được khuyến nghị để bảo mật Redis và Redis hỗ trợ các phương pháp khác nhau để sử dụng ACL, bạn có thể tạo ACL qua shell Redis hoặc tệp ACL đã xác định. Ví dụ này sẽ sử dụng ACL qua tệp.
Mã:
aclfile /etc/redis/users.acl
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22717%22%20height=%22246%22%3E%3C/svg%3E
Lưu và đóng tệp khi hoàn tất.
Bây giờ, hãy chạy lệnh sau để tạo tệp ACL '/etc/redis/users.acl'.
Mã:
touch /etc/redis/users.acl
Mã:
sudo systemctl restart redis
Kết nối với máy chủ Redis bằng lệnh 'redis-cli' bên dưới. Trong ví dụ này, bạn sẽ chỉ định địa chỉ IP cho máy chủ Redis.
Mã:
redis-cli -h 192.168.5.21
Mã:
PING "test redis"
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22465%22%20height=%22135%22%3E%3C/svg%3E
Tiếp theo, chạy các truy vấn sau để lấy cấu hình Redis hiện tại. Trong ví dụ này, bạn sẽ kiểm tra các thiết lập 'bind', 'supervised' và protected-mode'.
Mã:
CONFIG GET bind
CONFIG GET supervised
CONFIG GET protected-mode
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22450%22%20height=%22282%22%3E%3C/svg%3E
Cuối cùng, chạy truy vấn ACL sau đây để lấy danh sách các ACL khả dụng trên Redis.
Mã:
ACL LIST
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22412%22%20height=%22118%22%3E%3C/svg%3E
Lúc này, bạn đã hoàn tất cấu hình cơ bản của Redis. Ở bước tiếp theo, bạn sẽ tìm hiểu sâu hơn về cấu hình Redis ACL (Danh sách kiểm soát truy cập) để bảo mật cài đặt Redis.
Bảo mật Redis bằng ACL (Danh sách kiểm soát truy cập)
Kể từ Redis 6.x, cách tốt nhất để bảo mật Redis là triển khai ACL (Danh sách kiểm soát truy cập). Điều này cho phép bạn thiết lập người dùng và quyền trên máy chủ Redis và có thể vô hiệu hóa các tham số 'requirepass' và 'rename-command' trên phiên bản Redis cũ.Bạn có thể thiết lập ACL trên Redis bằng hai phương pháp khác nhau:
- Thiết lập ACL thông qua lệnh ACL\
- Thiết lập ACL thông qua tệp ACL bên ngoài
Đầu tiên, hãy mở tệp ACL '/etc/redis/users.acl' bằng trình chỉnh sửa nano sau lệnh.
Mã:
sudo nano /etc/redis/users.acl
Mã:
user alice on -DEBUG +@all ~* >AliceP4ssw0rd
user bob on +@all -@dangerous ~* >BobP4ssw0rd
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22477%22%20height=%22104%22%3E%3C/svg%3E
Với cấu hình này, bạn sẽ tạo hai người dùng:
- Người dùng alice có mật khẩu 'AliceP4ssw0rd' và được phép thực hiện tất cả các truy vấn '+@all' ngoại trừ DEBUG '-DEBUG' và cũng được phép chạy các truy vấn đối với tất cả các giá trị khóa có sẵn '~*' có sẵn.
- Người dùng bob có mật khẩu 'BobP4ssw0rd' và cho phép người dùng bob thực hiện tất cả các truy vấn '+@all' ngoại trừ '-@dangerous'. Danh mục lệnh '-@dangerous' bao gồm FLUSHALL, MIGRATE, RESTORE, SORT, KEYS, CLIENT, DEBUG, INFO, CONFIG, SAVE, REPLICAOF và nhiều lệnh khác nữa. Ngoài ra, người dùng này được phép thực hiện truy vấn tới tất cả các giá trị khóa khả dụng trên máy chủ Redis.
Bây giờ, hãy chạy lệnh systemctl sau để khởi động lại dịch vụ Redis và áp dụng các thay đổi.
Mã:
sudo systemctl restart redis
Mã:
redis-cli -h 192.168.5.21
Mã:
ACL LIST
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22147%22%3E%3C/svg%3E
Bạn cũng có thể xác minh người dùng chi tiết trên Redis bằng truy vấn sau.
Mã:
ACL GETUSER alice
ACL GETUSER bob
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22702%22%20height=%22346%22%3E%3C/svg%3E
Đối với người dùng bob, bạn có thể thấy lệnh được phép '+@all', nhưng nhóm lệnh 'nguy hiểm' cũng bị vô hiệu hóa.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22697%22%20height=%22306%22%3E%3C/svg%3E
Vô hiệu hóa Người dùng Redis mặc định
Khi người dùng mới alice và bob được tạo, bạn phải vô hiệu hóa người dùng 'mặc định' bằng truy vấn sau.
Mã:
ACL SETUSER default OFF
Mã:
ACL LIST
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22152%22%3E%3C/svg%3E
Nhấn Ctrl+d để thoát khỏi shell Redis.
Sau đó, đăng nhập lại vào Redis bằng lệnh sau.
Mã:
redis-cli -h 192.168.5.21
Mã:
PING
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22500%22%20height=%22159%22%3E%3C/svg%3E
Xác minh người dùng alice
Tiếp theo, bạn sẽ xác minh người dùng Redis mới là alice và bob mà bạn đã tạo.Chạy lệnh sau để xác thực với tư cách là người dùng 'alice'. Nếu thành công, bạn sẽ nhận được kết quả đầu ra là 'OK'.
Mã:
AUTH alice AliceP4ssw0rd
Mã:
PING
ACL WHOAMI
Bây giờ, hãy chạy các truy vấn sau để đảm bảo rằng người dùng alice có thể thực hiện tất cả các truy vấn khả dụng, bao gồm cả quản lý Redis liên quan.
Mã:
CONFIG GET bind
CONFIG GET supervised
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22426%22%20height=%22325%22%3E%3C/svg%3E
Xác minh Người dùng bob
Chạy truy vấn sau để đăng nhập và xác thực với tư cách là người dùng bob.
Mã:
AUTH bob BobP4ssw0rd
Mã:
PING
Nếu bạn chạy các truy vấn sau với tư cách là người dùng bob, bạn sẽ nhận được kết quả đầu ra như 'NOPERM', nghĩa là người dùng bob không có quyền thực thi lệnh.
Mã:
FLUSHALL
CONFIG GET bind
SAVE
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22269%22%3E%3C/svg%3E
Với điều này, bây giờ bạn đã bảo mật thành công Redis với ACL (Danh sách kiểm soát truy cập) thông qua tệp ACL.