○ Active Directory Monitoring
    왜 성능분석이 필요한가?
        문제 해결의 자료 제공
        AD관리자의 입장에서 Query의 응답속도가 느리다던지
        사용자 인증에 지연이 발생한 경우 Resource에 대한 병목현상등 판단
    DC Sizing
        New Server Deployment
        새로운 DC를 도입할 경우 보다 정확한 DC의 Sizing이 필요
    Server Consolidation
        기존의 서버 Role을 통합할 경우 필요한 원하는 Spec의 Response를 가져갈 수 있는지 판단
    Application 개발(개발자 입장)
        AD의 기능
            사용자 인증
            Directory Service 제공
            기업내의 Identity 정보 제공
            LDAP Query의 응답속도 튜닝

○ 성능분석 도구들
도구                                    데이터
Perfmon                              성능 카운터
Netmon                               네트워크 패킷
Windows Server 2003 Performance Advisor
                                         성능카운터 & Event Tracing(MS Windows에서 제공하는 Event Tracking Architecture, OS
                                         차원에서 제공, Kernel Level Function Level까지 제공)
                                         (Data 수집, 분석해서 Report를 제시함)
Event log                            이벤트(오류발생시 오류 표시)

○ Windows Server 2003 Performance Advisor(버전 2.0)
    Data 수집/성능분석/Report 기능 제공
        - Active Directory
        - Internet Information Server(IIS)
        - Print Server
        - DNS
        등..
    System Requirements
        - Windows Server 2003 Only
        - .Net 1.1 Framework
        - SQL Server 2000 또는 MSDE
           (반드시 필요하지는 않지만 Trending을 하고 싶다면 필요함, 성능추이)
    Download
        http://www.microsoft.com/downloads/details.aspx?FamilyID=09115420-8c9d-46b9-a9a5-9bffcd237da2&DisplayLang=en

○ Computer Role
    Data
        성능 데이터를 수집
        Report 나 Both Computer Role을 맡은 시스템에 수집한 데이터 전달
    Report
        데이터를 분석하여 리포트 생성
        Warning Rule에 따라 리포트에 상태 표시
        (경고 메시지 규칙)
    Both
        한 시스템에서 Data와 Report 역할을 동시에 수행
        데이터를 수집한 후 바로 리포트 생성, DC의 경우엔 Both로 설정하는 것을
        권장하지 않음(각 DC는 Data로 설정, Report Computer Role을 다른 시스템에 설정)
    Data와 Report 분리의 이유
        개별 DC에 Performance Advisor를 설치한다면 부하가 발생하므로
        Data로 Computer Role을 지정하고 부하가 덜 걸리는 2003 System에
        Report Computer Role을 설정하여 다른 시스템의 Data를 가져와
        관련 Report를 생성하는 역할을 분리

○ Data Collector
    성능 카운터
        일정간격(3초)마다 CPU, Disk, Memory와 같은 지정된 성능 카운터 데이터 수집
    레지스트리
        성능과 관련된 레지스트리 설정 값 수집
    Event Tracing for Windows
        User/Kernel mode provider가 제공하는 다음과 같은 데이터 수집
            State Changes
            Begin/End of significant operations
            Resource creation/deletion
            other events related to performance or reliability
            Debug Event

○ Data Collector Group
    SPA(Server Performance Advisor)에 의해 수집할 데이터와 리포트에 대해 정의한 Template
    SPA가 설치될 때 자동으로 서버에 맞는 Data Collector Group이 설정됨
    현재 9개의 Data Collector Group Template 제공
        - System Overview
            기본적 CPU, Memory, HDD, Network
        - Active Directory
        - ADAM
        - IIS
        - Print Spooler
        - Performance Counters
        - File
        - DNS
        - DNS Extended
           DNS Debugging 기능 제공

