Obecnie pracuję nad projektem, w którym jestemprzepisywanie starej (pod koniec lat 90.) aplikacji internetowej w ASP.NET. Część tej aplikacji to system uwierzytelniania użytkowników, który służy do uzyskiwania dostępu do kilku stron w witrynie. Poświadczenia użytkownika (nazwa użytkownika, hasło itp.) Są przechowywane w tabeli bazy danych.
To wszystko dość standardowe, ale pracując z tą bazą danych, ku mojemu przerażeniu, zauważyłem, że dane te są przechowywane w postaci zwykłego tekstu.
Zastanawiam się, jaki byłby najlepszy sposóbpoprawić bezpieczeństwo tego niepewnego systemu. Czy istnieje prosta metoda pobierania danych w postaci zwykłego tekstu, szyfrowania (lub mieszania) i ponownego wstawiania? Czy mogę korzystać z uwierzytelniania formularzy .NET, aby to ułatwić, i czy jest to dobra opcja uwierzytelniania użytkowników w nowej aplikacji?
Dzięki!
Odpowiedzi:
0 dla odpowiedzi № 1Jeśli jesteś w sieci Windows, użyłbym Windows Auth, który używa Active Directory. Pozwoliłoby to twojej grupie administratorów systemów / osobie na administrowanie, kto ma dostęp do aplikacji.
Formularze uwierzytelniania to dobry pomysł, jeśli uwierzytelnianie systemu Windows nie działa dla Ciebie.
Jeśli nie dadzą ci czasu na wdrożeniew jednym z ram auth, zdecydowanie zaszyfrowałem hasła w bazie danych. Napisz aplikację na konsolę i zaszyfruj hasła, korzystając z informacji znalezionych tutaj: Zaszyfruj i odszyfruj ciąg
Następnie musisz zmodyfikować istniejącą aplikację, aby sprawdzać hasła zaszyfrowane zamiast zwykłego tekstu.