본문 바로가기
미들웨어/Apache,Tomcat

Apache method 제한하기(AllowMethods)

by _Nate 2023. 6. 24.
반응형

Apache를 운영하다 보면 보안취약점으로 항상 Method 제한 요건이 발생한다.

이번 포스팅에서는 일반적으로 많이 사용하는 Limit태그가 아닌 Apache에서 제공하는 AllowMethods에 대해 설명한다.

 


1. AllowMethods

  • Apache method 제한 방법에 대하여 검색을 해보면 주로 Limit, LimitExcept 태그에 대한 내용이 많이 나온다
  • AllowMethods는 Limit, LimitExcept 사용의 애매함(?)을 해소하기 위해 Apache에서 공식적으로 제공해주는 옵션이다.
  • https://httpd.apache.org/docs/2.4/mod/mod_allowmethods.html
 

mod_allowmethods - Apache HTTP Server Version 2.4

Apache Module mod_allowmethods Summary This module makes it easy to restrict what HTTP methods can be used on a server. The most common configuration would be: AllowMethods GET POST OPTIONS The HTTP-methods are case sensitive and are generally, as per RFC,

httpd.apache.org

 

2. 설정방법

  • httpd.conf파일에서 mod_allowmethods 모듈을 Load한다.
LoadModule allowmethods_module modules/mod_allowmethods.so

 

  • Location(Directory) 태그를 통해 Method제한을 적용할 범위에 AllowMethods 옵션을 작성한다.
<Location "/">
  AllowMethods GET POST
</Location>
  • 모든 요청에 대하여 GET, POST만 허용하게 된다.

 

  • 특정 범위에 대해서 AllowMethods 적용을 제거할 수 있다.
<Location "/svn">
  AllowMethods reset
</Location>
  • context /svn에 대해서는 AllowMethods 설정의 내용을 적용하지 않는다.

 

3. 기타

  • AllowMethods 옵션으로는 TRACE Method는 제한할 수 없다.
    TraceEnable 설정을 통해 제한하도록 한다.
  • 가끔 HEAD Method에 대한 제한내용이 나오는 경우도 있는데 Apache는 GET과 HEAD를 동일하게 취급한다.
    따라서 Apache에서 HEAD Method는 제한할 수 없다.
반응형

Limit, LimitExcept 를 사용하는 경우 적용 조건이 까다롭다.

예를들어 WAS로 넘기는 요청에 대해서는 Limit값이 안먹는 경우도 있고 URI에 따라 별도 설정이 추가되어야 하는 경우도 있다.

AllowMethods옵션은 이러한 조건이 없어 사용이 용이하다.

반응형