○ Warning Rules
    수집된 데이터들의 임계값 정의
    Report를 생성할 때 각 데이터별로 정의된 Warning Rule의 임계값 내에서 동작중인지 점검
    임계값을 넘으면 리포트에 관련 Advice 출력
    시스템 성능에 따라 임계값 수정 가능

    - System Health Index
        CPU
            0 < CPU활용률(%) <= 20 : Idle
          20 < CPU활용률(%) < 80 : Normal
          80 <= CPU활용률(%) : Busy
        Network
                Network활용률(%) <= 15 : Low Traffic
          15 < Network활용률(%) < 60 : Normal Traffic
          60 <= Network활용률(%) : High Traffic
        Memory
            0<Memory활용률(%) <=15 : Idle
          15 < Memory활용률(%) < 75 : Normal
          75 <= Memory 활용률(%) : High
        Disk I/O
          Disk I/O Rate <= 100 : Idle
          100 < Disk I/O Rate < 500 : Normal
          500 <= Disk I/O Rate : High

○ Warning Rule 변경
    Server Performance Advisior -> Edit -> Rule
        IDLE, Normal, Busy등의 값을 적절히 수정
   
○ 일반적인 AD 성능 이슈
    - 높은 CPU 사용률(LSASS 100%)
        현상
            DC의 CPU 사용률이 지속적으로 100% 유지
        일반적인 원인
            Filter 없는 전체 검색
            적절한 OU Baseline 지정 필요
            연속적인 인증 재시도
            Client로부터 인증 Request가 계속 날아오면
            인증실패의 빈도가 늘어나면서 CPU 사용률이 100%를 차지함
            대부분의 경우 인증 재시도 요구는 Application에서 오는 경우가
            많음(예: 비밀번호 변경된 경우)
    - Search Timeout
        LDAP Query의 Response가 지정된 시간에 응답이 없는 경우
        현상
            Directory 검색 응답 시간이 매우 늦거나 Timeout으로 인해 Application 실패
        일반적인 원인
            Filter 없는 전체 검색
            DC의 Resource 부족(CPU, 메모리, 디스크)
 
○ DS Search 성능 이슈
    Windows Server Performance Advisor 이용
        HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Diagnostics의 Field Engineering값을 5로 설정
        => AD에서 수행한 LDAP Query문이 Event Log에 남는다.
 
○ Active Directory Troubleshooting
    http://www.microsoft.com/technet/prodtechnol/windows2000serv/technologies/activedirectory/
           maintain/opsguide/part1/adogd07.mspx

신고
Posted by She쥐포s

○ Script를 이용한 Active Directory 관리
    Active Directory Object Binding, 생성, 수정, 삭제

○ Script를 사용하는 이유
    - 편리성
        계정 관리에 대한 일관성 유지
    - ADUC를 이용해 계정을 생성하기 위해서는
        사용자의 Type등, 설명등을 입력하여 생성
        관리자의 실수를 최소화
    - 대량 작업에 대한 일괄처리 지원
        Script와 Excel 연계 가능

○ ADSI(Active Directory Service Interfaces)
    AD를 액세스할 수 있도록 다양한 COM Interface(Provider) 제공
        Active Directory(LDAP Provider)
        Exchange Server(LDAP Provider)
        Local user and group accounts(WinNT Provider)
        Windows NT 4.0 domain accounts(WinNT Provider)
        Internet Information Server(IIS Provider)

○ ADSI Scripting 비교
    - Active Directory
        Set objUser=GetObject
            ("LDAP://cn=Gildon.Hong,ou=연구소,dc=nwtraders,dc=com")
        Wscript.Echo "First Name: " & objUser.GivenName
        Wscript.Echo "Last Name: " & objUser.sn

    - Internet Information Server
        Set objWebServer=GetObject("IIS://atl-ws-01/W3SVC")
        Wscript.Echo "Log Type: " & objWebServer.LogType
        Wscript.Echo "Server Comments: " & _objWebServer.ServerComment

○ ADSI Scripting Template
    Connect to an Object(=Binding)
    Perform Some Task
        - Object 생성
        - Object 수정
        - Object 삭제
    Save you Changes(SetInfo method 호출)

○ Active Directory Object Binding
    실생활에서 원하는 상대에게 전화 걸기
        Step1 : 상대방의 전화번호 획득
        Step2 : 전화걸기
    Object Binding 순서
        Step1 : Binding하고자 하는 Object의 ADsPath 획득(Provider이름+Distinguished Name)
        Step2 : Object에 Binding(GetObject)

