Vì sao xác thực Basic của Squid vẫn chấp nhận mật khẩu cũ
Hiểu bộ nhớ đệm thông tin Basic trong Squid 6.13 trước khi cho rằng sửa tệp mật khẩu sẽ thu hồi ngay quyền truy cập của mọi yêu cầu.
Đổi tệp mật khẩu của Squid không nhất thiết khiến mọi yêu cầu tiếp theo gọi lại helper. Với xác thực Basic, Squid có thể lưu bộ tên người dùng và mật khẩu đã kiểm tra thành công vào bộ nhớ đệm.
Thiết lập Squid 6.13 kiểm soát thời gian kết quả kiểm tra được xem là hợp lệ là credentialsttl. Ví dụ:
auth_param basic credentialsttl 5 minutes
Đây là giá trị chính sách minh họa, không phải khuyến nghị chung. Chọn theo độ trễ thu hồi chấp nhận được và tải mà backend xác thực có thể xử lý.
Tách ba bước kiểm tra
Trước hết xác nhận bạn đã sửa tệp mà helper đang hoạt động sử dụng. Sửa đúng một tệp không được dùng sẽ không có tác dụng. Sau đó kiểm tra helper có thể đọc tệp và xác thực thông tin tài khoản mới. Cuối cùng thử yêu cầu proxy mới qua phiên bản đang chạy, nơi bộ nhớ đệm thông tin và quy tắc truy cập cũng áp dụng.
Kiểm tra riêng helper và proxy đang chạy. Helper cho biết backend hiện chấp nhận gì, còn Squid có thể vẫn dùng lại kết quả đã lưu. Khi thay đổi thông tin, kiểm tra cả thông tin mới hoạt động và thông tin cũ bị từ chối sau khoảng thời gian kiểm tra tương ứng.
Dùng tài khoản thử nghiệm riêng khi điều tra hành vi này. Giữ nguyên yêu cầu, nguồn máy khách và đích, đồng thời không đưa mật khẩu thật vào đầu ra lệnh được chia sẻ.
Lập kế hoạch thu hồi thay vì chỉ dựa vào việc sửa tệp
Thời hạn kiểm tra ngắn hơn làm tăng công việc của backend. Trước khi giảm trong dịch vụ bận, hãy cân nhắc năng lực helper và kiểm tra với backend thực tế. Đừng cho rằng tải lại cấu hình xóa mọi trạng thái xác thực liên quan nếu điều đó chưa được xác lập cho phiên bản và thiết lập của bạn.
Để gỡ quyền khẩn cấp, lệnh từ chối rõ ràng theo tài khoản hoặc nguồn có thể tạo ranh giới riêng. Hãy thử lệnh từ chối đó từ tuyến bị ảnh hưởng thay vì chỉ dựa vào việc xóa khỏi tệp mật khẩu.
Thiết lập này mô tả bộ nhớ đệm kiểm tra Basic. Các cơ chế xác thực hướng kết nối có trạng thái bổ sung và không nên được gán cùng mô hình thu hồi chỉ vì tương tự.