본문 바로가기
OS & Infra/Windows

7장 IIS 웹 서버 보안 설정

by Dev. Jkun 2010. 8. 10.
반응형

7장 IIS 웹 서버 보안 설정
IIS 웹 서버의 설치
제어판의 ‘프로그램 추가/제거’에서 ‘Windows 구성 요소 추가/제거’를 실행
IIS 웹 서버의 설치:구성요소
구성요소: 인터넷 정보 서비스 스냅인 ‘World Wide Web 서버’의 관리 인터페이스 제공
File Transfer Protocol(FTP) 서버 : 일반 FTP와 같은 역할을 한다.
FrontPage 2000 Server Extensions : 웹 서버 동작 시에 FrontPage를 사용하게 할 수 있도록 하기 위한 구성요소다. 일반적인 경우에는 사용하지 않으며, 취약점이 존재하는 구성요소이므로 설치하지 않는다. 
NNTP Service : 마이크로소프트의 뉴스 서비스를 이용하는 데 사용된다.
SMTP Service : 메일을 전송하는 데 사용된다. 웹 서버 동작 시 필요한 서비스는 아니지만 웹 서버의 오작동에 대한 메시지를 보내는 데 사용하기도 한다. 일반적으로 설치하지 않으며, 설치해야 하는 경우에는 적절한 보안 설정이 필요하다.
IIS 기본설정 제거
IISHelp, IIAdmin 등의 가상 디렉토리를 모두 삭제한 후, ‘기본 웹 사이트’도 삭제한다.
IIS 웹 서버의 설치
기본 웹사이트를 삭제하더라도 실제 샘플 파일들은 삭제되지 않는다. 따라서 C:\inetpub 디렉토리를 탐색기에서 모두 제거해준다
이외에도 다음의 디렉토리도 모두 파일을 제거해준다. 
c:\winnt\help\iishelp 
c:\winnt\web\printers 
c:\winnt\system32\inetsrv\iisadmin 
c:\programfiles\commonfiles\system\msadc 
IIS 웹 서버의 설치
웹 사이트 생성
새로운 가상 디렉토리를 생성한다.
웹 사이트 생성 
웹사이트의 이름과 IP, 포트 설정
웹 사이트 생성
홈디렉토리 및 권한 설정
기본 문서 설정
URL(Uniform Resource Locator)로 웹사이트에 접근했을 때 기본으로 선택되어지는 웹 문서
IIS의 경우에는 ‘Default.htm'과 ’Default.asp'가 기본 문서로 설정됨. 사용하지 않는 기본 문서는 제거해주는 것이 좋음 
실행 권한 설정
‘쓰기’ 권한은 파일이 업로드되어 저장되는 디렉토리 이외에는 절대로 설정되어 있어서는 안 된다.
실행 권한 설정
‘디렉토리 검색’은 디렉토리 리스팅을 가능하게 하기 때문에 체크되어 있어서는 안 된다. 
‘실행권한’의 경우 ‘없음’ 또는 ‘스크립트’로만 되어 있어야 하며, ‘실행(스크립트)’ 포함으로 되어 있을 경우 임의의 실행 파일을 웹 서버에서 구동시킬 수 있으므로 선택해서는 안 된다.
IIS 프로세스 권한 설정
IIS 프로세스의 권한 설정에 관한 항목으로 낮음(IIS 프로세스), 보통(풀링됨), 높음(격리됨) 이렇게 세 가지 중의 하나의 권한을 설정하게 되어 있다
IIS 최초 설치 시의 권한: ‘보통’ 
‘낮음’으로 되어 있을 경우의 문제점
'낮음‘으로 되어 있으면 IIS 프로세스는 시스템 권한을 가지게 되는데, 이 경우 해커가 IIS 프로세스의 권한을 획득하면 관리자에 준하는 권한을 가지게 된다.
기본 설정인 ’보통‘은 IIS 프로세스를 실행과 동시에 일반 권한의 계정으로 권한 강하(falling)를 시킨다.
’높음‘의 경우 IIS 프로세스를 Guest 권한에 준하는 권한으로 실행시킨다.
스크립트 매핑과 메소드 설정
IIS 서버에서 실행될 수 있는 확장자인 asp, asa, htr, shtml 등에 대한 실행 설정
스크립트 매핑과 메소드 설정
‘동사’ 컬럼에서는 실행될 수 있는 HTTP 메소드가 정의되어 있음을 확인할 수 있다
서비스를 제공하지 않는 스크립트 이거나, 사용할 필요가 없는 메소드는 제거
접근제어의 설정
‘디렉토리 보안’에서는 웹 페이지에 대한 접근에 대한 일반 사항을 설정
접근제어의 설정
‘익명 액세스 및 인증 제어
접근제어의 설정
IP 주소 접근제어
접근제어의 설정
IP 주소 접근제어
웹 서버 운영자 설정
웹 관리자 계정을 Administrators 그룹으로 생성하는 것은 불필요한 권한을 줄 수도 있어 바람직하지 못한 결과를 가져올 수 있음 
일반 사용자 계정으로 웹 관리자 계정을 생성하고, 해당 계정을 운영자 목록에 ‘추가’ 해주는 것을 권함.
사용자 정의 오류 설정
각각의 오류 페이지는 그대로 두어도 큰 문제는 없으나, 회사의 정책이나 경고문을 각각의 오류 페이지의 용도에 맞게 바꿀 수도 있다.
컨텐트 만료 설정
’컨텐트 만료 지정‘은 해당 사이트가 정해진 시간에 자동으로 닫히도록 설정할 수 있다.
사용자 정의 HTTP 헤더 설정
HTTP/1.1 200 OK 
Server: Microsoft-IIS/4.0 
Content-Location: http://10.1.1.1/Default.htm 
Date: Thu, 18 Feb 1999 14:03:52 GMT 
Content-Type: text/html 
......
보내진 데이터에는 ‘Content-Location’ 부분에 ‘http://10.1.1.1/Default.htm'으로 해당 시스템의 IP가 기록되어 있다. 이러한 정보는 웹 서버가 NAT로 운영되고 있다면 이러한 데이터는 내부 네트워크를 노출할 수 있다.
사용자 정의 HTTP 헤더 설정
여기에 ‘사용자 정의 헤더 이름’에는 ‘Content-Location’ 사용자 정의 헤더 값에는 ‘http://www.wishfree.com'과 같이 입력한다. 이렇게 설정한 후 html 문서가 있다면 모든 웹 페이지가 asp.dll에 의해 처리되도록 asp로 바꾼다(html 문서의 확장자만 asp로 바꾸어도 된다). 
설정 후에 앞의 ‘http://10.1.1.1/Default.htm’이 ‘http://www.wishfree.com’로 바뀐다. 
웹 서버 시스템의 보안 설정
웹 서버는 별도의 서비스와 혼용하여 사용하지 않는 것이 좋다. 즉, 불필요한 공유, 불필요한 서비스 등을 최소화하는 것이 좋다.
웹 서버 시스템의 보안 설정
시스템 권한 설정 : IIS 프로세스가 IIS를 운영하고 있는 운영체제에 접근할 수 없도록 한다.
웹 서버 시스템의 보안 설정
Cacls 를 이용한 권한 확인 및 변경
웹 서버 시스템의 보안 설정
 
 
 
