C#

ASP.NET 보안

Stater 2019. 5. 8. 00:02

 

1) Form Authentication

 

ASP 버전 인증(구)

- 개발자가 직접 보안 시스템 개발

- 개발자가 보안을 요하는 페이지의 앞부분에 모두 사용자 쿠키를 확인하는 코드를 삽입

- 로그인 성공 -> 쿠키 생성 O  or 로그인 실패 -> 로그인 페이지로 강제 이동

 

ASP.NET의 Form Authentication

- ASP의 폼 인증 방식과 접근 방법은 비슷하다. 다른 점은 모든 페이지마다 앞부분에 사용자 쿠키를 확인하는 코드를

  삽입하지 않아도 된다.

 

-ASP.NET은 정교한 쿠키 확인 알고리즘을 사용한다.

  따라서 다른 사용자가 자신의 쿠키를 도용하여 허용되지 않는 페이지에 접근이 불가능하다.

 

폼 인증 구현은 다음 과정과 같다.

 

1. 'web.config' 파일에 인증 방식을 폼 인증으로 설정.

 

2. 웹 사이트의 특정 페이지나 디렉터리에 대한 익명 사용자의 사용을 제한하는 권한 설정.

 

3. 로그인페이지를 작성.

 

● 인증 방식 구성 파일 설정

- [web.config]에서 <system.web> 섹션 그룹 내 <authentication> 섹션에 포함되는 <forms> 엘리멘트에 설정한다.

- sys-tem.web/authentication 섹션에 웹 사이트의 인증 방식을 구성한다.

 

web.config에 아래와 같이 코드를 입력해준다. 물론 Login.aspx 파일 하나 만들어준다(WebForm)

<authentication mod="Forms">

 <forms name="MainAuth" loginUrl="~/Login.aspx" protextion="All" timeout="30" path="/" /> 

</authentication> 
Login.aspx" protection="All" timeout="30" path="/" />
    

인증방식 구성파일설정 할 때에 속성에 대한 설명

속성 설명
name 인증 쿠키의 이름을 설정, Default  값은 .aspxauth다
loginUrl 로그인페이지로 , 유효한 인증 쿠키가 없을 때, 리다이렉트할 URL이다. default 값은 Login.aspx다
defaultUrl 인증 후 리다이렉트 될 URL을 설정
protection

보안 쿠리를 위해 사용되는 암호 유형과 유효성 검사 유형을 지정한다.

-Validation : 쿠기가 전달되는 동안 변경되지 않았음을 보장하는
유효성 검사를 수행하지만 쿠키를 암호화 하지 않는다.

 

-Encryption : DES(Data Encryption Standard) 또는 3DES(Triple DES) 알고리즘을 사용하여 쿠키를 암호화하며, 유효성 검사는 수행하지 않는다.

 

-All(default 값) : 암호화와 유효성 검사를 모두 사용하여 쿠키를 보호하도록 지정한다.

 

-None : 보안 요구가 약한 웹사이트에서 사용되며, 암호화나 유효성 검사 모두를 해제한다. 

timeout 인증 쿠키가 지속되는 시간을 정수 값으로 지정한다. default 30이다.
path

인증 쿠키가 적용되는 경로를 설정한다.  default 값은 슬래시(/)이다. 

슬래시는 웹 사이트의 루트 경로를 의미하는 것으로, 하위에 있는 모든 디렉터리와 페이지에 인증쿠키가 적용 된다.

   

 

반응형

'C#' 카테고리의 다른 글

ASP.NET 보안  (0) 2019.05.07
C# Task 주저리주저리  (0) 2019.04.22
C# gmail 전송방법 SMTP  (0) 2019.03.27