18. 잘못된 보안 구성

[잘못된 보안 구성]

O 웹 서버 등에 적절한 보안 구성이 되지 않아 악의적인 사용자의 접근이 가능한 취약점 


O 근거 자료

☞ OWASP TOP10 2021


O 판단 기준

양호HTTP 패킷 헤더 내 서버 정보가 노출되지 않는 경우
취약HTTP 패킷 헤더 내 서버 정보가 노출되는 경우


O 점검 방법

- HTTP 패킷 헤더에 서버 정보가 노출되고 있는지 점검


O 조치 방법

- HTTP 헤더 내 노출되는 서버 정보를 삭제하기 위해 다음과 같은 방법 중 버전 혹은 해당 환경에 적합한 방법을 선택하여 설정

: URLRewrite 기능 이용 (IIS 7.0, 8.0, 8.5)

: UrlScan 기능 이용 (IIS 7.0, 7.5)

: 레지스트리 변경


O 시큐어 코딩(Secure Coding) 예시

# URLRewrite 

- 마이크로소프트 홈페이지에서 'URLRewrite' 설치

- IIS 관리자에서 사이트 선택 후 'URL 재작성' 아이콘 클릭

- 우측 '서버 변수 보기' 버튼 클릭

- 삭제할 HTTP 헤더 변수를 RESPONSE_[변수명] 형식으로 추가

- URL 재작성 화면에서 우측의 '규칙 추가' 버튼 클릭

- 추가한 변수명 입력 후 아래와 같이 설정

: 변수값 - 패턴과 일치

: 사용 - 정규식

: 패턴 -.*

: 작업 유형 - 재작성, 기존 서버 변수 값 바꾸기


# UrlScan

- 마이크로소프트 홈페이지에서 ‘UrlScan’ 설치

- 'UrlScan.ini' 파일 위치 확인 후 열기

- "RemoveServerHeader" 변수의 값을 1로 변경

- X-Powere-By / X-ASPNET-VERSION 삭제를 위해 IIS의 ‘web.config’파일에 다음 내용 추가

<system.webServer>
    <httpProtocol>
        <customHeaders>
            <remove name="X-Powored-By" />
        </customHeaders>
    </httpProtocol>
</system.webServer>


# NginX ▶
# vi /[nginx 설치 디렉터리]/nginx.conf
.....
http {
    server_tokens off;
.....  


# Apache ▶
// 2.2.x 버전 이상
# vi /[Apache 설치 디렉터리]/conf/extra/httpd-default.conf
.....
ServerTokens Prod
.....
ServerSignature Off
.....

// 2.2.x 버전 미만
# vi /[Apache 설치 디렉터리]/conf/httpd.conf
.....
ServerTokens Prod
.....
ServerSignature Off
..... 



[불필요한 웹 메서드 허용]

O  웹 서버에서 GET, POST 이외의 불필요한 메서드를 지원하여 악의적인 공격자가 임의의 파일을 업로드하거나 삭제, 또는 서버에 대한 정보를 수집할 수 있는 취약점

 

O 근거 자료

전자금융감독규정 취약점 분석·평가 기준


O 판단 기준

양호GET, POST 등 필요한 메서드 이외의 메서드가 차단되어 있는 경우
취약GET, POST 등 필요한 메서드 이외의 메서드가 허용되어 있는 경우


O 점검 방법

- GET, POST 이외의 불필요한 메서드로(PUT, DELETE 등) 변경하여 웹 페이지 요청


O 조치 방법

- 웹 홈 디렉터리의 쓰기 권한 제거

- 모든 디렉터리 내 GET, POST 등 필요한 메서드 이외 불필요한 메서드 비활성화


O 시큐어 코딩(Secure Coding) 예시 

# Apache ▶
// Apache 설정 파일 내 Trace Method 제한
# vi /[Apache 설치 디렉터리]/conf/httpd.conf 
.....
TraceEnable Off
.....
<Directory /usr/local/apache/htdocs">


# IIS 7.0 

- IIS 관리자에서 적용할 사이트 선택 후 '권한 부여 규칙' 아이콘 클릭 

우측 '허용 규칙 추가' 클릭 후 허용 메서드 적용 

- 우측 '거부 규칙 추가' 클릭 후 거부 메서드 적용 


# IIS 8.0, 8.5 

IIS 관리자에서 적용할 사이트 선택 후 'Request Filtering' 아이콘 클릭  

우측 'Deny Verb' 클릭 후 거부할 메서드 설정