PUT과 POST의 제한

2015.12.23 17:41

소울 조회 수:11458

■ 디렉토리 리스팅
웹 브라우저에서 사용자가 URL을 입력했을 경우, Apache 웹서버는 3가지 방법 응답한다. 정상적으로 웹 내용을 보여주든지, 디렉토리 리스트를 보여주든지, 에러 메시지를 보여준다.
원격의 공격자가 시스템에 대한 많은 정보를 획득할수록 보안 허점을 발견하기가 용이해 진다. 디렉토리 리스트를 보여주는 것 또한 불필요한 정보를 공격자에게 제공하여 공격에 이용될 수 있다. 백업 데이터, CGI 소스코드들, 필요에 의해 만들어놓은 심블릭 링크 등 서버 관리자가 실수로 지우지 않은 파일들이 공격자의 손에 들어갈 수 있다. DocumentRoot 디렉토리 내의 모든 파일들이 리스팅되는 것을 방지하기 위해서 Options 지시자에서 Indexes 옵션을 제거하여야 한다.

■ 심블릭 링크
몇몇 서버는 심블릭 링크를 이용해서 기존의 웹 문서 이외의 파일시스템에 접근 가능하도록 하고 있다. 이러한 방법은 편리할 수는 있지만 심각한 보안 문제를 야기시킬 수 있다. 가령 시스템 자체의 root 디렉토리(/ )를 링크 걸게 되면 웹서버 구동사용자 권한(nobody)으로 모든 파일시스템의 파일에 접근할 수 있게 된다. 즉,/etc/passwd와 같은 대단히 민감한 파일까지 누구나 열람가능하게 된다.
Options 지시자에서 심블릭 링크를 가능하게 하는 옵션인 FollowSymLinks를 제거함으로써 이를 막을 수 있다.


PUT과 POST의 제한
원격 사용자는 DocumentRoot 디렉토리 구조에 파일을 업로드 하거나 수정하는 행위가 제한되어야 한다. 물론 DocumentRoot의 파일/ 디렉토리 퍼미션을 사용해서도 웹을 통한 파일 업로드 및 수정을 막을 수는 있다. 하지만, 적절한 제한이 이루어지지 않을 경우 홈페이지가 변조되거나 웹 사이트가 침해당할 수 있으므로 <Limit>태그를 이용하여 각 디렉토리별로 HTTP Method의 사용여부를 통제할 수 있다. 파일 업로드 및 파일의 수정을 위해서 사용되는 HTTP Method는 PUT과 POST이다.
사용시 주석문 해재하고 적절히 수정한다.
#<Directory /home/*/public_html>
#    AllowOverride FileInfo AuthConfig Limit
#    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
#    <Limit GET POST OPTIONS PROPFIND>
#        Order allow,deny
#        Allow from all
#    </Limit>
#    <LimitExcept GET POST OPTIONS PROPFIND>
#        Order deny,allow
#        Deny from all
#    </LimitExcept>
#</Directory>

번호 제목 글쓴이 날짜 조회 수
54 Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied 에러출력 후 시작이 되지않을경우 소울 2014.02.19 21871
53 [JSP/servlet] Post, Get 방식일때 서블릿문서/JSP 한글 처리 방법 - 인코딩 처리 소울 2014.02.19 16221
52 트래픽 제한 모듈 (mod_cband) 설치 및 설정 소울 2014.02.19 14606
51 세션(Session)과 쿠키(Cookie)의 차이점 소울 2014.06.17 13882
50 mod_security 옵션 간단설명 소울 2014.02.19 13610
49 KeepAlive 소울 2014.07.03 13297
48 nginx 리다이렉트 소울 2014.06.17 13202
47 .htaccess 이용한 301 Redirect 소울 2014.04.29 13171
46 Apache expires 브라우저 캐시 소울 2014.02.19 12920
45 mod_Rewrite 설정 - 모바일만 다른페이지로 go 소울 2014.02.19 12891
44 우분투 아파치 웹서버에서 index.php 다운로드창이 뜰 경우 소울 2014.02.19 12587
43 modsecurity 설치 소울 2014.02.19 12188
42 mod_headers, mod_expires, mod_deflate, mod_unique_id 설치 소울 2014.04.29 12093
41 httpd.conf 설명 [펌] 소울 2014.02.19 11964
40 ssl apache 시작시 패스워드 묻지 않게 설정 소울 2014.02.19 11819
39 access_log 예) 소울 2015.08.12 11629
38 웹로그 분리 프로그램 설치 (Cronolog ) 소울 2014.02.19 11603
37 한글파일업로드시 깨지는것 해결 mod_url 소울 2014.04.29 11474
» PUT과 POST의 제한 소울 2015.12.23 11458
35 .htpasswd 특수문자 이슈 소울 2014.01.09 11455