[잘못된 보안 구성]▶
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' 클릭 후 거부할 메서드 설정
[잘못된 보안 구성]▶
O 웹 서버 등에 적절한 보안 구성이 되지 않아 악의적인 사용자의 접근이 가능한 취약점
O 근거 자료
☞ OWASP TOP10 2021
O 판단 기준
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’파일에 다음 내용 추가
# NginX ▶
# Apache ▶
[불필요한 웹 메서드 허용]▶
O 웹 서버에서 GET, POST 이외의 불필요한 메서드를 지원하여 악의적인 공격자가 임의의 파일을 업로드하거나 삭제, 또는 서버에 대한 정보를 수집할 수 있는 취약점
O 근거 자료
☞ 전자금융감독규정 취약점 분석·평가 기준
O 판단 기준
O 점검 방법
- GET, POST 이외의 불필요한 메서드로(PUT, DELETE 등) 변경하여 웹 페이지 요청
O 조치 방법
- 웹 홈 디렉터리의 쓰기 권한 제거
- 모든 디렉터리 내 GET, POST 등 필요한 메서드 이외 불필요한 메서드 비활성화
O 시큐어 코딩(Secure Coding) 예시
# Apache ▶
# IIS 7.0 ▶
- IIS 관리자에서 적용할 사이트 선택 후 '권한 부여 규칙' 아이콘 클릭
- 우측 '허용 규칙 추가' 클릭 후 허용 메서드 적용
- 우측 '거부 규칙 추가' 클릭 후 거부 메서드 적용
# IIS 8.0, 8.5 ▶
- IIS 관리자에서 적용할 사이트 선택 후 'Request Filtering' 아이콘 클릭
- 우측 'Deny Verb' 클릭 후 거부할 메서드 설정