○ Active Directory Naming
    도메인
        dc=nwtraders,dc=msft
    OU
        ou=연구소
    Object
        cn=Gildong.Hong
    Distinguished Name
        cn=Gildong.Hong,ou=연구소,dc=nwtraders,dc=msft
    Domain>OU>Object
        cn=xxx.xxx,ou=xx,dc=xxx,dc=xxx
    특정 개체를 지정하기 위한 체계가 있음

○ ADsPath(=Distinguished Name+Provider명)
    LDAP://(Distinguished Name)
        LDAP://cn=Gildong.Hong,ou=연구소,dc=nwtraders,dc=msft
    Parent ADsPath
        LDAP://ou=연구소,dc=nwtraders,dc=msft

○ Object Binding Script
    OU안에 특정 개체 Binding
        Set objUser=GetObject
            ("LDAP://cn=Gildong.Hong,ou=연구소,dc=nwtraders,dc=com")
    OU에 Binding
        Set objOU=GetObject("LDAP://ou=연구소,dc=nwtraders,dc=com")
    하위 OU에 Binding
        Set objOU=GetObject
            ("LDAP://ou=핵심기술연구팀,ou=연구소,dc=nwtraders,dc=com")

○ Active Directory Object 생성
    Identity Lifecycle
        - 임직원 입사 : 사용자 계정 생성
        - 조직/직급/직위/직책 생성 : 관련 그룹 계정 생성
    Script를 이용해서 성성하는 주 대상은 사용자 계정임
    생성순서
        - Step 1: Object를 생성하고자 하는 OU에 Binding
        - Step 2: Object 생성(그룹, 사용자 계정, 컴퓨터 계정이 될 수 있음)
        - Step 3: Object Attribute 설정(사용자 계정의 Attribute 설정)
        - Step 4: 설정 저장
    OU에 사용자 계정 생성
        Set objOU=GetObject("LDAP://ou=연구소,dc=nwtraders,dc=msft")
        Set objUser=objOU.Create("User","cn=Cheolwon.Choi")
        objUser.Put "sAMAccountName", "Cheolwon.Choi"
        objUser.Put "GivenName", "Cheolwon"
        objUser.Put "SN", "Choi"
        objUser.SetInfo

○ Excel을 이용한 사용자 계정 생성
    다수의 사용자 계정을 일괄 처리 가능
  
    사용자 계정 생성 순서
        Step 1 : Excel 인스턴스 생성 및 파일 열기
        Step 2 : Excel Data를 이용해 사용자 계정 생성
        Step 3 : Quit를 이용해서 Excel 인스턴스 종료

    Excel을 이용한 사용자 계정 생성 Script
        Set objExcel=CreateObject("Excel.Application")
        Set objWorkbook=objExcel.Workbooks.Open("C:\Temp\HR.xls")
        intRow = 2
        Do Until ObjExcel.Cells(intRow,1).Value=""
            strCN=objExcel.Cells(intRow,2).Value & "." &
            objExcel.Cells(intRow,1).Value
            Set objOU = GetObject("LDAP://ou=" &
            objExcel.Cells(intRow,3).Value & ",dc=nwtraders,dc=msft")
            Set objUser = objOU.Create("User", "cn=" & strCN)
            objUser.Put "sAMAccountName", strCN
            objUser.Put "GivenName", objExcel.Cells(intRow,2).Value
            objUser.Put "SN", objExcel.Cells(intRow,1).Value
            objUser.SetInfo
            intRow=intRow+1
        Loop
        objExcel.Quit

○ Active Directory Object 수정
    Identity Lifecycle
        - 전보 : 사용자 계정이 속한 조직 그룹 변경
        - 승진 발령 : 관련 직책/직급/직위 그룹 변경
        - 휴가/정직 : 사용자 계정 Disable
        - 복귀 : 사용자 계정 Enable
    수정 순서
        - Step 1: 수정하고자 하는 Object에 Binding
        - Step 2: Object Attribute 설정
        - Step 3: 설정 저장
    사용자 계정 상태 변경 Script
        Set objUser=GetObject("LDAP://cn=Gildong.Hong,ou=연구소,dc=nwtraders,dc=msft")
        objUser.AccountDisabled=TRUE(복귀시 FALSE)
        objUser.SetInfo(Commit Transaction과 같은 개념)

