Hướng dẫn kích hoạt SSL/TLS trên ASP.NET Core

Hướng dẫn kích hoạt SSL / TLS trên trang web ASP.NET Core một cách nhanh chóng và đơn giản.

 

Chứng chỉ SSL đã trở nên quan trọng đối với Google trong năm nay ( 51,8% trong số một triệu trang web hàng đầu hiện có tính năng bảo mật nâng cao này), điều đó có nghĩa là chúng cũng quan trọng đối với bạn.

Trước khi xuất bản một trang web ASP.NET Core lên internet, bạn sẽ cần phải xem xét bảo mật kỹ thuật số. Theo mặc định, tất cả các máy chủ web xử lý lưu lượng truy cập qua cổng 80 thông qua Giao thức truyền tải siêu văn bản (HTTP), đó là cách trình duyệt web gửi và nhận dữ liệu.

Tuy nhiên, hình thức giao tiếp này đi kèm với một số lỗ hổng nhất định có thể ảnh hưởng đến hiệu suất và uy tín của trang web của bạn.

Cách thực hành tốt nhất cho các nhà phát triển phần mềm là kích hoạt công nghệ lớp cổng bảo mật (SSL) trên tất cả các trang web được lưu trữ. Đây là cách để làm điều đó.

Khái niệm cơ bản về chứng chỉ SSL

Biểu tượng ổ khóa xuất hiện bên cạnh thanh địa chỉ trong trình duyệt web là một dấu hiệu cho thấy trang web hiện tại được bảo mật bằng chứng chỉ SSL. Nhưng điều đó thực sự có ý nghĩa gì? Đó là một dấu hiệu cho thấy các yêu cầu dữ liệu sẽ được gửi qua cổng 443 thay vì cổng 80 thông thường cho HTTP. Truyền thông dữ liệu an toàn qua web được gọi là HTTPS.

Nếu dự án ASP.NET CORE của bạn sẽ có khả năng lưu trữ tên người dùng và mật khẩu hoặc thực hiện các giao dịch thẻ tín dụng, thì việc hỗ trợ cho HTTPS là bắt buộc. Nếu không, khách truy cập và khách hàng của bạn sẽ có nguy cơ bị lộ thông tin cá nhân của họ trước những kẻ xâm nhập và tin tặc.

Với các yêu cầu HTTP cơ bản qua cổng 80, dữ liệu được truyền dưới dạng văn bản thuần, có nghĩa là các tin nhắn có thể bị chặn bằng cách hack mạng wi-fi cục bộ. Chứng chỉ SSL loại bỏ rủi ro đó, vì chúng mã hóa tất cả các chuyển dữ liệu từ trình duyệt đến máy chủ web. Vì vậy, ngay cả khi tin tặc cố phân tích thông điệp được gửi, nó không thể được giải mã.

Chứng chỉ SSL được cấp bởi các tổ chức được gọi là cơ quan cấp chứng chỉ chịu trách nhiệm xác minh danh tính của công ty hoặc cá nhân yêu cầu chứng chỉ. Sau khi được phê duyệt và cài đặt, chứng chỉ cung cấp đảm bảo cho khách truy cập rằng trang web được bảo mật và mã hóa.

Kích hoạt chuyển hướng HTTPS

Khi một cá nhân nhập địa chỉ web vào trình duyệt của họ, gói yêu cầu ban đầu sẽ được gửi qua cổng 80 bằng HTTP. Để sử dụng chứng chỉ SSL với trang web ASP.NET Core của bạn, bạn cần ngay lập tức yêu cầu máy chủ web chuyển hướng lưu lượng truy cập đến cổng 443 dưới dạng yêu cầu HTTPS. Để làm đươc như vậy, hãy tuân theo những bước sau:

  • Mở mã nguồn của bạn trong ứng dụng Visual Basic
  • Chỉnh sửa lớp “Startup”
app.UseHttpsRedirection ();
  • Thêm dòng sau trong “Configure” funcition: app.UseHttpsRedirection ();

Điều này sẽ hướng dẫn máy chủ web của bạn tải chứng chỉ SSL cho tất cả các yêu cầu đến. Tiếp theo, bạn cần thêm các hướng dẫn mã để mở và sử dụng cổng mạng chính xác cho các kết nối HTTPS.

  • Chỉnh sửa lớp “Program” trực tuyến trong dự án ASP.NET Core của bạn
.Sử dụng ("https_port", "443")
  • Thêm dòng sau trong hàm “CreatWebhostBuilder”: .UseSetting (phiên bản https_port,, 443)

Nếu bạn có tường lửa được thiết lập trên web hoặc máy chủ ứng dụng, chính sách của họ cũng phải được cập nhật thủ công để cho phép các yêu cầu bên ngoài thông qua cổng 443.

Sử dụng chứng chỉ tự ký

 

Đối với các dự án ASP.NET Core đang trong giai đoạn phát triển ban đầu, bạn có thể chưa sẵn sàng để có được chứng chỉ SSL đầy đủ từ cơ quan cấp chứng chỉ, đặc biệt là với các chi phí mà chúng liên quan. Thay vào đó, bạn có thể kích hoạt chứng chỉ tự ký miễn phí cho dự án của mình, có thể được sử dụng để thử nghiệm trong môi trường phát triển của bạn.

