보안 소켓 계층 (SSL)를 사용하여 폼 인증 보안 정보: 도움말

기술 자료 번역 기술 자료 번역
기술 자료: 813829 - 이 문서가 적용되는 제품 보기.
이 문서에서는 다음 Microsoft .NET Framework 클래스 라이브러리의 네임스페이스를 참조합니다.
  • System.Web.Security
모두 확대 | 모두 축소

이 페이지에서

요약

기본적으로 Microsoft ASP.NET 웹 응용 프로그램에서 폼 인증을 사용할 때 폼 인증 티켓이 들어 쿠키가 보안되지 않습니다. 이 문서에서는 보안 양식 인증 SSL (Secure Sockets Layer)을 사용하여 도움말 방법에 대해 설명합니다. 또한 추가 구현 옵션 및 보안 양식 인증 수 있는 대체 방법을 설명합니다.

추가 정보

폼 기반 인증 응용 프로그램을 자신의 로그온 인터페이스를 제공하는 사용자 지정 자격 증명 확인을 수행할 수 있도록 ASP.NET 인증 서비스입니다. 폼 인증을 사용하여 ASP.NET 사용자를 인증하고 있는 <forms>loginUrl 특성으로 지정된 로그온 페이지로 인증되지 않은 사용자를 리디렉션하는합니다 Web.config 파일에서 요소를. 로그온 폼을 통해 자격 증명을 제공할 때 응용 프로그램이 요청을 인증하고 시스템은 쿠키 형태로 FormsAuthenticationTicket 클래스 다음 발급합니다. FormsAuthenticationTicket 클래스는 후속 응답으로 쿠키 형태로 전달됩니다 인증된 클라이언트의 요청이 웹.

폼 인증은 인증 융통성 있는 방법을 제공하지만, ASP.NET 응용 프로그램을 보호할 때 몇 가지 중요한 문제를 신중하게 고려해야 합니다. 자격 증명을 일반 텍스트로 서버로 보내지기 때문에 SSL을 사용하여 초기 로그온 자격 증명을 보호할 합니다. 폼 인증 티켓이 들어 쿠키를 보호하는 데 도움이 있어야 합니다. 이렇게 하려면 티켓을 보호하기 위해 모든 페이지에서 SSL을 사용하십시오. 또는 해당 <forms>보호 특성을 설정하여 폼 인증 티켓을 암호화할 수 있습니다. 요소를 모두 또는 Web.config 파일에 저장하고 FormsAuthentication암호화 메서드를 암호화 클래스 티켓을 암호화합니다. 자세한 내용은 FormsAuthentication 클래스의 Encrypt 메서드에 대한 참조, "" 본 문서의.

폼 인증 장점

  • 사용자 지정 데이터에 대해 폼 인증을 지원하는 인증, Microsoft SQL Server 데이터베이스 또는 Active Directory 등의 디렉터리 서비스를 저장합니다. 자세한 내용은 이 문서의 "REFERENCES" 절을 참조하십시오.
  • 폼 인증을 사용하여 데이터 저장소에서 역할 조회 역할 기반 권한 부여를 지원합니다.
  • 폼 인증을 사용하여 웹 원활하게 통합된 사용자 인터페이스. 자세한 내용은 이 문서의 "REFERENCES" 절을 참조하십시오.
  • ASP.NET은 인프라를 많이 제공합니다. 비교적 작은 코드 Active Server Pages 버전 3.0 및 이전 비교할 때 필요합니다.
  • Microsoft Internet Explorer ASP.NET 폼 인증이 필요하지 않습니다. 폼 인증을 광범위한 웹 브라우저 클라이언트를 지원합니다.

보안 도움말 만들기 폼 인증 방법

  • 모든 페이지에서 SSL을 사용하십시오.
  • FormsAuthentication 클래스의 암호화 방법을 사용하십시오.

모든 페이지에 대한 SSL 사용

도움말 모든 페이지에 안전한 보안 액세스를 위해 SSL 암호화를 사용하여 인증 쿠키를 클라이언트 브라우저 세션 전체에 걸쳐 보안 남아 있는지 확인합니다. 응용 프로그램에 SSL 암호화를 사용하여 인증 쿠키를 손상시키지 및 기타 유용한 정보를 전송하지 못하도록 확인할 수 있습니다.

Web.config 파일에 requireSSL 속성 값을 true 로 설정하십시오. 그러면 쿠키가 브라우저로 다시 보내질 때 SSL을 위치에서 놓입니다. 사용자가 requireSSL 값을 true 로 설정하지 않으면 예외를 throw하는 폼이나 쿠키를 인증하지 않습니다.