xcopy.exe
tftp.exe
tracert.exe
telnet.exe
syskey.exe
rsh.exe
runas.exe
route.exe
rexec.exe
regedt32.exe
regedit.exe
rcp.exe
qbasic.exe
ping.exe
nslookup.exe
netstat.exe
net.exe
ipconfig.exe
ftp.exe
finger.exe
edlin.exe
edit.com
cmd.exe
at.exe
arp.exe
해킹에 이용되기 쉬운 시스템 파일
웹 서버 시스템의 보안 설정
백업 파일 및 테스트 파일 관리
IIS LockDown
Syn Flooding 공격에 대한 방어
SynAttackProtect 
값의 위치 : HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
데이터 형 : REG_DWORD
값의 범위 : 0 ~ 2
Syn Flooding 공격에 대한 방어
Syn Flooding 공격에 대한 설정의 하나로 최초 클라이언트로부터 SYN 패킷을 받은 뒤, SYN+ACK 패킷을 클라이언트에게 보낸 뒤, 웹 서버가 클라이언트의 접속에 대기(이 상태를 ‘Half Open’이라고 한다)하는 시간을 줄이는 기능을 한다. 
이 기능은 SynAttackProtect는 값이 ‘0’일 때는 작동하지 않고, 뒤에 살펴볼 TcpMaxConnectResponseRetransmissions 값이 ‘2’ 이상이고 SynAttackProtect 값이 ‘1’ 또는 ‘2’일 때 활성화된다. 즉, 이 두 가지 값이 설정되어 있지 않으면, Syn Flooding 공격에 대한 방어는 구동되지 않는다.
SynAttackProctect는 기본으로 존재하는 값은 아니고, 새로 생성해주어야 하며, ‘1’보다는 ‘2’의 경우에 좀더 본격적인 공격 대응을 수행한다.
Syn Flooding 공격에 대한 방어
TcpMaxConnectResponseRetrans
반응형

'OS & Infra > Windows' 카테고리의 다른 글

IIS (인터넷 정보서비스) 풀관리  (0) 2011.04.12
Windows 7 에서 IIS + PHP  (0) 2011.03.22
Windows 7 스티커 메모  (0) 2010.11.12
Windows 7 Logon Background Changer  (1) 2010.09.16
ASP.NET 웹사이트 디버깅 오류  (0) 2010.08.19

댓글