SlideShare una empresa de Scribd logo
1 de 6
웹 서버 정보 노출 방지
2015. 10.13
기술지원
황인균
UrlScan 유의사항
2
보안 요구사항
TTP 응답에는 아래 박스처럼 HTTP 헤더에 서버 환경에 대한 정보를 포함하고 있는 항목들이 있다. 요구사항은 보안과 관련된 이 헤더 항
목들을 제거하라는 것.
제거 대상 헤더 : Server, X-ASPNet-Version, X-Powered-By, X-AspNetMvc-Version
3
첨부) HTTP응답 헤더 제거하기
■ IIS6.0
http://www.4guysfromrolla.com/articles/120209-1.aspx
헤더 例 방법
Server Server: Microsoft-IIS/6.0 UrlScan 툴 사용
http://aspdotnet.tistory.com/1282
1) UrlScan 인스톨
2) Global Filter에서 제거(*)
3) IIS관리자 > 사이트 > “ISAPI 필터”
3.1) 필터 추가
"UrlScan 3.1 - C:WindowsSystem32inetsrvurlscanurlscan.dll“
3.2) IIS 7.x 경우
C:WindowsSystem32inetsrvconfigapplicationHost.config 수정
preCondition="bitness64" preCondition="bitness32"
3.3) UrlScan.ini 설정
- RemoveServerHeader=1
- AllowDotInPath=1
X-Powered-By X-Powered-By: ASP.NET 1) IIS 관리자 > 사이트 속성 > HTTP Headers에서 제거
2) 또는 web.config 수정
<httpProtocol>
<customHeaders>
<remove name="X-Powered-By" />
</customHeaders>
</httpProtocol>
</system.webServer>
X-AspNet-Version X-AspNet-Version: 2.0.50727 <httpRuntime enableVersionHeader="false" />
X-AspNetMvc-
Version
X-AspNetMvc-Version: 1.0
* ASP.NET MVC 사용하는 경우 추가됨
Application_Start 이벤트 핸들러에 아래 코드 추가
MvcHandler.DisableMvcResponseHeader = true;
HTTP 응답 헤더에서 불필요한 값을 제거하는 방법은 “IIS 버전별, 그리고 문제 헤더별로 제거하는 방법이 다르다.
(*) Global Filter에서 제거 – “첨부) UrlScan 인스톨 유의사항” 참조
4
첨부) HTTP응답 헤더 제거하기
■ IIS7.x 클래식 모드
- 앞에서와 같은 방식으로 제거
■ IIS7.x 통합 모드
HTTP 모듈을 사용하면 one point에서 관리 가능
1) 직접 제작 가능( 아래 코드 참조)
https://blogs.technet.microsoft.com/stefan_gossner/2008/03/12/iis-7-how-to-send-a-custom-server-http-header/
2) 이미 만들어진 HTTP 모듈도 제공한다.
https://www.dionach.com/blog/easily-remove-unwanted-http-headers-in-iis-70-to-85
3) URLRewrite 유틸을 사용할 수도 있다.
http://blogs.msdn.com/b/varunm/archive/2013/04/23/remove-unwanted-http-response-headers.aspx
/// <summary>
/// IIS7.0 이상, Integration 모드에서만 사용가능
/// </summary>
public class HttpHeaderModule : System.Web.IHttpModule
{
public void Init(HttpApplication context)
{
context.PreSendRequestHeaders += OnPreSendRequestHeaders; // 이 이벤트는 IIS7.0 통합 모드에서만 발생
}
void OnPreSendRequestHeaders(object sender, EventArgs e)
{
HttpContext.Current.Response.Headers.Remove("Server");
HttpContext.Current.Response.Headers.Remove("X-Powered-By");
HttpContext.Current.Response.Headers.Remove("X-AspNet-Version");
HttpContext.Current.Response.Headers.Remove("X-AspNetMvc-Version");
}
public void Dispose()
{ }
}
5
첨부) UrlScan ISAPI 필터 기능
■ UrlScan 기능
- 파일 설정( urlscan.ini)을 통해서 웹 서버로의 요청과 응답에 대한 규칙을 정의해서 제어할 수 있음.
%WINDIR%System32InetsrvURLscan
응답 제거 예 ) RemoveServerHeader = 1 설정을 하면, Server 헤더는 HTTP 응답에 포함되지 않음.
요청 체크 예 ) AllowDotInPath=1을 설정하면, URL에 dot(.)가 포함되면 요청을 거부하게 됨.
클라이언트 웹서버
ScanUrl 룰
UrlScan
ISAPI
필터
② RemoveServerHeader 값 체크
①
③ RemoveServerHeader =1이면
Server 헤더 포함시키지 않고 응답
클라이언트 웹서버
룰
UrlScan
ISAPI
필터
② AllowDotInPath=0
( Url에 dot가 포함되어도 OK)
① http://~/PEC.Launcher.exe.manifest
[ Server 응답 헤더 없애기 ]
[ 요청 URL 필터링 ]
6
첨부) UrlScan 인스톨 유의사항
 IIS7.x이상에서는 UrlScan 툴을 설치하면 해당 서버에 포함된 모든 사이트에 UrlScan용 ISAPI 필터가 추가됨.
 IIS 관리자를 통해서 보면, 최상위 노드 즉 로컬 머신 노드의 ISAPI 필터로 등록이 되어 있어서 하위의 모든 사이트에 상속되기 때문
이다.
 IIS 관리자의 로컬 머신 노드에서 UrlScan 필터를 제거하고 필요한 사이트에서만 수작업으로 추가한다.
Update – 2015.10.16(금)
 UrlScan (urlscan_xxx.msi)을 인스톨하면 IIS의 Global Filter로 등록되는 것은 v7.x이상만은 아니다. v6.0에서도 마
