Dấu hiệu đầu tiên thường là cảnh báo chứ không phải sự cố. Một máy khách từ chối tải khóa vì tệp đọc được bởi nhóm hoặc mọi người, hoặc một đợt rà soát bảo mật phát hiện client.key ở quyền 644 trong thư mục hồ sơ cũng chứa các gói đã xuất. Chưa có gì hỏng, và đó chính là lý do cảnh báo bị bỏ qua. Khóa hoạt động, đường hầm được thiết lập, và tệp đọc được bởi mọi tài khoản trên máy.

Triệu chứng là cảnh báo quyền, không phải gián đoạn

Trên hệ thống kiểu Unix, khóa riêng chỉ nên đọc được bởi tài khoản chạy dịch vụ. Quyền 600 với chủ sở hữu đúng là cách bố trí thông thường. Quyền 644 nghĩa là mọi người dùng cục bộ có thể sao chép khóa, và trên một máy chủ build dùng chung thì đó là đối tượng thực sự.

Những máy khách kiểm tra điều này đang giúp bạn. Những máy không kiểm tra không phải bằng chứng tệp an toàn, và một kết nối thành công không nói gì về việc ai khác có thể đọc tài liệu đã tạo điều kiện cho nó. Hãy coi cảnh báo là toàn bộ phát hiện. Nó chính xác và đến trước khi ai đó sao chép tệp.

Khớp quyền với danh tính của dịch vụ

Truy cập chỉ dành cho chủ sở hữu phù hợp với khóa mà chủ đó dùng. Một dịch vụ có nhóm chia sẻ có chủ đích có thể cần cách bố trí được kiểm soát khác, chẳng hạn đọc nhóm trên khóa thuộc sở hữu của tài khoản dịch vụ. Đặt mù quáng một quyền số duy nhất cho mọi tệp sẽ làm hỏng các máy khách được hỗ trợ, và chmod -R 777 không phải giải pháp cho bất cứ điều gì.

Kiểm tra chủ sở hữu và tài khoản dịch vụ trước khi thay đổi bất cứ điều gì. Chứng chỉ CA công khai và khóa danh tính riêng có yêu cầu bí mật khác nhau dù ở cùng thư mục, nên quyền đệ quy trên toàn bộ thư mục coi cả hai là cùng một đối tượng.

ls -l /etc/openvpn/client/
stat -c '%U %G %a %n' /etc/openvpn/client/*.key
id openvpn

Trên nền tảng khác, hãy dùng kho khóa hoặc mô hình kiểm soát truy cập đã được ghi tài liệu thay vì dịch các quyền Unix thành phỏng đoán. Tên tệp kết thúc bằng private là nhãn, không phải cơ chế thực thi.

Tìm các bản sao mà quyền không bao phủ

Trình soạn thảo, kho lưu bản sao, hồ sơ đã xuất và gói tạm thời mỗi thứ đều có thể giữ cùng một danh tính. Bảo vệ các bản sao đó theo nội dung, vì siết tệp gốc không làm gì cho bản trong tệp tar tháng trước.

Cụm mật khẩu trên tệp khóa hữu ích cho tài liệu lưu trữ và không biện minh cho việc công bố tệp đã mã hóa bên cạnh mật khẩu của nó. Quyền bảo vệ đối tượng hệ thống tệp hiện tại; chúng không nói gì về thông tin xác thực đã bị sao chép ở nơi khác.

Tìm các bản sao trước khi tuyên bố xong việc: grep -rl dòng tiêu đề của khóa trong các thư mục khả dĩ và xem các loại trừ sao lưu. Kết quả thường thú vị hơn tệp bạn bắt đầu.

Sau khi sửa, xác minh và luân chuyển

Kiểm tra rằng dịch vụ dự định vẫn xác thực, sau đó xác nhận không tài khoản không cần thiết nào có được quyền truy cập. Giới hạn đầu ra chẩn đoán ở siêu dữ liệu, vì không cần in khóa để chứng minh tệp đọc được và nó đưa tài liệu vào nhật ký.

Nếu khóa đã bị lộ, hãy siết quyền, sau đó thay thông tin xác thực và thu hồi khóa cũ. Đặc tả POSIX chmod giải thích ý nghĩa của từng bit quyền, điều đáng biết trước khi đợt rà soát tiếp theo yêu cầu bạn biện minh cho con số đã chọn.

Bài viết liên quan