○ Active Directory Object 삭제
    Identiry Lifecycle
        - 퇴사 : 사용자 계정 삭제
        - 조직 통폐합 및 폐쇄 : 조직 그룹 삭제
    삭제 순서
        - Step 1 : 삭제할 Object를 포함하고 있는 OU에 Binding
        - Step 2 : 다음 두 매개변수를 이용해서 Delete Method 호출
    삭제할 개체 종류
    삭제할 개체 CN
    사용자 계정 삭제 Script
        Set objOU = GetObject("LDAP://ou=연구소,dc=nwtraders,dc=msft")
        objOU.Delete "User", "cn=Cheolwon.Choi"

○ 참고자료
    Microsoft Technet Script Center
        http://www.microsoft.com/technet/scriptcenter/default.mspx
    Active Directory Administration WebCast Series
        http://www.microsoft.com/events/series/adaug.mspx

신고
Posted by She쥐포s

이 시리즈는 2005년 MS TechNet AD 관리 시리즈를 보며 내용을 정리한 것이다.

○ Domain Controller 구축환경
    Data Center
        - 신뢰할 수 있는 작업자만이 접근할 수 있도록 통제 가능한 Datacenter와
           같은 장소에서 DC 구축 작업을 수행할 것을 권장
        - Datacenter에서 DC를 구축 후, 최종 운영장소(Branch Office)로 이동시킬 것
        - 작업자의 실수를 방지하기 위해 운영체제 설치 및 AD 설치를 자동화할 것 권장
    
    Branch Office
  
○ Windows Server 2003 설치 및 보안설정
    운영체제 설치시의 보안 설정
        - Windows Server 2003 설치 후, 최신 Service Pack 및 Hotfix 설치
            ㅡ 가장 기본
            ㅡ 모든 DC에 대한 동일한 구성을 위해 자동화 방식으로 OS 설치권장
            ㅡ 모든 파티션은 NTFS로 포맷
            ㅡ TCP/IP 프로토콜만 설치
            ㅡ Site간 복제를 위해 SMTP 프로토콜을 쓸 경우가 아니면 SMTP 설치 금지
            ㅡ IIS 설치 금지
            ㅡ OS 설치시 DNS도 설치
        - 강력한 Administrator 암호 설정
            ㅡ Local Administrator 암호 설정
            ㅡ Local Administrator 계정이 DC로 Promotion후 Domain Administrator
                 계정이 되므로 운영체제 설치시에 Local Administrator 계정의 암호로 다음과 같은
                 강력한 암호를 설정할 것을 권장함
                1) 최소 9자 이상
                2) 계정이름, 관리자이름, 회사이름을 포함시키지 말 것
                3) 이전 암호와 유사한 체계를 사용하지 말 것
                4) 처음 7자 안에 하나 이상의 특수 문자를 포함할 것
                5) 대문자, 소문자, 숫자, 특수문자를 모두 포함할 것

        - NTFS 자동 8.3 파일 이름 생성 기능 정지
            ㅡ 바이러스나 공격자에 의해 사용되는 프로그램들은  주로 16bit
                응용프로그램으로 NTFS 파티션의 8.3 파일이름을 사용함
            ㅡ DC에서 16bit 응용프로그램을 실행할 경우는 없기 때문에
                NTFS 자동 8.3 파일이름 생성기능을 정지하여 보안 강화
            ㅡ 설정방법 :    
                Registry
                   HKLM\System\CurrentControlSet\Control\FileSystem
                이름
                   ntfsDisable8dot3NameCreation
                Data Type
                   REG_DWORD
                값
                   0x01
            ㅡ NTFS에서 Long file name 사용가능
            ㅡ 16bit Application을 위해 8.3 file이름 자동 생성기능 정지
                바이러스, hacking 프로그램이 동작하지 않도록 설정 권장

    - Virus-Scanning 소프트웨어 설치
            ㅡ OS 설치후 DC로 Promotion하기 전에 Virus-Scanning SW를 설치하고
                동작하도록 구성
    - 불필요 서비스를 사용 안 함으로 설정
                DC 전용 시스템의 경우 꼭 필요한 Service만 사용할 것 권장
           ㅡ Application Management
               프로그램 추가 제거를 통한 Application 설치 관련 서비스
               임의적 SW 설치 제어
           ㅡ Automatic Updates
           ㅡ Background Intelligent Transfer Service
               자동 업데이트관련(패치) 서비스
               검증된 HotFix만 수작업으로 선택적 설치권장
           ㅡ Computer Browser
               브라우징 서비스, DC가 마스터 브라우저로 동작하여 불필요한 부하 발생시킴, 방지
           ㅡ Distributed Link Tracking Client
               NTFS File Link 관리
           ㅡ Error Reporting Service
               프로그램의 오류시 관련 정보를 MS에 전송
           ㅡ Portable Media Serial Number Service
               Portable Media Player의 Serial Number 검색, 사용할 일이 거의 없음
           ㅡ Print Spooler
               서버를 Printer 서버로 사용할 경우 사용
           ㅡ Remote Access Auto Connection Manager
           ㅡ Remote Access Connection Manager
               RAS와 관련 VPN, 전화접속을 이용하지 않으면 사용안함
          ㅡ Shell Hardware Detection
               Autoplay HW 인식
          ㅡ Special Administrator Console Helper
               명령 프롬프트를 원격에서 접속해서 사용하도록 하는 서비스
          ㅡ Telephony
               Telephony API를 서버에서 사용할 일이 없음
          ㅡ Uninterruptible Power Supply 
               UPS를 사용하지 않는다면 Serial Communication을 사용할 일이 없음
          ㅡ Wireless Configuration
               무선 설정관련된 서비스

