Cách lắp ghép hồ sơ máy khách OpenVPN từ các tệp đã cấp
Tệp ovpn là cấu hình, không phải chứng chỉ. Lắp ghép một hồ sơ máy khách từ CA, chứng chỉ và khóa đã cấp, rồi ghim danh tính và thư mục.
Nhà vận hành của bạn bàn giao một gói CA, một chứng chỉ máy khách và khóa của nó, và máy khách sẽ không khởi động cho đến khi chúng được nối vào một hồ sơ. Hồ sơ là cấu hình: nó trỏ tới những tệp đó, không chứa chúng, và việc chỉnh sửa không thể biến nó thành chứng chỉ. Hướng dẫn bắt đầu từ một máy tính xách tay đã được phê duyệt và kết thúc bằng một hồ sơ mà bạn có thể khởi chạy từ một thư mục đã biết. Nó không tạo CA, không đăng ký chứng chỉ mới và không động vào máy chủ.
Mục tiêu ở đây là máy khách dòng lệnh OpenVPN 2.6 cho Linux, định tuyến TUN qua UDP, có xác thực bằng chứng chỉ.
Chỉ thu thập các tệp phía máy khách
Làm việc trong một thư mục được bảo vệ và thu thập vật liệu tin cậy CA đã được phê duyệt, chứng chỉ máy khách đã cấp cho bạn và khóa riêng tương ứng. Trong ví dụ này các tên là ca.crt, laptop-a.crt và laptop-a.key. Tên tệp chỉ là nhãn; chúng không cho biết mỗi tệp chứa gì.
Nếu bạn tạo khóa trong lúc đăng ký, nó chưa bao giờ rời khỏi máy; từ nhà cấp chỉ cần trả về chứng chỉ đã ký và chuỗi công khai. Kiểm tra rằng chứng chỉ mang vai trò máy khách mà dịch vụ mong đợi. Cũng kiểm tra rằng khóa thuộc về chứng chỉ đó chứ không phải một chứng chỉ cũ hơn từ lần thử trước. Một cặp không khớp sẽ gây lỗi TLS rất lâu sau đó, trông giống như sự cố máy chủ.
Để khóa ký riêng của CA, khóa riêng của máy chủ và các tham số DH ra ngoài gói này.
Nối các tệp thành một hồ sơ nhỏ
Hồ sơ bên dưới cố ý ngắn. Mỗi dòng hoặc chọn điểm cuối, hoặc giới hạn danh tính mà máy khách sẽ chấp nhận, hoặc trỏ tới một trong ba tệp.
client
dev tun
proto udp
remote vpn.example.net 1194
nobind
remote-cert-tls server
verify-x509-name vpn-gateway name
ca ca.crt
cert laptop-a.crt
key laptop-a.key
Dòng remote chọn điểm cuối mạng. remote-cert-tls server đòi hỏi phía đối diện xuất trình chứng chỉ có vai trò máy chủ. verify-x509-name ghim tên mong đợi, ở đây là vpn-gateway với tư cách Common Name của chứng chỉ máy chủ cùng trường tên mặc định của OpenVPN. Giá trị đó không được suy ra từ tên máy chủ DNS, vì vậy hãy dùng sơ đồ danh tính mà nhà vận hành đã cung cấp.
Đừng bỏ những kiểm tra đó chỉ vì một điểm cuối thử nghiệm hiển thị chứng chỉ khác.
Hồ sơ cơ sở này giả định không có thử thách tài khoản riêng và không có khóa kênh điều khiển. Nếu dịch vụ cần auth-user-pass, tls-auth hoặc tls-crypt, hãy giữ cấu hình và vật liệu bạn được cấp, vì bí mật kênh điều khiển do bạn tự tạo sẽ không khớp với bí mật máy chủ đang giữ. Cũng hãy giữ chính sách mã hóa của dịch vụ thay vì nhập các dòng nén hoặc mã hóa từ một ví dụ cũ.
Làm rõ thư mục làm việc
Đường dẫn tương đối theo thư mục làm việc của tiến trình, không theo vị trí tệp .ovpn.
Điều đó khiến những người chuyển hồ sơ sang thư mục mới phải ngạc nhiên khi khóa không đi theo. Với thư mục do quản trị viên chọn, lệnh bên dưới chuyển sang đường dẫn tuyệt đối trước khi đọc hồ sơ và các tham chiếu của nó.
sudo openvpn --cd /etc/openvpn/client/laptop-a --config laptop-a.ovpn
Trình hướng dẫn nhập trên màn hình nền hoặc dịch vụ hệ thống có thể đóng gói các phụ thuộc thay bạn và áp dụng quy tắc riêng. Nó cũng có thể dùng thư mục làm việc khác với thư mục bạn đã thử. Xác nhận cách phương thức khởi chạy của bạn phân giải các đường dẫn khóa, chứng chỉ và CA. Chỉ di chuyển tệp .ovpn không di chuyển khóa riêng tách biệt.
Giữ khóa chỉ đọc được bởi người dùng hoặc danh tính dịch vụ dự định.
Xác minh việc bàn giao, không phải tên tệp
Trước lần kết nối được ủy quyền đầu tiên, hãy kiểm tra điểm cuối, danh tính chứng chỉ, nhà cấp và cửa sổ hiệu lực. Sau đó xác nhận rằng các tham chiếu tệp được phân giải từ thư mục làm việc mà bạn thực sự sẽ dùng. Sau khi kết nối, hãy thử hành vi ứng dụng và DNS mà chính sách định tuyến phải cung cấp. Ba tệp đọc được không chứng minh gì về quyền của máy chủ hay về đường dẫn tài nguyên dùng được.
Nếu xuất hiện lời nhắc cụm mật khẩu, nó thuộc về khóa riêng, không thuộc tài khoản VPN.
Cuối cùng, kiểm kê gói như vật liệu thông tin xác thực. Giao cùng chứng chỉ và khóa đó cho máy tính xách tay thứ hai là sao chép danh tính, và đổi tên tệp không cho bạn lần đăng ký thứ hai. Đó là khác biệt giữa lắp ghép một hồ sơ và cấp phát nó.