애플리케이션 보안

웹 서버 취약점

열콩 2023. 12. 30. 16:58

--디렉터리 리스팅

파일 목록을 읽을 수 있는 취약점

>>리눅스_httpd.conf 파일 내에서 <Directory/> 섹션에 Options 지시자에 Indexes 설정을 None으로 변경하여 모든 디렉터리 파일 목록이 보이는 취약점 해결, 윈도우 IIS 웹서버 환경_디렉터리 검색 기능 체크 해제, 윈도우 tomcat(아파치에서 만든 웹서버) 환경_디폴트 서블릿 초기 파라미터 설정에 listings 파라미터 설정을 false로 변경

 

--관리자 페이지 노출 취약점

웹 애플리케이션의 전반적인 기능 설정 및 회원 관리를 할 수 있는 관리자 페이지가 추측 가능한 형태로 구성되어 있을 때 공격자가 관리자 페이지에 쉽게 접근 가능하고 전사 공격을 통해 관리자 권한을 획득할 위험성도 존재

>> 관리자 페이지에 대한 접근제어 설정_Order Deny, Allow이면 뒤에 오는 설정이 우선시됨

 

--검색엔진 정보 노출 취약점

검색엔진에 의해 웹사이트 해킹에 필요한 시스템 정보나 개인 정보 등이 노출되는 취약점.

>> robots.txt 파일의 Allow, Disallow 정책으로 관리(Disallow: Allow: / 와 같은 의미

robots.txt파일은 항상 웹사이트의 최상위 디렉터리에 존재해야 함. ex) www.kong.com 사이트의 검색엔진 접근을 제어하기 위해서는 http://www.kong.com/robots.txt robots 파일이 위치해야 함

   

--기타 웹서버 보안 대책

사용자에게 항상 최소 권한 부여

심볼릭 링크 사용 설정 제거 >> httpd.conf 설정파일 내의 <Directory />_전체 디렉터리 나타내는 섹션에서 Options 지시자의 FollowSymlinks 설정 제거

HTTP 응답 시 최소한의 정보만 포함하도록 ServerTokes 지시자 prod 옵션으로 설정

서버에서 생성하는 에러 메시지 등에 웹서버 OS 정보, 모듈 등의 정보를 포함하지 않도록 ServerSignature 지시자 Off로 설정

웹 애플리케이션 자원이 위치하는 최상위 디렉터리(Document Root)를 설정. 주로 /var/www/html

타임아웃 관련 설정: Timeout(서버와 클라이언트 간 아무런 메시지 없을 때 대기하는 초단위 시간), KeepAlive On(클라이언트와 서버 프로세스 간의 연결을 일정 조건에 따라 지속시켜 동일한 연결을 통해 동일 클라이언트의 다수 요청을 처리하는 기능 사용 여부 설정), MaxKeepAliveRequest(KeepAlive 기능 사용 시 클라이언트와 서버 프로세스 간에 연결 지속 중 허용할 최대 요청 건수 지정), KeepAliveTimeout, RequestReadTimeout header=n body=m(헤더부와 바디부를 모두 수신하는 시간에 대한 타임아웃)

에러 로그는 httpd.conf 파일 내의 ErrorLog 부분에 경로 지정

 

--위치공개 취약점

--웹 서비스 메소드 설정 취약점

--웹 로그 분석