본문 바로가기
웹 관련 기본 지식

웹 방화벽의 개념과 원리

by 웹하는빡통 2019. 12. 24.

웹 방화벽의 개념과 원리

웹 방화벽을 설명하기 앞서 웹 방화벽과 일반 네트워크 방화벽은
둘 다 "방화벽"이라는 단어를 사용한다 하지만 둘의 동작 방법에는 차이가 있다.

먼저 네트워크 방화벽의 동작원리네트워크에 돌아다니고 있는 패킷이 정상인지 아닌지를 판단한다. 반면에 웹 방화벽패킷이 아닌 사용자의 URL이 정상이고 올바른 요청인지 판단

하게된다. 
OSI 7 Layer에 비교를 해보도록 하자.  

일반 방화벽은 패킷이 돌아다니게 되는 L3~L4(Network Layer)레벨에 동작한다. 

웹 방화벽은 HTTP/HTTPS 요청이 있는 L7(Application Layer)레벨에서 동작한다. 

 

 

자 그럼 웹 방화벽이란 무엇이며 동작원리와 개념을 알아보자. 레고레고~~~

 

웹 방화벽(Web Application Firewall) WAF라고 불리는데 WAF를 알기위해 먼저

WEB Application에 대해 알아야한다. Web Application은 흔히 우리 일상 생활에서 홈 페이지나 대부분의 서비스들을 Web Application이라 생각하면 된다. 

 

웹 사이트의 구조와 동작원리는 아래 사진과 같다. 

웹 공격의 대부분은 Web Application을 구축할때 생겨나는 취약점을 이용해서 웹서버를 공격하거나 DB의 내용을 악용하여 정보를 탈취하거나 노출을 시킨다. 
공격자는 HTTP Request에 특정 공격코드 또는 특정 Web Application만이 가지고 있는 취약점을 우회하는 코드를 삽입하여 웹 서버에 전송하게 되는데 여기서 Web Application은 의도하지 않은 동작을 하게 되는데 그 결과를 HTTP Reply를 통해 공격자에게 다양한 정보들을 전송하게 된다. 

이때 필요한 것이 웹 방화벽이다.
웹 방화벽이란 웹 서버쪽으로 전송되는 모든 HTTP Request Packet을 검사하여 Web Application에게 의도하지 않은 내용들을 전송하지 못하도록 막는 역할을 하는게 웹 방화벽이다. 

또한 웹 서버에서 통과하는 HTTP Reply Packet 내용을 감시하여 특정 정보의 유출을 막는 역할도 한다. 

그럼 웹 방화벽에서 웹 서버쪽으로 HTTP Request/Reply Packet을 검사한다고 하였다.  

그럼 도대체 어떤 방법으로 하는걸까? 

바로 Proxy Server의 원리를 가져 온 것이다  
Proxy Server는 Client와 Server간의 통신을 중계하고 Relay하는 역할을 한다. 
결론적으로 웹 방화벽의 원리는 웹 서버에 들어오고 나가는 모든 패킷을 Proxy Serve원리를 적용하여 패킷을 내용을 검사하고 차단하는 것이다.  

 

'웹 관련 기본 지식' 카테고리의 다른 글

웹 방화벽 우회기법  (2) 2019.12.24
Contents-Type Header 와 Accept Header의 차이점  (1) 2019.11.05
리다이렉트란(Redirect)  (3) 2019.11.04
GET/POST 방식  (1) 2019.10.28

댓글