Cài đặt chứng chỉ Web SSL hợp lệ trong Access Server
Admin 16:42 05-03-2019 1073
Mặc dù việc cài đặt và quản lý chứng chỉ SSL cho Máy chủ truy cập của bạn có vẻ quá phức tạp, bài viết này cố gắng trình bày tất cả các điều cơ bản để bạn có thể bảo mật Máy chủ truy cập của mình
Giới thiệu
Mật mã học là một vấn đề phức tạp cần nắm bắt và chứng chỉ SSL, khi chưa bao giờ nghe về chúng trước đây, có thể là một thách thức để hiểu. Mặc dù việc cài đặt và quản lý chứng chỉ SSL cho Máy chủ truy cập của bạn có vẻ quá phức tạp, bài viết này cố gắng trình bày tất cả các điều cơ bản để bạn có thể bảo mật Máy chủ truy cập của mình trong tích tắc! Điều quan trọng cần lưu ý là chứng chỉ SSL chỉ hoạt động khi bạn đang sử dụng tên FQDN cho cài đặt OpenVPN Access Server của bạn. FQDN là viết tắt của Tên miền đủ điều kiện và một ví dụ về điều này là docs.openvpn.net hoặc openvpn.net. Đây là những tên tồn tại trên Internet và có thể được giải quyết bằng truy vấn DNS. Nếu bạn chưa thiết lập tên như vậy, thì hãy sắp xếp tên đó trước và định cấu hình đúng. Sau đó, bạn có thể tiếp tục với tài liệu này và thiết lập chứng chỉ SSL trên tên FQDN mà bạn đã chọn để cài đặt máy chủ của mình.
Bài viết này sẽ bao gồm những điều sau đây:
- Một lời giải thích tại sao bạn nên cài đặt chứng chỉ SSL.
- Cách tạo yêu cầu ký chứng chỉ (CSR) để nộp cho cơ quan chứng nhận thương mại (CA).
- Cách cài đặt chứng chỉ SSL thương mại trong Access Server.
- Một số vấn đề phổ biến và giải pháp cho những vấn đề này.
- Cách gia hạn hiệu lực của chứng chỉ tự ký hoặc thay đổi tên chung của chứng chỉ tự ký.
- Cách hoàn nguyên Máy chủ truy cập thành chứng chỉ tự ký (xóa chứng chỉ SSL thương mại).
Tại sao bạn nên thay thế chứng chỉ SSL?
Bạn có thể nhận thấy khi bạn bắt đầu sử dụng sản phẩm Máy chủ Truy cập OpenVPN, bạn nhận được các cảnh báo như cảnh báo: kết nối của bạn không riêng tư hoặc không thể xác minh danh tính của máy chủ này hoặc các tin nhắn thảm khốc như vậy. Thật tốt khi bạn nhận được những tin nhắn này khi chúng cảnh báo bạn rằng thực tế là chứng chỉ SSL trên máy chủ này không hợp lệ. Hay đúng hơn, nó hợp lệ vì có mã hóa xảy ra giữa trình duyệt web của bạn và máy chủ web, nhưng nó không đáng tin cậy. Chỉ khi chứng chỉ SSL được tin cậy, biểu tượng ổ khóa màu xanh lá cây sẽ hiển thị trên thanh địa chỉ và các thông báo này sẽ biến mất. Nó cũng loại bỏ một số cảnh báo mà bạn thấy trong OpenVPN Connect Client khi bạn cài đặt ban đầu, đồng thời cảnh báo bạn rằng không thể xác minh danh tính máy chủ.
Vì vậy, để trả lời câu hỏi tại sao bạn nên thay thế chứng chỉ SSL, trước tiên và quan trọng nhất là loại bỏ các cảnh báo. Nhưng một trong những khía cạnh quan trọng nhất thực sự là chứng chỉ SSL được xác minh và tin cậy là sự đảm bảo rằng bạn được kết nối với máy chủ mà bạn nghĩ rằng bạn đang kết nối. Danh tính của máy chủ, đó là máy chủ bạn muốn kết nối, được đảm bảo nếu chứng chỉ SSL được ký hợp lệ. Nếu bạn có những thứ được thiết lập với chứng chỉ SSL đã ký và được xác minh, bạn sẽ thấy biểu tượng ổ khóa màu xanh lá cây cho biết bạn đã kết nối với máy chủ của mình chứ không phải bất kỳ máy chủ nào khác giả danh máy chủ của bạn. Nếu bằng một cách nào đó, ai đó thành công trong việc chuyển hướng lưu lượng truy cập của bạn đến một máy chủ khác, để thử và lấy cắp thông tin đăng nhập, sẽ dẫn đến những cảnh báo xấu lớn mà bạn thấy khi chứng chỉ SSL không đáng tin cậy.
Chúng tôi cũng có thêm một số thông tin về chứng chỉ SSL là gì và cách thức hoạt động ở đây .
Tạo yêu cầu ký chứng chỉ
Để đặt hàng để tạo các tài liệu khóa thích hợp cho phần mềm Máy chủ Truy cập của bạn, bạn sẽ cần một máy có cài đặt OpenSSL . Điều này được thực hiện dễ dàng nhất trên hệ thống Linux, ví dụ như hệ điều hành Linux mà Máy chủ truy cập OpenVPN của bạn đang chạy. Để xem bạn đã cài đặt OpenSSL chưa, hãy thử đăng nhập vào máy chủ Linux của bạn và lấy quyền root và sau đó sử dụng các lệnh bên dưới. Nếu bạn chưa cài đặt OpenSSL, thì hãy sử dụng các lệnh được chỉ định bên dưới để cài đặt nó.
Xem nếu OpenSSL được cài đặt:
openssl vession
Nếu bạn gặp lỗi, hãy sử dụng lỗi này để cài đặt trên hệ thống Debian / Ubuntu:
apt-get install openssl
Hoặc trên các hệ thống CentOS / Red Hat:
yum install openssl
Bây giờ OpenSSL đã được cài đặt, bạn có thể sử dụng nó để tạo khóa riêng và yêu cầu ký chứng chỉ (4096 bit SHA256):
openssl req -out server.csr -new -newkey rsa: 4096 -sha256 -nodes -keyout server.key
Bạn sẽ được hỏi một bộ câu hỏi tiêu chuẩn. Đây là cách chúng tôi trả lời nó trong tình huống ví dụ của chúng tôi:
Tên quốc gia (mã 2 chữ cái) [AU]:
Tên tiểu bang hoặc tỉnh của Hoa Kỳ (tên đầy đủ) [Một số bang]:
Tên địa phương California (ví dụ: thành phố) []:
Tên tổ chức San Francisco (ví dụ: công ty) [Internet Widgits Pty TNHH]: Exampletronix, Inc.
Organizational Unit Name (ví dụ, phần) []: Hỗ trợ CNTT
Common Name (ví dụ, tên bẠN) []: vpn.exampletronix.com <- Đây là tên FQDN cho máy chủ của bạn.
Địa chỉ Email []: support@exampletronix.com
Vui lòng nhập các thuộc tính 'phụ' sau đây
được gửi với yêu cầu chứng chỉ của bạn
Mật khẩu thử thách []:
Tên công ty tùy chọn []:
Trong ví dụ trên, chúng tôi không chỉ định mật khẩu thách thức hoặc tên công ty tùy chọn. Một số cơ quan cấp chứng chỉ không cho phép bạn chỉ định tên công ty tùy chọn hoặc biết cách xử lý mật khẩu thách thức, vì vậy chúng tôi khuyên bạn không nên trả lời hai câu hỏi cuối cùng và chỉ cần nhấn enter để tiếp tục. Với các bước tiếp theo như trên, bây giờ chúng ta có một tệp server.key và tệp server.csr .
Tệp server.key là khóa riêng và điều quan trọng là khóa này được giữ an toàn và bảo mật. Bạn sẽ cần tệp này khi yêu cầu ký chứng chỉ của bạn đã được phê duyệt và chứng chỉ đã được cấp cho bạn. Ngoài ra, nó là nền tảng của mô hình bảo mật chứng chỉ SSL. Khóa riêng này ở lại với bạn và không đi đến bất kỳ bên nào khác!
Tệp server.csr là yêu cầu ký chứng chỉ. Trong các câu hỏi ở trên, bạn được yêu cầu cung cấp một Tên chung của người dùng ". Đó là nơi mà tên FQDN nơi Máy chủ truy cập của bạn có thể truy cập được trên Internet. Ví dụ: Máy chủ truy cập của bạn đã được thiết lập tại địa chỉ https : //vpn.exampletronix.com/ thì Common Name được vpn.exampletronix.com . giống như trong ví dụ của chúng tôi Điều này có nghĩa rằng trong ví dụ của chúng tôi, yêu cầu ký giấy chứng nhận của chúng tôi sẽ là đối với các tên miền phụ vpn.exampletronix.com trên tên miền thipletronix.com .
Bây giờ bạn có thể đến cơ quan chứng nhận SSL đã chọn của bạn. Có rất nhiều ngoài kia. Chọn một cái bạn thích và họ sẽ yêu cầu bạn yêu cầu ký chứng chỉ và loại máy chủ mà bạn đang tìm kiếm để lấy chứng chỉ. Nếu được hỏi, loại chứng chỉ bạn muốn là tương thích với Apache hoặc Apache2 . Chúng tôi thực sự không sử dụng phần mềm Apache trong sản phẩm Máy chủ truy cập OpenVPN của mình, nhưng chúng tôi sử dụng cùng loại chứng chỉ đó.
Tiếp theo sao chép và dán nội dung của tệp server.csr hoặc tải nó lên dưới dạng tệp. Sau đó, họ sẽ nhìn vào nó và xem câu trả lời bạn đã đưa ra trước đó. Bây giờ đến phần mà họ sẽ cố gắng xác minh rằng bạn thực sự là chủ sở hữu của tên miền testspletronix.com. Một cách họ có thể làm là yêu cầu bạn đặt một tệp trên máy chủ web của bạn, sau đó họ sẽ cố gắng truy xuất. Hoặc họ có thể gửi email xác minh đến một địa chỉ email đã đăng ký được biết đến tại cơ quan đăng ký tên miền cho tên miền testspletronix.com. Những bước này họ làm để đảm bảo rằng họ đang giao dịch với chủ sở hữu thực sự của tên miền testspletronix.com chứ không phải với ai đó giả vờ. Chỉ chủ sở hữu thực sự mới có quyền truy cập vào địa chỉ email đã đăng ký hoặc trang web đang chạy trên tên miền mà bạn đang cố lấy chứng chỉ đã ký.
Khi họ đã xác minh danh tính của bạn và nhận được khoản thanh toán, họ sẽ ký chứng nhận và gửi cho bạn. Họ cũng sẽ gửi cho bạn các tệp trung gian hoặc họ có thể có sẵn các tệp này trên trang web của họ. Các tệp trung gian là các chứng chỉ của riêng chúng hoàn thành chuỗi tin cậy giữa chứng chỉ mà chúng vừa cấp cho bạn và cơ quan chứng nhận gốc được phần lớn các trình duyệt web và các chương trình có khả năng SSL tin cậy. Nếu không có các tệp trung gian, có thể không thể thiết lập một chuỗi tin cậy giữa chứng chỉ công cộng đã ký của bạn và cơ quan chứng nhận tin cậy.
Cài đặt chứng chỉ SSL thương mại trong Access Server
Hướng dẫn này chỉ cho bạn cách cài đặt chứng chỉ SSL thương mại trong Máy chủ truy cập thông qua Giao diện người dùng quản trị viên. Nhưng nó cũng có thể được thực hiện thông qua dòng lệnh . Để có thể cài đặt chứng chỉ khi cài đặt Máy chủ Truy cập, bạn sẽ cần các tệp sau:
- Giấy chứng nhận đã ký từ cơ quan chứng nhận của bạn.
- Gói CA hoặc tệp trung gian từ cơ quan chứng nhận của bạn.
- Khóa riêng mà bạn đã tạo ban đầu khi thực hiện yêu cầu ký chứng chỉ (CSR).
Một vài lưu ý về các tập tin này. Định dạng mà họ nên có là định dạng tương thích với Apache, còn được gọi là định dạng X509 / Base64 hoặc PEM / CER. Nếu bạn đã nhận nhầm các tệp ở định dạng .p12 hoặc .pfx, thì đó là các loại phù hợp với nền tảng Windows, nhưng không phải cho sản phẩm Máy chủ truy cập Linux OpenVPN. Tuy nhiên, có thể chuyển đổi các chứng chỉ sang định dạng được yêu cầu bằng cách sử dụng ví dụ Tiện ích Chứng chỉ DigiCert .
Gói CA (Tổ chức chứng nhận), hay còn gọi là tệp trung gian, là một bộ chứng chỉ hoàn thành chuỗi tin cậy giữa chứng chỉ đã ký của bạn cho máy chủ của bạn và cơ quan cấp chứng chỉ gốc được trình duyệt web và các chương trình có khả năng SSL khác tin cậy. Nếu không có các tệp này, chứng chỉ vẫn có thể hiển thị là không đáng tin cậy hoặc một số lỗi có thể xuất hiện khi cố gắng xác minh danh tính của chứng chỉ máy chủ. Đôi khi bạn nhận được một tệp duy nhất, nhưng trong các trường hợp khác, bạn có thể nhận được một số tệp riêng biệt. Bạn cần chúng ở trong một tập tin. May mắn là điều này có thể được giải quyết bằng cách mở chúng trong một trình soạn thảo văn bản như Wordpad hoặc notepad và sao chép và dán từng tệp vào một tệp mới và lưu và sử dụng tệp đó làm gói CA hoặc tệp trung gian từ đây trở đi.
Khóa riêng phải hoàn toàn là khóa riêng mà bạn đã tạo và sử dụng ban đầu để tạo yêu cầu ký chứng chỉ. Bạn không thể sử dụng bất kỳ khóa riêng nào khác với chứng chỉ đã ký. Họ gắn bó chặt chẽ. Nếu bạn đã phạm sai lầm mất khóa riêng ban đầu, chứng chỉ đã ký của bạn là vô ích và bạn sẽ phải bắt đầu lại.
Để cài đặt chứng chỉ SSL thương mại, trước tiên bạn phải đăng nhập vào UI Web UI.
Sau khi đăng nhập, hãy truy cập phần Máy chủ Web trong menu.
Cung cấp ba tệp cần thiết để cài đặt chứng chỉ, sau đó nhấn nút Xác thực.
Nếu bạn đã cung cấp tất cả các tệp cần thiết một cách chính xác, một thông báo thành công sẽ xuất hiện. Nhấp vào để lưu.
Bạn cũng có thể muốn nhấp vào nút Cập nhật máy chủ đang chạy để thực hiện các thay đổi của mình ngay lập tức. Điều này có thể dẫn đến việc bạn tạm thời mất liên lạc với các dịch vụ web, nhưng nếu bạn đóng trình duyệt và mở lại, giờ đây nó sẽ kết nối và hiển thị ổ khóa màu xanh lá cây nếu chứng chỉ được cài đặt chính xác và đáng tin cậy.
Phục hồi các khóa và chứng chỉ được lưu trữ
Các tệp bạn đã gửi đến Máy chủ truy cập được lưu trữ trong các tệp cơ sở dữ liệu cấu hình của Máy chủ truy cập. Trong những trường hợp hiếm hoi, mọi người đã mất các tệp này và cần truy xuất chúng từ các tệp cơ sở dữ liệu cấu hình của Máy chủ Access. Để làm như vậy, bạn có thể tham khảo tài liệu mô tả cách khôi phục chứng chỉ web SSL từ cấu hình DB .
Các vấn đề và giải pháp thường gặp
Nếu bạn không cung cấp đúng các tệp cần thiết, bạn có thể gặp một số vấn đề bên dưới.
Chứng chỉ không khớp với khóa riêng
Khóa riêng của bạn không khớp với khóa bạn đã sử dụng để ký CSR mà bạn đã gửi cho cơ quan cấp chứng chỉ của mình. Đảm bảo rằng bạn đang sử dụng cùng một tệp chính đã được sử dụng để tạo CSR của bạn. Nếu bạn bị mất tệp này, bạn sẽ cần phải khởi động lại quy trình tạo chứng chỉ và yêu cầu cơ quan cấp chứng chỉ của bạn thay thế chứng chỉ. Khóa riêng là duy nhất và không thể được tạo lại. Nếu bạn mất nó, chứng chỉ công cộng đã ký cũng trở nên vô dụng.
Vấn đề nhận mật khẩu, đọc mật khẩu xấu
Khóa riêng của bạn được mã hóa bằng cụm mật khẩu và Máy chủ truy cập không biết cách giải mã khóa riêng (tức là không biết cụm mật khẩu của bạn là gì). Giải mã khóa riêng của bạn bằng cách chạy lệnh ví dụ bên dưới trên dòng lệnh với chương trình OpenSSL và sau đó cung cấp Access Server tệp khóa riêng được giải mã. Máy chủ truy cập OpenVPN không hỗ trợ sử dụng khóa riêng cho các dịch vụ web được mã hóa bổ sung bằng cụm mật khẩu.
Giải mã khóa riêng được bảo vệ bằng mật khẩu với OpenSSL:
openssl rsa -in server.key -out decrypted.key
Bạn sẽ được hỏi một lần cho cụm mật khẩu của bạn. Tệp decrypted.key kết quả có thể được tải vào Máy chủ truy cập OpenVPN.
PEM_read_bio, không có dòng bắt đầu
Tệp chứng chỉ bạn đã cung cấp không hợp lệ. Đảm bảo rằng bạn đã cung cấp tệp chứng chỉ chính xác và không vô tình cung cấp khóa riêng dưới dạng tệp chứng chỉ đã ký của bạn. Nếu tệp chứng chỉ hợp lệ và Access Server không chấp nhận tệp chứng chỉ, có thể do cơ quan cấp chứng chỉ của bạn định dạng không đúng tệp chứng chỉ (ví dụ: không ngắt dòng hoặc sử dụng EOL khác (Kết thúc Dòng) chuẩn). Bạn có thể cố gắng tự khắc phục sự cố này bằng các công cụ chuyển đổi EOL thích hợp hoặc bằng cách liên hệ với cơ quan cấp chứng chỉ của bạn để được hỗ trợ.
Chứng chỉ không khớp với khóa riêng, mục đích chứng chỉ không được hỗ trợ
Tệp được cung cấp có vẻ như là tài liệu khóa hợp lệ, mặc dù nó không giống như chứng chỉ máy chủ được cung cấp. Có thể gói CA và chứng chỉ máy chủ đã vô tình bị tráo đổi. Hãy thử trao đổi thứ tự của gói CA và chứng chỉ và thử lại. Nếu điều này không hoạt động, hãy đảm bảo bạn đang cung cấp chứng chỉ đã ký mà bạn đã nhận được từ CA của mình chứ không phải CSR mà bạn đã tạo trên máy của mình. CSR không cần hoặc không muốn bởi Máy chủ truy cập OpenVPN, nó chỉ được sử dụng để thực hiện yêu cầu ký chứng chỉ với cơ quan cấp chứng chỉ của bạn.
Cảnh báo ủy thác chứng chỉ: không thể có được chứng chỉ nhà phát hành địa phương
Thông báo này có thể xảy ra trong một loạt các chương trình cố gắng xác minh danh tính của máy chủ bằng chứng chỉ công khai. Nó có thể xảy ra trong Connect Client nhưng nó cũng có thể xảy ra trong trình duyệt web hoặc chương trình thử nghiệm cho các kết nối SSL. Lỗi xảy ra khi đường dẫn từ chứng chỉ máy chủ của bạn đến chứng chỉ ủy quyền gốc đáng tin cậy không thể được thiết lập. Chứng chỉ được phân cấp và mỗi chứng chỉ biết cha mẹ trực tiếp của nó ở trên nó bằng dấu vân tay duy nhất. Sử dụng phương pháp này, một chuỗi có thể được hình thành từ chứng chỉ máy chủ của bạn, đến nhà phát hành chứng chỉ và từ đó đến một cơ quan gốc. Đôi khi có nhiều bước hơn. Đôi khi cha mẹ trực tiếp là cơ quan gốc. Nhưng trong hầu hết các trường hợp, có các bước ở giữa và chúng được gọi là trung gian. Nếu có một, chỉ cần thêm một chứng chỉ, và nếu có thêm, bạn có thể sao chép-dán chúng vào một tệp, chỉ lần lượt từng tệp để tạo tệp bó trung gian. Xin lưu ý rằng nếu bạn đã có chứng chỉ làm việc trước đây, nhưng bây giờ đã có chứng chỉ mới từ một công ty phát hành khác, bạn cũng sẽ cần cập nhật các trung gian của mình. Trên Connect Client, các trung gian có thể được lưu trữ trên đĩa và để cập nhật điều này, bạn sẽ cần phải cài đặt lại Connect Client. Do đó, tốt nhất là gắn bó với cùng một công ty phát hành khi bạn cần gia hạn chứng chỉ. các trung gian có thể được lưu trữ trên đĩa và để cập nhật điều này, bạn sẽ cần phải cài đặt lại Connect Client. Do đó, tốt nhất là gắn bó với cùng một công ty phát hành khi bạn cần gia hạn chứng chỉ. các trung gian có thể được lưu trữ trên đĩa và để cập nhật điều này, bạn sẽ cần phải cài đặt lại Connect Client. Do đó, tốt nhất là gắn bó với cùng một công ty phát hành khi bạn cần gia hạn chứng chỉ.
Cách thay đổi chứng chỉ tự ký
Nếu bạn đang sử dụng chứng chỉ tự ký và muốn tiếp tục sử dụng nó nhưng thay thế bằng chứng chỉ mới, hãy sử dụng các lệnh sau:
cd / usr / local / openvpn_as / scripts /
./certool -d / usr / local / openvpn_as / etc / web-ssl --type ca --unique --cn "CAV OpenVPN
./certool -d / usr / local / openvpn_as / etc / web-ssl --type máy chủ --remove_csr --sn_off --serial 1 --name máy chủ --cn vpn.exampletronix.com
bắt đầu ./sacli
Xin lưu ý rằng việc sử dụng chứng chỉ tự ký không an toàn như sử dụng chứng chỉ đã ký hợp lệ từ cơ quan chứng nhận. Bạn không thể tự tạo các chứng chỉ đã ký như vậy, bạn cần một cơ quan bên ngoài được các trình duyệt web và các chương trình có khả năng SSL khác tin cậy để có thể tin tưởng tự động vào chứng chỉ SSL của máy chủ web của bạn. Cho dù bạn tạo chứng chỉ tự ký như thế nào, chúng sẽ luôn được mặc định không được tin tưởng bởi bất kỳ hệ thống máy tính tiêu chuẩn nào. Chỉ có chứng chỉ SSL thương mại mới có thể làm được điều đó.
Các lệnh được cung cấp ở trên sẽ không có hiệu lực nếu chứng chỉ SSL thương mại được cài đặt trên Máy chủ truy cập của bạn vì điều này được lưu trữ trong cơ sở dữ liệu cấu hình và các giá trị trong cơ sở dữ liệu cấu hình được ưu tiên hơn các tệp được lưu trữ trong ssl webdanh mục. Tương tự như vậy nếu bạn có chứng chỉ tự ký hoặc bất kỳ chứng chỉ nào, được lưu trữ trong cơ sở dữ liệu cấu hình, thì các tệp trong thư mục web-ssl sẽ bị bỏ qua. Nếu bạn thích, bạn có thể sử dụng các lệnh trong phần bên dưới để xóa chứng chỉ khỏi cơ sở dữ liệu cấu hình. Máy chủ truy cập sau đó sẽ trở lại các chứng chỉ được lưu trữ trong thư mục web-ssl .
Cách hoàn nguyên Access Server về chứng chỉ tự ký
Nếu vì bất kỳ lý do nào bạn muốn gỡ cài đặt chứng chỉ SSL thương mại, hãy sử dụng các lệnh sau:
cd / usr / local / openvpn_as / scripts /
./sacli --key "cs.priv_key" ConfigDel
./sacli --key "cs.ca_bundle" ConfigDel
./sacli --key "cs.cert" ConfigDel
./sacli bắt đầu
Bạn rất có thể nhận được cảnh báo SSL sau khi bạn trở lại chứng chỉ SSL tự ký, trừ khi chứng chỉ tự ký trước đó đã được tin cậy thủ công trong (các) cửa hàng chứng chỉ hệ thống của bạn.