[IIS 웹 서버와 보안 ④] IIS 웹 서버 보호방법(3)
페이지 정보
작성자 차동박 이름으로 검색 댓글 0건 조회 11,002회 작성일 05-09-12 22:13본문
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ks_c_5601-1987">
<style>
<!--
td {font-size:9pt}
.line {font-size:9pt; line-height:140%;}
-->
</style>
</head>
<body>
<table cellSpacing="0" cellPadding="0" width="573" align="center" border="0" id="table1">
<tr>
<td bgColor="#a7a7a7" height="25" style="font-size: 9pt">
<table cellSpacing="0" cellPadding="0" width="565" align="center" border="0" id="table2">
<tr>
<td style="color: #ffffff; font-size: 9pt" width="80%"><b>[IIS 웹
서버와 보안 ④] IIS 웹 서버 보호방법(3)</b> </td>
<td style="color: #ffffff; font-size: 9pt" align="right" width="20%">
[2004-06-07]</td>
</tr>
</table>
</td>
</tr>
<tr>
<td bgColor="#ffffff" style="font-size: 9pt">
<img height="10" src="http://acc.edonkey.or.kr/main/img/line_margin_1x1.gif" width="1" border="0"></td>
</tr>
<tr>
<td class="line" bgColor="#ffffff"><!-- ▽내용 시작 -->
<table cellSpacing="0" cellPadding="2" width="98%" align="center" border="0" id="table3">
<tr>
<td class="line"><br>
이번 호에서는 계정 관리, 공유 자원 관리, 감사관리 측면에서 IIS 웹 서버를 보호하는 방법을 알아보도록 하자.<br>
<br>
<b>5. 계정 관리</b><br>
<br>
서버에서 사용되지 않는 계정들은 공격자가 이 계정을 이용해서 접근할 수 있으므로 제거하는 것이 좋다. 또한
단순하거나 유추하기 쉬운 패스워드는 무차별 대입 공격(brute force)이나 사전 공격(dictionary
attack)에 취약하다.<br>
<br>
<font color="#003399" style="font-face: 굴림; font-size: 9pt; line-height: 140%">
5.1 사용하지 않는 계정을 제거한다.</font><br>
<br>
서버상에 사용되지 않는 계정을 이용해서 공격자가 권한을 얻어서 접근할 수 있으므로 이러한 계정은 제거하는 것이
좋다. 실제 서버에 반영하기 전에 테스트 서버에서 계정을 제거한 후에 서비스에 이상이 없는지 먼저 확인하는 것이
좋다. <br>
<br>
<font color="#003399" style="font-face: 굴림; font-size: 9pt; line-height: 140%">
5.2 Guest 계정을 비활성화한다.</font><br>
<br>
Guest 계정은 컴퓨터에 익명 접속을 연결할 때 사용되는데 이를 비활성시킴으로써 익명 연결을 제한할 수 있다.
Guest 계정의 활성화 여부는 [컴퓨터 관리] 도구에서 [로컬 사용자 및 그룹]의 [사용자] 메뉴의 목록에서
확인할 수 있다.<br>
<br>
<font color="#003399" style="font-face: 굴림; font-size: 9pt; line-height: 140%">
5.3 관리계정의 이름을 바꾸고 복잡한 패스워드를 사용한다.</font><br>
<br>
기본적으로 관리자에게 지정되는 Administrator 계정은 컴퓨터에 대한 모든 권한을 가지므로 악의적인 목적으로
사용하기 위한 목표가 된다. 따라서 이 계정의 이름을 다른 이름으로 변경하고 유추하기 어려운 복잡한 패스워드를
사용하는 것이 좋다.<br>
<br>
<div align="center">
<img src="http://image.ahnlab.com/info/securityinfo/upload_/iis_4_1.JPG" border="0"><br>
<br>
[그림 1] Administrator 계정의 이름 바꾸기</div>
<br>
<font color="#003399" style="font-face: 굴림; font-size: 9pt; line-height: 140%">
5.4 기본 익명 계정(IUSR_Machine) 대신 사용자 정의한 계정을 사용한다.</font><br>
<br>
인터넷으로 익명으로 접근하는 사용자들은 IIS 설치시 기본적으로 생성되는 IUSR_Machine (서버의
NetBIOS명) 계정으로 접근하게 된다. 예를 들어 'WebSvr'라는 이름의 서버에는
'IUSR_WebSvr'이라는 계정이 생성된다. 이 계정을 비활성화하고 웹 서버의 익명 접속에 사용할 계정을 직접
정의하는 것이 좋다.<br>
<br>
웹 애플리케이션의 기능을 제공하는데 필요한 최소한의 권한을 가지는 계정을 만들고, 인터넷 관리자에서 웹 애플리케이션
별로 직접 정의한 계정을 지정하면 서버 상에 여러 개의 웹 사이트를 운영하는 경우 로그 분석에도 용이하다.<br>
<br>
특정 웹 사이트에 대해서 익명 연결에 사용할 계정을 지정하려면 다음 그림과 같이 [인터넷관리자]에서 해당 사이트의
[등록정보]-[디렉토리 보안]-[익명 액세스 및 인증 제어]-[편집]에서 익명 사용자 계정을 지정하면 된다.
<div align="right">
<a style="font-size: 9pt; text-decoration: none; color: #1e568e" href="#top">
<img src="http://image.ahnlab.com/info/securityinfo/upload_/button_top.gif" border="0"></a></div>
<br>
<div align="center">
<img src="http://image.ahnlab.com/info/securityinfo/upload_/iis_4_2.JPG" border="0"><br>
<br>
[그림 2] 익명 사용자 계정의 변경</div>
<br>
<font color="#003399" style="font-face: 굴림; font-size: 9pt; line-height: 140%">
5.5 강력한 암호 정책을 적용한다.</font><br>
<br>
계정 암호에 대한 무차별 대입 공격이나 사전 공격을 막기 위해 암호의 최소 길이나 특수문자의 사용여부를 지정하는
등의 보다 강화된 정책을 사용하는 것이 좋다. <br>
<br>
<div align="center">
<table cellSpacing="0" borderColorDark="#ffffff" cellPadding="3" width="95%" borderColorLight="#d1d1d1" border="1" id="table4">
<tr bgColor="#f2f9e8">
<td class="line" align="middle"><b>암호 정책</b></td>
<td style="font-size: 9pt"><b>기본 설정</b></td>
<td style="font-size: 9pt"><b>권장 설정</b></td>
</tr>
<tr>
<td style="font-size: 9pt"><b>최근 암호 기억</b></td>
<td style="font-size: 9pt">0개 암호 기억됨</td>
<td style="font-size: 9pt">24개 암호 기억됨</td>
</tr>
<tr>
<td style="font-size: 9pt"><b>최대 암호 사용 기간</b></td>
<td style="font-size: 9pt">42일</td>
<td style="font-size: 9pt">42일</td>
</tr>
<tr>
<td style="font-size: 9pt"><b>최소 암호 사용 기간</b></td>
<td style="font-size: 9pt">0일</td>
<td style="font-size: 9pt">2일</td>
</tr>
<tr>
<td style="font-size: 9pt"><b>최소 암호 길이</b></td>
<td style="font-size: 9pt">0문자</td>
<td style="font-size: 9pt">8문자</td>
</tr>
<tr>
<td style="font-size: 9pt"><b>암호는 복잡성을 만족해야 함</b></td>
<td style="font-size: 9pt">사용안함</td>
<td style="font-size: 9pt">사용함</td>
</tr>
</table>
</div>
<br>
암호 정책은 [관리 도구] - [로컬 보안 설정]에서 [계정 정책] - [암호 정책]에서 설정할 수 있다.<br>
<br>
<div align="center">
<img src="http://image.ahnlab.com/info/securityinfo/upload_/iis_4_3.JPG" border="0"><br>
<br>
[그림 3] 암호 정책의 설정</div>
<br>
<font color="#003399" style="font-face: 굴림; font-size: 9pt; line-height: 140%">
5.6 익명 로그온(널 세션)을 비활성화 한다.</font><br>
<br>
널 세션(Null Session) 접속은 인증을 받지 않은 상태에서 해당 컴퓨터에 접근하는 것을 의미하며 해커들은
이를 이용해서 원격 컴퓨터의 정보를 제공 받을 수 있고, 특정 권한으로 승격하거나 DoS 공격을 수행할 수도 있다.
널 세션 접속을 허용하지 않으려면 레지스트리 편집기를 이용해서 'HKLM\\System\\CurrentControlSet\\Control\\LSA'
키의 RestrictAnonymous 값을 '1'로 설정하면 된다.<br>
<br>
<b>6. 공유</b><br>
<br>
서버에서 사용되지 않는 공유를 제거하고 사용중인 공유 자원에 대해서는 NTFS 권한을 부여함으로써 자원을 보호할
필요가 있다. 특히 기본적으로 공유가 생성될 때 모든 사용자들에게 모든 권한이 부여되므로 NTFS 권한을 적용해서
필요한 사용자에게만 접근을 허용하도록 관리해야 한다.<br>
<br>
또한 관리목적에서 사용되는 C$, ADMIN$와 같은 관리 공유를 사용하지 않는다면 제거하는 것이 권장된다. 관리
공유를 사용하지 않으려면 레지스트리 편집기를 이용해서
HKLM\\SYSTEM\\CurrentControlSet\\Services\\lanmanserver\\parameters
키에 AutoShareServer와 AutoShareWks 값을 REG_DWORD로 만들고 '0'으로 설정하면
된다.
<div align="right">
<a style="font-size: 9pt; text-decoration: none; color: #1e568e" href="#top">
<img src="http://image.ahnlab.com/info/securityinfo/upload_/button_top.gif" border="0"></a></div>
<br>
<b>7. 감사관리 </b><br>
<br>
감사관리는 시스템 공격을 막지는 못하지만 진행중인 공격이나 침입자를 인식하고 공격의 흔적을 추적하는데 많은 도움을
준다. 웹 서버의 감사정책 수준을 높이고 NTFS 권한으로 로그 파일을 보호함으로써 공격자가 로그파일을 지우거나
변조하는 것을 방지하는 것도 필요하다.<br>
<br>
<font color="#003399" style="font-face: 굴림; font-size: 9pt; line-height: 140%">
7.1 로그인 실패 로그를 기록한다.</font><br>
<br>
시스템에 로그인하는데 실패한 이벤트에 대해서는 반드시 로그를 기록해야 한다. 로그를 통해서 암호에 대한 무차별 대입
공격이나 사전 공격의 흔적을 찾을 수 있으며 공격자가 어떠한 게정으로 접근을 시도했는지도 알 수 있다. <br>
<br>
[관리도구]에서 [로컬 보안 설정] 도구를 실행하고 [로컬 정책]-[감사 정책]에서 '로그온 이벤트 감사' 항목에서
'실패' 로그를 기록하도록 설정하면 된다. 이렇게 설정하면 이후에 발생하는 로그인 실패 이벤트에 대한 내역을
[이벤트 뷰어]의 [보안 로그] 목록에서 확인할 수 있게 된다.<br>
<br>
<div align="center">
<img src="http://image.ahnlab.com/info/securityinfo/upload_/iis_4_4.JPG" border="0"><br>
<br>
[그림 4] 로그온 실패에 대한 감사 기록 설정</div>
<br>
<font color="#003399" style="font-face: 굴림; font-size: 9pt; line-height: 140%">
7.2 개체 접근 실패에 대한 로그를 기록한다.</font><br>
<br>
파일이나 폴더 등의 개체에 대한 악의적인 접근 시도에 대하여 감사기록을 하는 방법을 알아보자. 먼저 7.1에서
설명한 것과 동 </td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
[이 게시물은 human님에 의해 2007-05-14 17:58:49 bilkboard1에서 복사 됨] [이 게시물은 human님에 의해 2007-05-15 09:09:28 bulk3에서 이동 됨]
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ks_c_5601-1987">
<style>
<!--
td {font-size:9pt}
.line {font-size:9pt; line-height:140%;}
-->
</style>
</head>
<body>
<table cellSpacing="0" cellPadding="0" width="573" align="center" border="0" id="table1">
<tr>
<td bgColor="#a7a7a7" height="25" style="font-size: 9pt">
<table cellSpacing="0" cellPadding="0" width="565" align="center" border="0" id="table2">
<tr>
<td style="color: #ffffff; font-size: 9pt" width="80%"><b>[IIS 웹
서버와 보안 ④] IIS 웹 서버 보호방법(3)</b> </td>
<td style="color: #ffffff; font-size: 9pt" align="right" width="20%">
[2004-06-07]</td>
</tr>
</table>
</td>
</tr>
<tr>
<td bgColor="#ffffff" style="font-size: 9pt">
<img height="10" src="http://acc.edonkey.or.kr/main/img/line_margin_1x1.gif" width="1" border="0"></td>
</tr>
<tr>
<td class="line" bgColor="#ffffff"><!-- ▽내용 시작 -->
<table cellSpacing="0" cellPadding="2" width="98%" align="center" border="0" id="table3">
<tr>
<td class="line"><br>
이번 호에서는 계정 관리, 공유 자원 관리, 감사관리 측면에서 IIS 웹 서버를 보호하는 방법을 알아보도록 하자.<br>
<br>
<b>5. 계정 관리</b><br>
<br>
서버에서 사용되지 않는 계정들은 공격자가 이 계정을 이용해서 접근할 수 있으므로 제거하는 것이 좋다. 또한
단순하거나 유추하기 쉬운 패스워드는 무차별 대입 공격(brute force)이나 사전 공격(dictionary
attack)에 취약하다.<br>
<br>
<font color="#003399" style="font-face: 굴림; font-size: 9pt; line-height: 140%">
5.1 사용하지 않는 계정을 제거한다.</font><br>
<br>
서버상에 사용되지 않는 계정을 이용해서 공격자가 권한을 얻어서 접근할 수 있으므로 이러한 계정은 제거하는 것이
좋다. 실제 서버에 반영하기 전에 테스트 서버에서 계정을 제거한 후에 서비스에 이상이 없는지 먼저 확인하는 것이
좋다. <br>
<br>
<font color="#003399" style="font-face: 굴림; font-size: 9pt; line-height: 140%">
5.2 Guest 계정을 비활성화한다.</font><br>
<br>
Guest 계정은 컴퓨터에 익명 접속을 연결할 때 사용되는데 이를 비활성시킴으로써 익명 연결을 제한할 수 있다.
Guest 계정의 활성화 여부는 [컴퓨터 관리] 도구에서 [로컬 사용자 및 그룹]의 [사용자] 메뉴의 목록에서
확인할 수 있다.<br>
<br>
<font color="#003399" style="font-face: 굴림; font-size: 9pt; line-height: 140%">
5.3 관리계정의 이름을 바꾸고 복잡한 패스워드를 사용한다.</font><br>
<br>
기본적으로 관리자에게 지정되는 Administrator 계정은 컴퓨터에 대한 모든 권한을 가지므로 악의적인 목적으로
사용하기 위한 목표가 된다. 따라서 이 계정의 이름을 다른 이름으로 변경하고 유추하기 어려운 복잡한 패스워드를
사용하는 것이 좋다.<br>
<br>
<div align="center">
<img src="http://image.ahnlab.com/info/securityinfo/upload_/iis_4_1.JPG" border="0"><br>
<br>
[그림 1] Administrator 계정의 이름 바꾸기</div>
<br>
<font color="#003399" style="font-face: 굴림; font-size: 9pt; line-height: 140%">
5.4 기본 익명 계정(IUSR_Machine) 대신 사용자 정의한 계정을 사용한다.</font><br>
<br>
인터넷으로 익명으로 접근하는 사용자들은 IIS 설치시 기본적으로 생성되는 IUSR_Machine (서버의
NetBIOS명) 계정으로 접근하게 된다. 예를 들어 'WebSvr'라는 이름의 서버에는
'IUSR_WebSvr'이라는 계정이 생성된다. 이 계정을 비활성화하고 웹 서버의 익명 접속에 사용할 계정을 직접
정의하는 것이 좋다.<br>
<br>
웹 애플리케이션의 기능을 제공하는데 필요한 최소한의 권한을 가지는 계정을 만들고, 인터넷 관리자에서 웹 애플리케이션
별로 직접 정의한 계정을 지정하면 서버 상에 여러 개의 웹 사이트를 운영하는 경우 로그 분석에도 용이하다.<br>
<br>
특정 웹 사이트에 대해서 익명 연결에 사용할 계정을 지정하려면 다음 그림과 같이 [인터넷관리자]에서 해당 사이트의
[등록정보]-[디렉토리 보안]-[익명 액세스 및 인증 제어]-[편집]에서 익명 사용자 계정을 지정하면 된다.
<div align="right">
<a style="font-size: 9pt; text-decoration: none; color: #1e568e" href="#top">
<img src="http://image.ahnlab.com/info/securityinfo/upload_/button_top.gif" border="0"></a></div>
<br>
<div align="center">
<img src="http://image.ahnlab.com/info/securityinfo/upload_/iis_4_2.JPG" border="0"><br>
<br>
[그림 2] 익명 사용자 계정의 변경</div>
<br>
<font color="#003399" style="font-face: 굴림; font-size: 9pt; line-height: 140%">
5.5 강력한 암호 정책을 적용한다.</font><br>
<br>
계정 암호에 대한 무차별 대입 공격이나 사전 공격을 막기 위해 암호의 최소 길이나 특수문자의 사용여부를 지정하는
등의 보다 강화된 정책을 사용하는 것이 좋다. <br>
<br>
<div align="center">
<table cellSpacing="0" borderColorDark="#ffffff" cellPadding="3" width="95%" borderColorLight="#d1d1d1" border="1" id="table4">
<tr bgColor="#f2f9e8">
<td class="line" align="middle"><b>암호 정책</b></td>
<td style="font-size: 9pt"><b>기본 설정</b></td>
<td style="font-size: 9pt"><b>권장 설정</b></td>
</tr>
<tr>
<td style="font-size: 9pt"><b>최근 암호 기억</b></td>
<td style="font-size: 9pt">0개 암호 기억됨</td>
<td style="font-size: 9pt">24개 암호 기억됨</td>
</tr>
<tr>
<td style="font-size: 9pt"><b>최대 암호 사용 기간</b></td>
<td style="font-size: 9pt">42일</td>
<td style="font-size: 9pt">42일</td>
</tr>
<tr>
<td style="font-size: 9pt"><b>최소 암호 사용 기간</b></td>
<td style="font-size: 9pt">0일</td>
<td style="font-size: 9pt">2일</td>
</tr>
<tr>
<td style="font-size: 9pt"><b>최소 암호 길이</b></td>
<td style="font-size: 9pt">0문자</td>
<td style="font-size: 9pt">8문자</td>
</tr>
<tr>
<td style="font-size: 9pt"><b>암호는 복잡성을 만족해야 함</b></td>
<td style="font-size: 9pt">사용안함</td>
<td style="font-size: 9pt">사용함</td>
</tr>
</table>
</div>
<br>
암호 정책은 [관리 도구] - [로컬 보안 설정]에서 [계정 정책] - [암호 정책]에서 설정할 수 있다.<br>
<br>
<div align="center">
<img src="http://image.ahnlab.com/info/securityinfo/upload_/iis_4_3.JPG" border="0"><br>
<br>
[그림 3] 암호 정책의 설정</div>
<br>
<font color="#003399" style="font-face: 굴림; font-size: 9pt; line-height: 140%">
5.6 익명 로그온(널 세션)을 비활성화 한다.</font><br>
<br>
널 세션(Null Session) 접속은 인증을 받지 않은 상태에서 해당 컴퓨터에 접근하는 것을 의미하며 해커들은
이를 이용해서 원격 컴퓨터의 정보를 제공 받을 수 있고, 특정 권한으로 승격하거나 DoS 공격을 수행할 수도 있다.
널 세션 접속을 허용하지 않으려면 레지스트리 편집기를 이용해서 'HKLM\\System\\CurrentControlSet\\Control\\LSA'
키의 RestrictAnonymous 값을 '1'로 설정하면 된다.<br>
<br>
<b>6. 공유</b><br>
<br>
서버에서 사용되지 않는 공유를 제거하고 사용중인 공유 자원에 대해서는 NTFS 권한을 부여함으로써 자원을 보호할
필요가 있다. 특히 기본적으로 공유가 생성될 때 모든 사용자들에게 모든 권한이 부여되므로 NTFS 권한을 적용해서
필요한 사용자에게만 접근을 허용하도록 관리해야 한다.<br>
<br>
또한 관리목적에서 사용되는 C$, ADMIN$와 같은 관리 공유를 사용하지 않는다면 제거하는 것이 권장된다. 관리
공유를 사용하지 않으려면 레지스트리 편집기를 이용해서
HKLM\\SYSTEM\\CurrentControlSet\\Services\\lanmanserver\\parameters
키에 AutoShareServer와 AutoShareWks 값을 REG_DWORD로 만들고 '0'으로 설정하면
된다.
<div align="right">
<a style="font-size: 9pt; text-decoration: none; color: #1e568e" href="#top">
<img src="http://image.ahnlab.com/info/securityinfo/upload_/button_top.gif" border="0"></a></div>
<br>
<b>7. 감사관리 </b><br>
<br>
감사관리는 시스템 공격을 막지는 못하지만 진행중인 공격이나 침입자를 인식하고 공격의 흔적을 추적하는데 많은 도움을
준다. 웹 서버의 감사정책 수준을 높이고 NTFS 권한으로 로그 파일을 보호함으로써 공격자가 로그파일을 지우거나
변조하는 것을 방지하는 것도 필요하다.<br>
<br>
<font color="#003399" style="font-face: 굴림; font-size: 9pt; line-height: 140%">
7.1 로그인 실패 로그를 기록한다.</font><br>
<br>
시스템에 로그인하는데 실패한 이벤트에 대해서는 반드시 로그를 기록해야 한다. 로그를 통해서 암호에 대한 무차별 대입
공격이나 사전 공격의 흔적을 찾을 수 있으며 공격자가 어떠한 게정으로 접근을 시도했는지도 알 수 있다. <br>
<br>
[관리도구]에서 [로컬 보안 설정] 도구를 실행하고 [로컬 정책]-[감사 정책]에서 '로그온 이벤트 감사' 항목에서
'실패' 로그를 기록하도록 설정하면 된다. 이렇게 설정하면 이후에 발생하는 로그인 실패 이벤트에 대한 내역을
[이벤트 뷰어]의 [보안 로그] 목록에서 확인할 수 있게 된다.<br>
<br>
<div align="center">
<img src="http://image.ahnlab.com/info/securityinfo/upload_/iis_4_4.JPG" border="0"><br>
<br>
[그림 4] 로그온 실패에 대한 감사 기록 설정</div>
<br>
<font color="#003399" style="font-face: 굴림; font-size: 9pt; line-height: 140%">
7.2 개체 접근 실패에 대한 로그를 기록한다.</font><br>
<br>
파일이나 폴더 등의 개체에 대한 악의적인 접근 시도에 대하여 감사기록을 하는 방법을 알아보자. 먼저 7.1에서
설명한 것과 동 </td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
[이 게시물은 human님에 의해 2007-05-14 17:58:49 bilkboard1에서 복사 됨] [이 게시물은 human님에 의해 2007-05-15 09:09:28 bulk3에서 이동 됨]
댓글목록
등록된 댓글이 없습니다.