Thực hiện theo các bước sau để kích hoạt xác thực SSL tự ký trong ASP.NET Core:

  • Khởi chạy tiện ích nhắc lệnh Windows
dotnet dev-certs https --trust
  • Chạy lệnh .NET sau: dotnet dev-certs https siêutrust
  • Nhấp vào Yes để xác nhận bạn muốn tin tưởng vào chứng chỉ tự ký

Bây giờ khi bạn kiểm tra trang web của mình và sử dụng https https ở đầu URL, trình duyệt web sẽ nhận ra chứng chỉ tự ký và hiển thị biểu tượng ổ khóa để chỉ ra chứng chỉ SSL hợp lệ. Xin lưu ý rằng bạn sẽ cần thực hiện quy trình này trên tất cả các máy trạm nơi thử nghiệm sẽ diễn ra.

 

Kết nối SSL với Azure

Nếu bạn đang triển khai dự án ASP.NET Core của mình lên nền tảng đám mây Microsoft Azure, thì bạn có thể liên kết cấu hình SSL của mình với ứng dụng web thay vì phải lo lắng về việc quản lý chứng chỉ trong môi trường cục bộ. Ràng buộc SSL có sẵn cho các cấp tài khoản Azure cơ bản, tiêu chuẩn, cao cấp hoặc biệt lập.

Tham khảo các bước sau để thiết lập ràng buộc SSL với cấu hình Azure của bạn:

  • Điều hướng đến cổng thông tin Azure trong trình duyệt web và đăng nhập bằng thông tin đăng nhập tài khoản của bạn
  • Nhấp vào biểu tượng App service trên mạng từ menu bên trái của màn hình
  • Chọn tên dự án ASP.NET Core của bạn từ danh sách dịch vụ
  • Mở tất cả các tệp SSL riêng lẻ mà bạn nhận được từ cơ quan cấp chứng chỉ và hợp nhất chúng thành một tệp bằng trình chỉnh sửa văn bản như Notepad
mergedcertificate.crt
  • Lưu tệp chứng chỉ SSL đã hợp nhất thành một đối tượng mới có tên là mergedcert ve.crt
openssl pkcs12 -export -out myserver.pfx -inkey private-key-file -in merged-cert-file
  • Chạy lệnh sau trong cửa sổ nhắc lệnh để chuyển đổi tệp .crt thành tệp khóa riêng: openssl pkcs12 -export -out myserver.pfx -inkey private-key-file -in merged-cert-file
  • Trong quá trình xuất, bạn sẽ được nhắc chọn mật khẩu để liên kết với tệp .pkf mới
  • Chuyển đến phần Cài đặt SSL SSL Phần của cửa sổ Azure và nhấp vào Tải lên Chứng chỉ Tải lên
  • Điều hướng đến vị trí của tệp .pkf, nhập mật khẩu chứng chỉ bạn vừa đặt và nhấp vào Tải lên Tải lên
  • Nhấp vào liên kết của Thêm Thêm Binding, và chọn tùy chọn SSL SSL dựa trên IP

Công nghệ nhằm giải cứu

 

Nếu có vẻ như internet đã trở thành một bữa tiệc cho tin tặc và chính phủ để xâm phạm quyền riêng tư và đánh cắp dữ liệu cá nhân, thì đó không phải là trí tưởng tượng của bạn. Chủ tịch của IBM gần đây cho biết, Cyber ​​Cyberime là mối đe dọa lớn nhất đối với mọi công ty trên thế giới. Một tuyên bố táo bạo được cho là đúng.

Với chứng chỉ SSL và mạng riêng ảo, chúng tôi có công nghệ mã hóa luồng dữ liệu giữa máy tính và internet, điều này khiến hacker khó khăn hơn nhiều trong việc kinh doanh độc hại của mình. Vì chi phí ước tính để đối phó với tội phạm mạng tăng lên tới 1 nghìn tỷ đô la trong năm nay, thật khó để đổ lỗi cho Google vì đã thúc đẩy mạnh mẽ việc khóa các trang web.

Suy nghĩ cuối cùng

Mặc dù việc chuyển đổi từ HTTP sang HTTPS là tùy chọn về mặt kỹ thuật, bạn nên nhận ra rằng nó thực sự không. Như đã đề cập, Google đứng sau một cú hích lớn để làm cho toàn bộ internet an toàn hơn và ai có thể đổ lỗi cho họ? Đó là tất cả về trải nghiệm khách hàng an toàn hơn.

Mặc dù các trang web không có chứng chỉ SSL dường như không phải chịu hình phạt thực tế dưới dạng xếp hạng tìm kiếm thấp hơn, Google vẫn thưởng cho các trang web tuân thủ tăng cường SEO, có tác dụng tương tự. Và trong trò chơi mèo vờn chuột ngày nay là cuộc chiến giành vị trí hàng đầu trên trang số một, bạn không thể bỏ qua bất kỳ cơ hội nào để giành lợi thế.

bình luận

Leave a Comment