찬가지다. IIS 관리 툴에서 확인하는 노드 위치가 다를 뿐이다.
: IIS7.x - “로컬 머신 노드”의 속성 창
: IIS6.0 - “웹 사이트” 노드의 속성창
 보안상 Global Filter로 등록되어서 전체 사이트에 적용되는 것이 맞겠지만,
1) 만약 하나의 서버에 공개된 사이트와 내부에서 사용되는 사이트가 혼재되어 있는 상황이고,
2) UrlScan 설정이 일부 사이트에 영향을 줄 수 있는 상황이라면,
 Global Filter에서 제거하고 특정 사이트의 필터로만 등록해야 할 수 있다.
 그런 경우에는 Global Filter에서 UrlScan 필터를 제거하고 필요한 사이트에서만 수작업으로 추가한다.

Más contenido relacionado

La actualidad más candente

Mikhail Egorov - Hunting for bugs in Adobe Experience Manager webapps
Mikhail Egorov - Hunting for bugs in Adobe Experience Manager webappsMikhail Egorov - Hunting for bugs in Adobe Experience Manager webapps
Mikhail Egorov - Hunting for bugs in Adobe Experience Manager webappshacktivity
 
Configuración básica de sendmail
Configuración básica de sendmailConfiguración básica de sendmail
Configuración básica de sendmailk1k1s1m0
 
Securing AEM webapps by hacking them
Securing AEM webapps by hacking themSecuring AEM webapps by hacking them
Securing AEM webapps by hacking themMikhail Egorov
 
How to steal and modify data using Business Logic flaws - Insecure Direct Obj...
How to steal and modify data using Business Logic flaws - Insecure Direct Obj...How to steal and modify data using Business Logic flaws - Insecure Direct Obj...
How to steal and modify data using Business Logic flaws - Insecure Direct Obj...Frans Rosén
 
Live Hacking like a MVH – A walkthrough on methodology and strategies to win big
Live Hacking like a MVH – A walkthrough on methodology and strategies to win bigLive Hacking like a MVH – A walkthrough on methodology and strategies to win big
Live Hacking like a MVH – A walkthrough on methodology and strategies to win bigFrans Rosén
 
OWASP AppSecEU 2018 – Attacking "Modern" Web Technologies
OWASP AppSecEU 2018 – Attacking "Modern" Web TechnologiesOWASP AppSecEU 2018 – Attacking "Modern" Web Technologies
OWASP AppSecEU 2018 – Attacking "Modern" Web TechnologiesFrans Rosén
 
X-XSS-Nightmare: 1; mode=attack XSS Attacks Exploiting XSS Filter
X-XSS-Nightmare: 1; mode=attack XSS Attacks Exploiting XSS FilterX-XSS-Nightmare: 1; mode=attack XSS Attacks Exploiting XSS Filter
X-XSS-Nightmare: 1; mode=attack XSS Attacks Exploiting XSS FilterMasato Kinugawa
 
A Hacker's perspective on AEM applications security
A Hacker's perspective on AEM applications securityA Hacker's perspective on AEM applications security
A Hacker's perspective on AEM applications securityMikhail Egorov
 
Cross Origin Resource Sharing
Cross Origin Resource SharingCross Origin Resource Sharing
Cross Origin Resource SharingLuke Weerasooriya
 
Preventing XSS with Content Security Policy
Preventing XSS with Content Security PolicyPreventing XSS with Content Security Policy
Preventing XSS with Content Security PolicyKsenia Peguero
 
Hacking Adobe Experience Manager sites
Hacking Adobe Experience Manager sitesHacking Adobe Experience Manager sites
Hacking Adobe Experience Manager sitesMikhail Egorov
 
Hunting for security bugs in AEM webapps
Hunting for security bugs in AEM webappsHunting for security bugs in AEM webapps
Hunting for security bugs in AEM webappsMikhail Egorov
 
HTTP Parameter Pollution Vulnerabilities in Web Applications (Black Hat EU 2011)
HTTP Parameter Pollution Vulnerabilities in Web Applications (Black Hat EU 2011)HTTP Parameter Pollution Vulnerabilities in Web Applications (Black Hat EU 2011)
HTTP Parameter Pollution Vulnerabilities in Web Applications (Black Hat EU 2011)Marco Balduzzi
 
멀티 클라우드 시대의 정보보호 관리체계
멀티 클라우드 시대의 정보보호 관리체계멀티 클라우드 시대의 정보보호 관리체계
멀티 클라우드 시대의 정보보호 관리체계Logpresso
 
Time-Based Blind SQL Injection using Heavy Queries
Time-Based Blind SQL Injection using Heavy QueriesTime-Based Blind SQL Injection using Heavy Queries
Time-Based Blind SQL Injection using Heavy QueriesChema Alonso
 

La actualidad más candente (20)

Mikhail Egorov - Hunting for bugs in Adobe Experience Manager webapps
Mikhail Egorov - Hunting for bugs in Adobe Experience Manager webappsMikhail Egorov - Hunting for bugs in Adobe Experience Manager webapps
Mikhail Egorov - Hunting for bugs in Adobe Experience Manager webapps
 
Configuración básica de sendmail
Configuración básica de sendmailConfiguración básica de sendmail
Configuración básica de sendmail
 
Building Advanced XSS Vectors
Building Advanced XSS VectorsBuilding Advanced XSS Vectors
Building Advanced XSS Vectors
 
Securing AEM webapps by hacking them
Securing AEM webapps by hacking themSecuring AEM webapps by hacking them
Securing AEM webapps by hacking them
 
How to steal and modify data using Business Logic flaws - Insecure Direct Obj...
How to steal and modify data using Business Logic flaws - Insecure Direct Obj...How to steal and modify data using Business Logic flaws - Insecure Direct Obj...
How to steal and modify data using Business Logic flaws - Insecure Direct Obj...
 
