티스토리 뷰

Java/servlet

서블릿 보안

LichKing 2015. 11. 5. 11:19

Impersonator

자신의 정체를 속여서 요청을 보내는 기법

 

Upgrader

자신의 등급을 속이는 기법

 

Eavesdropper

요청을 중간에 훔쳐보는 기법

 

서블릿보안 4요소

인증(Authentication)

인가(Authorization)

비밀보장(Confidentiality)

데이터무결성(Data Integrity)

 

인증과 인가가 좀 알쏭달쏭한데 인증은 일단 로그인 자체라고 생각하고 인가는 로그인 후 사용자의 등급이라고 생각하면 될듯하다.

아이디와 패스워드를 입력후 로그인하는것은 인증. 로그인 후 관리자, 특별회원, 우수회원, 일반회원의 등급을 정하는것은 인가.

 

인증

인증은 4가지 방식을 지원하는데

BASIC, DIGEST, CLIENT-CERT, FORM 방식이 있다.

BASIC

HTTP 표준

 

DIGEST

HTTP, J2EE 컨테이너에서 옵션

 

CLIENT-CERT

사용자가 인증서를 갖고있어야함

 

FORM

사용자정의 로그인화면

j_username, j_password, j_security_check 와 같이 정해진 명칭으로 데이터를 전송해야함.

기초부터 공부하느라 보고싶은 맘을 꾹꾹 누르고있는 스프링 시큐리티가 이것을 기반으로 하는듯 하다.

 

해당 인증 방식은 web.xml에 기술하게되는데 <login-config> 태그 내부에 작성한다.

예.

<login-config>

<auth-method>BASIC</auth-method>

</login-config>

 

<login-config>

<auth-method>FORM</auth-method>

<form-login-config>

<form-login-page>/login.html</form-login-page>

<form-error-page>/error.html</form-error-page>

</form-login-config>

</login-config>

 

인가

인가에 관련된것은 web.xml 에 기술하게 되는데

<security-constraint> 태그 내부에 기술하게된다.

예.

<security-constraint>

<web-resource-collection>

<web-resource-name></web-resource-name>

<url-pattern>*</url-pattern>

<http-method>GET</http-method>

</web-resource-collection>

 

<auth-constraint>

<role-name></role-name>

</auth-constraint>

</security-constraint>

'Java > servlet' 카테고리의 다른 글

서블릿 보안  (0) 2015.11.05
Servlet Listener Interface  (0) 2015.10.21
서블릿  (0) 2015.10.14
댓글
댓글쓰기 폼