Cách cài đặt và bảo mật Redis trên Ubuntu 20.04 [Quickstart]
Redis là một repository key-value trong bộ nhớ được biết đến với tính linh hoạt, hiệu suất và hỗ trợ ngôn ngữ rộng rãi. Hướng dẫn bắt đầu nhanh này trình bày cách cài đặt, cấu hình và bảo mật Redis trên server Ubuntu 20.04.Yêu cầu
 Để hoàn thành hướng dẫn này, bạn  cần  quyền truy cập vào  server  Ubuntu 20.04 có  user  không phải root có  quyền  sudo và firewall  được  cấu hình  bằng ufw .  Bạn có thể cài đặt  điều này  theo  hướng dẫn  Cài đặt   Server  Ban đầu của  ta  cho Ubuntu 20.04 .
Bước 1 - Cài đặt và cấu hình Redis
 Bắt đầu bằng cách cập nhật  cache  ẩn gói apt local  của bạn:
- sudo apt update 
Sau đó cài đặt Redis bằng lệnh :
- sudo apt install redis-server 
Tiếp theo, mở file cấu hình Redis bằng editor bạn muốn :
- sudo nano /etc/redis/redis.conf 
Bên trong file , hãy tìm chỉ thị được supervised cho phép bạn khai báo hệ thống init để quản lý Redis như một dịch vụ. Vì bạn đang chạy Ubuntu, sử dụng hệ thống systemd init, hãy thay đổi giá trị của nó từ no thành systemd :
. . .  # If you run Redis from upstart or systemd, Redis can interact with your # supervision tree. Options: #   supervised no      - no supervision interaction #   supervised upstart - signal upstart by putting Redis into SIGSTOP mode #   supervised systemd - signal systemd by writing READY=1 to $NOTIFY_SOCKET #   supervised auto    - detect upstart or systemd method based on #                        UPSTART_JOB or NOTIFY_SOCKET environment variables # Note: these supervision methods only signal "process is ready." #       They do not enable continuous liveness pings back to your supervisor. supervised systemd  . . .  Lưu file   khi bạn hoàn tất. Nếu bạn đã sử dụng nano để chỉnh sửa file , hãy làm như vậy bằng cách nhấn CTRL + X , Y , sau đó ENTER .
Sau đó, khởi động lại dịch vụ Redis để áp dụng thay đổi bạn đã thực hiện đối với file cấu hình:
- sudo systemctl restart redis.service 
Để kiểm tra xem Redis có hoạt động chính xác hay không, hãy kết nối với  server  bằng redis-cli , ứng dụng dòng lệnh của Redis:
- redis-cli 
Trong  dấu nhắc  sau đó, hãy kiểm tra kết nối bằng lệnh ping :
- ping 
OutputPONG Đầu ra này xác nhận kết nối server đang hoạt động. Tiếp theo, hãy kiểm tra xem bạn có thể đặt khóa bằng lệnh:
- set test "It's working!" 
OutputOK Truy xuất giá trị bằng lệnh :
- get test 
Giả sử mọi thứ đang hoạt động, bạn có thể truy xuất giá trị bạn đã lưu trữ:
Output"It's working!" Sau khi xác nhận bạn có thể tìm nạp giá trị, hãy thoát khỏi dấu nhắc Redis để quay lại shell :
- exit 
Bước 2 - Cấu hình password Redis
 Bạn có thể  cấu hình  password  Redis trực tiếp trong file  cấu hình của Redis, /etc/redis/redis.conf . Mở lại file  đó bằng  editor   bạn muốn :
