목차
Windows 2003 보안가이드라인
1. 계정 관리
로컬 계정 사용 설정(중요도 : 상)
로컬계정의 Administrator, GUEST 계정 관리 및 사용하는 계정 점검
기준
※가, 나, 다 항목 모두 적용 해야 함
가. Administrators그룹에 관리자 계정인 Administrator 계정 변경
나. GUEST 계정 비활성화
다. 사용하는 계정에 대해 “전체이름”또는 “설명” 부분 내용 기입
설정방법
1. Administrators그룹에 관리자 계정인 Administrator 계정 변경
시작>설정>제어판>관리도구>컴퓨터관리>로컬사용자 및 그룹>그룹 Administrators그룹을 선택하여 구성원 중 불필요한 관리자 계정 제거
Administrator 변경시 보안옵션을 이용하여 변경
시작>설정>제어판>관리도구>로컬 보안 정책>로컬 정책>보안 옵션>' 계정 : Administrator 계정이름 바꾸기'를 더블 클릭 → Administraotr 계정 변경
2. GUEST 계정 비활성화
시작>설정>제어판>관리도구>컴퓨터관리>로컬사용자 및 그룹>사용자를 선택하여 Guest 계정의 속성에서 Guest 계정에 대한 사용 제한 설정
3. 사용하는 계정에 대해 “전체이름 또는 “설명” 부분 내용 기입
시작>설정>제어판>관리도구>컴퓨터관리>로컬사용자 및 그룹>사용자를 선택하여 더 이상 사용되지 않는 계정을 제거
※ 계정 삭제를 Command Line 에서 할 경우
- net user 명령을 이용하여 현재 사용자 파악
- net user “제거할 계정명” /delete를 입력하여 삭제
상세설명
- Administrators그룹에 관리자 계정인 Administrator 계정 변경
일반적으로 관리자를 위한 계정과 일반 사용자들을 위한 계정을 분리하여 사용하는 것이 바람직하며 만일 시스템 관리자라면 두 개의 계정을 가지는 것이 좋습니다. 하나는 관리업무를 위한 것이고, 다른 하나는 일반적인 일을 하기 위한 것입니다. 예를 들어 일반사용자 권한으로부터 활성화된 바이러스에 비해 관리자 권한을 가진 계정으로부터 활성화된 바이러스라면 시스템에 훨씬 많은 피해를 줄 수 있습니다.
또한 관리자 계정으로 설정되어 있는 “Administrator” 계정을 다른 이름으로 바꾸고 “Administrator”라는 가짜 계정을 만들어 아무런 권한도 주지 않는 방법을 사용할 수 있는데, 이러한 방법은 “모호함을 통한 보안(Security through obscurity)“의 한 예입니다. 즉 Bogus 계정을 만드는 것입니다.
Administrator 계정은 로그온 시 몇 번이고 실패해도 절대 접속을 차단하지 않기 때문에 시스템을 공격하려는 사람들은 이 계정의 패스워드 유추를 계속 시도할 수 있습니다. 따라서 관리자 계정의 이름을 바꿈으로써 공격자는 패스워드뿐만 아니라 계정이름도 유추 하여야 하는 어려움을 줄 수 있습니다.
또 하나의 방법은 보안정책 설정에서 로그온 실패 횟수에 따른 계정 잠금을 설정함으로써 brute force 공격이나 사전공격에 대응할 수 있습니다.
Administrator 계정을 관리자 계정이 아닌 일반 계정으로 사용하거나 Administrator 가 아닌 다른 이름의 관리자 계정을 생성해 사용하도록 해야 하며, Administrator 권한을 가지는 유저는 최소한의 숫자로 제한 되어야 합니다. 또한, Password는 최소 8자리 이상으로 숫자와 영어, 특수문자를 혼합하여 사용합니다. - GUEST 계정 비활성화
대부분의 시스템은 Guest 계정의 사용을 필요치 않으며 앞으로도 계속 Guest 계정의 사용을 제한해야 하며, 불특정 다수의 접근이 필요할 경우 Guest 가 아닌 일반 사용자 계정을 생성해 사용 하도록 해야 합니다. - 사용하는 계정에 대해 “전체이름” 또는 “설명” 부분 내용 기입
퇴직, 전직, 휴직 등의 이유로 더 이상 사용하지 않는 계정, 불필요한 계정, 의심스러운 계정이 있는지 점검 합니다. - 아래 계정에 대해서는 기본적으로 사용되는 계정으로써 설명이 불충분해도 무방합니다.
whoau | 컴퓨터/도메인을 관리하도록 기본 제공된 계정 |
secuaudit | 보안진단 임시계정 |
bemsadmin | BizEMS 관리자 계정 |
bewsadmin | NT 통합 백업계정 |
ctsa | CONTROL-SA 계정 |
opsadmin | operator 계정 |
Ecmadmin | ECM 관리자 계정 |
Exrunmanager | Exchange 서비스 계정 |
Mcmservice | 전화연동을 위한 서비스 계정 |
Tbmsadmin | tbms 관리자 계정 |
계정 잠금 정책 설정(중요도 : 상)
시스템 보안을 위한 계정잠금 설정
기준
가. 계정 잠금 기간 60분 이상, 계정 잠금 임계값 5번 이하, 계정 잠금 기간 원래대로 설정 60분 이상
※ AMS(접근제어관리시스템)에 연동되어 있을 경우(레드아울, Control-SA 등) Active Directory 로 로그인한 경우 예외처리
설정방법
시작>설정>제어판>관리도구>로컬 보안 설정>계정정책>계정 잠금 정책>
“계정 잠금 기간” / “다음 시간 후 계정 잠금 수를 원래대로 설정” 을 60 분으로 설정
계정 잠금 임계 값을 5로 설정
※ AMS 확인방법 예시(레드아울)
컴퓨터 관리>서비스>secure_os_cmmd 서비스 [시작됨]
상세설명
시스템 보안향상을 위해 보안정책 설정에서 로그온 실패 횟수와 시간에 따른 계정 잠금 기간 및 계정 잠금 복귀 시간을 설정함으로써 brute force 공격이나 패스워드 크랙 공격에 대응할 수 있도록 잠금 정책을 점검 합니다.
계정 잠금 기간 60분으로 설정 : 만일 사용자가 로그인을 시도할 때 정해진 횟수 이상 로그온에 실패하면 시스템은 자동적으로 해당 계정을 60분 동안 잠기게 됩니다.
다음 시간 후 계정 잠금 수를 원래대로 설정 60분으로 설정 : 잠겨진 계정으로 다시 로그인을 시도할 수 있는 시간간격은 60분 입니다.
5번 잘못된 로그온 시도 후 계정 잠금 : 로그인 시도 횟수를 5번으로 설정하며, 5번 이상 로그인에 실패 하였을 경우 계정 잠금 시간만큼 계정은 잠기게 됩니다.
암호 정책 설정(중요도 : 상)
패스워드 추측 공격을 방지하기 위한 사용자 패스워드 정책 설정
기준
가. 암호정책 설정
- 암호는 복잡성을 만족해야 함 → “사용”
- 최근 암호 기억 → “12”
- 최대 암호 사용 기간 → “60일(이하)”
- 최소 암호 길이 → “8문자(이상)”
- 최소 암호 사용 시간 → “1일(이상)”
- 해독 가능한 암호화를 사용하여 암호 저장 → “사용안함”
나. 패스워드 설정
- 문자/숫자/특수문자 2종류 이상의 조합으로 8자 이상
※ AMS(접근제어관리시스템)에 연동되어 있을 경우(레드아울, Control-SA 등) Active Directory 로 로그인한 경우 예외처리
설정방법
1. 암호정책 설정 방법
로컬 보안 설정>계정정책>암호 정책 선택 후 설정
※ AMS 확인방법 예시(레드아울)
컴퓨터 관리>서비스>secure_os_cmmd 서비스 [시작]
2. 패스워드 설정 기준
- 패스워드는 아래의 4가지 문자 종류 중 2종류 이상을 조합하여 최소 10자리 이상 또는 3종류 이상을 조합하여 최소 8자리 이상의 길이로 구성
- 영문 대문자 (26개), 영문 소문자 (26개), 숫자 (10개), 특수문자 (32개)
- 패스워드는 비인가자에 의한 추측이 어렵도록 다음의 사항을 반영하여 설계
- Null 패스워드 사용 금지
- 문자 또는 숫자만으로 구성 금지
- 사용자 ID와 동일하거나 유사하지 않은 패스워드 금지
- 연속적인 문자/숫자(예. 1111, 1234, abcd) 사용 금지
- 주기성 패스워드 재사용 금지
- 전화번호, 생일같이 추측하기 쉬운 개인정보 패스워드로 사용 금지
- SAM 파일에 암호를 저장하기 위해 사용되는 LANMan 알고리즘은 8자 단위로 글자를 나누어 암호화하기 때문에 8의 배수가 되는 암호사용을 권장 (8자의 암호사용 권장)
- 아래와 같은 암호는 설정 지양
- Null, 계정과 동일하거나 유사한 스트링, 지역명, 부서명, 담당자성명, 대표업무명
- “root”, “rootroot”, “root123”, “123root”, “admin”, “admin123”, “123admin”, “osadmin”, “adminos”
상세설명
패스워드 추측공격을 피하기 위하여 패스워드 최소길이를 설정하고, 패스워드가 임의의 경로를 통해 유출되었을 때, 임의로 접속한 사용자가 언제든 다시 접속할 수 있는 환경을 방지하기 위해 패스워드 날짜 제한을 점검합니다.
더욱 보안을 강화하기 위하여, 각 사용자의 로그온 시간 및 로그온 가능 워크스테이션 정의, 계정 사용기간 정의, RAS(Remote Access Service) 기능 사용시 Call-back 기능 등 대단히 다양한 보안기능을 설정할 수 있으며 사용자 권한 정책의 변화는 사용자가 다음에 로그온 할 때 적용됩니다.
2. 파일 시스템
CMD.EXE 파일 권한 설정(중요도 : 중)
IIs 사용시 CMD.EXE 보안 취약점 방지 설정
기준
가. IIS 서비스가 실행 중이 아니거나, administrators 와 system 그룹만 실행 권한 설정
설정방법
- 탐색기 → C:\WINDOWS\system32\cmd.exe 파일선택>속성>보안 → administrators 와 system 이외의 그룹은 제거 권고 ( [보안탭] 이 보이지 않는 경우 폴더 옵션 보기 > 고급설정 에서 “모든 사용자에게 동일한 폴더 공유 권한을 지정(권장)” 을 해지 후 설정)
상세설명
IIS는 batch파일을 Interpret하기 위해서 자동적으로 cmd를 실행하는데 여기서 요청된 파일의 다른 부분을 이용해 공격자는 '&' 와 같은 Character를 삽입함으로써 원하는 명령을 실행 가능합니다.
사용자 홈 디렉터리 접근 제한(중요도 : 중)
임의의 사용자 다른 사용자 계정 별 홈 디렉터리 접근제한 설정
기준
가. 홈 디렉터리 권한 중 Users:F 또는 Everyone:F 설정 금지
설정방법
사용자 홈 디렉터리 권한 설정
- 디렉터리 위치
- Windows 2003 : C:\Documents and Settings\사용자계정
- 해당 사용자에 대한 권한외 일반 계정 삭제
- 상세설명
사용자 계정 별 홈 디렉터리의 권한이 제한되어 있지 않을 경우 임의의 사용자가 파일 및 디렉터리에 접근이 가능하므로 해당 사용자만의 접근 권한을 설정해야 합니다.
공유 폴더 설정(중요도 : 상)
침해사고 예방을 위한 시스템 기본 공유폴더 제거 및 공유폴더 권한 설정
기준
가. C$, D$, Admin$ 등의 기본 공유폴더 제거
나. 해당 레지스트리의 AutoShareServer 값 0 으로 설정
다. 공유 폴더 사용 시 공유 폴더 접근 권한의 Everyone 제거
설정방법
<시스템 공유 폴더 제거>
※ 공유제거 방법 1, 또는 2를 통해 공유 제거 후에 레지스트리를 설정
[ 공유제거 방법 1 ]
- 컴퓨터 관리 > 공유폴더 > 공유 → 해당공유폴더 확인 > 마우스 우클릭 > 공유중지
- 마우스 오른쪽 버튼 클릭 후 공유 중지 클릭
[ 공유제거 방법 2 ]
- CMD창에서 net share 명령어를 이용하여 공유 디렉터리를 확인
- net share 공유명 /delete 명령을 통해 공유 제거
[ 레지스트리 값 입력 방법 ]
1. 시스템 재부팅 후 디폴트 폴더 자동 공유 방지법
- regedit.exe를 실행
- 레지스트리를 수정
- HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters
- 설정 값 입력
- Value name : AutoShareServer
- Data Type : DWORD값
- Value : 0(zero)
아래 그림과 같이 AutoShareServer(또는 AutoShareWks)를 추가하고 값을 '0'으로 입력(default 값:0)
또한, 방화벽과 라우터에서 135,139(TCP/UDP)포트를 차단하여 외부로부터의 위험을 제거함으로써 보안성을 높일 수 있음.
<공유 폴더 사용 시 권한 설정>
공유디렉터리 → 속성 → 공유 탭 선택 → 사용 권한 에서 Everyone 으로 된 공유를 제거하고 접근이 필요한 계정의 적절한 권한을 추가
상세설명
시스템의 기본공유 항목이 제거되지 않게 되면 모든 시스템 자원에 접근할 수 있는 위험한 상황이 발생할 수 있습니다. 최근에 발생한 Nimda 바이러스도 여러 가지 방법 중에서 이러한 공유기능을 침투의 한 경로로 이용한 것입니다.
불필요한 디렉터리 공유를 제거하며, 불필요한 공유라고 판단되면 공유를 해제하는 것이 필요합니다. 또한 공유를 해제한 후에 레지스트리 AutoShareServer값 설정을 통해 재부팅 시 자동 공유 설정을 방지합니다. (하드디스크 디폴트 공유 폴더 예: C$, D$, Admin$ 등)
또한 디폴트 공유인 C$, D$, Admin$, IPC$ 등을 제외한 공유폴더를 everyone 그룹으로 공유가 금지되었는지 여부를 점검합니다. EveryOne이 공유계정에 포함 되어 있을 경우 익명 사용자의 접근이 가능하므로 접근을 확인하여 제어 하게 되면 익명사용자에 의한 접근을 차단 할 수 있습니다.
SAM(Security Account Manager)파일 권한 설정(중요도 : 상)
사용자와 그룹계정을 다루고 LSA 인증을 제공하는 SAM 파일 접근 제한 설정
기준
가. SAM 파일 접근권한이 Administrators, System 그룹만 모든 권한 설정
설정방법
시스템 운용자 외에 C:\WINDOWS\System32\config\SAM 접근 권한이 있는지 점검
- [Windows]\WINDOWS\System32\config\SAM파일>속성보안>Administrators, System 그룹만 모든 권한으로 등록되어 있는지 확인
- 액티브 디렉터리가 설치된 경우 SAM 위치 : C:\(D:\)WINDOWS/ntds/ntds.dit
상세설명
Security Account Manager (SAM) 파일은 사용자와 그룹 계정들을 다루고, LSA를 위한 인증을 제공합니다. 패스워드 공격 시도에 의한 Password Database 노출될 수 있으므로 Administrator 및 System 그룹외에는 SAM 파일에 대한 접근이 제한 되어야 합니다.
3. 네트워크 서비스
불필요한 서비스 제거(중요도 : 중)
보안상 취약한 불필요한 서비스 제거
기준
가. 불필요한 서비스 제거
- Alerter 사용 안 함
- Clipbook 사용 안 함
- Messenger 사용 안 함
- Simple TCP/IP Services 사용 안 함(default 미설치)
설정방법
Windows Server 2003은 시작>설정>제어판>관리도구>서비스를 선택하여 속성에서 불필요한 서비스를 중지하고, “시작유형”을 “사용 안 함”으로 수정
각 서비스 마다 옵션을 설정할 수 있으며 해당 서비스를 선택하고 더블 클릭하게 되면 시작 유형을 선택할 수 있으며 시작 시 로그온 계정을 별도로 설정할 수 있음. 만약, 시스템 시작 시 자동으로 시작되게 하려면 [자동], 수동으로 서비스를 시작하려면 [수동], 서비스 자체를 사용하지 않으려면 [사용 안 함]을 선택한 후 [확인]을 클릭
상세설명
일반적으로 시스템에는 필요하지 않은 서비스들이 디폴트로 설치되어 실행되고 있습니다. 이러한 서비스들은 해커가 침입할 수 있는 취약점을 드러내게 되는 원인이 될 수 있으며 또한 시스템 자원을 낭비하게 되므로 필요하지 않은 서비스를 중지시켜야 합니다.
특별한 목적을 위해 사용하는 서비스가 아니라면 시스템의 업무에 부합되는 서비스가 아닌 기타 디폴트 서비스를 사용하지 않는 것이 좋으며 시스템 관리자는 대상 시스템의 용도를 정확히 파악해 불필요한 서비스 제거합니다.
서비스 시작 유형 | 설 명 |
---|---|
사용 안 함 | 설치되 있으나 실행되지 않음 |
수동 | 다른 서비스나 응용 프로그램에서 당 기능을 필요로 할 때만 시작됨 |
자동 | 부팅 시에 해당 장치 드라이버가 로드 된 후에 운영 체제에 의해 시작됨 |
터미널 서비스 암호화 수준 설정(중요도 : 중)
시스템 보안 향상을 위한 터미널 서비스 중지 및 설정
기준
가. 터미널 서비스를 사용 중지,
나. 터미널 서비스 사용 시 암호화 수준을 “클라이언트 호환 가능” 이상으로 설정
설정방법
터미널 서비스가 필요한 경우
- 관리자 이외의 일반 사용자의 터미널 서비스 접속을 허용하지 않음
- 방화벽에서 터미널 서비스 포트(3389)의 사용을 관리자 컴퓨터의 IP로 제한
- 다수의 계정이 필요한 경우 엄격한 ACL(Access Control List)을 적용
- 계정관리 부분을 참고하여 엄격한 계정관리 적용
- 암호화 수준을 중간 이상으로 설정
상세설명
터미널 서비스는 원격지에 있는 서버를 관리하기 위한 유용한 도구이나 취약한 패스워드를 사용하거나 접근제어가 적절치 못할 경우 해킹의 도구로 악용될 수 있으므로 불필요하게 터미널 서비스가 사용되고 있는지 점검합니다.
방화벽 정책 적용(중요도 : 상)
외부 공격 차단을 위한 방화벽 정책 적용
기준
가. 서비스 오픈 전 방화벽 deny 정책 적용
※ 단, Any Open은 보안 취약점 조치완료 후 오픈 가능
설정방법
가. 서비스 오픈 전 ISS-D를 통해 보안진단 신청 완료
상세설명
신규 서비스 오픈 시 보안진단 신청을 완료해야 방화벽 오픈이 가능하며 Any Open(사내 망 Any Open 합니다. 대외 망 다수의 IP 오픈 포함)은 보안진단 후 취약점 조치가 완료 되야 방화벽 오픈이 가능합니다.
4. 주요 응용 설정
Telnet 서비스 보안 설정(중요도 : 중)
Telnet 서비스 사용시 보안을 위한 인증방법 점검
기준
가. Telnet 서비스가 중지 되거나 인증방법을 NTLM 설정
설정방법
SSH, IPsec 등을 이용한 암호화 통신을 권장
Telnet 서비스에 대한 설정은 설정>제어판>관리도구>텔넷서버 설정을 통하여 할 수 있음
상세설명
Windows 2003에서는 기본적으로 Telnet 서비스에 대하여 NTLM 인증을 사용합니다. 이는 별도의 계정, 비밀번호의 입력 없이 클라이언트 컴퓨터의 로그인 계정 및 패스워드를 이용하여 Telnet 서버와 인증을 하는 것으로서 Windows 계열의 클라이언트만 사용할 수 있는 인증입니다. NTLM 을 사용하지 않고 ID/PASSWORD를 직접 입력하여 인증(NTLM값이 0일 경우)할 수도 있는데 이는 클라이언트가 유닉스 계열 또는 NTLM 인증을 사용할 수 없을 때에 이러한 인증 방법을 사용할 수 있습니다.
Telnet 서비스의 필요성에 의하여 사용하게 된다면 접속 환경에 따라 인증방법을 정해주어야 합니다. 다만 NTLM 인증이 클라이언트 O/S 에 제약이 있고 별도의 키보드 입력이 없으므로 다소 보안적인 서버 운용을 할 수 있다는 점이 있으나 로컬 컴퓨터를 외부 공격자가 장악하게 된다면 이는 텔넷 서버로의 접속에 아무런 제약을 받지 않고 로그인 할 수 있으므로 주의합니다.
또한, 엄격한 계정정책을 사용하지 않으면 외부의 비인가자에 의한 침해의 통로가 될 수 있으며 Telnet을 이용한 통신은 암호화 되지 않은 평문으로 전송되므로 간단한 Sniffer 에 의해서도 정보가 유출될 수 있습니다.
DNS(Domain Name Service)보안 설정(중요도 : 중)
DNS 서비스 사용 시 특정 서버로만 전송을 하도록 되어 있는지 점검
기준
가. DNS서비스를 사용 않거나, 영역 전송을 “특정 서버로만” 설정
설정방법
승인된 DNS서버로만 전송이 되도록 제한을 해야 하며 설정>제어판>관리도구>DNS>영역전송 탭에서 각각 도메인의 속성을 선택하여 설정 및 확인 가능. 영역전송을 아무 서버에게나 허용해서는 안 됨
DNS 서버를 사용하지 않을 경우 아래 그림과 같이 제어판>관리도구>서비스 항목의 속성에서 시작 유형란은 수동으로 변경하고, 상태란은 중지를 눌러 DNS 서버를 중지시킴
상세설명
DNS 서버에 저장되어 있는 도메인 정보를 승인된 DNS서버가 아닌 다른 외부로 유출하는 것은 보안상 바람직하지 않으며 적절한 설정을 통하여 이러한 정보의 전송을 제한할 수 있습니다. DNS 서버를 사용하지 않을 경우 중지시킵니다.
SNMP(Simple Network Management Protocol)서비스 보안 설정(중요도 : 상)
SNMP 서비스 사용 시 Community String 으로 사용하는 문자 점검
기준
가. SNMP서비스를 사용하지 않거나 Community String을 public, private 설정 안 함
(SNMP Brute Force Attack 또는 SNMP Dictionary Attack이 가능하므로 반드시 8자리 이상의 자릿수와 숫자, 기호를 혼합하여 강력한 패스워드 형식으로 설정)
나. SNMP 서비스가 시작되고 있으나, SNMP Community string 설정 없음
설정방법
- 디폴트 Community string(public, private) 변경.
- 시작>제어판>관리도구>서비스>SNMP Service>속성>보안 탭에서 커뮤니티 이름을 편집
- 불필요시 해당 서비스 제거
- 시작>제어판>관리도구>서비스>SNMP Service 에서 [시작 유형]을 [사용 안 함]으로 만든 후, SNMP 서비스를 중지
상세설명
SNMP 서비스는 시스템 상태를 실시간으로 파악하거나 설정하기 위하여 사용하는 서비스입니다. 그러나 이 정보를 받기 위한 일종의 패스워드인 Community String이 Default로 public, private로 설정되어 있는 경우가 많으며, 이를 변경하지 않으면 이 String을 악용하여 비인가 사용자가 시스템의 주요 정보 및 설정 상황을 파악 할 수 있는 취약성이 존재합니다.
5. 보안패치
최신 서비스 팩 적용(중요도 : 상)
시스템 안정 및 보안성 향상을 위한 최신 서비스팩 적용여부 점검
기준
가. Patch Server Agent가 설치되어 관리되거나, 혹은 최신 서비스팩 설치
설정방법
[방법1] Patch Server Agent를 설치하여, 최신버전의 Service Pack 및 Hotfix를 자동으로 업데이트 할 수 있도록 합니다.
[방법2] 설치되어 있는 Service Pack 을 확인하기 위해 ‘Winver’ 명령어를 이용해 확인 할 수 있음. 또한 만약 O/S가 필요에 의하여 재설치 되어진다면 네트워크에 연결하기 이전에 최신 서비스팩 및 각종 보안 패치를 적용
Service Pack 설치 시에는 네트워크와 분리된 상태에서 설치 할 것을 권장 함. 현재 많은 인터넷 웜(Worm)이 Windows 의 취약점을 이용하여 공격을 하기 때문에 O/S를 설치한 후 곧바로 네트워크에 연결하면 서버에 피해를 줄 수 있음
현재까지 발표된 가장 최신의 Windows 2003의 Service Pack은 SP2 이며 Microsoft® 홈페이지에서 다운로드 받을 수 있음
Microsoft® 2003 보안 패치 사이트
상세설명
서비스 팩은 Windows 시스템을 마이크로소프트에서 출시하고 난 뒤 Windows와 관련된 응용프로그램, 서비스, 실행파일 등 여러 수정 파일들을 모아 놓은 프로그램 입니다.
최신 HOT FIX 적용(중요도 : 상)
시스템 안정 및 보안성 향상을 위한 최신 HOT FIX적용여부 점검
기준
가. Patch Server Agent가 설치되어 관리되거나, 혹은 최신 패치 설치
설정방법
1. Patch Server Agent를 설치하여 자동으로 업데이트되도록 설정
2. 아래의 패치 리스트를 조회하여, 서버에 필요한 패치를 선별하여 수동으로 설치 하는 것을 권장
Microsoft 제공 최신 패치 리스트
3. Windows 자동 업데이트 기능을 이용한 설치
수동 업데이트의 부담을 덜어주기 위하여 Microsoft에서는 자동으로 시스템에 필요한 Hot Fix 및 소프트웨어 업그레이드를 보여주고 다운로드 및 적용을 쉽게 하기 위한 사이트를 마련해 놓고 있음 Internet Explorer 도구 메뉴 중 “Windows Update” 라는 것을 선택하여 주면 자동으로 Windows Update 사이트로 이동하게 되며 또한 다음의 URL 을 직접 주소 입력 창에 입력
http://windowsupdate.microsoft.com/?IE
- 주의
보안 패치 및 Hot Fix의 경우는 적용 후 시스템 재시작을 요하는 경우가 대부분이므로 관리자는 서비스에 지장이 없는 시간대에 적용을 하는 것을 권장
시스템에 알맞은 Hot Fix는 수행되고 있는 OS프로그램 및 특히 개발되거나 구매한 Application 프로그램에 영향을 줄 수 있음. 따라서 패치 적용 전 Application 프로그램을 구분하고, 필요하다면 OS 벤더 또는 Application 엔지니어의 확인 하에 패치를 수행
상세설명
Hot Fix는 즉시 교정되어야만 하는 주요한 취약점(주로 보안과 관련된)을 패치하기 위해 배포되는 프로그램입니다. Hot Fix는 각각의 Service Pack 이 발표된 이후 패치가 추가될 필요가 있을 때 별도로 발표됩니다. 때론, Hot Fix 보다 취약성을 이용한 공격도구가 먼저 출현 할 수 있으므로 Hot Fix는 발표 후 가능한 빨리 설치 할 것을 권장합니다.
6. 시스템 보안 설정
원격 로그파일 권한 설정(중요도 : 하)
원격 익명 사용자의 시스템 로그파일 디렉터리 접근 제한
기준
가. 시스템 로그파일 디렉터리의 접근권한에 Users/Everyone 모든 권한, 수정, 쓰기 권한 제한
설정방법
다음의 경로에 Users/Everyone의 수정 및 쓰기 권한을 제거
- 시스템 로그파일 경로 : C:\WINDOWS\system32\config
상세설명
익명으로 중요 ‘시스템로그’ 파일 및 ‘어플리케이션 로그’ 파일에 접근 가능하여 중요 보안 감사 정보의 변조/삭제/유출의 위험이 존재 하므로 원격 익명사용자의 시스템 로그 접근을 방지해야 됩니다.
일반적으로 시스템 로그파일은 C:\WINDOWS\system32\config에 저장되나 어플리케이션 로그파일은 각각의 어플리케이션마다 로그저장 위치가 다름. 웹 서버에 많이 사용하는 IIS 의 경우에는 C:\WINDOWS\system32\LogFiles에 IIS 로그 저장이 이루어집니다.
화면 보호기 설정(중요도 : 하)
인가된 사용자의 자리 이탈시 정보 유출의 가능성을 최소화 하기 위한 화면 보호기 설정
기준
가. 화면보호기를 설정
- 화면보호기 설정 = 사용
- 암호 사용 = 사용
- 대기 시간 = 5분
※ 실제 사용되고 있는 모든 관리자 계정의 화면보호기 설정 확인
설정방법
화면 보호기 적용 혹은 잠김 상태 유지가 되는지 확인
- 바탕화면>속성>화면보호기 에서 “화면 보호기” 선택, “암호 사용” 설정, “대기 시간” 5분 권장
상세설명
로그오프하거나 워크스테이션 잠김 설정이 되어있는지 여부를 확인합니다. 자리 이탈시의 정보 유출 가능성을 최소화 합니다.
이벤트 뷰어 설정(중요도 : 상)
접근자 추적 및 불법 접근자 확인 자료를 위한 보안 로그의 설정
기준
가. 이벤트 뷰어(로컬) 응용 프로그램, 보안, 시스템의 로그 설정
- 최대 로그 크기 10240KB 이상이고
- “다음보다 오래된 이벤트 덮어쓰기” 가 “180일” 이상
설정방법
시작>설정>제어판>관리도구>이벤트 뷰어>응용프로그램로그|보안로그|시스템로그>선택>속성
- 최대 로그 크기를 10Mbyte(10240KB)
- 최대 로그 크기에 도달할 때 “다음보다 오래된 이벤트 덮어쓰기” 선택 후 “180”일로 설정
상세설명
최대 로그 크기는 10MBytes 이상, 이벤트 로그 관리는 ‘이벤트 겹쳐 쓰지 않음’으로 설정하여 시스템에 보안상 로그가 자동으로 덮어쓰지 않도록 설정 되어 있는지 확인합니다.
보안 로그의 크기를 유지하여 접근자 추적 및 불법 접근자 확인 자료로 이용합니다.
로그인 시 경고 메시지 표시 설정(중요도 : 중)
비인가자의 시스템 로그인 시 불법적인 사용을 경고
기준
가. 로그인시 경고 메시지 표시
설정방법
가. 설정방법 1, 2, 3 중 한가지 방법으로 선택 적용하더라도 시스템 재 시작 없이 설정 값이 연동되어 변경되므로 세가지 조치 방법 중 택일하여 적용
[방법1]경고 메시지를 삽입하는 것이 필요하므로 아래의 레지스트리 항목을 수정하여 관리자가 삽입하고자 하는 메시지내용을 추가할 것을 권고
[ 레지스트리 위치 ]
- HKEY_LOCAL_MACHINE₩SOFTWARE₩Microsoft₩Windows₩CurrentVersion₩Policies₩System
[ 레지스트리 키 ]
- LegalNoticeCaption : 제목
- LegalNoticeText : 메시지 내용
[방법2]아래의 레지스트리 항목을 수정하여 관리자가 삽입하고자 하는 메시지내용을 추가할 것을 권고
[ 레지스트리 위치 ]
- HKEY_LOCAL_MACHINE₩SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
[ 레지스트리 키 ]
- LegalNoticeCaption : 제목
- LegalNoticeText : 메시지 내용
[방법3]
- 관리도구 → 로컬 보안 설정 → 로컬 정책 → 보안 옵션
- “대화형 로그온 : 로그온 시도하는 사용자에 대한 메세지 제목” 정책란에 제목을 삽입
- “대화형 로그온 :로그온 시도하는 사용자에 대한 메세지 텍스트” 정책란에 내용을 삽입
상세설명
시스템에 로그온 하려는 사용자들에게 관리자는 시스템의 불법적인 사용에 대하여 경고 창을 띄울 수 있습니다. 로그온 하기 이전에 사용자는 이러한 경고 메시지를 주지한 후 “확인” 버튼을 누름으로써 패스워드를 입력할 수 있는 로그인 창이 나타납니다.
이러한 경고창의 효과는 악의의 사용자로부터 시스템을 직접적으로 보호하지는 못하지만 관리자가 적절한 보안수준으로 시스템을 보호하고 있으며 공격자의 활동을 주시하고 있다는 생각을 들게 하여 간접적으로 공격 피해를 감소 시키는 효과를 볼 수 있습니다.
마지막 로그인 사용자 계정 숨김 설정(중요도 : 중)
비인가자가 시스템에 접근 시 마지막 사용자 숨김 설정으로 ID,PW 강제공격의 위험성을 낮춤
기준
가. “DontDisplayLastUserName”이 “1”로 설정
설정방법
가. 설정방법 1, 2 중 한가지 방법으로 선택 적용하더라도 시스템 재시작 없이 설정 값이 연동되어 변경되므로 두 가지 조치 방법 중 택일하여 적용
[방법1]
[ 레지스트리의 값 변경 ]
- 시작 → 실행(regedit.exe)
[ 레지스트리 위치 ]
- HKEY_LOCAL_MACHINE₩SOFTWARE₩Microsoft₩Windows₩CurrentVersion₩Policies₩System
[ 레지스트리 키 ]
- DontDisplayLastUserName = 1
[방법2]
[ 마지막 로그온 사용자 계정 숨김 설정 ]
- 시작>설정>제어판>관리도구>로컬 보안 정책>로컬 정책>보안 옵션
- '로그온 스크린에 마지막 사용자 이름 표시 안 함'을 더블 클릭 → 사용
상세설명
마지막 로그온 사용자 보이기를 ON시켜 놓으면 공격자가 사용자의 컴퓨터를 켜보기만 하여도 계정을 알 수 있으므로 강제 공격 등에 이용할 수 있습니다. Login ID를 공격자가 알 수 있으므로, 유추 및 강제공격 가능합니다.
로그인 하지 않은 사용자 시스템 종료 방지(중요도 : 중)
비 인가자의 시스템 종료를 방지하기 위한 설정
기준
가. 해당 레지스트리의 “ShutdownWithoutLogon” 값 “0”으로 설정
설정방법
* 설정방법 1, 2 중 한가지 방법으로 선택 적용하더라도 시스템 재시작 없이 설정 값이 연동되어 변경되므로 두가지 조치 방법중 택일하여 적용
[설정방법1]
- 시작>실행>regedit.exe
[ 레지스트리 위치 ]
- HKEY_LOCAL_MACHINE₩SOFTWARE₩Microsoft₩Windows₩CurrentVersion₩Policies₩System
[ 레지스트리 값 ]
- ShutdownWithoutLogon = 0
[설정방법2]
- 시작>설정>제어판>관리도구>로컬 보안 정책>로컬 정책>보안 옵션
- '로그온 하지 않고 시스템 종료 허용'을 더블 클릭 → 사용 안 함
상세설명
로그온 창에 “시스템 종료”버튼이 활성화되면, 비인가된 사용자가 또는 인가된 사용자의 비의도적인 실수 등으로 로그인을 하지 않고도 시스템의 불법적인 시스템 다운을 가능하게 하여, 정상적인 서비스에 장애를 발생시킬 수 있습니다.
시스템 종료 버튼을 비활성화 시킴으로 비 인가된 사용자로부터의 불법적인 시스템다운, 비의도적인 실수 등을 미연에 방지할 수 있습니다.
로컬 감사정책 설정(중요도 : 상)
감사정책 설정을 통해 보안 로그에서 계정 로그온/로그오프에 대한 감사 설정
기준
가. 아래 이벤트 감사 항목에 대해서는 반드시 “성공|실패” 감사 설정
- 개체 액세스 감사
- 계정 관리 감사
- 계정 로그온 이벤트 감사
- 권한 사용 감사
- 로그온 이벤트 감사
설정방법
시작>제어판>관리도구>로컬보안정책>로컬정책>감사설정
개체 액세스 감사, 계정 관리 감사, 계정 로그온 이벤트 감사, 권한 사용 감사, 로그온 이벤트 감사에 대해서는 반드시 “성공|실패” 감사 설정
상세설명
아래의 감사 정책 설정 예를 참고하여 적절한 감사 정책을 적용합니다.
감사정책에 의해 생성된 로그는 관리도구>이벤트 표시기를 통해서 확인합니다.
정 책 | 설 명 |
---|---|
개체 액세스 | 시스템 액세스 컨트롤 목록(SACL)이 있는 Windows기반 네트워크의 모든 개체에 대해 감사를 활성화 보안 로그에 이벤트를 표시하려면 먼저 개체 액세스 감사를 활성화한 후 감사할 각 개체에 대해 SACL을 정의 |
계정 관리 | 사용자나 그룹이 작성, 변경 또는 삭제된 시간을 판단하는데 사용 |
계정 로그온 이벤트 | 사용자가 도메인에 로그온하면 도메인 컨트롤러에 로그온 시도가 기록 |
권한 사용 | 권한 사용의 성공 및 실패를 감사할 경우 사용자 권한을 이용하려고 할 때마다 이벤트가 생성 |
디렉터리 서비스 액세스 | Active Directory 개체의 SACL에 나열된 사용자가 해당 개체에 액세스를 시도할 때 감사 항목이 생성 |
로그온 이벤트 | 사용자가 컴퓨터에 로그온하거나 로그오프 할 때마다 로그온이 시도된 컴퓨터의 보안 로그에 이벤트가 생성 |
시스템 이벤트 | 사용자나 프로세스가 컴퓨터 환경을 변경하면 시스템 이벤트가 생성 시스템 이벤트를 감사할 경우 보안 로그가 삭제된 시간도 감사 |
정책 변경 | 감사 정책 변경의 성공 및 실패를 감사 |
프로세스 추적 | 실행되는 프로세스에 대한 자세한 추적 정보를 감사하는 경우 이벤트 로그에 프로세스를 작성하고 종료하려고 한 시도가 나타남 |
가상 메모리 페이지 파일 삭제 설정(중요도 : 하)
민감한 정보들이 담긴 페이지 파일의 노출을 제한하기 위한 설정
기준
가. “ClearPageFileAtShutdown”이 “1”로 설정
설정방법
* 설정방법 1, 2 중 한가지 방법으로 선택 적용하더라도 시스템 재 시작 없이 설정 값이 연동되어 변경되므로 두 가지 조치 방법 중 택일하여 적용
[설정방법1]
레지스트리의 값 변경
- 시작 → 실행(regedit.exe)
[ 레지스트리 위치 ]
- HKEY_LOCAL_MACHINE₩SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement
[ 레지스트리 키 ]
- ClearPageFileAtShutdown = 1
[설정방법 2]
시작>제어판>관리도구>로컬보안설정>로컬정책>보안 옵션에서 시스템이 종료할 때 가상 메모리 페이지 파일 지움’ 항목을 사용으로 설정함
상세설명
일부 프로그램은 암호화되지 않은 패스워드나 기타 민감한 정보를 임시로 메모리에 저장할 수 있기 때문에, Windows 가상 메모리 아키텍처로 인하여 이러한 민감한 정보들이 담긴 페이지 파일(Pagefile)이 노출될 경우 위험을 초래할 수 있습니다.
7. 바이러스 진단
백신 프로그램 설치(중요도 : 중)
악성 파일 및 바이러스로부터 시스템을 보호 하기 위한 백신 프로그램 설치
기준
가. 백신 프로그램 설치
설정방법
상세설명
웜, 트로이목마 등의 악성 바이러스로 인한 피해규모가 커지고 있으며 이에 대한 피해를 최소화하기 위해 반드시 바이러스 백신 프로그램을 설치해야 합니다.
바이러스 백신 프로그램은 바이러스 감염 여부 진단 및 치료, 파일의 보호를 할 수 있으며 예방도 가능합니다.
최신 엔진 업데이트(중요도 : 중)
악성 파일 및 바이러스로부터 시스템을 보호하기 위한 백신 프로그램 업데이트 점검
기준
가. 최신 엔진 업데이트 설치
설정방법
백신 사들 마다 다소 차이는 있으나 매주 업데이트가 이뤄지고, 긴급한 경우 수시로 업데이트를 하고 있음. 정기적인 업데이트를 통해 검색엔진을 최신 버전으로 유지하고, 백신 에서 발표하는 경보를 주시
또한, 백신 프로그램의 자동 업데이트 기능을 이용하면 인터넷에 연결되어 있을 때 변동 사항을 자동으로 업데이트 가능
- 안철수연구소, 하우리 : 매주 수요일 정기업데이트
- 시만텍코리아, 트랜드마이크로 : 매주 목요일 정기업데이트 (미국시간으로 수요일)
※ 4개 백신업체 모두 긴급 시 수시업데이트 및 실시간 업데이트 기능 제공
상세설명
계속되는 신종 바이러스의 출현으로 인해 백신 프로그램의 설치만으로는 그 효과를 볼 수 없으므로 바이러스 정보에 대한 주기적인 업데이트를 통해 최신의 바이러스까지 치료할 수 있는 기능이 필요합니다.
8. 레지스트리 보안 설정(중요도 : 하)
계정의 대한 보안운영을 위한 SAM 파일의 대한 감사 설정
기준
가. SAM 파일의 대한 레지스트리 값에 Everyone 에 대한 감사 설정
설정방법
- 시작>실행>regedt32 실행
HKEY_LOCAL_MACHINE\SAM 키를 선택 → 마우스 우 클릭 → 사용 권한
[고급] 옵션 선택
[감사] 탭에서 [추가]를 선택, 감사할 사용자 및 그룹 추가(Everyone 권고)
개체 액세스 모든 옵션에 대해 성공/실패 감사 체크 → 확인
SAM Registry의 Everyone 그룹에 대한 감사 기능이 설정된 화면
상세설명
SAM 에 대한 감사를 설정하여 감시하는 기능을 합니다. SAM 은 Security Account Manager 의 약어로써 Windows 시스템에서의 계정에 대한 인증을 관리합니다. 계정의 인증 성공 및 실패에 대한 감사를 함으로써 서버에 대한 좀 더 보안적인 운영을 할 수 있습니다.
Null Session 설정(중요도 : 상)
비 인가자가 Null Session 을 통한 접근을 제한 하는 설정
기준
가. 해당 레지스트리의 “RestrictAnonymous” 값이 “2”로 설정
설정방법
1. 시작>실행>regedit 를 실행
2. HKLM\SYSTEM\CurrentControlSet\Control\LSA 레지스트리를 검색
3. 오른쪽 버튼을 눌러 새로 만들기 |DWORD값을 선택
4. RestrictAnonymous 를 입력. 이때 값을 “2”로 변경
- 방화벽과 라우터에서 135,139(TCP, UDP)포트의 차단을 통해 외부로부터의 위협을 차단하도록 함
- 네트워크 및 전화 접속 연결>로컬영역>속성>고급>고급설정>Microsoft네트워크파일 및 프린트공유를 해제
상세설명
Windows는 비인가된 사용자가 Null Session을 통해 사용자 인증을 거치지 않고 서버에 접근, 시스템 내부로의 접근이 가능한 취약성이 존재합니다.
- 인증된 사용자만 접속허용
참조) 로컬 보안 설정의 “SAM 계정과 공유의 익명 열거 허용 안 함” 에서 “사용” 설정 시 레지스트리 값에는 “1” 값이 적용 되므로 “레지스트리 편집기(regedit.exe)“를 통해 값을 직접 “2”로 설정할 것을 권고합니다.
해당 레지스트리 값이 “1”로 설정 시, SMB를 통해 null session을 맺은 후 목록화를 이용하여 시스템의 중요 정보 획득이 가능합니다.
Remote Registry Service 설정(중요도 : 상)
원격으로 레지스트리 접근 제한을 위한 Remote Registry Service 제거
기준
가. Remote Registry Service 제거
설정방법
반드시 필요한 경우를 제외하고는 “불필요한 서비스제거” 항목을 참조하여 “Remote Registry Service” 를 중지
꼭 필요한 경우 다음과 같은 방법으로 원격 레지스트리 접근을 제한
1. 다음과 같이 레지스트리 키를 생성(winreg 가 존재하지 않는 경우)
- Hive : HKEY_LOCAL_MACHINE
- Key : SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg
- Name : Description
- Type : REG_SZ
- Value : Registry Server (한글로 “레지스트리 서버”도 동일한 설정임)
2. 시작>실행>regedt32를 실행
3. winreg를 선택하고, 마우스 오른쪽버튼을 누른 다음, “사용 권한”을 선택
4. 원격 레지스트리 접근을 허용할 계정 추가
상세설명
Windows에 의해 사용되는 모든 초기화와 환경설정 정보는 레지스트리에 저장되어 있습니다.
일반 사용자들은 쉽게 레지스트리를 읽을 수 있지만 레지스트리를 수정하기 위해서는 HKEY_CURRENT_USER를 제외하고는 관리자의 권한이 필요합니다.
레지스트리 편집기는 원격접속으로도 그 키를 바꿀 수 있는데 이는 대단히 위험한 것으로 네트워크를 통한 레지스트리 접속을 차단해야 됩니다.
원격에서 레지스트리로의 접근을 위해서는 관리자의 권한 또는 원격에서 접근을 하기 위한 특별한 계정이 필요합니다.
윈도우에서는 원격에서 레지스트리 접근에 대한 요구를 다루기 위해 원격 레지스트리 서비스를 제공하고 있는 데 이 서비스를 중지시키면 레지스트리에 대한 어떠한 원격 접근도 막을 수 있습니다.
원격 레지스트리 서비스를 중지시키지 않고 레지스트리에 대한 원격 접근을 제어하기 위해 윈도우 에서는 winreg라는 키를 생성하여 레지스트리 접근에 대한 사용자, 그룹, 서비스를 제어합니다.
AutoLogon 제한 설정(중요도 : 중)
해킹 방지를 위한 AutoLogon 사용 제한 설정
기준
가. 해당 레지스트리의 “AutoAdminLogon” 값이 없거나 “0”으로 설정
설정방법
1. 시작>실행>regedt를 실행
2. HKLM\ Software\Microsoft\WindowsNT\CurrentVersion\Winlogon
3. AutoAdminLogon 값을 0으로 세팅
4. DefaultPassword 엔트리가 존재한다면 삭제
상세설명
Autologon 기능을 사용하면 침입자가 해킹 도구를 이용하여 레지스트리에서 로그인 계정 및 암호를 확인할 수 있으므로 Autologon 기능을 사용하지 말아야 합니다.