Demystifying OAuth2 for PHP
Demystifying OAuth2 for PHPDemystifying OAuth2 for PHP
Demystifying OAuth2 for PHP
 
Live Hacking like a MVH – A walkthrough on methodology and strategies to win big
Live Hacking like a MVH – A walkthrough on methodology and strategies to win bigLive Hacking like a MVH – A walkthrough on methodology and strategies to win big
Live Hacking like a MVH – A walkthrough on methodology and strategies to win big
 
OWASP AppSecEU 2018 – Attacking "Modern" Web Technologies
OWASP AppSecEU 2018 – Attacking "Modern" Web TechnologiesOWASP AppSecEU 2018 – Attacking "Modern" Web Technologies
OWASP AppSecEU 2018 – Attacking "Modern" Web Technologies
 
PHP
PHPPHP
PHP
 
X-XSS-Nightmare: 1; mode=attack XSS Attacks Exploiting XSS Filter
X-XSS-Nightmare: 1; mode=attack XSS Attacks Exploiting XSS FilterX-XSS-Nightmare: 1; mode=attack XSS Attacks Exploiting XSS Filter
X-XSS-Nightmare: 1; mode=attack XSS Attacks Exploiting XSS Filter
 
Frans Rosén Keynote at BSides Ahmedabad
Frans Rosén Keynote at BSides AhmedabadFrans Rosén Keynote at BSides Ahmedabad
Frans Rosén Keynote at BSides Ahmedabad
 
A Hacker's perspective on AEM applications security
A Hacker's perspective on AEM applications securityA Hacker's perspective on AEM applications security
A Hacker's perspective on AEM applications security
 
Cross Origin Resource Sharing
Cross Origin Resource SharingCross Origin Resource Sharing
Cross Origin Resource Sharing
 
Preventing XSS with Content Security Policy
Preventing XSS with Content Security PolicyPreventing XSS with Content Security Policy
Preventing XSS with Content Security Policy
 
Hacking Adobe Experience Manager sites
Hacking Adobe Experience Manager sitesHacking Adobe Experience Manager sites
Hacking Adobe Experience Manager sites
 
Hunting for security bugs in AEM webapps
Hunting for security bugs in AEM webappsHunting for security bugs in AEM webapps
Hunting for security bugs in AEM webapps
 
HTTP Parameter Pollution Vulnerabilities in Web Applications (Black Hat EU 2011)
HTTP Parameter Pollution Vulnerabilities in Web Applications (Black Hat EU 2011)HTTP Parameter Pollution Vulnerabilities in Web Applications (Black Hat EU 2011)
HTTP Parameter Pollution Vulnerabilities in Web Applications (Black Hat EU 2011)
 
Introduction to JSON & AJAX
Introduction to JSON & AJAXIntroduction to JSON & AJAX
Introduction to JSON & AJAX
 
멀티 클라우드 시대의 정보보호 관리체계
멀티 클라우드 시대의 정보보호 관리체계멀티 클라우드 시대의 정보보호 관리체계
멀티 클라우드 시대의 정보보호 관리체계
 
Time-Based Blind SQL Injection using Heavy Queries
Time-Based Blind SQL Injection using Heavy QueriesTime-Based Blind SQL Injection using Heavy Queries
Time-Based Blind SQL Injection using Heavy Queries
 

Destacado

.net 웹어플리케이션 예외정보 노출 방지
.net 웹어플리케이션 예외정보 노출 방지.net 웹어플리케이션 예외정보 노출 방지
.net 웹어플리케이션 예외정보 노출 방지InGuen Hwang
 
내 생애 최고의_게임
내 생애 최고의_게임내 생애 최고의_게임
내 생애 최고의_게임Lee Hansoo
 
Http 헤더
Http 헤더Http 헤더
Http 헤더kidoki
 
떠먹여주는 Memcached 1
떠먹여주는 Memcached 1떠먹여주는 Memcached 1
떠먹여주는 Memcached 1Jinwoo Hong
 
ndc14 포춘시리즈개발자의 풀타임인디개발생존기
ndc14 포춘시리즈개발자의 풀타임인디개발생존기ndc14 포춘시리즈개발자의 풀타임인디개발생존기
ndc14 포춘시리즈개발자의 풀타임인디개발생존기Seok Kyu Chang
 
[NDC 14] 가죽 장화를 먹게 해달라니 - &lt;야생의>의 자유도 높은 아이템 시스템 구현
[NDC 14] 가죽 장화를 먹게 해달라니 - &lt;야생의>의 자유도 높은 아이템 시스템 구현[NDC 14] 가죽 장화를 먹게 해달라니 - &lt;야생의>의 자유도 높은 아이템 시스템 구현
[NDC 14] 가죽 장화를 먹게 해달라니 - &lt;야생의>의 자유도 높은 아이템 시스템 구현Hoyoung Choi
 
마커스교육자료(디자인)
마커스교육자료(디자인)마커스교육자료(디자인)
마커스교육자료(디자인)Joong Keun Park
 
THE_NPCMASTER_PUBLIC
THE_NPCMASTER_PUBLICTHE_NPCMASTER_PUBLIC
THE_NPCMASTER_PUBLICkhalbora
 
NDC14 - 엄마와 누나가 게임을 즐기는 법 : [에브리타운 for kakao] 서비스 포스트 모텀
NDC14 - 엄마와 누나가 게임을 즐기는 법 : [에브리타운 for kakao] 서비스 포스트 모텀NDC14 - 엄마와 누나가 게임을 즐기는 법 : [에브리타운 for kakao] 서비스 포스트 모텀
NDC14 - 엄마와 누나가 게임을 즐기는 법 : [에브리타운 for kakao] 서비스 포스트 모텀Young Keun Choe
 
