Khi mã hóa app.config không chạy được từ máy khác năm 2024
Trong phát triển ứng dụng .NET (dotnet), việc bảo mật file appsettings.json là một mối quan tâm hàng đầu để ngăn chặn sự truy cập trái phép và bảo vệ thông tin nhạy cảm như chuỗi kết nối cơ sở dữ liệu và các cấu hình quan trọng khác khỏi những mối đe dọa tiềm ẩn.Mục lục: Show
Để đảm bảo an toàn tối đa, việc sử dụng Kizuna - một công cụ mã hoá dữ liệu mạnh mẽ - là một phương pháp hiệu quả để mã hoá và bảo vệ file appsettings.json trước các cuộc tấn công và xâm nhập từ bên ngoài. Chúng ta sẽ tiến hành mã hoá bằng các bước sau: 1️⃣ Tạo file thiết lập mới với tên settings.Production.jsonChúng ta sẽ tự định nghĩa một file mới, file này sẽ chứa toàn bộ những cấu hình cần được bảo mật. Lưu ý: các bạn nên bổ sung file này vào file 2️⃣ Cài đặt dotnet tool KizunaCác bạn mở terminal lên và chạy lệnh
Đây là kết quả khi chúng ta đã cài thành công: 3️⃣ Tạo key bảo mậtChạy tiếp câu lệnh phía dưới vào terminal nhé
Vì kizuna cần dotnet core 3.1 runtime để chạy, nên nếu lần đầu tạo key các bạn sẽ gặp thông báo như hình: Các bạn bấm vào link phía dưới cùng rồi tải dotnet core 3.1 runtime theo hệ điều hành của bạn. Sau khi cài xong thì các bạn chạy lại lệnh generate nhé, kết quả là kizuna sẽ cho chúng ta một chuỗi mã, nhớ lưu chuỗi này lại để sau này dùng nó vào việc giải mã và chỉnh sửa lại file. Kết quả: key mình vừa tạo được là: 4️⃣ Thêm key vào biến môi trườngKhi ứng dụng dotnet khởi chạy cần key để giải mã file cấu hình đã được mã hoá, do dó chúng ta cần thêm key vào biến môi trường để ứng dụng có thể truy cập. Ở hệ điều hành windows, các bạn chạy lệnh sau trong PowerShell:
Trong đó “MY_SECRET_KEY” là tên của biến, bạn có thể đặt tuỳ ý, còn Bạn hãy tắt PowerShell và mở lại, sau đó chạy lệnh này để kiểm tra xem key của bạn đã được lưu chưa:
Khi PowerShell trả ra đoạn key đồng nghĩa với việc bạn đã lưu biến môi trường thành công. 5️⃣ Thực hiện mã hoá file cấu hìnhKhi đã hoàn thành các bước trên mà không gặp trở ngại nào, đã đến lúc các bạn tiến hành mã hoá file của dự án. Các bạn mở dự án bằng Visual Studio 2022 hoặc Visual Studio Code đều được, sau đó mở terminal bên trong IDE lên, hoặc các bạn cũng có thể mở terminal lên sau đó trỏ đến thư mục dự án. Chạy lệnh sau để tiến hành mã hoá:
Lưu ý: đoạn này chỉ chạy trên PowerShell nhé, mình sẽ làm hướng dẫn ở hệ điều hành khác sau. Chạy lệnh xong thì file của chúng ta đã được mã hoá thành một chuỗi khó hiểu như hình. 6️⃣ Chỉnh sửa file Program.csĐã đến lúc thiết lập cho ứng dụng của bạn đọc file mã hoá rồi. Dự án của bạn cần cài Package
1 Các bạn chạy lệnh:
Sau đó các bạn vào file Program.cs để thêm cấu hình Ban đầu file của các bạn sẽ tương tự thế này: Các bạn copy đoạn sau và để ở đầu file
Vậy là chúng ta đã xong, từ giờ các bạn đã có thể thiết lập cấu hình như bình thường, khi ứng dụng khởi chạy, nó sẽ tự tìm key và giải mã file của chúng ta. 7️⃣ Giải mã file để chỉnh sửa thông tinNgược lại với
2 là
3 , các bạn dùng lệnh sau để giải mã.
Sau khi giải mã xong thì mã hoá lại bằng lệnh encrypt là được nhé. Vậy là mình đã hướng dẫn xong cách mã hoá file cấu hình cho dotnet 6, mình nghĩ các phiên bản mới hơn cũng có thể làm tương tự, khi nào mình có cơ hội làm việc với các phiên bản khác mình sẽ hướng dẫn thêm nếu cách này không phù hợp. |