○ Active Directory 설치 및  보안 설정
            AD 설치 시 고려할 보안 설정
    - Active Directory 자동 설치
        관리자의 실수를 최소화하기 위해 Unattended 설치 권장
        모든 DC가 동일한 구성을 유지하도록 하기 위해 AD 자동 설치를 권장
    - DCPromo /Answer:[Answer File Path]
    - Active Directory Database, Log, SYSVOL은 모두 System 파티션이 아닌 다른
       물리적 디스크에 저장할 것을 권장
    - Default로 Windows Server 2003 AD에서는 "Windows 2000 또는 Windows Server 2003
       운영체제와만 호환되는 사용 권한" 옵션이 선택되어 인증 받은 사용자만이
       도메인의 정보를 액세스할 수 있음
       Anonymous 사용자가 도메인의 정보를 액세스할 수 없도록 한다.
    - Virus-Scanning SW 설정
        OS 설치후 Virus-Scanning SW 설치
        AD 설치후 AD 관련 데이터베이스 파일과 SYSVOL Folder는 Scanning 금지
        ㅡ NTDS.dit
        ㅡ Edb*.log, Res1.log, Res2.log
        ㅡ Temp.edb, Edb.chk
       이상은 AD DB와 Transaction log file
        ㅡ SYSVOL 하부 폴더와 파일
       그룹정책에 관련된 정보를 저장
       DC가 운영중에는 항상 오픈되어 있음
       일부 백신 프로그램은 파일을 스캔 후 임의 정보를 주입하는 경우도 있어
       파일이 깨진 것으로 인식하는 경우가 있음
    - Virus-Scanning에서 제외되는 파일들은 모두 데이터 파일들이기 때문에 바이러스에
      대한 취약점이 발생하는 것은 아님
    - 그룹 보안 설정
       DC의 보안강화를 위해 도메인 정책의 계정잠금 정책 설정
        ㅡ 계정 잠금 기간 : 0(관리자가 수작업으로 수정하기 전엔 사용할 수 없음)
        ㅡ 계정 잠금 임계값 : 20(연속 20번 틀리면 계정 잠금)(적절한 횟수 지정)
        ㅡ 다음 시간 후 계정 잠금 수를 원래대로 설정 : 30(분)
      도메인컨트롤러 사용자 권한 할당 정책
        ㅡ 로컬로그온 허용
            Administrators
            Backup Operators
            Server Operators
            다음의 그룹 제거
            Account Operators
            Print Operators
        ㅡ 시스템 종료
            Administrators
            Backup Operators
            Server Operators
            다음의 그룹 제거
            Print Operators
    도메인 컨트롤러 보안 옵션 정책
           감사: 글로벌 시스템 개체에 대한 액세스 감사  : 사용안함
           감사: 백업 및 복원 권한 사용을 감사   : 사용안함
                불필요한 보안 로그를 방지
           감사: 보안 감사를 로그할 수 없는 경우 즉시 시스템 종료  : 사용안함
                보안로그가 Full인 경우 시스템 종료하게 됨
           장치: 로그온 할 필요없이 도킹 해제 허용   : 사용안함  
           장치: 로컬로 로그온 한 사용자만이 플로피 드라이브에 액세스 : 사용
           장치: 로컬로 로그온 한 사용자만이 CD-ROM에 액세스 가능 : 사용
                로컬 로그온을 해야만 장치 사용
           장치: 사용자가 프린터 드라이버를 설치할 수 없게 함 : 사용
           장치: 서명되지 않은 드라이버 설치 동작  : 설치 허용 안함
           장치: 이동식 미디어 포맷 및 꺼내기 허용  : Administrators
           도메인 컨트롤러: 컴퓨터 계정 암호 변경 거부 : 사용안함
           도메인 컨트롤러: Server Operator가 작업을 스케줄하도록 허용 : 사용안함
                Administrators 그룹만 허용
           도메인 구성원: 보안 채널 데이터를 디지털 암호화 또는 서명(항상) : 사용
           도메인 구성원: 컴퓨터 계정 암호 변경 사용 안함 : 사용안함
           도메인 구성원: 컴퓨터 계정 암호 최대 사용 기간 : 30일
                보안 강화 구성
           도메인 구성원: 고급 세션 키 요청(Windows 2000 또는 그 이상) : 사용
           대화형 로그온: 마지막 사용자 이름 표시 안함 : 사용
           대화형 로그온: [CTRL+ALT+DEL]을 사용할 필요없음 : 사용 안 함
           대화형 로그온: 캐시할 로그온의 회수(도메인 컨트롤러가 사용 불가능할 경우) : 0일
                도메인 컨트롤러가 사용 불가능할 경우 캐시된 로그온의 사용 안함
           대화형 로그온: 암호 만료전에 사용자에게 암호를 변경하도록 프롬프트 : 14일
           대화형 로그온: 워크스테이션 잠금 해제를 위해 도메인 컨트롤러 인증 필요 : 사용
           Microsoft 네트워크 클라이언트: 타사 SMB 서버에 암호화되지 않은 암호를 보냄: 사용안함
           Microsoft 네트워크 서버: 로그온 시간이 만료되면 클라이언트 연결 끊기 : 사용
           Microsoft 네트워크 서버: 세션 연결을 중단하기 전에 필요한 유휴 시간 : 15분
           네트워크 액세스: 네트워크 인증에 대한 자격 증명의 저장소나 .NET Passport 허용 안함 : 사용
           네트워크 액세스: 명명된 파이프와 공유에 대한 익명 액세스 제한 : 사용
           복구 콘솔: 모든 드라이브 및 폴더에 플로피 복사 및 액세스 허용 : 사용안함
           복구 콘솔: 자동 관리 로그온 허용 : 사용안함
           시스템 종료: 로그온 하지 않고 시스템 종료 허용 : 사용안함
           시스템 종료: 가상 메모리 페이지 파일 지움 : 사용
           시스템 개체: 내부 시스템 개체(예: 심볼 링크)에 대한 기본 사용 권한을 강화 : 사용

○ 물리적 보안 유지
    - 물리적 접근 제한
        신뢰할 수 있는 운영자만이 접근 가능한 Room에서 DC 운영
        물리적 잠금 장치 사용
        DC를 관리하기 위한 절차 수립
    - 다른 운영체제로의 부팅 제한
        플로피 디스크 드라이브 제거
        CD-ROM 또는 DVD 드라이브 제거
        Boot.INI의 [Timeout] 값을 0으로 설정
           다른 운영체제로의 부팅의 여지를 없앰

○ 참고자료
    - Microsoft TechNet Active Directory Operation
        http://www.microsoft.com/technet/prodtechnol/windowsserver2003/library/Operations/933b109f-42c5-4f85-9462-50b23b30e326.mspx
    - Active Directory Administration Webcast Series
        http://www.microsoft.com/events/series/adaug.mspx 

신고
Posted by She쥐포s


티스토리 툴바