[ NDC 14 ] 가죽 장화를 먹게 해주세요 - [ 야생의 땅 : 듀랑고 ] 의 자유도 높은 아이템 시스템 디자인
[ NDC 14 ] 가죽 장화를 먹게 해주세요 - [ 야생의 땅 : 듀랑고 ] 의 자유도 높은 아이템 시스템 디자인 [ NDC 14 ] 가죽 장화를 먹게 해주세요 - [ 야생의 땅 : 듀랑고 ] 의 자유도 높은 아이템 시스템 디자인
[ NDC 14 ] 가죽 장화를 먹게 해주세요 - [ 야생의 땅 : 듀랑고 ] 의 자유도 높은 아이템 시스템 디자인 Jungsoo Lee
 
무료강의 보안전문가의 길(2015년) v0.9_공개버전
무료강의 보안전문가의 길(2015년) v0.9_공개버전무료강의 보안전문가의 길(2015년) v0.9_공개버전
무료강의 보안전문가의 길(2015년) v0.9_공개버전James (SeokHun) Hwang
 
상상드림프로젝트 PPT 팀 설레냥
상상드림프로젝트 PPT  팀 설레냥상상드림프로젝트 PPT  팀 설레냥
상상드림프로젝트 PPT 팀 설레냥soojung kim
 
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버Heungsub Lee
 
서버 개발자가 되기 위한 첫 걸음
서버 개발자가 되기 위한 첫 걸음서버 개발자가 되기 위한 첫 걸음
서버 개발자가 되기 위한 첫 걸음nexusz99
 
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)Heungsub Lee
 
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git민태 김
 
[NDC 2014] 모에론
[NDC 2014] 모에론[NDC 2014] 모에론
[NDC 2014] 모에론Yongha Kim
 
[피키캐스트] 5학년선배 ppt 템플릿 레이아웃
[피키캐스트] 5학년선배 ppt 템플릿 레이아웃[피키캐스트] 5학년선배 ppt 템플릿 레이아웃
[피키캐스트] 5학년선배 ppt 템플릿 레이아웃o_senior
 

Destacado (20)

.net 웹어플리케이션 예외정보 노출 방지
.net 웹어플리케이션 예외정보 노출 방지.net 웹어플리케이션 예외정보 노출 방지
.net 웹어플리케이션 예외정보 노출 방지
 
내 생애 최고의_게임
내 생애 최고의_게임내 생애 최고의_게임
내 생애 최고의_게임
 
Http 헤더
Http 헤더Http 헤더
Http 헤더
 
떠먹여주는 Memcached 1
떠먹여주는 Memcached 1떠먹여주는 Memcached 1
떠먹여주는 Memcached 1
 
ndc14 포춘시리즈개발자의 풀타임인디개발생존기
ndc14 포춘시리즈개발자의 풀타임인디개발생존기ndc14 포춘시리즈개발자의 풀타임인디개발생존기
ndc14 포춘시리즈개발자의 풀타임인디개발생존기
 
Lh포폴완성
Lh포폴완성Lh포폴완성
Lh포폴완성
 
[NDC 14] 가죽 장화를 먹게 해달라니 - &lt;야생의>의 자유도 높은 아이템 시스템 구현
[NDC 14] 가죽 장화를 먹게 해달라니 - &lt;야생의>의 자유도 높은 아이템 시스템 구현[NDC 14] 가죽 장화를 먹게 해달라니 - &lt;야생의>의 자유도 높은 아이템 시스템 구현
[NDC 14] 가죽 장화를 먹게 해달라니 - &lt;야생의>의 자유도 높은 아이템 시스템 구현
 
마커스교육자료(디자인)
마커스교육자료(디자인)마커스교육자료(디자인)
마커스교육자료(디자인)
 
THE_NPCMASTER_PUBLIC
THE_NPCMASTER_PUBLICTHE_NPCMASTER_PUBLIC
THE_NPCMASTER_PUBLIC
 
NDC14 - 엄마와 누나가 게임을 즐기는 법 : [에브리타운 for kakao] 서비스 포스트 모텀
NDC14 - 엄마와 누나가 게임을 즐기는 법 : [에브리타운 for kakao] 서비스 포스트 모텀NDC14 - 엄마와 누나가 게임을 즐기는 법 : [에브리타운 for kakao] 서비스 포스트 모텀
NDC14 - 엄마와 누나가 게임을 즐기는 법 : [에브리타운 for kakao] 서비스 포스트 모텀
 
[ NDC 14 ] 가죽 장화를 먹게 해주세요 - [ 야생의 땅 : 듀랑고 ] 의 자유도 높은 아이템 시스템 디자인
[ NDC 14 ] 가죽 장화를 먹게 해주세요 - [ 야생의 땅 : 듀랑고 ] 의 자유도 높은 아이템 시스템 디자인 [ NDC 14 ] 가죽 장화를 먹게 해주세요 - [ 야생의 땅 : 듀랑고 ] 의 자유도 높은 아이템 시스템 디자인
[ NDC 14 ] 가죽 장화를 먹게 해주세요 - [ 야생의 땅 : 듀랑고 ] 의 자유도 높은 아이템 시스템 디자인
 
무료강의 보안전문가의 길(2015년) v0.9_공개버전
무료강의 보안전문가의 길(2015년) v0.9_공개버전무료강의 보안전문가의 길(2015년) v0.9_공개버전
무료강의 보안전문가의 길(2015년) v0.9_공개버전
 
Ideabattle final
Ideabattle finalIdeabattle final
Ideabattle final
 
상상드림프로젝트 PPT 팀 설레냥
상상드림프로젝트 PPT  팀 설레냥상상드림프로젝트 PPT  팀 설레냥
상상드림프로젝트 PPT 팀 설레냥
 
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
 
서버 개발자가 되기 위한 첫 걸음
서버 개발자가 되기 위한 첫 걸음서버 개발자가 되기 위한 첫 걸음
서버 개발자가 되기 위한 첫 걸음
 
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
 
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
 