- sudo nano /etc/redis/redis.conf 
Cuộn đến phần SECURITY và tìm chỉ thị được  comment  có nội dung:
. . . # requirepass foobared . . . Bỏ ghi chú nó bằng cách loại bỏ các # , và thay đổi foobared đến một password  an toàn:
. . . requirepass your_redis_password . . . Sau khi đặt password , hãy lưu file , sau đó khởi động lại Redis:
- sudo systemctl restart redis.service 
Để kiểm tra xem password có hoạt động không, hãy mở ứng dụng Redis:
- redis-cli 
Sau đây là một chuỗi các lệnh được sử dụng để kiểm tra xem password Redis có hoạt động hay không. Lệnh đầu tiên cố gắng đặt khóa thành một giá trị trước khi xác thực:
- set key1 10 
Điều đó sẽ không hoạt động vì bạn không xác thực, vì vậy Redis trả về một lỗi:
Output(error) NOAUTH Authentication required. Lệnh tiếp theo xác thực bằng password được chỉ định trong file cấu hình Redis:
- auth your_redis_password 
Redis thừa nhận:
OutputOK Sau đó, chạy lại lệnh trước đó sẽ thành công:
- set key1 10 
OutputOK get key1 các truy vấn get key1 Redis cho giá trị của khóa mới.
- get key1 
Output"10" Sau khi  xác nhận  bạn có thể chạy các lệnh trong client  Redis sau khi xác thực, bạn có thể thoát khỏi redis-cli :
- quit 
Bước 3 - Đổi tên các lệnh nguy hiểm
 Tính năng bảo mật khác được tích hợp trong Redis liên quan đến việc đổi tên hoặc tắt hoàn toàn một số lệnh được coi là nguy hiểm. Một số lệnh được coi là nguy hiểm bao gồm: FLUSHDB , FLUSHALL , KEYS , PEXPIRE , DEL , CONFIG , SHUTDOWN , BGREWRITEAOF , BGSAVE , SAVE , SPOP , SREM , RENAME và DEBUG . Bằng cách tắt hoặc đổi tên các lệnh này và các lệnh khác, bạn sẽ khiến   user  lạ  khó  cấu hình  lại, phá hủy hoặc xóa sạch  dữ liệu  hơn.
Để đổi tên hoặc tắt các lệnh Redis, hãy mở file cấu hình :
- sudo nano  /etc/redis/redis.conf 
Cảnh báo: Các bước sau đây chỉ ra cách tắt và đổi tên lệnh là ví dụ. Bạn chỉ nên chọn tắt hoặc đổi tên các lệnh phù hợp với bạn. Bạn có thể xem lại danh sách đầy đủ các lệnh cho mình và xác định cách chúng có thể bị sử dụng sai tại redis.io/commands .
Để vô hiệu hóa một lệnh, chỉ cần đổi tên nó thành một chuỗi trống (được biểu thị bằng một cặp dấu ngoặc kép không có ký tự nào giữa chúng), như được hiển thị bên dưới:
. . . # It is also possible to completely kill a command by renaming it into # an empty string: # rename-command FLUSHDB "" rename-command FLUSHALL "" rename-command DEBUG "" . . . Để đổi tên một lệnh, hãy đặt cho nó một tên khác như thể hiện trong các ví dụ bên dưới. Các lệnh được đổi tên sẽ khó đoán đối với người khác, nhưng dễ nhớ đối với bạn:
. . . # rename-command CONFIG "" rename-command SHUTDOWN SHUTDOWN_MENOT rename-command CONFIG ASC12_CONFIG . . . Lưu các thay đổi và đóng file.
Sau khi đổi tên một lệnh, hãy áp dụng thay đổi bằng cách khởi động lại Redis:
- sudo systemctl restart redis.service 
Để kiểm tra lệnh mới, hãy nhập dòng lệnh Redis:
- redis-cli 
Sau đó xác thực:
- auth your_redis_password 
OutputOK Giả sử rằng bạn đã đổi tên lệnh CONFIG thành ASC12_CONFIG như trong ví dụ trước, hãy thử sử dụng lệnh CONFIG ban đầu. Nó sẽ không thành công, vì bạn đã đổi tên nó:
- config get requirepass 
Output(error) ERR unknown command `config`, with args beginning with:  Tuy nhiên, gọi lệnh đã đổi tên sẽ thành công. Nó không phân biệt chữ hoa chữ thường:
- asc12_config get requirepass 
Output1) "requirepass" 2) "your_redis_password" Kết luận
Trong hướng dẫn bắt đầu nhanh này, bạn đã cài đặt và cấu hình Redis, xác thực rằng cài đặt Redis của bạn đang hoạt động chính xác và sử dụng các tính năng bảo mật tích hợp của nó để làm cho nó ít bị tấn công từ các tác nhân độc hại.
Các tin liên quan
Cách cài đặt và bảo mật Redis trên Ubuntu 20.042020-05-01
Cách cài đặt và bảo mật Redis trên Ubuntu 18.04
2020-04-30
Cách di chuyển dữ liệu Redis với sao chép trên Ubuntu 18.04
2019-12-04
Cách quản lý các bộ được sắp xếp trong Redis
2019-11-22
Cách thêm Sidekiq và Redis vào ứng dụng Ruby on Rails
2019-11-22
Cách quản lý bản sao và khách hàng trong Redis
2019-10-08
Cách hết hạn khóa trong Redis
2019-10-08
Cách thực hiện giao dịch trong Redis
2019-10-01
Cách phân tích thống kê database Redis được quản lý bằng cách sử dụng elastic trên Ubuntu 18.04
2019-09-27
Cách quản lý bộ trong Redis
2019-09-26
 