requireSSLtrue 로 설정하면 암호화된 연결, 사용자의 자격 증명을 보호하고 ASP.NET 인증 쿠키가 HttpCookie.Secure 속성을 설정합니다. SSL 연결을 사용하지 않는 경우 호환 브라우저가 쿠키를 반환하지 않습니다. 이 응용 프로그램의 Web.config 파일에서 작업을 수행하는 방법을 보여 주는 예제입니다:
 <configuration>
 <system.web>
   <authentication mode="Forms">
     <forms name=".ASPXAUTH"
       loginUrl="login.aspx" 
       protection="All"
       timeout="20"
       requireSSL="true">
     </forms>
   </authentication > 
   <authorization>
     <deny users="?" />
   </authorization>
 </system.web>
</configuration>
다음 예제에서는 쿠키를 안전하게 전송하도록 설정되어 있으면 작업을 수행합니다.

Visual C# .NET 코드문자열 cookieName
 string cookieName = FormsAuthentication.FormsCookieName.ToString(); 
 HttpCookie MyCookie = Context.Request.Cookies[cookieName];

 if (MyCookie.Secure)
 {
      Response.Write("The cookie is secure with SSL.");
      // Add other required code here.
 } 

Visual Basic .NET 코드
   Dim cookieName As String = FormsAuthentication.FormsCookieName.ToString
   Dim MyCookie As HttpCookie = Context.Request.Cookies(cookieName)
   If MyCookie.Secure Then
      Response.Write("The cookie is secure with SSL.")
      ' Add other required code here.
   End If

사용하고 있는 FormsAuthentication 클래스의 메서드 암호화

전용 SSL 초기 로그온 웹 페이지에서 인증을 위해 전달되는 자격 증명을 암호화하는 데 사용할 경우, 폼 인증 티켓이 쿠키에 포함된 보호된 확인하십시오. 폼 인증 티켓 쿠키가 클라이언트와 서버 사이의 각 후속 웹 요청에서 전달되기 때문에 보호해야 합니다. Forms 인증 티켓을 암호화할 수 있는 <forms>protection 특성을 구성하십시오. 요소와 FormsAuthentication암호화 메서드를 클래스 티켓을 암호화합니다.
<authentication mode="Forms">
  <forms name="MyAppFormsAuth"
       loginUrl="login.aspx"
       protection="All"
       timeout="20" 
       path="/" >
  </forms>
</authentication> 
FormsAuthentication.Encrypt 메서드는 응용 프로그램을 호출할 때 protection 특성을 모두 로 설정되어 있기 때문에 티켓 유효성 검사 및 암호화할 수.

폼 인증 티켓을 만들 때 암호화 메서드를 호출하십시오. 일반적으로 응용 프로그램의 로그인 이벤트 처리기에서 티켓을 만듭니다.

Visual C# .NET 코드
string encryptedTicket = FormsAuthentication.Encrypt(authTicket);
Visual Basic .NET 코드
Dim encryptedTicket As String = FormsAuthentication.Encrypt(authTicket)

참조

ASP.NET 및 폼 인증에 대한 자세한 내용은 다음 Microsoft 웹 사이트를 방문하십시오.
ASP.NET에서 인증: .NET 보안 지침
http://msdn2.microsoft.com/en-us/library/ms978378.aspx
폼 인증 공급자
http://msdn2.microsoft.com/en-us/library/9wff0kyh(vs.71).aspx
SSL을 사용하여 폼 인증을 보호하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
306590정보: ASP.NET 보안 개요
315588방법: 클라이언트측 인증서를 사용하여 ASP.NET 응용 프로그램 보안
313116PRB: 폼 인증 요청 수 없는 하도록 loginUrl 페이지
324069방법: IIS에서 HTTPS 서비스 설정
326340AD - HOWTO: 폼 인증 및 Visual Basic .NET을 사용하여 Active Directory에 [NULL]에 대해 인증
301240SQL - HOWTO: C# 을 사용하여 ASP.NET 응용 프로그램에서 폼 기반 인증 구현하는 .NET
308157SQL - HOWTO: Visual Basic .NET 사용하여 ASP.NET 응용 프로그램에서 폼 기반 인증 구현
311495방법: 구현 역할 기반 보안 사용자의 ASP.NET 폼 기반 인증 사용하는 Visual C# .NET을 사용하여 응용 프로그램
306238방법: 구현 역할 기반 보안 Visual Basic .NET 사용하여 ASP.NET 응용 프로그램에서 폼 기반 인증 사용
312906Forms 인증 사용하기 위해 Visual C# .NET을 사용하여 방법: 키 만들기
313091양식 사용하기 위해 Visual Basic .NET 사용하여 키 방법: 만드는 인증

속성

기술 자료: 813829 - 마지막 검토: 2007년 4월 19일 목요일 - 수정: 2.5
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft ASP.NET 1.1
키워드:?
kbmt kbcookie kbwebforms kbauthentication kbsecurity kbconfig kbinfo KB813829 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com