[NDC 2014] 모에론
[NDC 2014] 모에론[NDC 2014] 모에론
[NDC 2014] 모에론
 
[피키캐스트] 5학년선배 ppt 템플릿 레이아웃
[피키캐스트] 5학년선배 ppt 템플릿 레이아웃[피키캐스트] 5학년선배 ppt 템플릿 레이아웃
[피키캐스트] 5학년선배 ppt 템플릿 레이아웃
 

Similar a 웹서버 정보 노출 방지

[오픈소스컨설팅] Atlassian webinar 기본 트러블슈팅(1 of 2)
[오픈소스컨설팅] Atlassian webinar 기본 트러블슈팅(1 of 2)[오픈소스컨설팅] Atlassian webinar 기본 트러블슈팅(1 of 2)
[오픈소스컨설팅] Atlassian webinar 기본 트러블슈팅(1 of 2)Osc Osc
 
Openstack Usecase(2018)
Openstack Usecase(2018)Openstack Usecase(2018)
Openstack Usecase(2018)Gasida Seo
 
[네이버D2SF] 안전한 서비스 운영을 위한 Ncloud 보안교육
[네이버D2SF] 안전한 서비스 운영을 위한 Ncloud 보안교육[네이버D2SF] 안전한 서비스 운영을 위한 Ncloud 보안교육
[네이버D2SF] 안전한 서비스 운영을 위한 Ncloud 보안교육NAVER D2 STARTUP FACTORY
 
