본문 바로가기
프로그래밍 놀이터/보안

[도서 정리] 65. 웹 앱 방화벽 - 보안의 기본

by 돼지왕왕돼지 2019. 12. 14.

65. 웹 앱 방화벽 - 보안의 기본



-

웹 앱 방화벽(Web Application Firewall: WAF)은 웹 앱의 통신 제어로 특화된 방화벽이다.

처리 내용 자체는 기본적으로 일반 방화벽과 똑같이 ‘외부 네트워크로부터 오는 통신을 정해진 통신 가능 여부를 판단하는 룰에 따라 필터링’ 하는 것이다.



-

WAF 와 일반 방화벽의 차이는 ‘룰의 바탕이 되는 정보원’ 에 있다.

일반 방화벽이 TCP/IP 헤더에 포함되는 각종 정보를 바탕으로 룰을 정하는 데에 비해 WAF 는 웹 프로토콜인 HTTP 포맷을 바탕으로 룰을 정한다.





* WAF 에 의한 악의적인 공격의 방지


-

웹 앱에 대한 공격은 HTTP 통신의 형태로 온다.(SQL 인젝션, OS 커맨드 인젝션, 크로스 사이트 스크립팅)

SQL 인젝션이 SQL 문을 바꾼다는 특징을 갖고 있듯이 공격이 되는 통신에는 전형적인 패턴이 있다.

WAF 는 이러한 공격의 패턴을 NG 워드로서 룰 등록을 함으로써 공격이 웹 서버에 도달하지 않도록 한다.





* WAF 의 장단점


-

WAF 의 가장 큰 장점은 도입이 쉽다는 점이다.

공격의 전형적인 패턴을 룰로 등록하기만 하면 통신을 막을 수 있다.



-

단점으로는 WAF는 룰에 등록되어 있지 않은 공격은 차단할 수 없기 때문에 모든 것을 망라하여 감지할 수 있도록 룰을 계속해서 갱신할 필요가 있다.

또한 차단 룰의 설정 방법에 따라서는 정상적인 앱의 통신까지 차단해 버릴 가능성도 있어 룰 설정에 주의를 기울여야 한다.

WAF는 룰의 커스터마이징이나 설정(튜닝)에 비용이 든다.




댓글0