보안설정 가이드 1
1. NTFS 계정
1. 모든 드라이버(C,D..)의 root : everyone 제거 ,administrators-system
계정추가(all권한) , creator owner(all 권한-없어도 됨) **everyone을 제거하기전 환경은 inetpub의 디렉토리가 everyone에게 모든 권한이 있으며, 단,wwwroot 디렉토리에서만은 everyone에게 [읽기 및 실행,폴더 내용보기,읽기]권한이 주어져 있다. ;everyone의 권한은 드라이버의 root에서 everyone계정을 제거 하더라도 wwwroot 디렉토리에서는 everyone의 권한이 그대로 유지 된다. **추가 설명 : iis5.0에 필요한 최소권한을 참고
2. inetpub \ ftproot -everyone 그룹 추가 (읽기 및 실행, 폴더
내용보기, 읽기 체크 ) \ mailroot \ pickup -everyone 그룹 (읽기, 쓰기):cdo 콤포넌트를 이용한 asp에서만 메일을 보낼경우.. \ wwwroot -everyone 그룹 (읽기 및 실행, 폴더 내용보기, 읽기) \ nntproot -everyone 그룹 (읽기 및 실행, 폴더 내용보기, 읽기) - 차후에nntp를 사용할때 권한을 부여하면 된다. \ AdminScripts -everyone 그룹 제거
*추가 설명 : 1. IUSR_(Servername) 계정은 Read/Write 권한을 가지고 있지만,
Pickup 폴더에 대해서는 Execute 권한을 거부(Deny)하는 것이
좋다. 2. ftproot는 가상디렉토리를 사용할 경우 everyone에게 읽기 권한만 주어도 된다.
3. 웹사이트의 디렉토리
ejoymart1 \ www - everyone 그룹 (읽기 및 실행, 폴더 내용보기, 읽기),
ftp계정 (모든 권한)
4. DB 저장 디렉토리
Administrators 그룹만 남기고 나머지 모두 제거
[현 서버 설정사항] [NTFS 설정]
1. C:(레이블:system) /운영체제와 sql 서버만 깔려져 있음.
-all권한(administrators,system,creator owner),
읽기-실행/폴더내용보기/읽기(everyone)
\ inetpub \ AdminScripts -everyone 그룹 제거 \ mailroot \ pickup -everyone 그룹(쓰기 권한 추가)
*추가 설명 : 1. IUSR_(Servername) 계정은 Read/Write 권한을 가지고 있지만,
Pickup 폴더에 대해서는 Execute 권한을 거부(Deny)하는 것이
좋다.
2. D:(레이블:Hosting) /웹 페이지 파일 및 www로그 파일 저장
-administrators,system(all권한)
\ ejoymart1(계정 및 db명과 동일) \ Logs \ WWW -everyone 그룹(읽기 및 실행, 폴더 내용보기, 읽기) -- [파일 업로드 폴더]은 쓰기 권한을 준다. ** 주의 : 모든 보안 설정이 완료된 후 iislockdown을 설치한 다음에 [파일 업로드 폴더]에 [web anonymous/web applications] 그룹이 쓰기 거부 권한이 되어 있는데 이 2개의 <계정을 제거>
3. E:(레이블:DataBase) /웹 서비스에 필요한 db 저장
-administrators(all권한), 다른 계정은 모두 삭제
\ ejoymart1_DB(계정 및 db명과 동일)
[iis 설정]
1. www : 웹사이트 설명<onstory(onstory.fun)>
2. ftp : 기본 ftp 사이트 [익명연결 허용 안함] <쓰기
거부><목록스타일:Unix용>
\ ejoymart1(가상디렉토리) <읽기, 쓰기, 방문기록>, 경로 = D:\ejoymart1
WWW
3. smtp : 등록정보 -> 엑세스 -> [연결] -> 아래목록만 체크, ip추가(현재 서버
ip) [릴레이] -> 설정 안함..
-> 메시지 ->다음으로 배달하지 않은 메시지의 보고서 복사본 보내기.. -> 받을
메일주소
2. 기초 설정
1. 탐색기 보기 편하도록
2. 익스플로러 설정
1) 자동 완성 해제
2) 브라우저 닫을때 임시 폴더 비우기 (체크)
3. 화면보호기(암호 설정)/전원관리
4. CD-ROM 드라이브 경로 변경
1) 컴퓨터 관리>>디스크 관리>> Z:
2) 위치 : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
값 : SourcePath>> 경로 변경 Z:
5. 인터넷 익스플로러 에러 보고기능 제거
1) 위치 : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main
DWARD 값 : IEWastonEnabled (0) (16진수)
6. 불필요한 서브 시스템 제거
1) 레지스트리 키 삭제
위치 : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session
Manager\SubSystems 값 : Os2,Posix - 삭제
2) 파일 삭제
위치 : %systemroot%/system32 폴더
파일 : posix.exe, psxss.exe, os2.exe, os2srv.exe, os2ss.exe
7. 불필요한 스케줄러 제거
1) 위치 :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RemoteComputer\NameSpace 항목 : {D6277990-4C6A-11CF-8D87-00AA0060F5BF} 항목 삭제
8. 가상 메모리 최적화 -시스템-고급-성능옵션
1) 부트 파티션을 제외한 하드중 사용량이 적고 가장 빠른 하드 디스크로 옮김.
2) 여러곳에 분할
처음 크기 : 메모리의 1.5배(웹서버 기본메모리)
최대 크기 : 메모리의 2.5배(익스체인지서버, SQL서버) 또는 3배 정도
9. 메모리 덤프의 최소화 -시스템-고급-시작및 복구
1) 작은 메모리나 커널 메모리 덤프로 설정
3. 기본 서버 보안
1. 모든 사용 파티션의 파일 시스템을 NTFS로 변경
>>데이타가 있을 경우 : CONVERT E: /FS:NTFS
2. 강력한 암호설정 : 영어, 숫자, 기호 조합
3. 계정관리
1) Admin 계정 & Guest 계정 바꾸기
(추가로 1개의 admin 계정 설정하기)
2) 공개로컬 보안 인증에 대한 액세스 제한(익명 계정으로부터의 접근 제어)
위치 : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
값 : restrictanonymous (1) (16진수)
3) guest 계정 및 TsInternetUser 계정 사용 중지.
4.익명 엑세스로부터 레지스트리 보호 (regedt32)
-Hive: HKEY_LOCAL_MACHINE \SYSTEM
-Key: \CurrentControlSet\Control\SecurePipeServers
-Value Name: \winreg
-winreg를 선택하고, "보안" 메뉴를 선택한 다음, "사용 권한"을 선택
-Administrators : 모든권한
-기타 계정및 그룹: 제거함
5. 공유 관리
1) 관리 목적의 공유 제거>>재부팅후 다시 공유 되는것 막기
위치 :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters 값 추가 :AutoShareServer (REG_DWORD ,0) 2) IPC$ : 시스템 시작시 마다 별도 제거 2) print$ : print spooler 서비스 사용중지 해야됨.
6. 강력한 보안 정책
1) 계정정책
암호정책 >>복잡성 만족(사용),최근암호기억(6개),최대
암호길이(8문자),최소암호사용기간(1).
2) 계정 잠금 정책
계정 잠금기간 >>30분
계정 잠금 임계값>>5번
다음 ..~~ >>30분
3) 감사 정책
계정 관리 감사 (성공,실패)
계정 로그온 이벤트 감사 (성공)
시스템 이벤트 감사 (성공, 실패)
정책 변경 감사 (성공, 실패)
참고 : Windows 2000 IIS 5.0 웹 서버 감사를 위한 권장 사항(Microsoft 기술
자료 - 300549) -개체 액세스(감사 없음) -계정 관리(실패) -계정 로그온(성공,실패) - 실패에러가 너무 많이 뜨므로 실패는 사용안함으로 하는 것이 좋음. -권한 사용(실패) -디렉터리 서비스 액세스(실패) -Active Directory 가 아닐경우 필요 없음. -로그온(성공,실패) -시스템(감사 없음) -정책 변경(성공,실패) -프로세스 추적(감사 없음)
4) 보안 옵션
로그온 스크린에 마지막 사용자 표시 안함
Admin 계정 & guest계정 바꾸기 ->앞에서 했음.
>>보안 정책 저장
4. 고급 서버 보안
1. 서비스 (중첩되는 서비스(ex,services)들은 1개의 서비스를 중지시키면 약
20kb 정도의 메모리사용 감소 1) 사용 중지를 권장하는 서비스들(또는 수동) .Application Management (수->사용안함) .Clipbook Service (수->사용안함) .Computer Browser (자->사용안함) .DHCP Client (자->사용안함) ; 고정 IP에서는 불필요 .DHCP Server (자->사용안함) .Distributed File System (자->사용안함) ; (일명 DFS 임: DC 역할에서만 사용) .FAX (수->사용안함) .Internet Authentication Service (자동->수동) ; 구성요소중 <com 인터넷 서비스 프록시> .Messenger (자->사용안함) .Network DDE (수->사용안함) .Print Spooler (자->사용안함) ; 사용안함으로 할 경우 터미널 서비스로 접속후 접속을 끊고 나면 이벤트 서비스에서 TermServDevices 에러 발생(무시 가능) .Remote Registry Service (자->사용안함) <<Emwac 에서는 반드시 필요.>> .Simple TCP/IP Services (자->사용안함) ; 구성요소중 <단순TCP/IP 서비스> .Smart Card (수->사용안함) .Smart Card Helper (수->사용안함) .Telnet (수->사용안함) .WINS (수->사용안함) .Windows Time (수->사용안함) .Task Scheduler (수->사용안함) ; 제어판의 <예약된 작업>을 사용 못하게 함. .기타 불필요한 서비스 사용중지(snmp,task scheduler)
** http://support.microsoft.com/default.aspx?scid=kb;KO;189271 참조
**(참고) :서비스 기능 중 필요 없는 기능리스트 및 설명(iis admin service는 web 서비스시 꼭 실행 돼야됨.) (=>http://www.windowsitsecurity.com/Articles/Index.cfm?ArticleID=16301) Clipbook Service,Computer Browser Service,IIS Admin Service,Internet Connection Sharing Service, Indexing Service,Infared Monitor Service,NetMeeting Remote Desktop Sharing Service, Remote Registry Service,Routing and Remote Access Service,Simple TCP/IP Service, SMTP Service,FTP Publishing Service,Telnet Service ,Task Scheduler Service,Terminal Service, Windows Media Services,World Wide Web Publishing Service
2. TCP/IP 필터링
>>책 참조 (p206)
3. ipSec을 이용한 ping 차단
>>책 참조 (p220)
4. 시스템 실행 파일
1) Admin 그룹,System그룹만 모두 허용
(%systemroo%system32)->기본은Everyone,Power Users,Users(RE,R) ********************************************************** [!!! IISLockDown 설치시 적용되므로 생략가능 !!!] ********************************************************** [!!! IISLockDown을 설치하면 <iuser_, iwan_> 계정에 대해서는 <all 거부> 권한이 주어짐. 단,iislockdown은 everyone 그룹과 users 그룹을 제거하지는 않으므로 **여기서 설정해주는 것이 더 안정적이다!!!]
>>arp.exe, at.exe, cmd.exe, drwtsn32.exe, edit.com, edlin.exe, finger.exe,
ftp.exe >>ipconfig.exe, net.exe, netstat.exe, nslookup.exe, ping.exe, qbasic.exe, rcp.exe, >>regedit.exe(Winnt),regedit32.exe, rexec.exe, route.exe, runas.exe, rsh.exe, syskey.exe >>telnet.exe, tracert.exe, tftp.exe, xcopy.exe
2) system32/drwtsn32.exe의 크래쉬 덤프 파일 만들기 해제
등록정보 >>크래쉬 덤프 파일 만들기 체크 해제
5. 터미널 서비스 보안 설정
1. TsInternetUser 계정 사용중지
2. 암호화 수준 [높음]으로
터미널 서비스 구성>>연결>>Rdp~~>>등록정보>>일반>>암호화>>[높음]
3. 세션 설정
터미널 서비스 구성>>연결>>Rdp~~>>등록정보>>세션
1) 사용자 설정 무시 체크
:연결 끊긴 세션 끝내기(30분)
:활성세션 제한 (해당없음)
:유휴 세션 제한(10분)
2) 사용자 설정 무시 체크
:세션 제한에 도달하거나 연결이 끊어지면 >>세션 끝내기
4.1 서버의 연결용 포트 변경하기
1) 위치 : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal
Server\Wds\rdpwd\Tds\tcp 값 :PortNumber (3d3,16진수,dword)(3389)>>(다른 포트 7003,10진수)로 변경
2) 위치 :HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal
Server\WinStations\RDP-Tcp 값 :PortNumber (3d3,16진수,dword)(3389)>>(다른 포트 7003,10진수)로 변경
*****tcp/ip필터링이 적용 됐다면.. tcp포트에 해당 포트를 추가 해야됨.
4.2 클라이언트의 포트 변경
>>터미널 클라이언트 연결관리자 실행.
>>아이콘 생성되면 [내보내기] 실행 >파일 이름을 ???.cns로 저장..
메모장으로 열어서. Server Port=설정된 포트로 변경 >>클라이언트 연결관리자 >>가져오기 >>위에서 수정한 파일 가져오기
*** 도메인(www.joymart.com)에서 이름을 따서 [계정],[가상 ftp 별칭],[웹 디렉토리 명],[database 명],[웹사이트 명]으로 사용하면 편리하다. **단, 계정과 가상 ftp명은 반드시 동일 해야 한다.
6. IIS 설정(www)
*모든 웹서버에 공통 적용되는 것들은 "웹서버"의 "등록정보" [마스터 속성]에서 지정하면 편리(WWW.FTP)
1. 불필요한 가상 디렉토리 삭제 (웹서비스에서 지운다.)
[!!! IISLockDown 설치시 적용되므로 생략가능 !!!]
1) iis예제 : 가상 디렉토리 -\iissample :위치 -c\inetpub\iissample
2) 데이터 액세스 : 가상 디렉토리-\msadc :위치 -c\program~\command
files\system\msadc 3) iis 설명서 : 가상 디렉토리 -\iishelp :위치 -c\winnt\help\iishelp(파일은 지우면 안됨.) **가상 디렉토리 지우기 : IISADMPWD - 암호 재설정 할수 있는것임..
2. 확장자별 권한 할당. (각 분류별 디렉토리 할당 권유) --->위의 ***NTFS 권한
설정****을 적용 권유.. CGI(exe,dll,cmd.pl) >> admin-system(모든권한) 스크립트 파일(asp) >> 위와 동일 include 파일 (inc,shtm,shtml) >> 위와 동일 정적 컨텐트(txt,html,그림파일) >> Everyone(R),Admin-system(모든권한)
>>static,include,script,executable,images 이런 식으로 폴더 생성 유도..
3. 정기적으로 불필요 파일 제거.(data폴더들만,**시스템 드라이브(C:)는 될수
있으면 건들지 말것.) >>log,tmp,bak등
4. 로그 파일. (변경시 바로 적용되므로 주의..)
>> 웹 사이트의 폴더가 있는 곳에 iislog폴더를 따로 만들어 사이트별 로그
기록요함. (날짜의 경우는 매일 로그파일을 만들경우는 생략가능) >www의 경우 :날짜, 시간, 클라이언트 ip,사용자 명,메서드, uri 스템(액세스한 리소스) :uri 쿼리, 프로토콜상태, win32상태, 사용자 에이젼트(클라이언트 프로그램)
>ftp의 경우
:날짜, 시간, 클라이언트 ip, 사용자 이름, 메서드, uri 스템,프로토콜
상태,win32상태
>smtp의 경우
:날짜, 시간, 클라이언트 ip,사용자 이름, 메서드, 프로토콜
상태,보낸바이트,받은바이트,걸린시간, win32상태
([Win32 Status 등록정보]는 디버깅 목적으로 사용할 때 유용하다. 로그를 판단할 때, error 5가 있다면 액세스 거부를 나타낸다. 다른 Win32 에러들은 명령 프롬프트에서 [[net helpmsg err]] 을 입력하여 무슨 뜻인지 확인할 수 있다.)
5. IIS 등록정보 환경설정
**********************************************************
[!!! IISLockDown 설치시 적용되므로 생략 !!!]
**********************************************************
1) 스크립트 매핑 제거(**사용하는지 안하는지 확인후 작업 실시)
>>인터넷 서비스 관리자>인터넷 정보 서비스>등록정보>마스터
속성>www서비스>편집>홈 디렉토리>구성 ex) 삭제 대상 (역할) .htr(웹기반 암호 재설정) -**중요:.htr 기능을 사용할 중요한 이유가 없다면 .htr extension을 반드시 제거해야한다. .idc(인터넷 데이터베이스 커넥터:all IIS 5 web sites should use ADO or similar technology) .stm, .shtm, .shtml(Server-side includes) .printer(인터넷 인쇄) .htw,.ida,.idq(인덱스 서버) >>>>필요한것들..asp,asa,cer,cdx등..
6. 상위 경로 사용 해제 (".."사용 해제) **보통 ".."를 사용 하는 경우가
많으므로 충분한 검토후 해제 바람. >>홈디렉토리>>구성>>상위 경로 사용
7. SyncAttack 에 유연한 레지스트리 설정 (p265참고)
7. IIS 설정(ftp)
**기본 ftp를 그대로 이용해서 모든 계정은 이 디렉토리를 거쳐서 자기 계정으로 갈수 있도록 한다. ** NTFS 권한 :\inetpub\ftproot(ntfs : everyone :읽기) - 가상디렉토리를 다른 곳에 생성할 경우 >>기본 ftp사이트 등록정보 1단계 : ftp 사이트 탭 -로깅사용 체크->등록정보 -로그 파일 디렉토리 : default 유지 -확장 속성 : 날짜, 시간, 클라이언트 ip, 사용자 이름, 메서드, uri 스템,프로토콜 상태,win32상태
2단계 : 보안계정 탭 :익명 연결허용 체크 해제
3단계 : 홈디렉토리 탭
-디렉토리 : (default 경로 유지 : \inetpub\ftproot)
: 읽기, 방문기록(방문기록은 체크 해제해도 된다.wsftp의 log가 샇이지
않는다.) : 쓰기는 체크 해제 -디렉토리 목록 : UNIX 용 체크(클라이언트에서 rwx보임) >> 가상디렉토리 생성 -별칭 : 호스팅 가입자 계정명과 동일해야한다. -디렉토리 : 호스팅 가입자의 웹사이트의 홈 디렉토리(ntfs 권한 : 호스팅 가입자-admin-system:all) -엑세스 권한 : 읽기,쓰기 (ftp 포트를 다른것으로 바꿔서 사용하는 것을 추천함..)
8. 이벤트 로그 크기 및 보유 방법
1. 로그 크기 권고 사항
로그 도메인 컨트롤러 파일/프린터/데이터베이스/웹 서버 RAS서버 워크스데이션 security 5-10M 2-4M 5-10M 1M system 1-2M 1-2M 1-2M 1M application 1-2M 1-2M 1-2M 1M
2. 로그 보유 권고 사항
로그 덮어쓰기 정책 설정 security 최소 21일 이후에 덮어쓰기 (2048KB) system 최소 15일 이후에 덮어쓰기 (1024KB) application 필요에 따라 덮어쓰기 (1024KB) DNS 다음보다 오래된 이벤트(7일) (512KB)
Table of contents 목차
- 보안설정 가이드 1
- 1. NTFS 계정
- 1. 모든 드라이버(C,D..)의 root : everyone 제거 ,administrators-system
- 2. inetpub \ ftproot -everyone 그룹 추가 (읽기 및 실행, 폴더
- 3. 웹사이트의 디렉토리
- 4. DB 저장 디렉토리
- 1. C:(레이블:system) /운영체제와 sql 서버만 깔려져 있음.
- 2. D:(레이블:Hosting) /웹 페이지 파일 및 www로그 파일 저장
- 3. E:(레이블:DataBase) /웹 서비스에 필요한 db 저장
- 1. www : 웹사이트 설명<onstory(onstory.fun)>
- 2. ftp : 기본 ftp 사이트 [익명연결 허용 안함] <쓰기
- 3. smtp : 등록정보 -> 엑세스 -> [연결] -> 아래목록만 체크, ip추가(현재 서버
- 2. 기초 설정
- 1. 탐색기 보기 편하도록
- 2. 익스플로러 설정
- 3. 화면보호기(암호 설정)/전원관리
- 4. CD-ROM 드라이브 경로 변경
- 5. 인터넷 익스플로러 에러 보고기능 제거
- 6. 불필요한 서브 시스템 제거
- 7. 불필요한 스케줄러 제거
- 8. 가상 메모리 최적화 -시스템-고급-성능옵션
- 9. 메모리 덤프의 최소화 -시스템-고급-시작및 복구
- 3. 기본 서버 보안
- 1. 모든 사용 파티션의 파일 시스템을 NTFS로 변경
- 2. 강력한 암호설정 : 영어, 숫자, 기호 조합
- 3. 계정관리
- 4.익명 엑세스로부터 레지스트리 보호 (regedt32)
- 5. 공유 관리
- 6. 강력한 보안 정책
- 4. 고급 서버 보안
- 5. 터미널 서비스 보안 설정
- 6. IIS 설정(www)
- 1. 불필요한 가상 디렉토리 삭제 (웹서비스에서 지운다.)
- 2. 확장자별 권한 할당. (각 분류별 디렉토리 할당 권유) --->위의 ***NTFS 권한
- 3. 정기적으로 불필요 파일 제거.(data폴더들만,**시스템 드라이브(C:)는 될수
- 4. 로그 파일. (변경시 바로 적용되므로 주의..)
- 5. IIS 등록정보 환경설정
- 6. 상위 경로 사용 해제 (".."사용 해제) **보통 ".."를 사용 하는 경우가
- 7. SyncAttack 에 유연한 레지스트리 설정 (p265참고)
- 7. IIS 설정(ftp)
- 8. 이벤트 로그 크기 및 보유 방법