[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena Dolly
[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena Dolly[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena Dolly
[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena DollyJi-Woong Choi
 
[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance Tuning[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance TuningJi-Woong Choi
 
.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현
.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현
.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현Hong Min Kim
 
Fiddler: 웹 디버깅 프록시
Fiddler: 웹 디버깅 프록시Fiddler: 웹 디버깅 프록시
Fiddler: 웹 디버깅 프록시Taegon Kim
 
Migration to Azure Database for MySQL
Migration to Azure Database for MySQLMigration to Azure Database for MySQL
Migration to Azure Database for MySQLrockplace
 
Bug sense 분석
Bug sense 분석Bug sense 분석
Bug sense 분석logdog
 
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)Ji-Woong Choi
 
[오픈소스컨설팅]Atlassian JIRA Deep Dive
[오픈소스컨설팅]Atlassian JIRA Deep Dive[오픈소스컨설팅]Atlassian JIRA Deep Dive
[오픈소스컨설팅]Atlassian JIRA Deep DiveJi-Woong Choi
 
DB Migration to Azure Database for MySQL
DB Migration to Azure Database for MySQLDB Migration to Azure Database for MySQL
DB Migration to Azure Database for MySQLrockplace
 
Azure Database for MySQL
Azure Database for MySQLAzure Database for MySQL
Azure Database for MySQLrockplace
 
[Ansible] Solution Guide V0.4_20181204.pdf
[Ansible] Solution Guide V0.4_20181204.pdf[Ansible] Solution Guide V0.4_20181204.pdf
[Ansible] Solution Guide V0.4_20181204.pdfHeeJung Chae
 
초보자를 위한 AWS EC2, RDS 설정
초보자를 위한 AWS EC2, RDS 설정초보자를 위한 AWS EC2, RDS 설정
초보자를 위한 AWS EC2, RDS 설정Seonghun Kang
 
Springcamp 2015 - xss는 네가 맡아라
Springcamp 2015 - xss는 네가 맡아라Springcamp 2015 - xss는 네가 맡아라
Springcamp 2015 - xss는 네가 맡아라Hyeong-Kyu Lee
 
High performance websites v1.0
High performance websites v1.0High performance websites v1.0
High performance websites v1.0Byungsun Youn
 
Amazon Elastcsearch Service 소개 및 활용 방법 (윤석찬)
Amazon Elastcsearch Service 소개 및 활용 방법 (윤석찬) Amazon Elastcsearch Service 소개 및 활용 방법 (윤석찬)
Amazon Elastcsearch Service 소개 및 활용 방법 (윤석찬) Amazon Web Services Korea
 
리스펙토링 6월 세미나, AWS로 개인서버 구축하기
리스펙토링 6월 세미나, AWS로 개인서버 구축하기리스펙토링 6월 세미나, AWS로 개인서버 구축하기
리스펙토링 6월 세미나, AWS로 개인서버 구축하기JungHoon Lee
 
[오픈소스컨설팅]Performance Tuning How To
[오픈소스컨설팅]Performance Tuning How To[오픈소스컨설팅]Performance Tuning How To
[오픈소스컨설팅]Performance Tuning How ToJi-Woong Choi
 

Similar a 웹서버 정보 노출 방지 (20)

[오픈소스컨설팅] Atlassian webinar 기본 트러블슈팅(1 of 2)
[오픈소스컨설팅] Atlassian webinar 기본 트러블슈팅(1 of 2)[오픈소스컨설팅] Atlassian webinar 기본 트러블슈팅(1 of 2)
[오픈소스컨설팅] Atlassian webinar 기본 트러블슈팅(1 of 2)
 
Openstack Usecase(2018)
Openstack Usecase(2018)Openstack Usecase(2018)
Openstack Usecase(2018)
 
[네이버D2SF] 안전한 서비스 운영을 위한 Ncloud 보안교육
[네이버D2SF] 안전한 서비스 운영을 위한 Ncloud 보안교육[네이버D2SF] 안전한 서비스 운영을 위한 Ncloud 보안교육
[네이버D2SF] 안전한 서비스 운영을 위한 Ncloud 보안교육
 
[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena Dolly
[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena Dolly[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena Dolly
[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena Dolly
 
[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance Tuning[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance Tuning
 
.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현
.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현
.Net conf 2019 Korea_ ASP.NET Core를 통한 HealthCheck 서비스 구현
 
Fiddler: 웹 디버깅 프록시
Fiddler: 웹 디버깅 프록시Fiddler: 웹 디버깅 프록시
Fiddler: 웹 디버깅 프록시
 
Migration to Azure Database for MySQL
Migration to Azure Database for MySQLMigration to Azure Database for MySQL
Migration to Azure Database for MySQL
 
Bug sense 분석
Bug sense 분석Bug sense 분석
Bug sense 분석
 
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
 
[오픈소스컨설팅]Atlassian JIRA Deep Dive
[오픈소스컨설팅]Atlassian JIRA Deep Dive[오픈소스컨설팅]Atlassian JIRA Deep Dive
[오픈소스컨설팅]Atlassian JIRA Deep Dive
 
DB Migration to Azure Database for MySQL
DB Migration to Azure Database for MySQLDB Migration to Azure Database for MySQL
DB Migration to Azure Database for MySQL
 
Azure Database for MySQL
Azure Database for MySQLAzure Database for MySQL
Azure Database for MySQL
 
[Ansible] Solution Guide V0.4_20181204.pdf
[Ansible] Solution Guide V0.4_20181204.pdf[Ansible] Solution Guide V0.4_20181204.pdf
[Ansible] Solution Guide V0.4_20181204.pdf
 
초보자를 위한 AWS EC2, RDS 설정
초보자를 위한 AWS EC2, RDS 설정초보자를 위한 AWS EC2, RDS 설정
초보자를 위한 AWS EC2, RDS 설정
 
Springcamp 2015 - xss는 네가 맡아라
Springcamp 2015 - xss는 네가 맡아라Springcamp 2015 - xss는 네가 맡아라
Springcamp 2015 - xss는 네가 맡아라
 
High performance websites v1.0
High performance websites v1.0High performance websites v1.0
High performance websites v1.0
 
Amazon Elastcsearch Service 소개 및 활용 방법 (윤석찬)
Amazon Elastcsearch Service 소개 및 활용 방법 (윤석찬) Amazon Elastcsearch Service 소개 및 활용 방법 (윤석찬)
Amazon Elastcsearch Service 소개 및 활용 방법 (윤석찬)
 
리스펙토링 6월 세미나, AWS로 개인서버 구축하기
리스펙토링 6월 세미나, AWS로 개인서버 구축하기리스펙토링 6월 세미나, AWS로 개인서버 구축하기
리스펙토링 6월 세미나, AWS로 개인서버 구축하기
 
[오픈소스컨설팅]Performance Tuning How To
[오픈소스컨설팅]Performance Tuning How To[오픈소스컨설팅]Performance Tuning How To
[오픈소스컨설팅]Performance Tuning How To
 

Más de InGuen Hwang

01. 워크샵 행복과 아이교육 01
01. 워크샵   행복과 아이교육 0101. 워크샵   행복과 아이교육 01
01. 워크샵 행복과 아이교육 01InGuen Hwang
 
02. 워크샵 아이 교육 big picture 01
02. 워크샵   아이 교육 big picture 0102. 워크샵   아이 교육 big picture 01
02. 워크샵 아이 교육 big picture 01InGuen Hwang
 
행복과 자녀 교육
행복과 자녀 교육행복과 자녀 교육
행복과 자녀 교육InGuen Hwang
 
네트워크와 보안
네트워크와 보안네트워크와 보안
네트워크와 보안InGuen Hwang
 
01. kpi기반의 정량적 성능 평가 체계 구축
01. kpi기반의 정량적 성능 평가 체계 구축01. kpi기반의 정량적 성능 평가 체계 구축
01. kpi기반의 정량적 성능 평가 체계 구축InGuen Hwang
 
01.windows 보안(접근제어모델 리뷰) 2016.05.25
01.windows 보안(접근제어모델 리뷰)   2016.05.2501.windows 보안(접근제어모델 리뷰)   2016.05.25
01.windows 보안(접근제어모델 리뷰) 2016.05.25InGuen Hwang
 
윈도우 클라이언트 자동 업데이트 설정
윈도우 클라이언트 자동 업데이트 설정윈도우 클라이언트 자동 업데이트 설정
윈도우 클라이언트 자동 업데이트 설정InGuen Hwang
 
노트북 응답 속도 문제 덤프 추출테스트 이력
노트북 응답 속도 문제 덤프 추출테스트 이력노트북 응답 속도 문제 덤프 추출테스트 이력
노트북 응답 속도 문제 덤프 추출테스트 이력InGuen Hwang
 
05. it정보화전략-어플리케이션 프레임워크
05. it정보화전략-어플리케이션 프레임워크05. it정보화전략-어플리케이션 프레임워크
05. it정보화전략-어플리케이션 프레임워크InGuen Hwang
 
04. it정보화전략-어플리케이션 아키텍처
04. it정보화전략-어플리케이션 아키텍처04. it정보화전략-어플리케이션 아키텍처
04. it정보화전략-어플리케이션 아키텍처InGuen Hwang
 
03. it정보화전략-솔루션 도입
03. it정보화전략-솔루션 도입03. it정보화전략-솔루션 도입
03. it정보화전략-솔루션 도입InGuen Hwang
 
02. it정보화전략-보안 아키텍처 도입
02. it정보화전략-보안 아키텍처 도입02. it정보화전략-보안 아키텍처 도입
02. it정보화전략-보안 아키텍처 도입InGuen Hwang
 
01. it정보화전략-it 기술기반 도입 계획
01. it정보화전략-it 기술기반 도입 계획01. it정보화전략-it 기술기반 도입 계획
01. it정보화전략-it 기술기반 도입 계획InGuen Hwang
 
00. it정보화전략-들어가기
00. it정보화전략-들어가기00. it정보화전략-들어가기
00. it정보화전략-들어가기InGuen Hwang
 
Sha 2 기반 인증서 업그레이드 이해
Sha 2 기반 인증서 업그레이드 이해Sha 2 기반 인증서 업그레이드 이해
Sha 2 기반 인증서 업그레이드 이해InGuen Hwang
 
IT전략계획-04.보안 아키텍처
IT전략계획-04.보안 아키텍처IT전략계획-04.보안 아키텍처
IT전략계획-04.보안 아키텍처InGuen Hwang
 
IT전략계획- 03.IT 도입계획
IT전략계획- 03.IT 도입계획IT전략계획- 03.IT 도입계획
IT전략계획- 03.IT 도입계획InGuen Hwang
 
IT전략계획- 02.정보전략계획(isp)
IT전략계획- 02.정보전략계획(isp)IT전략계획- 02.정보전략계획(isp)
IT전략계획- 02.정보전략계획(isp)InGuen Hwang
 
IT전략계획 - 01.사업계획
IT전략계획 - 01.사업계획IT전략계획 - 01.사업계획
IT전략계획 - 01.사업계획InGuen Hwang
 

Más de InGuen Hwang (20)

01. 워크샵 행복과 아이교육 01
01. 워크샵   행복과 아이교육 0101. 워크샵   행복과 아이교육 01
01. 워크샵 행복과 아이교육 01
 
02. 워크샵 아이 교육 big picture 01
02. 워크샵   아이 교육 big picture 0102. 워크샵   아이 교육 big picture 01
02. 워크샵 아이 교육 big picture 01
 
행복과 자녀 교육
행복과 자녀 교육행복과 자녀 교육
행복과 자녀 교육
 
암호화
암호화암호화
암호화
 
네트워크와 보안
네트워크와 보안네트워크와 보안
네트워크와 보안
 
01. kpi기반의 정량적 성능 평가 체계 구축
01. kpi기반의 정량적 성능 평가 체계 구축01. kpi기반의 정량적 성능 평가 체계 구축
01. kpi기반의 정량적 성능 평가 체계 구축
 
01.windows 보안(접근제어모델 리뷰) 2016.05.25
01.windows 보안(접근제어모델 리뷰)   2016.05.2501.windows 보안(접근제어모델 리뷰)   2016.05.25
01.windows 보안(접근제어모델 리뷰) 2016.05.25
 
윈도우 클라이언트 자동 업데이트 설정
윈도우 클라이언트 자동 업데이트 설정윈도우 클라이언트 자동 업데이트 설정
윈도우 클라이언트 자동 업데이트 설정
 
노트북 응답 속도 문제 덤프 추출테스트 이력
노트북 응답 속도 문제 덤프 추출테스트 이력노트북 응답 속도 문제 덤프 추출테스트 이력
노트북 응답 속도 문제 덤프 추출테스트 이력
 
05. it정보화전략-어플리케이션 프레임워크
05. it정보화전략-어플리케이션 프레임워크05. it정보화전략-어플리케이션 프레임워크
05. it정보화전략-어플리케이션 프레임워크
 
04. it정보화전략-어플리케이션 아키텍처
04. it정보화전략-어플리케이션 아키텍처04. it정보화전략-어플리케이션 아키텍처
04. it정보화전략-어플리케이션 아키텍처
 
03. it정보화전략-솔루션 도입
03. it정보화전략-솔루션 도입03. it정보화전략-솔루션 도입
03. it정보화전략-솔루션 도입
 
02. it정보화전략-보안 아키텍처 도입
02. it정보화전략-보안 아키텍처 도입02. it정보화전략-보안 아키텍처 도입
02. it정보화전략-보안 아키텍처 도입
 
01. it정보화전략-it 기술기반 도입 계획
01. it정보화전략-it 기술기반 도입 계획01. it정보화전략-it 기술기반 도입 계획
01. it정보화전략-it 기술기반 도입 계획
 
00. it정보화전략-들어가기
00. it정보화전략-들어가기00. it정보화전략-들어가기
00. it정보화전략-들어가기
 
Sha 2 기반 인증서 업그레이드 이해
Sha 2 기반 인증서 업그레이드 이해Sha 2 기반 인증서 업그레이드 이해
Sha 2 기반 인증서 업그레이드 이해
 
IT전략계획-04.보안 아키텍처
IT전략계획-04.보안 아키텍처IT전략계획-04.보안 아키텍처
IT전략계획-04.보안 아키텍처
 
IT전략계획- 03.IT 도입계획
IT전략계획- 03.IT 도입계획IT전략계획- 03.IT 도입계획
IT전략계획- 03.IT 도입계획
 
IT전략계획- 02.정보전략계획(isp)
IT전략계획- 02.정보전략계획(isp)IT전략계획- 02.정보전략계획(isp)
IT전략계획- 02.정보전략계획(isp)
 
IT전략계획 - 01.사업계획
IT전략계획 - 01.사업계획IT전략계획 - 01.사업계획
IT전략계획 - 01.사업계획
 

웹서버 정보 노출 방지

  • 1. 웹 서버 정보 노출 방지 2015. 10.13 기술지원 황인균 UrlScan 유의사항
  • 2. 2 보안 요구사항 TTP 응답에는 아래 박스처럼 HTTP 헤더에 서버 환경에 대한 정보를 포함하고 있는 항목들이 있다. 요구사항은 보안과 관련된 이 헤더 항 목들을 제거하라는 것. 제거 대상 헤더 : Server, X-ASPNet-Version, X-Powered-By, X-AspNetMvc-Version
  • 3. 3 첨부) HTTP응답 헤더 제거하기 ■ IIS6.0 http://www.4guysfromrolla.com/articles/120209-1.aspx 헤더 例 방법 Server Server: Microsoft-IIS/6.0 UrlScan 툴 사용 http://aspdotnet.tistory.com/1282 1) UrlScan 인스톨 2) Global Filter에서 제거(*) 3) IIS관리자 > 사이트 > “ISAPI 필터” 3.1) 필터 추가 "UrlScan 3.1 - C:WindowsSystem32inetsrvurlscanurlscan.dll“ 3.2) IIS 7.x 경우 C:WindowsSystem32inetsrvconfigapplicationHost.config 수정 preCondition="bitness64" preCondition="bitness32" 3.3) UrlScan.ini 설정 - RemoveServerHeader=1 - AllowDotInPath=1 X-Powered-By X-Powered-By: ASP.NET 1) IIS 관리자 > 사이트 속성 > HTTP Headers에서 제거 2) 또는 web.config 수정 <httpProtocol> <customHeaders> <remove name="X-Powered-By" /> </customHeaders> </httpProtocol> </system.webServer> X-AspNet-Version X-AspNet-Version: 2.0.50727 <httpRuntime enableVersionHeader="false" /> X-AspNetMvc- Version X-AspNetMvc-Version: 1.0 * ASP.NET MVC 사용하는 경우 추가됨 Application_Start 이벤트 핸들러에 아래 코드 추가 MvcHandler.DisableMvcResponseHeader = true; HTTP 응답 헤더에서 불필요한 값을 제거하는 방법은 “IIS 버전별, 그리고 문제 헤더별로 제거하는 방법이 다르다. (*) Global Filter에서 제거 – “첨부) UrlScan 인스톨 유의사항” 참조
  • 4. 4 첨부) HTTP응답 헤더 제거하기 ■ IIS7.x 클래식 모드 - 앞에서와 같은 방식으로 제거 ■ IIS7.x 통합 모드 HTTP 모듈을 사용하면 one point에서 관리 가능 1) 직접 제작 가능( 아래 코드 참조) https://blogs.technet.microsoft.com/stefan_gossner/2008/03/12/iis-7-how-to-send-a-custom-server-http-header/ 2) 이미 만들어진 HTTP 모듈도 제공한다. https://www.dionach.com/blog/easily-remove-unwanted-http-headers-in-iis-70-to-85 3) URLRewrite 유틸을 사용할 수도 있다. http://blogs.msdn.com/b/varunm/archive/2013/04/23/remove-unwanted-http-response-headers.aspx /// <summary> /// IIS7.0 이상, Integration 모드에서만 사용가능 /// </summary> public class HttpHeaderModule : System.Web.IHttpModule { public void Init(HttpApplication context) { context.PreSendRequestHeaders += OnPreSendRequestHeaders; // 이 이벤트는 IIS7.0 통합 모드에서만 발생 } void OnPreSendRequestHeaders(object sender, EventArgs e) { HttpContext.Current.Response.Headers.Remove("Server"); HttpContext.Current.Response.Headers.Remove("X-Powered-By"); HttpContext.Current.Response.Headers.Remove("X-AspNet-Version"); HttpContext.Current.Response.Headers.Remove("X-AspNetMvc-Version"); } public void Dispose() { } }
  • 5. 5 첨부) UrlScan ISAPI 필터 기능 ■ UrlScan 기능 - 파일 설정( urlscan.ini)을 통해서 웹 서버로의 요청과 응답에 대한 규칙을 정의해서 제어할 수 있음. %WINDIR%System32InetsrvURLscan 응답 제거 예 ) RemoveServerHeader = 1 설정을 하면, Server 헤더는 HTTP 응답에 포함되지 않음. 요청 체크 예 ) AllowDotInPath=1을 설정하면, URL에 dot(.)가 포함되면 요청을 거부하게 됨. 클라이언트 웹서버 ScanUrl 룰 UrlScan ISAPI 필터 ② RemoveServerHeader 값 체크 ① ③ RemoveServerHeader =1이면 Server 헤더 포함시키지 않고 응답 클라이언트 웹서버 룰 UrlScan ISAPI 필터 ② AllowDotInPath=0 ( Url에 dot가 포함되어도 OK) ① http://~/PEC.Launcher.exe.manifest [ Server 응답 헤더 없애기 ] [ 요청 URL 필터링 ]
  • 6. 6 첨부) UrlScan 인스톨 유의사항  IIS7.x이상에서는 UrlScan 툴을 설치하면 해당 서버에 포함된 모든 사이트에 UrlScan용 ISAPI 필터가 추가됨.  IIS 관리자를 통해서 보면, 최상위 노드 즉 로컬 머신 노드의 ISAPI 필터로 등록이 되어 있어서 하위의 모든 사이트에 상속되기 때문 이다.  IIS 관리자의 로컬 머신 노드에서 UrlScan 필터를 제거하고 필요한 사이트에서만 수작업으로 추가한다. Update – 2015.10.16(금)  UrlScan (urlscan_xxx.msi)을 인스톨하면 IIS의 Global Filter로 등록되는 것은 v7.x이상만은 아니다. v6.0에서도 마 찬가지다. IIS 관리 툴에서 확인하는 노드 위치가 다를 뿐이다. : IIS7.x - “로컬 머신 노드”의 속성 창 : IIS6.0 - “웹 사이트” 노드의 속성창  보안상 Global Filter로 등록되어서 전체 사이트에 적용되는 것이 맞겠지만, 1) 만약 하나의 서버에 공개된 사이트와 내부에서 사용되는 사이트가 혼재되어 있는 상황이고, 2) UrlScan 설정이 일부 사이트에 영향을 줄 수 있는 상황이라면,  Global Filter에서 제거하고 특정 사이트의 필터로만 등록해야 할 수 있다.  그런 경우에는 Global Filter에서 UrlScan 필터를 제거하고 필요한 사이트에서만 수작업으로 추가한다.