(부록) 취약점 분석평가 기술적 점검항목 설명서 1. 유닉스 취약점 항목 상세 설명서 점검분류 항목 계정 관리 위험도 상 분류번호 U-1 세부점검 항목 root 계정 원격 접속 제한 대상 UNIX root는 시스템을 관리하는 계정으로 아주 중요함. root 계정으로 직접 로그인하도록 허용하면 불법적인 침입자의 목표가 될 수 있으므로 root 계정 접속에 대한 관리가 필요함. root 계정의 원격 접속 허용은 공격자에게 더 좋은 기회를 제공할 수 있으므로 root의 원격 접속은 금지 한다. 시스템 관리자 권한 획득 root 계정 로그인 관련 환경변수 확인(원격접속) #cat /etc/default/login... #IF CONSOLE is set, root can only login on that device. #comment this line out to allow remote login by root. # CONSOLE=/dev/console 점검분류 항목 계정 관리 위험도 상 분류번호 U-2 세부점검 항목 패스워드 복잡성 설정 대상 UNIX/LINUX 영숫자만으로 이루어진 암호는 공개되어 있는 유틸리티를 사용하여 아 주 쉽게 공격할 수 있기 때문에 암호가 공격당하는 것을 방지하려면 암호에 광범위한 문자가 있어야 함. 최소 암호 길이를 8로 지정하여 이 정책 설정과 함께 사용하면 하나의 암호를 만들 수 있는 경우의 수가 매우 많아져 무작위 공격을 성공하는 것이 불가능한 것은 아니지만 어려워짐. 초당 백만 개의 암호를 충분히 테스트할 수 있는 처리 성능을 가진 공격자는 대략 7일 반나절 이내에 암호를 알아낼 수 있으며 최소 암호 길이 설정을 높이면 공격에 성공하 는 데 필요한 평균 시간도 함께 증가함. 공격자가 암호를 쉽게 해독할 수 있음.임의의 명령어 실행, 임의의 파일 수정, 시스템 관리자 권한 획득. [UNIX/LINUX] root 권한에서. # grep testuser1 /etc/shadow 로그인ID:패스워드:최종변경일:min.:max:warning:inactive:expire:flag 양호 - 'CONSOLE=/dev/console' 이거나 CONSOLE= 일 경우, 2. 그룹 이 설정 되어 있을 경우 취약 - #CONSOLE=/dev/console 이거나 2. 그룹 설정이 되어있지 않 은 경우 양호 - 패스워드를 영문숫자 혼합을 사용하여 복잡하게 설정 취약 - 패스워드를 영문숫자 혼합을 사용하지 않고 간단하게 설정 # vi /etc/default/login 파일 수정 [UNIX / LINUX] CONSOLE=/dev/console 이나 CONSOLE= 로 루트 권한을 준후. 1. # useradd testuser1 2. # passwd likmaxhom975 <- 패스워드 복잡하게 설정.. - 1 - - 2 -
점검분류 항목 계정 관리 위험도 상 분류번호 U-3 세부점검 항목 계정 잠금 임계값 설정 대상 UNIX 침입자에 의한 패스워드 무작위 공격(Brute Forceing)이나 패스워드 추 측(Geussing) 공격 시 시간을 지체하게 하거나 자동공격에 시간을 끌기 위해 암호입력 횟수를 적정하게 제한하는 것이 좋음. 미 설정시 패스워드 노출 위협 [solaris 10] 계정 잠금 정책 설정 여부 확인 #cat /etc/default/login RETRIES= 양호 - 암호 입력 횟수를 적정하게 제한했을 경우. 취약 - 암호 입력 횟수를 적정하게 제한하지 않았을 경우. 변수 값 설정 점검분류 항목 계정 관리 위험도 상 분류번호 U-4 세부점검 항목 패스워드 파일 보호 대상 UNIX/Solaris 10 쉐도우 패스워드는 암호화되어 있는 패스워드 정보를 일반 사용자들로 부터 비밀로 유지하기 위한 한 가지 방법이며 최근에 나온 데비안은 쉐도우 패스워드를 기본적으로 사용하도록 되어 있으며, 다른 리눅스 구성본은 암호화된 패스워드를 /etc/passwd 파일에 누구나 읽을 수 있 을 수 있도록 저장한다. 누구라도 이 파일을 패스워드를 추측해 내는 프로그림에 돌려서 패스워드를 알아내려고 할 수 있어 보안에 취약한 반면에 쉐도우 패스워드는 특별 권한이 있는 사용자들만 읽을 수 있도 록 패스워드에 대한 정보를 /etc/shadow 파일에 저장한다. 쉐도우 패스 워드를 사용하려면, 패스워드 정보를 읽어야 하는 모든 유틸리티들이 쉐도우 패스워드를 지원하도록 제대로 리컴 파일 되었는지 확인해야 한다. 패스워드 노출 [UNIX/Solaris 10] * shadwow 파일은 오직 root 만이 확인 할 수 있음. # grep testuser1 /etc/shadow 확인하면 yundream:$1$pt/vnlsk$papp4lllblrlozvfsd3xx1:11657:0:99999:7 암호화 되어 있는 것을 확인 할 수 있음. /etc/default/login 변경 RETRIE=3(패스워드 정책에 따라 설정) 양호 - 패스워드 저장을 #/etc/shadow 파일에 저장 취약 - 패스워드 저장을 #/etc/passwd 파일에저장 계정이 잠기게 되면 필요시 관리자가 풀어줘야 함 조치 방안 [UNIX/Solaris 10] 1. # useradd testuser1 2. # passwd unix54 <- 패스워드 복잡하게 설정 # grep testuser1 /etc/shadow 로그인ID:패스워드:최종변경일:min.:max:warning:inactive:expire:flag. - 3 - - 4 -
점검분류 항목 계정 관리 위험도 중 분류번호 U-5 세부점검 항목 root 이외의 UID가 0 금지 대상 UNIX 점검분류 항목 계정 관리 위험도 하 분류번호 U-6 세부점검 항목 root 계정 su 제한 대상 UNIX 사용자가 시스템에 접근하려면 사용자 계정이 반드시 필요함. 이때 모 든 계정에는 UID가 부여 되는데 이것을 통해 사용자의 이름, 패스워드, 홈 디렉토리등과 같은 사용자에 관련된 정보에 대응시킴. 그러므로 시 스템은 로그인 ID가 달라도 동일한 UID를 가진 계정을 같은 사용자로 인식함. 유닉스 시스템에서 root 계정의 UID는 0 으로 설정 되어있는데, 만약 root 이외의 다른 사용자의 UID가 0 일 경우 root 계정과 동일한 권한 을 갖게 됨. 그러므로 root를 제외한 모든 사용자의 UID는 0 일 수 없 root계정에 접속할 때 일반 사용자로 로그인한 후 root 사용자로 전환 하는 것을 권장하는데 이때 su 명령을 사용함. su 명령어는 로그아웃하 지 않고 다른 사용자의 권한으로 셀을 실행함. su 명령어를 통해 root 계정으로 접속 시 모든 권한을 획득 할 수 있으므로 허용하는 계정만 su 명령어를 통해 root 계정으로 접속 할 수 있도록 해야함. 시스템 관리자 권한 획득 음. [solaris 10] 만일 시스템 관리자라면 다른 UID를 갖는 2개의 계정을 가지는 것이 좋음. 하나는 관리업무를 위한 UID가 '0'인 root 사용자 이고, 다른 하 1. 허용 그룹 설정이 되어있는지 확인(su 명령어 사용 설정 그룹) #cat /etc/pam.d/su 파일에 아래 내용 첨가 확인 나는 일반적인 일을 하기 위한 것으로 사용함. auth required /lib/security/pam_wheel.so debug group=wheel 시스템 관리자 권한 획득 UID 중복 계정이 있는지 확인 함. # cat /etc/passwd etc/pam.d/su 파일에 아래 내용 첨가 후 /etc/group 의 wheel 그룹에 su 명령을 허용하고자 하는 사용자 그룹 등록 wheel:x:10:root,someone 양호 - root계정과 동일한 UID를 갖는 계정이 존재하지 않을 경우 취약 - UID가 '0'인 계정이 두개이상 존재할 경우 새로운 UID로 변경 만약 허용되지 않은 그룹의 사용자가 su 명령을 시도하면 /var/log/message 에 로그가 남음.. # usermod -u 부여할 UID UID를 변경할 계정의 로그인 ID' - 5 - - 6 -
점검분류 항목 계정 관리 위험도 중 분류번호 U-7 세부점검 항목 패스워드 최소 길이 설정 대상 UNIX 점검분류 항목 계정 관리 위험도 중 분류번호 U-8 세부점검 항목 패스워드 최대 사용 기간 설정 대상 UNIX 일반적으로 모든 계정은 패스워드가 존재하도록 권장함. 만약 패스워드 가 없는 계정이 있다면 조취를 취해야 함. 또한 공격자가 쉽게 유추 할 수 없는 패스워드를 만들도록 패스워드 규칙을 정해 주는 것이 좋음. 패스워드의 최소 길이를 특정수치 이상으로 설정하여 패스워드 무작위 공격(Brute Forceing)이나 패스워드 추측(Geussing) 공격 등에 대처할 수 있음 일반적으로 모든 계정은 패스워드가 존재하도록 권장함. 만약 패스워드 가 없는 계정이 있다면 조취를 취해야 함. 유닉스 시스템을 관리하다 보면 사용자들의 패스워드를 관리하는 것이 중요한 문제임. 이럴 경우 패스워드 정책을 설정하여 특정 기간이 지나 면 패스워드를 새로 변경해야 한다거나, 몇 일 이내에는 패스워드를 변 경할 수 없게 하는 것이 가능함. 예를들어 공격자가 어느 시점의 암호화된 패스워드파일과 암호화 함수 를 얻어도, 패스워드 정책에 따라 주기적으로 패스워드를 변경하여 원 패스워드 추측 가능성 높아짐 패스워드 최소 길이 설정 확인 #cat /etc/default/passwd PASSLENGTH= 하는 정보를 얻을 수 없게 함. 따라서 패스워드 정책을 사용하면 공격자는 패스워드를 추측하기 어려 울 뿐만아니라, 주기에 따라 패스워드가 변경되므로 더 안전하게 보호 할 수 있음. 주기를 단기간으로 주면 보호성을 높일 수 있으나 너무 자주 패스워드 를 변경하게 되면, 계정 사용자의 불편을 초래할 수 있음. 그러므로 보 호정도와 이용 특성에 따라 적절하게 패스워드 정책을 세워야 함 패스워드 추측 가능성 높아짐 양호 - 최소 길이가 PASSLENGTH=8 설정 되어 있는 경우 취약 - 최소 길이가 8 이하이거나 설정 되어 있지 않은 경우 패스워드 사용 가능 최대 기간 확인 1.[root@unix /]#more /etc/shadow 명령으로 확인 /etc/default/passwd 파일 수정 로그인ID:패스워드:최종변경일:min.:max:warning:inactive:expire:flag 1. 2. 3. 4. 5. 6. 7 8. 9. PASSLENGTH=8 5. 패스워드를 사용할 수 있는 최대 기간.. 양호 - 정책에 따른 최대 사용 기간 설정 취약 - 정책에 따른 최대 사용 시간 미 설정 #ident"(#)passwd.dfl 1.3 92/07/14 SMI" MAXWEEKS = : 최대 패스워드 유효기간 설정 내규 패스워드 정책에 따라 사용기간 설정. - 7 - - 8 -
점검분류 항목 계정 관리 위험도 중 분류번호 U-9 세부점검 항목 패스워드 최소 사용 기간 설정 대상 UNIX/LINUX 사용자가 암호를 계속 바꿔서 이전에 즐겨 쓰던 암호를 다시 사용할 수 있다면 암호를 정기적으로 바꾸도록 요구하는 것은 효과가 없음. 정책 설정을 최근 암호 기억 설정과 함께 사용하면 이전 암호를 다시 사용하 는 것을 막을 수 있음. 최근 암호 기억 설정을 유효하게 하려면 최소 암 호 사용 기간 정책 설정을 0보다 큰 값으로 구성해야 함. 취약한 계정을 통해 계정 권한이 도용당할 수 있음. [UNIX/LINUX] 패스워드 사용 가능 최소 기간 확인 1.[root@unix/] #more /etc/shadow 명령으로 확인 로그인ID:패스워드:최종변경일:min.:max:warning:inactive:expire:flag 1. 2. 3. 4. 5. 6. 7 8. 9. 5. 패스워드를 사용할 수 있는 최소 기간. 양호 - 정책에 따른 최소 사용 기간 설정 취약 - 정책에 따른 최소 사용 시간 미 설정 [UNIX/LINUX] #ident"(#)passwd.dfl 1.3 92/07/14 SMI" MINWEEKS = : 최소 패스워드 유효기간 설정 내규 패스워드 정책에 따라 날짜 수 지정.. 점검분류 항목 계정 관리 위험도 하 분류번호 U-10 세부점검 항목 불필요한 계정 제거 대상 UNIX/LINUX 로그인이 가능한 사용자 계정들은 로그인을 통해서 시스템에 접근이 가능하기 때문에 로그인 계정의 패스워드 부재로 인한 패스워드 유출 이나 패스워드 추측 공격으로 인한 패스워드 유출가능성이 있음. 오랫동안 로그인 하지 않은 계정은 계정만 만들어지고 관리가 되지 않 는 계정일 가능성이 높으며, 이런 경우 계정을 악의적인 사용자가 불법 적으로 사용해도 알 수 없으며, 패스워드 변경이 없으므로 패스워드 유 출가능성이 존재함. 반복된 로그인 실패 기록이 남아있다는 계정도 패 스워드 추측에 의한 불법적인 로그인 시도 가능성이 있음. 그러므로 사용 목적이 만료된 관리자, Guest, 테스트 계정, 무자격 사용 자(예>퇴직자) 등 시스템에 불필요한 계정을 주기적으로 삭제 조치 취 해야함. 관리되지 않는 계정을 통한 시스템 접속 [UNIX/LINUX] 1. 수면 계정 점검 오랫동안 로그인하지 않은 계정, 한 번도 로그인하지 않은 계정 존재하 는지 점검. 2. 로그인 실패기록 점검(반복된 로그인 실패 기록을 점검) #cat /var/adm/loginlog 파일을 분석 시스템 로그인 데몬 (syslogd.authlog)이 동작되는지 점검.시스템 로그 데몬이 수행중인 확인(/etc/syslog.conf)을 권함. 3. 로그인 실패 기록을 점검./var/adm/loginlog 또는 /var/log/authlog파 일분석을 권장함. #cat /var/adm/loginlog 파일을 분석하여 로그인 실패기록 점검. #cat /var/adm/authlog 파일을 분석하여 로그인 실패기록 점검. #cat /var/adm/sulog 파일을 분석하여 로그인 실패기록 점검. 양호 - 불필요한 계정을 삭제, 변경 했을 경우 취약 - 불필요한 계정을 미삭제, 방치 했을 경우 - 9 - - 10 -
오랫동안 로그인 하지 않은 계정, 한번도 로그인 하지 않은 계정이 사 용되는 계정인지 확인하고 불필요한 계정이면 삭제 #userdel '오랫동안 로그인 하지 않은 계정 or 한번도 로그인하지 않은 계정 ' 점검결과에서 발견된 반복된 로그인 실패시간, 로그인 시도 호스트 정 보로부터 로그인 실패가 불법적인 로그인 시도에 의한 것인지 확인.. 점검분류 항목 계정 관리 위험도 하 분류번호 U-11 세부점검 항목 관리자 그룹에 최소한의 계정 포함 대상 UNIX/LINUX 여러 사용자가 동시에 사용하는 다중 사용자 시스템이므로, 파일에 대 한 소유자와 포함 그룹에 따라 접근 할 수 있는 반경이 달라짐. 시스템을 관리하는 root 계정이 속한 그룹 시스템 운영을 위해 필요한 파일에 접근 권한이 있으므로 일반사용자가 이 그룹에 속해선 안됨. 그 러므로 최소한의 계정을 포함해야 함. 일반사용자의 관리자 권한으로 인한 위협 [UNIX/LINUX] 1. root가 포함된 그룹에 속한 사용자 확인 #cat /etc/group 장기 적용 양호 - 관리자의 그룹에 최소한의 계정을 할당 했을 경우. 취약 - 관리자의 그룹에 많은 계정을 했을 경우. 관리자 계정이 포함된 그룹에 불필요한 계정 존재시 해당 계정 그룹 변경 #usermod -g 바꿀GID 로그인ID - 11 - - 12 -
점검분류 항목 계정 관리 위험도 하 분류번호 U-12 세부점검 항목 계정이 존재하지 않는 GID 금지 대상 UNIX 점검분류 항목 계정 관리 위험도 중 분류번호 U-13 세부점검 항목 동일한 UID 금지 대상 UNIX/LINUX 구성원이 존재하지 않는 빈 그룹이 있다면 그룹관리가 정상적으로 이 루어지지 않을 가능성이 있음. 그룹관리가 정상적으로 이루어지지 않아 구성원이 존재하지 않는 그룹이 있을 경우 해당 그룹소유의 파일이 비 인가자에게 노출 될 위험이 있음. 그러므로 계정이 존재하지 않는 GID 설정을 관리자와 검토하여 제거해야 함. 사용자가 시스템에 접근하려면 사용자 계정이 반드시 필요함. 이때 모 든 계정에는 UID가 부여 되는데 이것을 통해 사용자의 이름, 패스워드, 홈 디렉토리 등과 같은 사용자에 관련된 정보에 대응시킴. 그러므로 시 스템은 로그인 ID가 달라도 동일한 UID를 가진 계정을 같은 사용자로 인식함. 그러므로 중복된 UID가 존재할 경우 보안상 문제가 발생할 수 있음. 관리되지 않는 그룹을 통한 시스템 접속 공격자에 의한 개인정보 정보 습득. 관련 데이터 습득. [UNIX/LINUX] 1. 그룹 정보 확인 #cat /etc/group [Solaris 10] 1. UID 중복 계정이 있는지 확인 함. #login -d 양호 - 존재하지 않는 계정에 GID 설정을 금지 했을 경우 취약 - 존재하지 않은 계정에 GID 설정을 했을 경우 구성원이 존재하지 않는 그룹이 있을 경우 관리자와 검토하여 제거. #groupdel '구성원이 없는 사용하지 않는 그룹 명 양호 - 동일한 UID 가 설정이 되지 않도록 조치했을 경우. 취약 - 동일한 UID 가 설정이 가능 하도록 조치되었을 경우. [Solaris 10] 새로운 UID로 변경 #usermod -u 새로 부여할 UID UID를 변경할 계정의 로그인 ID' - 13 - - 14 -
점검분류 항목 계정 관리 위험도 하 분류번호 U-14 세부점검 항목 사용자 Shell 점검 대상 UNIX Shell이란 유닉스 운영체제에서 사용자가 입력하는 명령을 읽고 해석하 는 프로그램, 즉 명령어 해석기임. 다시 말해서 사용자가 사용할 수 있 는 유틸리티나, 명령 등을 실행 할 수 있도록 하는 프로그램으로서 이 것은 명령행 에서 입력된 내용을 해석하고 그에 따른 작업을 커널이 하도록 지시하며 커널에서 작업한 결과를 다시 사용자에게 보여주는 기능을 하는데 공격자가 이를 악용하여, 사용자의 명령어를 해석하여. 악용 할 수 있음. usermod -s /bin/false noaccess usermod -s /bin/false diag usermod -s /bin/false listen usermod -s /bin/false operator usermod -s /bin/false games 명령어를 해석 하여 침입 위협. [UNIX] #cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1bin:/bin:/bin/false. -> bin 계정으로는 쉘이 부여되지 않음 양호 - 로그인이 필요 없는 계정은 쉘을 /bin/false 설정 했을 경우 취약 - 로그인이 필요 없는 계정에 별도의 설정이 없을 경우 조치 방안 [UNIX] 1. bin 이라는 계정에 2. # /etc/passwd에서 /bin/flase, /no shell 로 설정 을 하면 쉘이 부 여 되지 않음. * Shlell 제한시 명령어 usermod -s /bin/false gopher usermod -s /bin/false adm usermod -s /bin/false daemon usermod -s /bin/false bin usermod -s /bin/false sys usermod -s /bin/false listen usermod -s /bin/false nobody usermod -s /bin/false nobody4-15 - - 16 -
점검분류 항목 계정 관리 위험도 하 분류번호 U-15 세부점검 항목 Session Timeout 설정 대상 UNIX 4. /etc/profile 에 넣어두면 자가 접속하여 시간이 지나면서 아무것도 하지 않 을 시에 자동으로 로그아웃 설정됨 5. 패러미터를 설정한 뒤에는 반드시 로그아웃 한 뒤 다시 로그인 하여 바뀐 설정 내용을 시스템에 적용해야 함. 로그인하여 계정을 모두 사용한 후 사용자의 부주의로 계정이 접속한 상태로 방치할 경우 악의 적인 목적으로 사용 될 수 있으며, 권한이 없 는 사용자에 의한 사용이 이루어 질 수 있음. 그러므로 일정 시간 이후 어떠한 이벤트가 발생하지 않으면 연결을 강 제로 종료하는 session timeout 설정이 필요함. 비인가자의 시스템 접속 위험 [LINUX] #TMOUT 값을 준 후에, 계정으로 접속 한 후, 일정한 시간동안 작업을 하지 않았을 시에 로그아웃이 되는가를 확인 함 양호 - Session Time out 을 설정해 주었을 경우. 취약 - Session Time out 을 설정해 주지 않았을 경우. 조치 방안 [UNIX] * Solaris 에서 지정된 시간 동안 사용하지 않을 경우 접속된 session 해당 서버에서 끊도록 설정 /etc/default/login'파일 수정(주석 제거 or 신규삽입) 1. #vi/etc/profile 명령으로 프로파일을 열어 추가 2. #TMOUT=900 <- 시간 계산은 (30*30 = 900초) 이러한 기준으로 시간 을 삽입해준다. 3. #export TMOUT - 17 - - 18 -
점검분류 항목 세부점검 항목 파일 및 디렉토리 위험도 상 분류번호 U-16 관리 root 홈, 패스 디렉터리 권한 및 패스 대상 UNIX 설정 점검분류 항목 파일 및 디렉토리 관리 위험도 상 분류번호 U-17 세부점검 항목 파일 및 디렉터리 소유자 설정 대상 UNIX root의 검색경로가 되는 $PATH 경로내에. 이나 :: 등이 포함되어 소유자가 존재하지 않는 파일 및 디렉터리는 현재 권한이 없는 자(퇴직 침입자가 특정 명령어를 샐행시킬 수 있도록 조작될 수 있는 위험한 환경변수 값을 갖고 있는지 검사해야함. 만약. 이나 :: 등과 같은 환 경변수가 들어있을 경우 침입자에 의해 root 권한이 노출 될 수 있음. 자 등)의 소유였거나, 관리 소홀로 인해 생긴 파일일 가능성이 있음. 만 일 중요 파일 및 디렉터리일 경우 문제가 발생할 수 있으므로 관리가 필요함.., :: 등과 같은 환경변수가 들어있을 경우 침입자에 의해 root 권한 노출. 삭제된 소유자의 UID 와 동일한 사용자가 해당파일, 디렉토리 접근 가능. # PATH 변수내에. 이나 :: 의 항목이 있는지 확인 함 [Solaris 10] 중기 적용 #find /\( -nouser -o -nogroup \) -xdev -ls 2> /dev/null 검색 하여 해당 불필요한 파일이 있는지 검색. 양호 - Root 검색경로가 되는, 이나 :: 항목 제거를 했을 경우 취약 - Root 경색경로가 되는," 이나 :: 항목 제거를 하지 않았을 경 우 조치 방안 양호 - 소유자가 존재하지 않은 파일 및 디렉토리를 점검 하여 불필요 한 파일을 검색하여 제거 또는 적절한 소유자를 부여 했을 경우 [Solaris 10] 취약 - 소유자가 존재하지 않을 파일 및 데릭토리 점검 을 하지 않았 을 경우 # env PATH 변수내에. 이나 :: 의 항목이 있으면 삭제 시켜 줘야 함 조치 방안 [Solaris 10] 파일이나 디렉토리 소유자가 Nouser, nogroup 검색 1.#find /\( -nouser -o -nogroup \) -xdev -ls 2> /dev/null 명령어를 친후 디렉토리를 점검한다. 2.위의 명령어 처럼 해당 파일들을 검색 하여 제거하거나 적절한 소유 자를 부여함. - 19 - - 20 -
점검분류 항목 파일및 디렉토리 관리 위험도 상 분류번호 U-18 세부점검 항목 /etc/passwd 파일 소유자 및 권한 설정 대상 UNIX 점검분류 항목 파일및 디렉토리 관리 위험도 상 분류번호 U-19 세부점검 항목 /etc/shadow 파일 소유자 및 권한 설정 대상 UNIX /etc/passwd 파일은 사용자의 ID, 패스워드(보안상 x'로 표시), UID, GID, 홈 디렉토리, shell 정보를 담고 있는 중요 파일임. 이 파일이 노출되면 보안상 심각한 문제를 발생할 수 있어 관리자 이 외의 사용자는 접근 제한이 필요함. 따라서 /etc/passwd 파일의 소유자와 퍼미션 지정여부를 확인해야 함. /etc/passwd 파일에서 패스워드의 보안을 위해 표시하지 않는 패스워 드를 따로 관리하는 파일이 /etc/shadow 파일로 암호화된 패스워드 정 보를 담고 있음. 이 파일은 root를 제외한 사용자의 접근이 허용되면 보안상 문제가 발생할 수 있음. 예를 들어 /etc/shadow 파일의 퍼미션을 444로 설정하여 일반 사용자 가 접근 할 수 있다면 이 파일을 가지고 암호를 유추할 수 있으므로 /etc/shadow 파일의 소유자와 퍼미션 설정이 중요함. 임의적인 파일 정보 습득. 파일변경. 임의적인 파일 정보 습득, 파일변경. # ls -l /etc/passwd 명령으로 확인 -rwsr-xr-x 1 root root 14112 1월 16 2001 /bin/su 1 2 1 파일 소유권자 퍼미션, 소유그룹퍼미션, 일반사용자 퍼미션 2 파일 소유자 단기적용 # ls -l /etc/shadow 명령으로 확인 -rwsr-xr-x 1 root root 14112 1월 16 2001 /bin/su 1 2 1 파일 소유권자 퍼미션, 소유그룹퍼미션, 일반사용자 퍼미션 2 파일 소유자 단기적용 양호 - 파일 퍼미션 444, 소유자 root 취약 - root외의 사용자의 퍼미션이 4이상 이거나, 소유자가 root가 아 닐때 양호 - 파일 퍼미션 400, 소유자 root 취약 - 위와 동일한 퍼미션과 소유자가 아닐때 파일의 퍼미션을 바꾸어 줌. # chmod 444 /etc/passwd 파일의 퍼미션을 바꾸어 줌. # chmod 400 /etc/shadow 소유자를 root로 바꾸어 줌. # chown root /etc/passwd 소유자를 root로 바꾸어 줌. # chown root /etc/shadow - 21 - - 22 -
점검분류 항목 파일및 디렉토리 관리 위험도 상 분류번호 U-20 세부점검 항목 /etc/hosts 파일 소유자 및 권한 설정 대상 UNIX 점검분류 항목 세부점검 항목 파일및 디렉토리 위험도 상 분류번호 U-21 관리 /etc/(x)inetd.conf 파일 소유자 및 권한 대상 UNIX 설정 /etc/hosts.equiv 파일의 퍼미션을 600로 설정하여 일반 사용자가 접 근 할 수 있다면 이 파일을 가지고 host 파일에 접근하여 snoof 공격 을 할 수 있으므로 /etc/hosts.equiv 파일의 소유자와 퍼미션 설정이 중 요함 inetd용 config 파일은 inetd가 데몬과 기타 서비스 제공자를 관리하는 데 필요한 각 네트워크 서비스용 엔트리를 보유하고있음. 서비스는 실 행되겠지만 /etc/services에 있는 주석을 제거하여 실행중일 때에도 사 용할 수 없도록 함. 외부에서 IP 스푸핑 공격 위험이 있음. 임의적인 파일 정보 습득, 파일변경 # ls -l /etc/hosts 명령으로 확인 lrwxrwxrwx 1 root root 9 Sep 2 22:57 /etc/hosts.equiv -> /dev/null 1 2 1 파일 소유권자 퍼미션, 소유그룹퍼미션, 일반사용자 퍼미션 2 파일 소유자 # ls -l /etc/inetd.conf 명령으로 확인 -rw------ 1 root root 2935 aug 22 22:25 /etc/inetd.conf 1 2 1 파일 소유권자 퍼미션, 소유그룹퍼미션, 일반사용자 퍼미션 2 파일 소유자 단기적용 양호 - 파일 퍼미션 600, 소유자 root 취약 - 위와 동일한 퍼미션과 소유자가 아닐때 양호 - 파일 퍼미션 600, 소유자 root 취약 - 위와 동일한 퍼미션과 소유자가 아닐때 [Solaris] [Solaris] 파일의 퍼미션을 바꾸어 줌. # chmod 600 /etc/inetd.conf 파일의 퍼미션을 바꾸어 줌. # chmod 600 /etc/hosts 소유자를 root로 바꾸어 줌. # chown root /etc/inetd.conf 소유자를 root로 바꾸어 줌. # chown root /etc/hosts. - 23 - - 24 -
점검분류 항목 세부점검 항목 파일및 디렉토리 위험도 상 분류번호 U-22 관리 /etc/syslog.conf 파일 소유자 및 권한 대상 UNIX 설정 점검분류 항목 파일및 디렉토리 관리 위험도 상 분류번호 U-23 세부점검 항목 /etc/services 파일 소유자 및 권한 설정 대상 UNIX /etc/syslog.conf 파일에 로그에 대한 임의로 접근이 허용되면 보안상의 문제가 많이 때문에 /etc/syslog.conf 파일의 퍼미션을 644로 설정하여 만약에 일반 사용자가 접근 할 수 있다면 이 파일을 가지고 syslog 파 일에 접근 할 수 있음으로 /etc/syslog.conf 파일의 소유자와 퍼미션 설 정이 중요함. /etc/services 파일에 Services 에 대한 접근 허용되면 보안상의 문제가 많이 때문에 /etc/services 파일의 퍼미션을 644로 설정함 만약에 일반 사용자가 접근 할 수 있다면 이 파일을 가지고 services 파일에 에 접 근 할 수 있음으로 /etc/services 파일의 소유자와 퍼미션 설정이 중요 함. 일반 사용자가 Syslog 파일에 접근 할 수 있음. 일반 사용자가 Services 파일에 접근 할 수 있음. # ls -l 명령으로 확인 # ls -l 명령으로 확인 -rw--------- 1 root root 712 aug 22 22:35 /etc/syslog.conf 1 2 1 파일 소유권자 퍼미션, 소유그룹퍼미션, 일반사용자 퍼미션 2 파일 소유자 -rw-r-r-- 1 root root 11231 aug 26 13:50 /etc/services 1 2 1 파일 소유권자 퍼미션, 소유그룹퍼미션, 일반사용자 퍼미션 2 파일 소유자 단기적용 단기적용 양호 - 퍼미션을 644 로 설정 함. 취약 - 피미션을 위에 동일 하게 설정하지 않음. 양호 - 퍼미션을 644 로 설정 함. 취약 - 피미션을 위에 동일 하게 설정하지 않음. 파일의 퍼미션을 바꾸어 줌. # chmod 644 etc/syslog.conf 파일의 퍼미션을 바꾸어 줌. # chmod 644 etc/services 소유자를 로 바꾸어 줌. # chown root etc/syslog.conf 소유자를 로 바꾸어 줌. # chown root etc/services - 25 - - 26 -
점검분류 항목 파일및 디렉토리 관리 위험도 상 분류번호 U-24 세부점검 항목 SUID,SGID,Stick bit 설정 파일 점검 대상 UNIX UNIX system을 보면 파일의 실행권한에 s가 있는 경우가 있음. 이 s가 사용자의 실행권한에 설정되어있는 경우를 setuid, setgid 가 설정되어 있다고 함. 일반적으로 실행 파일은 파일 소유자와는 상관없이 파일을 실행시킨 사용자의 권한으로 작동함. SUID(Set Uid) 와 SGID(Set Gid) 가 설정된 파일은 사용자가 특정 명령 어를 실행할 때 보통은 접근 불가능한 시스템 자원을 접근할 수 있게 해주는 데 사용함. 사용자가 특정 시스템 파일과 자원을 제한된 환경에 서 사용할 수 있지만, 심각한 보안 문제가 발생할 수 있으므로 점검이 필요함. 특히 root 소유의 파일인 경우, 버퍼 오버플로우 공격과 Local 공격에 사용되어 root 권한을 노출 시킬 수 있으며, 시스템의 장애를 유발 할 수 있음. 버퍼 오버플로우나 Local 공격에 시용되어 root 권한을 노출 시킬 우려가 있음. SUID/SGID 설정된 의심스러운 파일 확인 # find / -user root -type f \( -perm -04000 -o -perm -02000 \) -xdev -exec ls -al {} \; 단기적용 양호 - 디렉토리의 설정 따라서 SUID,SGID, Sticky bit 설정 및 제거 해줌. 취약 - 디렉토리를 확인 하지 않고, SUID,SGID, Sticky bit 설정. 보안에 취약한 root 소유의 SetUID 파일들의 경우에는 꼭 필요한 파일 을 제외한 SetUID, SetGID 파일에 대하여 SetUID, SetGID를 제거해주 고, 잘못 설정되어 보안 위협이 되고 있는지 주기적인 진단 및 관리가 필요하다 점검분류 항목 세부점검 항목 파일및 디렉토리 위험도 상 분류번호 U-25 관리 사용자, 시스템 시작파일 및 환경파일 대상 UNIX 소유자 및 권한 설정 시스템 초기 파일들은 시스템 부팅시 시스템 환경변수를 설정하거나 부팅시 서비스를 가동시키는 설정들이 들어있음. 그러므로 시스템 초기 파일은 시스템 전체, 그리고 시스템의 모든 사용자에게 영향을 미치므 로 중요하게 관리해야하는 파일임. 1. 시스템 초기 파일의 내용이 변경되었을 경우 시스템 전체, 그리고 시스템의 모든 사용자에게 영향을 미침. 2. 시스템 초기 파일의 소유자, 혹은 그룹이 변경되면 적절하지 않은 사용자에 의해서 파일이 수정될 수 있음. 3. 시스템 초기 파일의 접근모드가 변경되면 적절하지 않은 사용자에 의해서 파일이 수정될 수 있음 4. 추가된 시스템 초기 파일이 존재하거나 삭제된 시스템 초기 파일이 존재하면 원하지 않는 환경설정이나 서비스가 수행될 수 있음 시스템 초기 파일이 변경될 경우 시스템 전체에 영향을 미침 # ls -l 명령으로 확인 -rwsr-xr-x 1 root root 1 2 14112 1월 16 2001 /bin/su 1 파일 소유권자 퍼미션, 소유그룹퍼미션, 일반사용자 퍼미션 2 파일 소유자 초기 시스템 설정 * 처음으로 실행되어 list file을 생성하는지 점검. * 체크섬(md5)의 값이 변경되었는지 점검. * startup file의 소유자가 변경되었는지 점검. * startup file의 그룹이 변경되었는지 점검. * startup file의 모드가 변경되었는지 점검. * 새로 생성된startup file이 존재하는지 점검. * 삭제된 startup file이 존재하는지 점검. 단기적용 SUID/SGID 설정된 의심스러운 파일 점검 # find / -user root -type f \( -perm -04000 -o -perm -02000 \) -xdev -exec ls -al {} \;. 양호 - 환경파일이 변경되지 않았고, root와 소유자만 write 가능한 경 우 취약 - 환경파일이 변경되었거나, root와 소유자 이외에도 write 가능한 - 27 - - 28 -
경우 파일의 퍼미션을 바꾸어 줌. # chmod 644 /etc/profile # chmod 644 /.profile 소유자를 로 바꾸어 줌. # chown root /etc/profile # chown root /.profile 점검분류 항목 파일및 디렉토리 관리 위험도 상 분류번호 U-26 세부점검 항목 world writable 파일 점검 대상 UNIX 공격자가 사용자의 시스템에 사용권을 얻게 되고, 시스템 파일이나 World-writa ble 파일들을 변경할 수 있게 되면 심각한 보안 허점이 존재하게 된다 그리고 World-writable 디렉토리도 위험하다 그래서 이러한 파일 및 디 렉토리들도 찾아보고 설정되어 있는지 확인해봐야 하며 불필요한 경우 에는 쓰기가능 을 제거해 주어야 함. 공격자에 의하여 World-writable 파일 변경. [UNIX/LINUX] # find / -perm -2 -ls 명령어를 친후 존재 유무를 확인. 양호 - world writable 파일 찾아보고 쓰기가능 설정 이유 확인하는 경 우 취약 - world writable 파일을 찾아보지 않는 경우 [UNIX/LINUX] 1.# find / -perm -2 -ls 명령을 쳐 World-writable 파일들을 찾는다. 2. 파일을 찾은후에 World-writable 파일이 있을시에 삭제한다. - 29 - - 30 -
점검분류 항목 세부점검 항목 파일및 디렉토리 위험도 상 분류번호 U-27 관리 /dev에 존재하지 않는 device 파일 대상 UNIX 점검 논리적 장치 파일을 담고 있는 /dev 디렉토리는 /devices 디렉토리에 있는 물리적 장치 파일에 대한 심볼릭 링크임. 예를 들어 rmt0 를 rmto 로 잘못 쓴 것처럼, 디바이스 이름이 잘못 입 력될 경우 /dev 디렉토리에 rmto 라는 파일이 생성됨. 보통 root 파일 시스템이 full 나서 error를 일으킬 때까지 계속해서 일어나는데 그 이 유는 /dev 디렉토리가 root (/)의 일부이기 때문이다. 따라서 실제로 존 재하지 않는 디바이스를 찾아내는 것이 중요하다.(major, minor number를 가지지 않는 디바이스) 임. 점검분류 항목 파일및 디렉토리 관리 위험도 상 분류번호 U-28 세부점검 항목 $HOME/.rhosts, hosts.equiv 사용 금지 대상 UNIX rlogin, rsh, rcp 는 패스워드를 입력하지 않고 원격서버로 신뢰받는 원 격로그인을 하기 위한 명령어입니다. 참고로 이와 같이 원격에서 수행 되는 명령어들을 원격명령어, r-commands라고 합니다. 이들 명령어들이 모두 원격에서 신뢰된 로그인 또는 접근을 할 수 있 기 위해서는 접근할 원격서버의 /etc/hosts.equiv 또는 홈디렉토리내에 있는.rhosts파일의 접근허용설정이 있어야 정상적인 수행이 됩니다. 따라서 rlogin과 함께 rsh, rcp등의 명령어 사용시에는 /etc/hosts.equiv, 그리고 홈디렉토리내에 있는.rhosts파일의 설정을 확인해야 합니다. 또한 이들 명령어들은 모두 원격에서 패스워드 인증과정 없이 바로 실 행이 될 수 있기 때문에 서버자체의 보안문제도 심각하게 고려해야합 니다. root 파일시스템 손상 및 다운. 불법적인 접속을 통한 시스템 접근 [UNIX/LINUX] # find /dev -type f -exec ls -l {} \; 명령어로 확인. # ls -l $HOME/.rhosts 명령으로 확인 # ls -I hosts.equiv 명령으로 확인 양호 - dev 에 존재하지 않은 device 파일을 점검하고, 존재하지 않은 device 을 제거 했을 경우 취약 - dev 에 대한 파일점검을 하지 않거나, 존재하지 않은 device 파 양호 - $HOME /.rhosts, hosts.equiv 활성화를 시키지 않았을 경우 취약 - $HOME /.rhosts, hosts.equiv 활성화를 시켰을 경우 일을 방치 했을 경우 [UNIX/LINUX 1.# find /dev -type f -exec ls -l {} \; 2.major, minor number를 가지지 않는 device 일 경우에는 삭제 [$HOME/.rhosts는 기본적으로 잘 쓰지 않음.)] 개인 계정의 홈 디렉토리에.rhosts 파일을 가지고 있지 않도록 확인해 야 함. 이 파일들은 각각의 유저들에 의해 만들어질 수 있기 때문에 /etc/hosts.equiv 파일 보다 더 보안상 위험한 상태에 놓여지게 됨. 그 리고 주기적으로 cron을 사용하여 이것을 체크해주고 내용을 정리해서 $HOME/.rhosts 파일을 지워 주도록 해야 함 [만약 이 파일의 사용이 꼭 필요하다면] 1) 파일의 첫번째 문자가 - 로 시작하지 않도록 확인 - 31 - - 32 -
2) 파일 퍼미션이 600으로 되어있는지 확인. 3) 파일의 소유자가 해당계정의 소유자인지 확인 4) 파일내에 어떤 라인에서도 + 가 포함되지 않도록 해야함. 이것은 해 당 계정에 다른 이용자의 로그인이 가능성이 있을 수 있기 때문. 5) 이 파일은 주석문을 사용할 수 없기 때문에 파일에! 혹은 # 을 허 용을 하지 않아야함. 6) HOME/.rhosts의 사용을 제한할 수 있는 log daemon 을 사용할 수 있다는 점을 유의 [/etc/hosts.equiv] rlogin과 같은 프로그램들은 패스워드의 적용없이 어떤 허가된 시스템 으로부터 여러분들의 시스템의 동일 계정으로 로그인하는데 사용될 수 있음.. 만일 r command를 사용하지 않거나 다른 시스템으로부터의 로 그인 허용을 원하지 않을 경우에는 이 파일을 사용하지 않아도 되고 필요하다면 삭제 가능. 이 파일이 존재하지 않는다면 그것은 r command들을 사용하더라도 큰 문제 없음. [/etc/hosts.equiv 파일을 가지고 있어야만 한다면] 1) 최소한의 신뢰된 호스트의 목록만을 유지하는지 확인. 2) NIS 혹은 NIS+를 사용한다면 좀 더 관리에 쉬운 네트웍 그룹을 사 용. 3) 관리하에 있거나 도메인 내부의 호스트들만을 허가해야 함. 4) salsari.org 와 같은 완벽하게 사용되어지는 호스트 네임 들을 사용 하는지 확인 5) 시스템을 access하는 유저의 허용때문에 파일 어느 곳에도 + 를 가 지지 않도록 주의 6) 이 파일에서는 주석을 위한 어느 문자도 지원하지 않으므로! 혹은 # 를 사용하지 않도록 주의. 7) 파일의 퍼미션이 600으로 셋팅되어 있는지 확인 8) 파일의 소유자가 root 인지 확인 9) O/S 인스톨이나 패치 후에는 꼭 체크 점검분류 항목 파일및 디렉토리 관리 위험도 상 분류번호 U-29 세부점검 항목 접속 IP 및 포트 제한 대상 UNIX 원격지에서 서버를 관리하려면 안전하고 통제가 가능한 접속 방법을 찾는 것이 중요한데, TCP Wrapper 프로토콜이 사용됨. TCP Wrapper 는 암호화는 지원하지 않지만 서버와 로그로의 외부 접 근을 제한 할 수 있는 특징이 있음. TCP Wrapper 에는 2가지 권고사항이 존재 하며 시행해야 함. 1. 시스템 이름이나 도메인 이름을 사용하지 말고 IP 주소를 사용 2. etc/hosts.deny 을 deny ALL 설정한 후 접속을 허용할 주소만 /etc/hosts.allow 파일에 기록. 불법적인 시스템 접근 및 스니핑 공격 우려. [UNIX/LINUX/Solaris 10] 1.#/etc/hosts.allow 명령어로 확인 2.#etc/hosts.deny 명령어로 확인. 중기적용 [기준] 양호 - 서버로 접속하는 접속 IP 를 설정했을 경우. 취약 - 서버로 접속하는 접속 IP 를 설정을 하지 않았을 경우. [조치사항] 1..#/etc/hosts.allow <예문> in.telnetd :192.168.100.100, 192.168.100.101 (192.168.100.100 와 192.168.100.101 IP에 대해서 telnet 접속 허용) in.telnetd :192.168.100 (192.168.100.0 ~ 255 네트워크에 대해서 telnet 접속 허용) in.ftpd :192.168.100.100 (192.168.100.100 에 대해서 ftp 접속을 허용) 2.#etc/hosts.deny <예문> ALL:ALL (inetd 서비스의 모든 서비스에 대해 접속 거부) 허용되지 않은 IP는 접속 불가 - 33 - - 34 -
점검분류 항목 파일및 디렉토리 관리 위험도 하 분류번호 U-30 세부점검 항목 host.lpd 파일 소유자 및 권한 설정 대상 UNIX /etc/host.lpd 파일의 퍼미션을 600로 설정하여 일반 사용자가 접근 할 수 있다면 이 파일을 가지고 host 파일에 접근하여 snoof 공격을 할 수 있으므로 /etc/host.lpd 파일의 소유자와 퍼미션 설정이 중요함. 외부에서 IP 스푸핑 공격 위험이 있음. # ls -l /etc/hosts.lpd 명령으로 확인 lrwxrwxrwx 1 root root 9 Sep 2 22:57 /etc/hosts.lpd -> /dev/null 1 2 1 파일 소유권자 퍼미션, 소유그룹퍼미션, 일반사용자 퍼미션 2 파일 소유자 양호 - 파일 퍼미션 600, 소유자 root 취약 - 위와 동일한 퍼미션과 소유자가 아닐때 점검분류 항목 파일및 디렉토리 관리 위험도 중 분류번호 U-31 세부점검 항목 NIS 서비스 비활성화 대상 UNIX 네트워크 정보 서비스(Network Information service, 예전의 YP)는 그룹 의 컴퓨터들에 정보를 배포하는 한 가지 방식이다. NIS 주 서버는 정보 표를 소유하며 그것들을 NIS 대응 (map) 파일들로 변환한다. 이 대응 파일들이 네트워크를 통해 제공됨으로써 NIS 클라이언트 컴퓨터들은 로그인과 패스워드, 홈 디렉토리와 쉘에 대한 정보 (즉 보통의 /etc/passwd 파일에 들어 있는 모든 정보)를 얻을 수 있게 된다. NIS를 이용하면 사용자들은 패스워드를 한 번만 바꾸면 그 NIS 영역에 들어 있는 모든 컴퓨터에 (정보가 갱신되도록) 할 수 있다. NIS는 안전한 것이 아니다. 원래부터 안전을 염두에 두고 만든 것이 아 니었다. 단지 간편하고 쓸모 있는 작업 역할을 위해서 만든 것뿐이다. (네트워크 상 어디에 있건) 여러분의 NIS 도메인의 이름을 알아맞힐 수 있는 사람은 여러분의 passwd 파일 복사본을 얻을 수 있고, 여러분의 사용자 패스워드를 깨기 위해 "크랙 (Crack)"과 "존 더 립퍼 (John the ripper)"를 쓸 수 있게 된다. NIS를 속여서 (spoof) 온갖 지저분한 일을 하게 할 수도 있다. 꼭 NIS를 써야 갰다면, 이런 위험들을 감수해야 한다. 서버 정보 유출 위험 # ps -ef grep yp NIS 서버가 실행되는지 확인 [Solaris] 파일의 퍼미션을 바꾸어 줌. # chmod 600 /etc/host.lpd 소유자를 root로 바꾸어 줌. # chown root /etc/host.lpd 양호 - 불필요해 서비스를 비활성화 한 경우 취약 - 불필요하지만 서비스를 활성화 한 경우 NIS 서비스가 필요하지 않다면 비활성화 필요 # /usr/lib/netsvc/yp/ypstop -> NIS 서비스 정지 # ps -ef grep yp -> 서비스 확인. # rm -r /var/yp/blue.org # rm /etc/ethers /etc/netgroup /etc/timezone /etc/bootparams # vi /etc/nsswitch.conf NIS 설정 삭제 - 35 - - 36 -
점검분류 항목 파일및 디렉토리 관리 위험도 중 분류번호 U-32 세부점검 항목 UMASK 설정 관리 대상 UNIX Umask 는 unix에서 파일/ 디렉토리 생성시 기본적으로 부여하는 권한 설정이며, unix 의 파일 권한은 rwxrwxrwx 형태로 표현되며, on/off 는 1/0으로 표현 이 됨. 기본적으로 rwxr-xr-x 권한을 가진 파일 이라면 chmod 는 이를 755 로 표현하며 umask 는 022로 표현을 해야함. 만약에 umask 값을 임의로 지정한다면 chmod 값도 바뀌기 때문에 설정시에 폴더에 접근이 불가 할 수 있음. umask 값이 022 값으로 주어지지 않으면 파일 접근이 안될 가능성이 있음. 다음 명령어로 현재 값 알아봄 #umask 양호 - 마스크값 022 취약 - 그 외의 값 #/home/oracle> ls -lad 1 drwxr-xr-x 2 oracle oinstall 4096 Feb 28 10:52 1 #/home/oracle> cd 1 #/home/oracle/1> touch 1 #/home/oracle/1> ls -la total 20 drwxr-xr-x 2 oracle oinstall 4096 Feb 28 10:52. drwxr-xr-x 18 oracle dba 4096 Feb 28 10:52.. -rw-r--r-- 1 oracle oinstall 0 Feb 28 10:52 1 위 결과를 보면 디렉토리에 대해서는 umask 설정이 그대로 적용되었 지만 파일에 대해서는 execute 권한이 빠져있는 걸 확인할 수 있다.. 마스크의 값을 바꾸어 줌. #umask 022 * umask 122 로 지정되었을 경우 #/home/oracle> mkdir 1 #/home/oracle> cd 1 #/Permission denied #/home/oracle> ls -lad 1 drw-r-xr-x 2 oracle oinstall 4096 Feb 28 10:46 1 #/home/oracle> chmod 755 1 #/home/oracle> cd 1 umask 1 과 같이 값을 줄 수 없다는 것을 알 수 있음. umask 값을 022 로 원복해서 directory / file 에 대해 권한할당 정보를 확인해 보겠다. #/home/oracle> mkdir 1-37 - - 38 -
점검분류 항목 파일및 디렉토리 관리 위험도 중 분류번호 U-33 세부점검 항목 홈 디렉토리 소유자 및 권한 설정 대상 UNIX 사용자 홈 디렉토리는 사용자가 로그인후 작업을 하는 디렉토리임. 또 한 사용자 홈 디렉토리에는 사용자 환경설정을 위한 파일이 들어있어 로그인후 사용자의 환경은 이 환경설정파일에 의해 설정됨. 홈 디렉토리의 소유자가 /etc/passwd 내에 등록된 홈 디렉토리 사용자 와 일치하지 않으면 해당 사용자 로그인시 사용자의 홈 디렉토리로 접 근이 되지 않을 수 있음. 또한 사용자 홈 디렉토리 내의 파일에 대한 접근 권한관리를 해당 사용자가 할 수 없게 되므로 소유자를 확인해야 함.사용자 환경 파일내에 등록되어 있는 umask 값이 사용자이외에 쓰 기 가능하도록 설정 되었을 경우 그룹이나 타 사용자에 의해 파일변경 가능성이 있음. 접근 권한 관리를 사용할 수 없음. # ls -l 명령으로 확인 -rwsr-xr-x 1 root root 1 2 14112 1월 16 2001 /bin/su 1 파일 소유권자 퍼미션, 소유그룹퍼미션, 일반사용자 퍼미션 2 파일 소유자 Directory Mode가 아닌 home directory가 존재하는지 점검 타 사용자에게 Trl 권한이 설정된 home directory가 존재하는지 점검 home directory가 존재하지 않는 사용자 계정이 존재하는지 점검 home directory의 소유자가 /etc/passwd file에 등록된 사용자와 일치 하는지 점검. 양호 - /etc/passwd 에 나와 있는 홈디렉토리 존재 취약 - /etc/passwd 에 나와 있는 홈디렉토리 미 존재 파일의 퍼미션을 바꾸어 줌. # chmod 711 /home 소유자를 로 바꾸어 줌. # chownd root /home 홈 디렉토리의 소유자를 /etc/passwd에 등록된 홈디렉토리의 사용자로 변경. #chown "/etc/passwd에 등록된 홈 디렉토리의 사용자" "홈 디렉토리 경로". 점검분류 항목 세부점검 항목 파일및 디렉토리 위험도 중 분류번호 U-34 관리 홈 디렉토리로 지정한 디렉토리의 존재 대상 UNIX 관리 사용자 홈 디렉토리는 사용자가 로그인후 작업을 하는 디렉토리임. 또 한 사용자 홈 디렉토리에는 사용자 환경설정을 위한 파일이 들어있어 로그인후 사용자의 환경은 이 환경설정파일에 의해 설정됨. 1. 홈 디렉토리가 존재하지 않는 경우, root계정이 아닌 일반사용자의 홈 디렉토리가 /로 되어있을 경우 로그인을 하면 사용자의 현재디렉토 리가 /로 로그인 되므로 관리,보안상 문제가 발생됨 2. 홈 디렉토리내에 숨겨진 디렉토리가 존재하는 경우 정당하지 못한 사용자가 파일을 숨길 목적으로 만들어놓은 것일 수 있음. 3. 사용자 홈 디렉토리내에 시스템 명령의 이름을 가진 불법적인 실행 파일이 존재하고 상대경로를 입력하여 시스템 명령을 수행하면 이 불 법적인 실행파일이 수행되어 원하지 않는 일을 수행할 수 있음. 내부의 관리. 보안상 문제 발생. 불법실행파일 실행 #cat /etc/passwd test:x:1232:1232::/home/test:/bin/bash 분을 확인 할 수 있음. -> /home/test 홈디렉토리 부 양호 - 홈 디렉토리에 지정한 디렉토리가 있는지 확인하고, 불법적인 거나 의심스러운 디렉토리가 있을 경우 삭제 했을 경우 취약 - 홈 디렉토리에 지정한 디렉토리에 이상 유무를 확인하지 않았 을 경우 * /etc/passwd에 사용자 홈 디렉토리를 설정하거나 수정 함. 홈 디렉토리 수정시 #vi /etc/passwd 분 rara:x:1232:1232::/home/test:/bin/bash -> /home/test 홈디렉토리 부 rara:x:1232:1232::/data:bin/bash -> 홈디렉토리 /data 로 수정 - 39 - - 40 -
* 숨겨진 디렉토리가 정당하지 못한 사용자에 의해서 생성된 것인지 확인. * 사용자 홈 디렉토리 내에 의심스러운 실행파일(시스템 명령의 이름을 가진 실행파일 등)이 존재하면 해당 파일이 정당한사용자에 의해서 생 성된 것인지 확인하고 필요 없는 파일이면 삭제. 점검분류 항목 파일및 디렉토리 관리 위험도 하 분류번호 U-35 세부점검 항목 숨겨진 파일 및 디렉토리 검색 및 제거 대상 UNIX 기본적으로 파일들을 검색할 때 ls 명령어를 이용하여 파일들을 검색하 는데, 이때 숨은 파일은 출력되지 않는다. 숨은 파일들은 기본적으로 [-a] 명령어를 이용하여 검색하여 파일이름이.으로 시작하는 숨은 파일 들의 리스트를 볼 수 있음. 보통 ls 명령어로 파일을 검색 할 경우가 많기 때문에 디렉토리 내에 존재하는 불필요한 파일이나 의심 가는 파 일이 있을 경우 삭제해야 함. 불법적인 파일로 인한 파일임의 변경. 정보 습득. # ls -a 명령어로 불필요한 파일이 있는지를 확인 중기적용 [기준] 양호 - 디렉토리 내에 숨겨진 파일을 확인 및 검색 하여, 불필요한 파 일 존재 경우 삭제 했을 경우 취약 - 디렉토리 내에 숨겨진 파일을 확인하지 않고, 불필요한 파일 방 치 했을 경우 [조치사항] # ls -al 해당디렉토리 1. 숨겨진 파일 목록에서 불필요한 파일이 있으면 삭제 2. 마지막으로 변경된 시간에 따라, 최근 작업한 파일들을 알고 싶으면 [-t] 플래그를 사용. 일반적인 영향 없음 - 41 - - 42 -
점검분류 항목 서비스 관리 위험도 상 분류번호 U-36 세부점검 항목 finger 서비스 비활성화 대상 UNIX 점검분류 항목 서비스 관리 위험도 상 분류번호 U-37 세부점검 항목 Anonymous FTP 비활성화 대상 UNIX finger(사용자정보 확인 서비스)를 통해서 네트워크 외부에서 해당 ip를 사용하는 사용자의 개인 정보 등을 확인할 수도 있으므로, 사용하지 않 는다면 비활성화 시켜야 함. 익명 ftp 서비스(anonymous ftp)는 익명 ftp를 사용하는 접근제한을 설 정하지 않으므로 익명 ftp 사용자가 서비스 사용 중 필요이상의 권한을 갖는 것을 막아야 함. 사용자 접속 상태를 원격에서 알 수 있음 관리자의 IP가 노출되어 IP 도용 공격의 대상이 될 수 있음 익명 ftp 서비스만을 제공해야하므로 익명 ftp 계정으로 로그인이 가능 하지 못하게 하여야함. ftp 서비스를 위해서 ~ftp에 생성되는 모든 파 1. /etc/inetd.conf 에서 Finger 서비스가 주석처리 되었는지 확인. 일은 root 소유이고 root외의 사용자가 쓰기권한을 가지도록 설정되면 안됨. 그렇지 않으면 익명 ftp 서비스 사용자에 의해서 익명 ftp생성에 단기적용 관계된 파일이 수정될 수 있어 권한도용에 사용 가능하게 되기 때문임. 공격자가 서버로 접근하여 임의 파일 변경, 삭제 할 수 있음. 양호 - Finger 서비스를 비활성화 했을 경우. 취약 - Finger 서비스를 활성화 시켰을 경우. 1. etc/vsftpd/vsftpd.conf에서 anonymous_enable = No 인지 확인해야 함. 1. /etc/inetd.conf에서 Finger 서비스에 주석처리(#) 를 하여 해당 서비 중기적용 스를 비활성 화 시켜 놓는다. 양호 - Anonymous FTP (익명 ftp) 를 비활성화 시켰을 경우 취약 - Anonymous FTP (익명 ftp) 를 활성화 시켰을 경우 # vi etc/vsftpd/vsftpd.conf anonymous_enalble = No * 익명접속을 허용할 것인가 않을 것인가 를 결정할 때 기본 값은 YES 로 되어 있으므로 NO 로 설정해야 함. - 43 - - 44 -
점검분류 항목 서비스 관리 위험도 상 분류번호 U-38 세부점검 항목 r 계열 서비스 비활성화 대상 UNIX rlogin, rsh, rcp 는 패스워드를 입력하지 않고 원격서버로 신뢰받는 원 격로그인을 하기 위한 명령어 이다. 참고로 이와 같이 원격에서 수행 되는 명령어들을 원격명령어, r-commands라고 한다. 이들 명령어들이 모두 원격에서 신뢰된 로그인 또는 접근을 할 수 있 기 위해서는 접근할 원격서버의 /etc/hosts.equiv 또는 홈디렉토리 내에 있는.rhosts파일의 접근허용설정이 있어야 정상적인 수행이 됨. 따라서 rlogin과 함께 rsh, rcp등의 명령어 사용시에는 /etc/hosts.equiv, 그리고 홈디렉토리 내에 있는.rhosts파일의 설정을 확인해야 함.. 또한 이들 명령어들은 모두 원격에서 패스워드 인증과정 없이 바로 실 행이 될 수 있기 때문에 서버자체의 보안문제도 심각하게 고려해야 됨. r-romand 계열의 보안상 취약점 발생. # cd /etc/xinetd.d] # cat rlogin or rsh disable 상태 확인. } # cd /etc/xinetd.d] # vi rlogin -------- 생략 { socket_type wait user log_on_success log_on_failure server disable 바꿈 } = stream = no = root += USERID += USERID = /usr/sbin/in.rshd = no <== 비활성화를 활성화로 중기 적용 일반적인 영향 없음 양호 - r 계열 서비스 비활성화인 경우 취약 - r 계열 서비스 활성화인 경우 # cd /etc/xinetd.d] # vi rlogin ---------- 생략 { socket_type wait user log_on_success log_on_failure server disable 바꿈 = stream = no = root += USERID += USERID = /usr/sbin/in.rlogind = no <== 비활성화를 활성화로 - 45 - - 46 -
점검분류 항목 서비스 관리 위험도 상 분류번호 U-39 세부점검 항목 cron 파일 소유자 및 권한설정 대상 UNIX 점검분류 항목 서비스 관리 위험도 상 분류번호 U-40 세부점검 항목 Dos 공격에 취약한 서비스 비활성화 대상 UNIX crontab은 멀티 시스템 환경하의 규칙적인 작업에 주로 사용된다. 그리 고 /var/spool/cron/crontabs 디렉토리 밑의 파일에 유저별로 작업 내용 이 저장된다. 데몬은 /etc/cron.d/cron.allow 와 /etc/cron.d/cron.deny 파일들에 의해 엑세스 컨트롤 됨. 침입자는 보통 cron과 at 명령으로 수행되는 파일들에 백도어 프로그 램을 남겨둔다. 그러므로 이러한 프로그램으로 수행되는 파일들은 쓰기 금지로 설정해야함. Dos (서비스 거부 공격) 공격에 취약한 echo, discard, daytime, chargen 은 취약점이 많이 때문에 서비스를 비활성화 하는 것이 좋음. - cron을 허용하는 계정의 목록은 cron.allow 파일 - cron을 허용하지 않는 계정의 목록 cron.deny 파일 echo, discard, daytime, chargen은 DoS(서비스 거부 공격)에 악용될 수 있다. - 만약 cron.allow 파일이 존재하면 cron.deny 파일은 유효성이 없음. cron. deny 파일은 그 안에 포함된 계정으로 하여금 cron 명령을 수행 하지 못하도록 한다 불법적인 예약 파일 실행으로 시스템 피해 1. /ect/inted.conf 를 하여 해당 활성화가 되어 있는지 확인. # ls -l 명령으로 확인 -rw-r--r-- 1 root sys -rw-r--r-- 1 root sys 1 2 14112 1월 16 2001 cron.allow 14112 1월 16 2001 cron.deny 양호 - DoS 공격에 취약한 echo, discard, daytime, chargen 서비스 를 사용하지 않았을 경우 1 파일 소유권자 퍼미션, 소유그룹퍼미션, 일반사용자 퍼미션 2 파일 소유자 양호 - 파일권한이 640 미만 취약 - DoS 공격에 취약한 DoS공격에 취약한 echo, discard, daytime, chargen를 설정했을 경우 [조치사항] 취약 - 파일권한이 640 이상 1. /etc/services 와 /etc/inted 에 해당 서비스에 접속함. 2. 해당 discard, daytime, chargen 목록이 있는 것을 확인 할 수 있 파일의 퍼미션을 바꾸어 줌. # chmod 640 cron.allow # chmod 640 cron.deny 소유자는 root # chown root cron.allow 음. 3. 해당 서비스 앞에 # 주석처리를 하여 비활성 시킴. 3. inted를 끊고(hang up) 재시동시키면 inted.conf 파일을 읽은 뒤, 보다 접근이 제한된 상태로 남아 있음. # chown root cron.deny - 47 - - 48 -
점검분류 항목 서비스 관리 위험도 상 분류번호 U-41 세부점검 항목 NFS 서비스 비활성화 대상 UNIX NFS와 NIS(Network Information Service) 같은 패키지를 이용하면 원격 컴퓨터의 파일시스템을 로컬 시스템에 마운트하여, 마치 로컬 파일시스 템 처럼 사용할 수 있게됨. 따라서 NFS를 사용하려면 접근제한을 설정 해야 하고 만일 사용하지 않는다면 반드시 제거해야 하며, 사용하지 않 는 서비스 NFS를 시스템에서 제거하기 위해서는 /etc/dfs/dfstab의 모 든 공유를 제거하고 NFS 데몬 nfsd, statd, mountd을 중지, 시동` 스크 립트를 삭제하거나, 이름을 변경해서 시스템 부팅 시에 실행되지 않도 록 설정해야한다. # cd /etc/rc3.d # mv S15nfs.server s15nfs.server # cd /etc/rc2.d # mv S73nfs.client s73.nfs.client 로컬 시스템 침입 할 가능성이 있음. # ps -ef grep mountd 명령어로 확인 # ps -ef grep nfs 명령어로 확인 # ps -ef grep statd 명령어로 확인 중기 적용 양호 - 사용하지 않는 NFS를 시스템에서 제거 했을 경우 취약 - 사용하지 않는 NFS를 방치 했을 경우 [ 조치사항 ] # ps -ef grep mountd root 163 1 0 Sep 27? 0:04 /usr/lib/autofs/automountd root 3234 3156 1 02:08:22 pts/4 0:00 grep mountd # kill -9 163 # ps -ef grep nfs root 146 1 0 Sep 27? 0:16 /usr/lib/nfs/nfs root 3236 3156 1 02:08:28 pts/4 0:00 grep nfs # kill -9 146 # ps -ef grep statd root 147 1 0 Sep 27? 0:16 /usr/lib/nfs/statd root 3242 3156 1 02:09:31 pts/4 0:00 grep statd # kill -9 147-49 - - 50 -
점검분류 항목 서비스 관리 위험도 상 분류번호 U-42 세부점검 항목 NFS 접근통제 대상 UNIX NFS와 NIS(Network Information Service) 같은 패키지를 이용하면 원격 컴퓨터의 파일시스템을 로컬 시스템에 마운트하여, 마치 로컬 파일시스 템 처럼 사용할 수 있게 됨. 따라서 NFS를 사용하려면 접근제한을 설 정해야 하고 만일 사용하지 않는다면 반드시 제거해야 하며, 사용하지 않는 서비스 NFS를 시스템에서 제거하기 위해서는 /etc/dfs/dfstab의 모든 공유를 제거하고 NFS 데몬 nfsd, statd, mountd을 중지, 시동 스 크립트를 삭제하거나, 이름을 변경해서 시스템 부팅 시에 실행되지 않 도록 설정해야한다. 만일 사용한다면 /etc/dfs/dfstab에 공유할 디렉토 리를 설정하기 때문에 NFS 설정 파일에 대한 접근 권한을 점검해야 한 다. 그리고 /etc/dfs/dfstab 에 공유할 디렉토리 설정 시, 디렉토리 권한 (RO, RW) 를 고려해야 한다. 공유 디렉토리 자료 변경 가능 점검분류 항목 서비스 관리 위험도 상 분류번호 U-43 세부점검 항목 automountd 제거 대상 UNIX SUN 솔라리스 시스템의 automountd는 일반적으로 UDP나 TCP프로토 콜을 통해서 패킷을 받아들일 수 없지만 rpc.statd가 포워딩 해주는 TLI 프로토콜을 통해서는 패킷을 받아들일 수 있다. 공격자는 이를 이용해 자신이 실행시키고자 하는 명령어를 rpc.statd에 패킷형태로 보내 실행 시킬 수 있음. 공격자는 간단한 명령으로 공격 대상 원격 시스템의 rpc서비스 정보를 얻을 수 있고, rstatd 데몬의 실행 여부를 확인이 가능함 공격자는 rpc 서비스와 rstatd 데몬 실행 여부를 확인 할 수 있음 # cd /etc/dfs # cat dfstab 으로 공유 디렉토리 권한 확인 automountd 서비스 확인 # ps -ef grep auto root 186 1 0 9월 07? 0:00 /usr/lib/autofs/automountd 중기 적용 양호 - 공유 디렉토리 권한이 적절한 경우 취약 - 공유 디렉토리 권한이 부적절한 경우 양호 - automountd 를 제거 했을 경우 공유 디렉토리 권한 수정 share [-F fstype] [ -o options] [-d "<text>"] <pathname> [resource] 취약 - automountd 를 제거 하지 않았을 경우 1. share : 공유 시킴 2. -F nfs : 파일시스템형식 nfs 방식 3. -o ro : read only 권한 # ps -ef grep auto # /etc/init.d/autofs stop # mv /etc/rc2.d/sxxautofs /etc/rc2.d/sxxautofs -o rw : read write 권한 4. -d "공유시킬 디렉토리 - 51 - - 52 -
점검분류 항목 서비스 관리 위험도 상 분류번호 U-44 세부점검 항목 RPC 서비스 확인 대상 UNIX 점검분류 항목 서비스 관리 위험도 상 분류번호 U-45 세부점검 항목 NIS, NIS+ 점검 대상 UNIX 최근 들어 국내뿐만 아니라 국외에서도 RPC 서비스의 취약점을 이용한 공격 빈도가 급격히 증가하고 있으며 대부분의 경우 관리자의 권한을 획득하게 된다. 어떠한 곳은 하루 동안 50여 호스트(Solaris)가 침해당 하는 사례가 있을 만큼 현재도 많은 수의 관련사고가 발생하고 있음. 아래 나열되어 있는 서비스 목록은 원격 버퍼오버프로우 취약점 및 인 증을 거치지 않아 원격에서 시스템에 접속을 가능하게 해주는 서비스 로 취약점이 다수 존재하여 공격에 이용되는 것이 가능. NIS는 사용자의 정보 등을 여러 client가 NIS server로부터 받아서 사용 을 할 수가 있는데, 여러 시스템을 여러 사용자가 사용할 경우 NIS server에서만 관리를 할 수 있다는 강점을 갖고 있지만, 역시 사용자 정보보안에 문제점을 많이 내포하고 있음. NIS를 써야 한다면 NIS+를 쓰도록 하는 것이 좋다. NIS+는 보안에 대해 신경을 많이 사용한 제품 이며, 그리고, Sun의 Secure RPC를 사용하는 경우에 더 편리하게 사용 할 수 있으며, Secure RPC는 데이터의 인증을 강화하여 불법적으로 데 sadmind,rpc.rwalld,rpc.rusersd, rpc.cmsd, rpc.rexd, rquotad 이터가 유출되어도 알지 못하도록 함. rpc.ttdbserverd, rpc.rstatd,rpc.sprayd,shell,login,exec,talk,time discard,chargen,printer,uucp,echo,daytime,dtscpd,finger 불법적으로 데이터가 유출될 우려가 있음. 관리자의 권한을 획득 RPC 서비스 확인 # cat /etc/inetd.conf NIS+ 서비스 확인 # ps -ef grep nis rpc.nisd 중기 적용 중기 적용 양호 - RPC 서비스를 중지하거나, 최신 패치를 적용 시켰을 경우 취약 - RPC 서비스를 중지하지 않거나, 최신패치를 설치하지 않았을 경우 패치를 설치하거나 RPC 서비스를 제한한다. # vi /etc/inetd.conf 아래에 있는 서비스 제한 (# 주석처리) 양호 - NIS 보단 데이터 인증이 강회된 NIS+ 쓰면서 주기적으로 검사 했을 경우 취약 - 기본적인 NIS 를 사용하거나, 주기적으로 검사가 미흡했을 경우 NIS 가 필요하다면 NIS+ 로 구동 (/etc/rc2.d/s71rpc 스크립트에서 부팅 시 구동 됨) sadmind,rpc.rwalld,rpc.rusersd, rpc.cmsd, rpc.rexd, rquotad rpc.ttdbserverd, rpc.rstatd,rpc.sprayd,shell,login,exec,talk,time discard,chargen,printer,uucp,echo,daytime,dtscpd,finger 서비스 중지 시 시스템 운영에 영향 고려 - 53 - - 54 -
점검분류 항목 서비스 관리 위험도 상 분류번호 U-46 세부점검 항목 tftp, talk 서비스 비활성화 대상 UNIX 모든 불필요한 OS 시스템 서비스를 비활성화하는 것으로 보안을 높일 수 있음. UNIX와 Windows 플랫폼의 양쪽 모두가 다양한 운영체제 서 비스, 예를 들어 FTP, TFTP, TELNET, TALK 등의 서비스를 포함하고 있 고. 반드시 UDP와 TCP 포트의 양쪽을 닫고 이러한 서비스가 비활성화 되도록 해야 함. 어느 쪽이든 1개의 포트만을 비활성화한다고 해도 보 안성은 높아짐. 보안적 으로 취약해 질수 있음. tftp, talk 서비스 확인 # cat /etc/inetd.conf grep tftp # cat /etc/inetd.conf grep talk 점검분류 항목 서비스 관리 위험도 상 분류번호 U-47 세부점검 항목 Sendmail 버전 점검 대상 UNIX 원격으로 이용할 수 있는 취약점이 Sendmail에서 발견 되었음. 이 취 약점은 SMTP 헤더 분석(parsing) 구성 요소의 버퍼 오버플로우 상태 때문에 발생하며, 원격 침입자는 대상 SMTP 서버에 연결하고 서버에 손상된 SMTP 데이터를 전송하여 이 취약점을 이용할 수 있음. 수신 전자 메일 메시지를 처리할 때 발생. 주소가 유효함을 확인하는 작업 중 하나에 오류가 있으면 버퍼 오버플로우 상태가 되어, 침입자는 이 취약점을 사용하여 감염된 서버에 대한 기본 권한을 원격으로 얻을 수가 있음. sendmail 프로그램은 입력 검증 오류, 접근 검증 오류, 예외 조건 처리 오류, 환경변수오류 등 프로그램의 잘못된 구현으로 인한 취약점들이 \계속적으로 발견되고 있다. 이러한 취약점이 해커에게 노출될 경우 시스템의 중요한 정보가 유출되거나 시스템 전체가 허가되지 않은 사용자 혹은 외부 침입자에게 점령당할 수 있다. 오버플로우 에 취약함. 기본 권한을 원격으로 얻을 수 있음. sendmail 서비스 확인 # ps -ef grep sendmail root 522 1 0 9월 07? 0:00 /usr/lib/sendmail -bd -q15m 양호 - tftp, tallk 서비스를 비활성화 시켰을 경우 smmsp 520 1 0 9월 07? 0:00 /usr/lib/sendmail -Ac -q15m 취약 - tftp, talk 서비스를 활성화 시켰을 경우 sendmail 버전 확인 # echo \$Z /usr/lib/sendmail -bt -d0 [UNIX / LINUX] Version 8.12.5+Sun # vi /etc/inetd.conf 아레에 있는 서비스 제한 (# 주석처리) #talk dgram udp wait root /usr/sbin/in.talkd in.talkd #tftp dgram udp6 wait root /usr/sbin/in.tftpd in.tftpd 양호 - Sendmail 버전을 정기적으로 점검하고, 패치를 했을 경우 취약 - Sendmail 버전을 점검하지 않고, 패치도 안 했을 경우 sendmail 설치 및 업그레이드를 위해서는 현재 사용중인 sendmail 데 몬 중지 필요. 그러므로 담당자와 협의하여 업그레이드 고려 - 55 - - 56 -
sendmail 버전 확인. # echo \$Z /usr/sbin/sendmail -bt -d0 sendmail 업데이트 참조 http://www.sendmail.org/releases 업그레이드시 데몬 중지로 인한 sendmail 서비스 중 점검분류 항목 서비스 관리 위험도 상 분류번호 U-48 세부점검 항목 스팸 메일 릴레이 제한 대상 UNIX 메일서버 설치시 Anti-Spam 메일서버의 정확한 설치와 환경설정방법을 몰라 자사의 메일서버가 스팸 릴레이(Relay) 서버로 이용되는 불미스러 운 일이 발생하기도 함. 뿐만 아니라 국내 메일 서버들이 스팸메일 서 버로 오인되게끔 하여 메일 서버로서의 제 기능을 담당하지 못하도록 하는 일이 종종 발생하기도 함 메일 서버로서의 제 기능이 떨어짐 스팸 메일 릴레이 제한 확인 # cat /etc/mail/sendmail.cf 메일과 해당 수신 여부를 확인 할 수 있음 중기 적용 양호 - 스팸 메일 릴레이를 방지 설정을 했을 경우 취약 - 스팸 메일 릴레이를 방지 설정을 안했을 경우 1. sendmail 8.9.0부터는 기본적으로 메일 릴레이 기능을 제한하는 기능이 지원이 되며, 버전이 향상되면서 추가된 `Anti Spam`이 바로 그것인데, Access DB라는 새로운 데이터베이스의 도입으로 이것을 설정하여 특정 메일들을 받지 않을 수 있음. spam@jabra.com REJECT psp2.com REJECT antispam.com OK 110.242.120 RELAY 110.243.124 RELAY 설명 : jabra.com`의 아이디 `spam`으로 오는 메일과 `psp2`에서 오는 모든 메일을 수신 거부하고. antispam.com에서 오는 메일은 모두 받고, 110.242.120 과 110.243.124 네트워크의 IP 주소에 대하여는 릴레이를 허가함. 2. 여기서 설정된 사항은 /etc/mail/access란 이름의 access DB로 파일시스템에 저장되며, 파일구조는 텍스트 형식이고 sendmail이 참조할 수 없음 그래서 makemap이란 프로그램을 사용하여 sendmail이 인식할 수 있는 DB형태로 다음과 같이 변경해야 함. - 57 - - 58 -
.#/etc/mail/makemap dbm /etc/mail/access < /etc/mail/access access.dir과 access.pag라는 이름의 DB가 생성된 것을 볼 수 있음. 한가지 번거로운 점은 /etc/mail/access 파일을 수정할 때마다 makemap을 사용해서 DB를 새로 만들어 주어야 함. 점검분류 항목 서비스 관리 위험도 상 분류번호 U-49 세부점검 항목 일반사용자의 Sendmail 실행 방지 대상 UNIX 가장 일반적으로 사용되고 있는 간이 이메일 전송 프로토콜(SMTP) 서 버 소프트웨어로 인터넷 이메일 분배는 오랫동안 센드메일로만 처리되 어 왔기 때문에 SMTP 서버의 사실상의 표준으로 널리 사용되고 있다. 센드메일의 설정은 복잡하고 이해하기가 어렵기 때문에 일반 이용자는 취급하기가 어렵다. 메일 큐 처리 명령은 일반 사용자에게 꼭 필요한 기능이 아니므로 다음과 같은 방법으로 실행권한을 루트 권한으로 제 한한다. 권한 없는 일반사용자의 sendmail 설정 # cat /etc/mail/sendmail.cf 양호 - 일반사용자의 sendmail 실행 방지가 설정되어 있는 경우 취약 - 일반사용자의 sendmail 실행 방지가 설정되어 있지 않은 경우 SMTP 서비스 운영시 일반사용자의 q 옵션을 사용한 sendmail 실행 방 지 # vi /etc/mail/sendmail.cf O PrivacyOptions=authwarnings,novrfy,noexpn,restrictqrun 변경 #/etc/rc.d/init.d/sendmail restart 재시작한다. 위와 같이 설정한 후에 는 다음과 같은 경고 메시지를 보내며, 처리가 제한된다. $ sendmail -q You do not have permission to process the queue - 59 - - 60 -
점검분류 항목 서비스 관리 위험도 상 분류번호 U-50 세부점검 항목 DNS 보안 버전 패치 대상 UNIX DNS 보안 에 관하여 소홀 했거나 패치를 하지 않는 다면 DNS의 Cach Poisoning 취약점에 취약해 질 수 있음. 공격자는 취약한 DNS 를 사용 하는 시스템에 조작된 DNS 쿼리를 전송하여 캐쉬의 정보를 변경, 정상 적인 사이트에 접속 시 다른 사이트의 ip 를 변조 하는 방법을 사용함. 공격자는 조작된 DNS 쿼리를 다량으로 전달하여 DNS 캐쉬서버의 내 용을 임의로 변경할 수 있고, 악성코드가 설치된 임의의 주소 등으로 변경이 가능하기 때문에 DNS 보안에 대해서 많은 신경을 써야함. DNS 를 이용한 다양한 공격에 취약. 취약점 확인 방법 - 다음 명령 실행 $dig @localhost +short porttest.dns-oarc.net TXT 또는 $dig @해당서버IP +short porttest.dns-oarc.net TXT 조회. - 업그레이드 캐시 DNS 서버로 사용되는 시스템을 운영 중이라면, 패치가 된 버전으 로 업그레이드 합니다. 패치버전: BIND 9.3.5-p1, BIND 9.4.2-p1, BIND 9.5.0-p1 - 업그레이드 외에 recursive query 제한 $ vi /etc/named.conf acl xxx { 127.0.0.1; 해당서버IP; }; options { version "unknown";... allow-recursion { xxx; }; }; - 취약한 경우 응답 내용 확인 porttest.y.x.w.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.pt.dns-oarc.net. "해당서버IP is POOR: 26 queries in 3.6 seconds from 1 ports with std dev 0" - 취약하지 않은 경우 DNS 확인 내용 확인 z.y.x.w.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.pt.dns-oarc.net. "IP-of-GOOD is GOOD: 26 queries in 2.0 seconds from 26 ports with std dev 17685.51" 중기 적용 양호 - DNS 보안 패치를 최신 버전으로 유지 하고 점검 했을 경우 취약 - DNS 보안 패치를 구 버전으로 설정하거나, 점검이 미흡 했을 경우 * 패치 방법 - 61 - - 62 -
점검분류 항목 서비스 관리 위험도 상 분류번호 U-51 세부점검 항목 DNS Zone Transfer 설정 대상 UNIX 네임서버 간에는 Secondary NS 측에 의하여 Primary NS측 도메인의 Zone에 대한 복사본을 얻기위해, Zone 데이터베이스를 끌어오는 Zone Transfer작업이 주기적으로 이루어지게 된다. 하지만 이 Zone Transfer를 무제한으로 허용할 경우에는 내부 네트웍의 정보가 필요이상으로 외부 에 유출되는 결과가 되므로 Primary NS측 입장에서 Zone Transfer를 오 직 한 호스트로부터만 접근 가능 하도록 DNS 구성을 변경설정 하여야 함 외부로 정보가 유출 될 우려가 있음. named.conf 파일에서 권고사항에 나와 있는 바와 같이 Secondary Name Server 로만 Zone Transfer 를 할 수 있도록 설정되어 있는지 점검 # cat /etc/named.conf 양호 - DNS ZoneTransfer 를 허가된 사용자에게 허용 했을 경우 취약 - DNS ZoneTransfer 를 허가되지 않은 사용자에게 허용 했을 경 우 DNS서버를 디폴트로 설치할 경우 임의의 사용자가 Zone Transfer를 할 수 있도록 설정되며, BIND-8 버전의 경우 named.conf 설정파일에서 Zone 데이터를 획득할 수있는 시스템을 제한할 수 있음. Primary Name Server에서는 다음과 같이 Zone Transfer를 허용하는 서버를 지정 Options { allow-transfer{10.10.10.111; 10.10.10.112;}; }; 특정 도메인의 Zone에 대해서 제한할 경우에는 다음과 같이 설정할 수 있음. Type master ; File "db.xxx.co.kr"; allow-transfer{10.10.10.111; 10.10.10.112;}; } Secondary Server에서는 다음과 같이 설정하여 Zone 데이터 유출을 허용하지 않아야 함. allow-transfer{none; } 외부공격자로부터 address spoofing 공격을 당하지 않도록 관리하고 있는 DNS를 다음과 같이 설정 1. 우선 클라이언트에 DNS 서비스를 제공하지 않는 DNS라면 다음과 같이 recursion 모드를 해지 options { recursion no; } 2. 클라이언트에게 DNS 서비스를 제공해야 하는 경우 DNS 서버가 받아 들일 수 있는 요청을 제한할 수 있도록 설정한다. 즉, 특정 주소로 부터 온 질의에 대해서만 DNS 서버가 응답하도록 설정하거나, 특정 Zone에 대한 요청에만 응답하도록 설정한다. 일반적으로 DNS 서버가 관리하는 Zone에 대한 요청은 외부나 내부 모두에게서 발생할 수 있으며, DNS 서버가 관리하지 않는 Zone에 대해서는 내부에서만 발생되게 된다. 이는 다음과 같이 allow-query를 사용하여 제한할 수 있게 함. acl internal { 10.10.10.176/24; }; options { directory "/var/named"; allow-query { internal; }; }; zone "xxx.co.kr" { Zone "xxx.co.kr" { - 63 - - 64 -
점검분류 항목 서비스 관리 위험도 상 분류번호 U-52 세부점검 항목 Apache 디렉토리 리스팅 제거 대상 UNIX 디렉터리 검색은 디렉터리에 대한 요청시 그 디렉터리에 기본 문서가 존재하지 않을 경우 디렉터리 내에 존재하는 모든 파일들의 목록을 보 여주는 것임. 디렉터리 검색이 허용되면 외부에서 디렉터리 내의 모든 파일들에 대한 접근이 가능하여 백업 파일이나 소스 파일 등 공개되어서는 안되는 중 요한 파일들이 노출될 수 있음. 아파치에서 따로 리스팅이 방지 되도록 설정 해야 함. Allow from all </Directory> Options에서 Indexes 부분만 삭제하여 주면, 디렉토리가 리스팅되지 않 음. 외부로 정보가 유출 될 수 있음. apache 디렉토리 리스팅 확인 # cati httpd.conf Options 부분에 Indexes 확인 중기 적용 양호 - 디렉토리 리스팅을 제거하거나 방지 해주었을 경우 취약 - 디렉토리 레스팅이 계속 실행 되었을 경우 아파치 설치후, 웹에서 엑세스 가능한 디렉토리에 접근했을때,Directory Indexes 지시자에 의하여 지정된 Index 파일이 존재하지 않는다면, 디 렉토리를 리스팅 하는 경우가 있음. # vi httpd.conf <Directory "/usr/local/apache2/htdocs"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny - 65 - - 66 -
점검분류 항목 서비스 관리 위험도 상 분류번호 U-53 세부점검 항목 Apache 웹 프로세스 권한 제한 대상 UNIX 확인할 수 있다. 일반 사용자들이 웹 브라우져를 이용해서 웹 서비스를 받을 경우 nobody 권한의 httpd 데몬과 연결을 맺게 된다. Apache 웹서버 운영시에 위험을 최소화하기 위해서 웹서버 애플리케이 션만을 위한 하나의 유일하고 관리자 권한이 아닌 최소 권한의 사용자 ID와 그룹을 생성하는 것이 안전하다. 대부분의 경우에 이러한 목적을 위해 사용자 ID와 그룹으로 nobody" 를 사용한다. 물론 웹서버를 위해 nobody가 아닌 다른 root 권한 이외의 사용자 ID 와 그룹을 생성해도 무방하다. 웹서버를 위해 생성된 root가 아닌 계정은 인터렉티브한 로그 인을 허락해서는 안 된다. 즉 이 계정을 통해서 사용자가 로그인할 수 없도록 해야 한다. 패스워드 파일에서 Apache를 위한 사용자 계정 (nobody)이 locked되어 로그인할 수 없는지 확인한다. 웹 프로세서의 관리자 권한을 획득하여 임의의 명령어와 파일 수정. 웹서버 프로세스 소유자 확인 # ps -ef grep http nobody 453 1 0 9월 07? 2:31 /usr/local/apache/bin/httpd nobody 465 1 0 9월 07? 30:37 /usr/local/apache/bin/httpd 양호 - 웹 프로세스 권한을 제한 했을 경우 취약 - 웹 프로세스 권한을 제한 하지 않았을 경우 Ap ache 서버가 초기설정될 때, 로그 파일을 열고, 웹서버 데몬을 구동 하고, 적당한 TCP 포트(일반적으로 80 포트)를 열기 위해 root 권한이 필요하다. 일단 초기 구동단계가 완료되면 웹서버 데몬은 root가 아닌 이미 사전에 생성한 사용자 ID와 그룹(nobody)으로 전환한다. 웹서버 데몬(http d)이 root로 구동된 후 다른 사용자로 변환할 때 사용 할 사용자와 그룹은 httpd.conf 파일에서 지정해 줄 수 있다. 일반적으로 nobody를 사용할 경우 다음과 같다. User nobody Group nobody 위의 설정으로 구동된 웹서비스 프로세스들은 초기 구동된 httpd 데몬 1개만이 root 권한이고 나머지는 nobody 권한으로 띄워져 있는 것을 - 67 - - 68 -
점검분류 항목 서비스 관리 위험도 상 분류번호 U-54 세부점검 항목 Apache 상위 디렉토리 접근 금지 대상 UNIX 상위패스로 이동하는 것이 가능할 때 하위경로에 접속하여 상위로 이 동함으로써 해킹을 당할 위험이 있으며, Unicode 버그 및 서비스 거부 공격에 이용당하기 쉬우므로 되도록이면 ".." 와 같은 상위 경로를 사용 하지 못하도록 설정하는 것이 바람직함. ".." 는 unicode 버그, 서비스 거부와 같은 공격에 쉽게 이용되므로 허용 하지 않는 것을 권장함. 패스워드 파일에 등록된 모든 사용자들이 접근할 수 있도록 하기 임의 명령어 실행, 임의의 파일 수정, 시스템 관리자 권한 획득. 위해서는 사용자를 지정하는 대신 Require valid-user "라고 하면 된다. # cd / usr/local/www # cat httpd.conf # vi.htaccess <Directory "/usr/local/www"> AllowOverride AuthConfig AuthType Basic AuthName "Welcome" </Directory> AuthUserFile /usr/local/apache/passwords Require valid-user 중기 적용 양호 - 상위 디렉토리에 이동제한을 설정 했을 경우 취약 - 상위 디렉토리에 이동제한을 설정 하지 않았을 경우 먼저 각 디렉토리별로 사용자 인증을 하기 위해서 httpd.conf 파일 내의 AllowOverride 지시자의 옵션을 None에서 AuthConfig 또는 All로 바꾼다.(사용자 인증만을 위해서는 AuthConfig 사용을 권고) <Directory "/usr/local/www"> AllowOverride AuthConfig </Directory> 그리고, 사용자 인증이 필요한 디렉토리에 다음의 지시자들이 포함된.htaccess 파일 을 생성한다. - 69 - - 70 -
점검분류 항목 서비스 관리 위험도 상 분류번호 U-55 세부점검 항목 Apache 불필요한 파일 제거 대상 UNIX 점검분류 항목 서비스 관리 위험도 상 분류번호 U-56 세부점검 항목 Apache 링크 사용 금지 대상 UNIX 서버 내에서 불필요한 파일을 제거하여, 혹시 모를 외부에서 침입한 불 법 파일에 대하여 대비 해야함. 의심 가는 파일이 있거나. 사용하지 않 는 파일이 있을 경우에는 제거를 해주어야 함. 몇몇 서버는 심블릭 링크를 이용해서 기존의 웹 문서 이외의 파일시스 템에 접근 가능하도록 하고 있다. 이러한 방법은 편리할 수는 있지만 심 각한 보안 문제를 야기시킬 수 있다. 가령 시스템 자체의 root 디렉토리 (/)를 링크 걸게 되면 웹서버 구동 사용자 권한(nobody)으로 모든 파일 임의의 파일 변경. 삭제 시스템의 파일에 접근할 수 있게 된다. 즉, /etc/passwd 와 같은 대단히 민감한 파일까지 누구나 열람가능하게 된다. 웹 서버를 정기적으로 검사하여 불필요한 파일 확인 해당 링크 사용시 디렉토리 파일에 접근하여 시스템 중요 파일에 접근 심블릭 링크 설정 확인 # cat httpd.conf 양호 - 불필요한 파일을 제거 했을 경우 Options FollowSymLinks 확인 취약 - 불필요한 파일을 제거를 안했을 경우 웹 서버를 정기적으로 검사하여 임시 파일들을 삭제하도록 한다. 특히 양호 - 심볼릭 링크, aliases 을 사용 금지 했을 경우 취약 - 심볼릭 링크, aliases 을 사용 했을 경우 웹 서비스의 업데이트나 유지보수 시 생성되는 백업파일이나 중요한 파일 등은 작업이 끝난 후 반드시 삭제하도록 한다. 아파치를 설치하면 기본적으로 설치되는 cgi-bin은 공격에 이용 될 수 있으므로 삭제하고 메뉴얼 파일은 시스템에 대한 정보를 포함하고 있어서 해킹에 도움이 Options" 지시자에서 심블릭 링크를 가능하게 하는 옵션인 FollowSymLinks 를 제거함으로써 이를 막을 수 있음. 될 수 있기 때문에 웹 서버에서 삭제한다. 정확한 관리를 위해 폴더와 파일의 이름과 위치, 개수 등이 적혀있는 별도의 문서를 관리하는 것이 좋다. 그래서 문서에 등록되지 않은 불필 요한 파일들을 점검해서 삭제하도록 한다. # vi httpd.conf <Directory /> Options FollowSymLinks 제거 AllowOverride None </Directory> - 71 - - 72 -
점검분류 항목 서비스 관리 위험도 상 분류번호 U-57 세부점검 항목 Apache 파일 업로드 및 다운로드 제한 대상 UNIX 점검분류 항목 서비스 관리 위험도 상 분류번호 U-58 세부점검 항목 Apache 웹 서비스 영역의 분리 대상 UNIX 불필요한 파일 업로드, 다운로드 시에, 대량의 업로드, 다운로드로 인한 서비스 불능상태가 발생 함. 불필요한 업로드 와 다운로드는 허용하지 않으며, 웹서버에 의해 처리되지 못하게 해야 하며, 자동이나 수동으로 파일의 보안성 검토를 하도록 해야 한다. 대량의 업로드와 다운로드 시 서비스 불능상태 발생 웹서버를 안전하게 하기 위해서 서버 데몬과 컨텐트가 별도의 하드 디스크 파티션에 인스톨되어져야만 한다. 웹 컨텐트는 DocumentRoot에 설치되는데 DocumentRoot는 모든 웹 컨텐트가 저장될 Apache 내부의 디렉토리 구조이다. 가능하면 이 디렉토리는 서버 root나 chroot로부터 별도의 파티션이나 하드 드라이버를 사용하는 것이 좋다. Apache 웹서 버 애플리케이션 파일들로부터 컨텐트를 분리하는 것은 공격자가 웹서 # cat httpd.conf 파일 을 열어 용량 이 잘 설정 되어 있는지 확인 버 공격을 훨씬 어렵게 한다. Apache 기본 설치 시에는 htdocs 디렉토리를 DocumentRoot로 사용하 고 있는데 이를 바꾸도록 한다. htdocs 디렉토리는 공개되어서는 안될 양호 - 파일 업로드 및 다운로드를 제한하도록 한다. 취약 - 파일 업로드 및 다운로드를 제한하지 않는다. (또는 공개될 필요가 없는) Apache 문서를 포함하고 있으며, 공격에 이 용될 수 있는 시스템 관련 정보도 포함하고 있다. 웹 서비스 침해가 시스템 영역으로 확장 # vi httpd.conf 밑의 보이는 것과 같이 용량을 설정 해줌. (시스템에 따라 용량을 설정) DocumentRoot 디렉토리 확인 # cat httpd.conf Document Root "usr/local/apache/htdocs"\ <Directory /> LimitRequestBody 5000000 </Directory> <Directory /home/userdir/> LimitRequestBody 10240000 </Directory> 양호 - DocumentRoot 를 별도의 디렉토리로 지정 취약 - DocumentRoot 를 기본 디렉토리로 지정 위와 같이 LimitRequestBody 를 설정하면 아파치 웹서버를 이용하여 ( / )는 모든 파일의 사이즈를 5M로 제한하고 /home/userdir/ 폴더에 대 해서는 10M로 제한하게 됨. 1. DocumentRoot를 /usr/local/www 로 지정하였다. 설정은 httpd.conf 파일에서 다음과 같이 할 수 있다. #Document Root "/usr/local/apache/htdocs " Document Root "/usr/local/www" - 73 - - 74 -
점검분류 항목 서비스 관리 위험도 중 분류번호 U-59 세부점검 항목 ssh 원격접속 허용 대상 UNIX SSH는 사용자와 시스템과의 모든 통신을 암호화하여 사용할 수 있음. TCP Wrapper 같은 경우는 암호화되지 않기 때문에 스니핑 으로부터 네트워크 트래픽을 보호하지 못하며 패스워드를 포함한 키 스트로크를 캡쳐 할 수 있어 위험 요소가 존재한다. 이렇게 원격 작업시 데이터나 통신이 캡쳐 되거나 누군가에 의해 침해당할 우려가 있는 중요한 것이 라면 telnet과 ftp를 ssh로 대체하는 것을 권장 함 telnet과 ftp는 스니핑과 트래픽 공격에 취약 ssh로 접속 확인 중기적용 양호 - 원격 접속 시 SSH 프로토콜을 사용 했을 경우 취약 - 원격 접속 시 Telnet 이나 안전하지 않은 프로토콜을 사용 했을 경우 /var/svc/log# svcs -a ssh svcs: -a ignored when used with arguments. STATE STIME FMRI online 14:34:13 svc:/network/ssh:default /var/svc/log# -- log 확인 --- /var/svc/log/ network-ssh:default.log [ 7월 11 14:34:13 Executing start method ("/lib/svc/method/sshd start") ] [ 7월 11 14:34:13 Method "start" exited with status 0 ] ################################################# [root 접속 설정] #cd /etc/ssh #vi sshd_config 132번째 줄 PermitRootLogin no ===> PermitRootLogin yes 변경. [LINUX] /etc/ssh# svcadm refresh ssh /etc/ssh# SSH 설정 1.#sudo apt-get install ssh -> SSH 설치 2.#ps -ax grep sshd -> 데몬 실행 확인 암호화되지 않는 프로토콜 접속 불가 3./user/sbin/sshd 라는 줄이 있으면 실행 중 없으면 /etc/init.d/ssh restart 명렁어 실행. [Solaris 10] SSH 설정 /var/svc/log# svcs -a grep ssh disabled 14:31:56 svc:/network/ssh:default /var/svc/log# - 75 - - 76 -
점검분류 항목 서비스 관리 위험도 하 분류번호 U-60 세부점검 항목 ftp 서비스 확인 대상 UNIX 점검분류 항목 서비스 관리 위험도 중 분류번호 U-61 세부점검 항목 ftp 계정 shell 제한 대상 UNIX FTP 서비스를 사용하면 계정을 발급하게 될 때 Shell 라는 접속이 있는 기본적인 FTP 서비스는 계정과 패스워드가 암호화 되지 않은 채로 전 송 되므로 간단한 Sniffer 에 의해서도 스니핑이 가능하므로 FTP 사용 하지 않을 것이 좋음. 데 보안상 취약하고 계정을 shell 로 발급될시 외부의 침입자가 접근하 여 계정에 대한 정보를 빼내어 갈 수 있으므로 shell 을 부여하지 못하 도록 접속을 끊는 것이 좋음. 공격자의 의하여 계정이 노출 될 수 있음. 보안성 취약. 스닝핑 공격에 취약. # cat /etc/passwd 명령어를 쳐 끝부분에 shell 차단 명령어를 하였는 지 확인. 단기적용 1. /etc/service 명령어로 접속하여 ftp 서비스가 주석 처리가 되어 비 활성화 되어 있는지를 확인. 양호 - ftp 계정의 Shell 을 접속을 하지 못하도록 설정 했을 경우 취약 - ftp 계정의 Shell 을 접속을 할 수 있도록 설정 했을 경우 중기 적용 방법 1 # vi /etc/passwd 양호 - ftp 서비스를 비활성화 했을 경우 취약 - ftp 서비스를 활성화 했을 경우 필요하지 않다면 서비스 비활성화 및 필요하다면 안전한 ssh 사용 필 요aa # vi /etc/services ftp 21/tcp에서 ftp -> #ftp 21/tcp 주석 처리를 하여 비 활성화 test:x:500:500::/home/test:/bin/bash <-- /bin/bash 가 shell 설정 부분 -> test:x:500:500::/home/test:/bin/false /bin/false 로 했을 경우 shell 이 차단되지만 ftp 서비스까지 할 수 없으므로 유의 하여야 함. 방법 2. # cat/etc/shells 쉘이 등록되어 있는 장소에서 /bin/nosh 임의의 하나 를 등록 # cd /bin # touch nosh (퍼미션777) # vi /etc/passwd 쪽에서 쉘부분 세팅만 바꿔줌. test:x:500:500::/hom/test:/bin/nosh <- 이곳을 nosh 로 바꿔주어 shell 차단 - 77 - - 78 -
점검분류 항목 서비스 관리 위험도 하 분류번호 U-62 세부점검 항목 ftpusers 파일 소유자 및 권한 설정 대상 UNIX 점검분류 항목 서비스 관리 위험도 중 분류번호 U-63 세부점검 항목 ftpusers 파일 설정 대상 UNIX ftpusers 를 이용하여, 특정 사용자에게 접속 권한을 주어 ftp를 접속 Ftpusers 파일은 ftp 접근제한 할 사용자 리스트를 포함 함. 이 파일의 권한 적정성을 검토해야 함. 만약 파일 권한 설정이 부적절하게 되어있 할 수 있음. 이외에 계정 사용자는 ftp 에 접속하지 못하며, 해당 접속 하기 위해서 권한을 요청을 해야함. 공격자가 ftp로 접속하여 악의적인 용도로 사용 할 수 있으므로 ftpusers 설정을 해주는 것이 좋음. 을 경우 침입자가 ftp 접근 제한에 걸린 계정 주석 처리 하거나 내용을 삭제하는 등 ftp 사용 제한에 영향을 미칠 수 있음. 공격자가 악의적인 의도로 정보 습득, 임의 파일변경 1./etc/vsftpd/ftpusers -> FTP 유저 확인 2./etc/vsftpd/user_list -> FTP 유저 리스트 확인 임의로 내용 변경 및 삭제 우려. 양호 - ftpuser 명령어를 사용하여 특정 사용자 계정 에게만 ftp 서버에 접근 할 수 있도록 설정 했을 경우 # ls -l /etc/ftpusers 명령으로 확인 -rwsr-xr-x 1 root root 14112 1월 16 2001 /bin/su 취약 - ftpuser 명령어를 사용하지 않고, 사용자 계정이 ftp 를 이용하 여 접근 했을 경우 1 2 1 파일 소유권자 퍼미션, 소유그룹퍼미션, 일반사용자 퍼미션 2 파일 소유자 [ 조치방안 ] 1./etc/vsftpd/ftpusers -> ftp 로그인을 허락하지 않은 계정 정보가 있 음. 중기적용 * root, bin, daemon, adm, lp, sync, shutdown. halt, mail. news, uucp operator, games, nobody 는 기본적으로 ftp의 유저로 등록된 사 용자임 양호 - 파일권한이 640 미만 취약 - 파일권한이 640 이상이면 취약 2. /etc/vsftpd/user_list userlist_enable=yes userlist_deny=no * 거부자 목록으로 쓰지 않으면 user_list 에 등록된 사용자는 ftp 사용 파일의 퍼미션을 바꾸어 줌. # chmod 640 /etc/ftpusers 이 가능하며 user_list 에 등록이 되었더라고 /etc/vsftpd/ftpusers에 등 록된 사용자는 접속이 불가능 함. 이와 같이 설정을 해주고 ftpusers에 서 root를 삭제하면 root로도 ftp 접속 할 수 있음. * etc/vsftpd/user_list 에 등록된 사용자는 접속 거부/승인 목록이 될 수 있음. * etc/vsftpd/ftpusers에 등록된 사용자는 user_list에 상관없이 접속불가 - 79 - - 80 -
점검분류 항목 서비스 관리 위험도 중 분류번호 U-64 세부점검 항목 at 파일 소유자 및 권한설정 대상 UNIX 점검분류 항목 서비스 관리 위험도 중 분류번호 U-65 세부점검 항목 SNMP 서비스 구동 점검 대상 UNIX at은 싱글 시스템 하의 자동 작업 시 주로 사용한다. 그리고 /var/spool/cron/atjobs 디렉토리 밑의 파일에 저장된다. 데몬은 /etc/cron.d/at.deny 파일들에 의해 엑세스 컨트롤 된다. 침입자는 보통 cron과 at 명령으로 수행되는 파일들에 백도어 프로그 램을 남겨둔다. 그러므로 이러한 프로그램으로 수행되는 파일들은 쓰기 금지로 설정한다. SNMP 서비스는 시스템 상태를 실시간으로 파악하거나 설정하기 위하여 사용하는 서비스임. SNMP 서비스를 사용하지 않을 경우 중지 시킴 at을 허용하지 않는 계정의 목록은 at.deny 에 저장되어 있으며, at. deny 파일은 그 안에 포함된 계정으로 하여금 cron 명령을 수행하 시스템의 주요 정보 유출 및 불법 수정. 지 못하도록 함. 불법적인 예약 파일 실행으로 시스템 피해 # ls -l 명령으로 확인 -rw-r--r-- 1 root sys 14112 1월 16 2001 at.deny 1 2 1 파일 소유권자 퍼미션, 소유그룹퍼미션, 일반사용자 퍼미션 # ps -ef grep snmp -> 프로세서 확인 # netstat -an grep 161 -> 포트 확인 # cat /etc/snmpd.conf 명령으로 확인 2 파일 소유자 양호 SNMP 서비스를 사용하지 않음 취약 SNMP 서비스를 사용 함 양호 - 파일권한이 640 미만 취약 - 파일권한이 640 이상 파일의 퍼미션을 바꾸어 줌. 불필요시 서비스 중지/사용안함 [Solaris] # chmod 640 at.deny # svcadm disable svc:application/management/dmi:default 소유자는 # chown root at.deny # svcadm disable svc:application/management/snmpdx:default # svcadm disable svc:application/management/sma:default - 81 - - 82 -
점검분류 항목 서비스 관리 위험도 중 분류번호 U-66 세부점검 항목 snmp 서비스 커뮤티니스트링의 복잡성 설정 대상 Unix SNMP 서비스는 시스템 상태를 실시간으로 파악하거나 설정하기 위하여 사용하는 서비스임. 그러나 이 정보를 받기 위한 일종의 패스워드인 Community String이 Default로 public, private로 설정되어 있는 경우가 많으며, 이를 변경하지 않으면 이 String을 악용하여 비인가사용자가 시 스템의 주요 정보 및 설정 상황을 파악 할 수 있는 취약성이 존재함. 커뮤니티명을 변경하지 않고 기본적으로 사용할 경우 보안상 취약 점검분류 항목 서비스 관리 위험도 하 분류번호 U-67 세부점검 항목 로그온 시 경고 메시지 제공 대상 UNIX 유닉스나 리눅스 서버에 로그인하는 사용자들에게 로그인 배너를 통하 여 적절한 경고 메시지를 알려주는 것은 매우 중요하다. 때때로 이러한 메시지는 단순히 기술적인 코멘트를 하는 것으로 생각되기도 하지만, 공 격자들이 침입했을 때 법적인 경고를 함으로써 시스템 보안에 효율적으 로 사용될 수 있다. 경고 메시지를 표시함으로써 접속 시도자에게 경각심을 주어 비 인가된 행동을 억제해주는 효과가 있음. #cat /etc/snmp/conf/snmpd.conf에서 커뮤니티스트링 확인 1. /etc/issue.net 설정 확인 2. /etc/motd 설정 확인. 양호 SNMP Community 이름이 public, private 이 아닐 경우 양호 - 로그온 경고 메시지를 설정했을 경우. 취약 - 로그온 경고 메시지를 설정을 안했을 경우. 취약 SNMP Community 이름이 public, private 인 경우 [조치사항] 시스템에 로그인하기 전과 후에 보여주는 메시지를 편집할 때. 1. 시스템을 운영하는 관리자는 로그인하는 사용자들에게 알리고픈 공지 # cat /etc/snmp/conf/snmpd.conf system-group-read-community read-community public trap-community SNMP-trap public 사항 등을 로그인할 당시에 보여주는 것이 가장 효과 적임. 2. TELNET으로 remote로그인을 하는 사용자들에게 메시지를 보여주는 절차는 크게 두 가지로 나뉨. 첫째, 로그인 전에 보여주는 메시지, 즉 ID와 패스워드의 입력을 요 커뮤니티명을 확인하여 디폴트 커뮤니티명인 public, private 를 사용하 지 않고 추측하기 어려운 커뮤니티 명으로 변경해야함. 구하는 단계에서 시스템의 정상사용자인증을 받지 못했을 경우. 이 메시 지는 /etc/issue.net파일에 보관되어 있음. 이 메시지를 원하는 내용으로 변경하려면 이 파일의 내용을 수정. 둘째, ID와 패스워드를 정상적으로 입력한 후 즉, 정상사용자로 인증 된 후에 메시지임. 즉, ID와 패스워드를 입력하고 시스템에 로그인한 바 로 다음에 보여줄 메시지를 말함인데 이 메시지는 /etc/motd에 보관 되 어 있음. 따라서 정상사용자들에게 안내할 공지사항이나 필독 사항 등 은 여기에 넣어두면 로그인에 성공한 사용자들은 모두 이 메시지를 볼 - 83 - - 84 -
수 있음. 시스템관리자의 측면에서의 이 파일에 대한 일반적인 용도는 시스템 점검일자 등에 대한 공지 등으로 이용 가능. 점검분류 항목 서비스 관리 위험도 중 분류번호 U-68 세부점검 항목 NFS 설정 파일 접근 권한 대상 UNIX NFS와 NIS(Network Information Service) 같은 패키지를 이용하면 원격 컴퓨터의 파일시스템을 로컬 시스템에 마운트하여, 마치 로컬 파일시스 템 처럼 사용할 수 있게 됨. 따라서 NFS를 사용하려면 접근제한을 설 정해야 하고 만일 사용하지 않는다면 반드시 제거해야 하며, 사용하지 않는 서비스 NFS를 시스템에서 제거하기 위해서는 /etc/dfs/dfstab의 모든 공유를 제거하고 NFS 데몬 nfsd, statd, mountd을 중지, 시동 스 크립트를 삭제하거나, 이름을 변경해서 시스템 부팅 시에 실행되지 않 도록 설정해야한다. 만일 사용한다면 /etc/dfs/dfstab에 공유할 디렉토리를 설정하기 때문에 NFS 설정 파일에 대한 접근 권한을 점검해야 한다. 로컬 시스템 침입 할 가능성이 있음. # ls -l -rw-r--r-- 1 root sys 393 3월 12 2009 dfstab 1 2 1 파일 퍼미션 2 파일 소유자 중기 적용 양호 - 파일 퍼미션이 644이하인 경우 취약 - 파일 퍼미션이 644초과인 경우 파일의 퍼미션을 바꾸어 줌. # chmod 644 /etc/dfs/dfstab 소유자는 # chown root /etc/dfs/dfstab - 85 - - 86 -
점검분류 항목 서비스 관리 위험도 중 분류번호 U-69 세부점검 항목 expn, vrfy 명령어 제한 대상 UNIX 인증되지 않은 사용자의 Sendmail Deamon사용을 제한하기 위해서 Sendmail에는 Anti-Spam Feature를 포함하고 있음. 이 기능을 제대로 사용하기 위해서는 /etc/mail/sendmail.cf 또는 /etc/sendmail.cf파일에서 옵션을 바꾸어 주어야 함. endmail에서 goaway 옵션을 사용할 경우에 SMTP의 EXPN, VRFY명령 어를 제한하게 되며, 이로 인해서 VERB명령어도 더불어 제한하게 됨. SMTP 명령어는 아래와 같이 접속 후 HELP 명령어를 타이핑하면 HELO, EHLO, MAIL, RCPT, DATA, RSET, NOOP, QUIT, HELP, VRFY, EXPN, VERB ETRN, DSN, AUTH, STARTTLS등의 사용 가능한 명령어를 볼 수 있음. 인증되지 않은 사용자가 접속하여, Sendmail을 임의적으로 사용. sendmail(25 번 포트)에 접속하여 expn 과 vrfy 명령을 통해 aliases 정보와 사용자 정보를 알아낼 수 있는지 점검함. 중기 적용 점검분류 항목 서비스 관리 위험도 중 분류번호 U-70 세부점검 항목 Apache 웹서비스 정보 숨김 대상 UNIX 에러페이지, 웹 서버 종류, 사용 OS, 사용자 계정 이름 등 웹 서버와 관련된 불필요한 정보가 노출되지 않도록 한다. 이러한 정보를 아는 것 만으로도 공격에 필요한 정보를 수집하는데 도움이 될 수 있음. 공격자가 여러 정보를 수집함으로써 다양한 공격을 시도 할 수 있음. Apache 웹서비스 정보 확인 # telnet xxx.xxx.xxx.xxx 80 Try ing xxx.xxx.xxx.xxx... Connect ed t o xxx.xxx.xxx.xxx. Escape character is '^ ] '. GET / HTTP/ 1. 1 HTTP/ 1. 1 400 Bad Reques t Dat e : Tue, 15 Oct 2002 11:25 : 10 GMT Server : Apache / 1.3.19 (Unix) PHP/ 4.0.4pl1 양호 - expn, vrfy 접근을 못하도록 설정 했을 경우 취약 - expn, vrfy 접근을 허용했을 경우 다음과 같은 방법으로 goaway 옵션을 설정함. 1 /etc/mail/sendmail.cf 또는 /etc/sendmail.cf 파일에서 옵션을 바꾸어 준다. # privacy flags O PrivacyOptions=authwarnings, goaway 위와 같은 옵션 설정으로 인증받지 않은 사용자는 EXPN, VRFY, VERB 명령어를 사용할 수 없게 됨. 2. sendmail.cf 파일을 저장하고 아래와 같이 sendmail deamon을 재시작함. # /etc/rc.d/init.d/sendmail restart 양호 웹서버와 불필요한 정보 유출 서비스를 차단 취약 웹서버와 불필요한 정보 유출 서비스 미차단 이 정보는 공격자에 의해 Ap ache 웹서버 버전별 또는 구동되고 있는 응용프로그램에 잘 알려진 취약점을 공격하는데 유용하게 이용될 수 있으며, 인터넷 웜과 같은 자동화된 공격에서도 이러한 banner 정보가 사용되어지기도 한다. 따라서 공격자에게 웹서버의 버전과 같은 bann er 정보를 숨기는 것이 안전하다. Apache 웹서버에서는 ServerTokens 지시자를 수정함으로써 헤더에 의해 전송되는 정보를 바꿀 수 있다. Syntax: ServerTokens Minimal Product Only OS Full ServerTokens 지시자에서 설정할 수 있는 각 키워드에 의해 나타나는 - 87 - - 88 -
점검분류 항목 패치 관리 위험도 상 분류번호 U-71 정보는 다음과 같다. 세부점검 항목 최신 보안패치 및 벤더 권고사항 적용 대상 UNIX 보안패치를 안했을 경우에는 외부의 공격에 매우 취약함. 그렇기 때문 에 정기적으로 최신패치인지를 확인 하여야 함. 각종 물리적 접근, 계 정 도용, 파일 시스템 비밀성 및 무결성 침해, 비 인가된 네트웍 접근 등의 다양한 공격들에 의하여 침입을 당할 위험이 있으므로 정기적인 점검이 필요함. 외부의 공격으로 인한 계정 도용 파일 시스템 비밀성 및 무결성 침해 등 각종 공격에 취약. ServerToken은 Apache 1.3 이상에서 가능하고 ProductOnly 키워드는 1.3.12 이상의 버전에서 사용가능하다. 일반적으로 ServerToken은 http d.conf에서 명시되어 있지 않는 경우가 많은데 이럴 경우에는 기본값인 솔라리스는 showrev -p 라는 명령어로 패치가 적용되어 있는지 확인 할 수 있음 ServerTokens Full 이 적용되어 운영체제 정보, 웹서버 정보, 버전정보, 설치된 모듈 정보 등이 모두 서버의 응답 헤더에 포함되어 클라이언트 에게 전송된다. 최소한의 정보를 주기 위해서 ServerTokens Prod 를 설 정하는 것이 바람직하다. 혹자는 공격자를 속이기 위해서 서버의 헤더 정보를 앞에서 명기한 양호 최신보안 패치 및 벤더를 적용하고 정기적으로 점검 했을 경우 내용과는 전혀 다른 내용으로 조작하여 클라이언트에 보내기를 원할 수도 있는데 이 경우에는 Apache 소스코드를 수정해서 재 컴파일 취약 최신보안 패치 및 벤더를 적용하지 않고 미 점검 했을 경우 하여야 하므로 권고하지 않는다. Red Hot Linux 패치 - http://www.redhat.com/support/errata/ Sun Solaris 패치 - http://sunsolve.sun.com Sun Solaris 패치 확인 - http://sunsolve.sun.com/pub-cgi/show.pl - 89 - - 90 -
점검분류 항목 로그 관리 위험도 상 분류번호 U-72 세부점검 항목 로그의 정기적 검토 및 보고 대상 UNIX 점검분류 항목 로그 관리 위험도 하 분류번호 U-73 세부점검 항목 정책에 따른 시스템 로깅 설정 대상 UNIX 컴퓨터에 관한 작업은 로그라는 정보로 저장함. 로그는 컴퓨터 관련 범 죄가 발생 했을시 해킹의 흔적을 찾기 위하여 로그를 분석. 단순히 해킹 의 흔적을 찾기 위한 수단만이 아니라 로그분석을 통해 공격기법을 발 견하여 시스템 취약점을 제거 할 수 있고, 공격에 대한 근원을 찾을 수 있다면 자산의 손실을 공격자에게 법적인 책임을 물을 수가 있으므로 로그에 대한 관리와 분석이 중요시 됨. 로그 자료가 없을시, 공격자에 대한 방어대응 취약. 자산의 재산 손실 우려. 정기적으로 로그 분석에 대한 결과물 존재 확인 중기 적용 감사 설정이 구성되어 있지 않거나 감사 설정 수준이 너무 낮으면 보 안 관련 문제 발생시 원인을 파악하기 어려우며 법적 대응을 위한 충 분한 증거로 사용될 수도 없음. 그러나 감사 설정이 너무 높으면 보안 로그에 불필요한 항목이 많이 기 록되므로 매우 중요한 항목과 혼동할 수 있으며 컴퓨터 성능에도 심각 한 영향을 줄 수 있기 때문에 법적 요구 사항과 조직의 정책에 따라 필 요한 로그를 남기도록 해야 함. 각종 침해 사실에 대한 확인과 대응책 및 법적 대응이 어려움. # cat /etc/syslog.conf에서 로그 설정 확인 중기 적용 양호 로그기록에 대해 정기적 검토, 분석, 그에 대한 리포트 작성 및 보고등의 조치가 되 있을 경우. 양호 아래와 같은 이벤트에 대한 감사 설정이 되어 있는 경우. 취약 아래와 같은 이벤트에 대한 감사 설정이 되어 있지 않은 경우. 취약 로그기록에 대해 미 검사, 미 검토 되었을 경우. syslog.conf 파일은 선택자 필드와 액션 필드로 구성되어 있는데, 선택 log 파일에는 해킹의 흔적들이 남겨져 있을 수 있습니다. 그러므로 주 기적으로 로그 파일을 백업 검토해야 합니다. 가. su 시도에 관한 로그들을 주기적으로 모니터링 해야 합니다. 나. 반복적인 로그인 실패에 관해 주기적으로 모니터링 해야 합니다. 다. 로그인 거부 메세지에 대해 주기적으로 모니터링 해야 합니다. 라. 기본적 log 파일의 위치는 ( /var/adm, /var/log) 입니다. 자 필드는 어떤 것을 기록할 것인가를 설정하는 부분이고, 액션필드는 어느 파일에 로그를 기록할 것인가를 설정하는 부분이다. 선택자 필드에는 메시지 종류(facility)와 메시지 우선 순위(Priority)를 지 정 * 메시지 종류 auth : 로그인 등의 인증 프로그램 유형이 발생한 메시지 커널과 시스템 로그 메시지들을 분석함으로써 시스템의 비정상적인 authpriv : 개인인증을 요구하는 프로그램 유형이 발생한 메시지 작동을 점검할 수 있고 외부로부터 불법적인 침입을 하였는지 감시할 수 cron : cron이나 at과 같은 프로그램이 발생하는 메시지 있다. 커널과 시스템에 관련된 로그 메시지들은 syslogd와 klogd 두 개의 daemon : telnetd, ftpd등과 같은 데몬이 발생한 메시지 데몬에 의해서 /var/log/messages에 기록하게 된다. 이 파일을 kern : 커널이 발생한 메시지 분석함으로써 시스템을 항상 점검 관리해야 한다. lpr : 프린터 유형의 프로그램이 발생한 메시지 mail : 메일시스템에서 발생한 메시지 news : 유즈넷 뉴스 프로그램 유형이 발새? 메시지 syslog : syslog 프로그램 유형이 발생한 메시지 user : 사용자 프로세스 - 91 - - 92 -
uucp : 시스템이 발생한 메시지 local0 :여분으로 남겨둔 유형 * 메시지 우선 순위 alert : 즉각적으로 조치를 취해야 할 상황 crit : 급한 상황은 아니지만, 치명적인 시스템 문제 발생 시 debig : 프로그램 실행 시 발생되는 오류 발생 시 emerg : 매우 위험한 상황 err : 에러가 발생되었을 경우 info : 단순한 프로그램에 대한 정보 메시지 notice : 에러가 아닌 알림에 관한 메시지 warning : 주의를 요하는 메시지 액션 필드에는 선택자 필드에서 설정한 메시지들이 전달될 곳을 지정 하는데 이에 사용될 수 있는 값으로는 콘솔, 파이명, 사용자 또는 원격 시스템 등이 있다. 로그 설정 방법에 대해 살펴보면 kern.* /dev/consol 이것이 뜻하는 바는 커널 메시지의 모든 것을 콘솔로 보내라는 것이다. 만일 /var/log/messages 로 파일명을 지정하면 지정된 파일명으로 커 널의 모든 메시지들을 기록하게 된다. 2. 윈도우즈 취약점 항목 상세 설명서 점검분류 항목 계정 관리 위험도 상 분류번호 W-1 Windows NT, 2000, 세부점검 항목 Administrator 계정 이름 바꾸기 대상 2003 관리자 계정으로 설정되어져 있는 "Administrator" 계정을 다른 이름으 로 바꾸고 "Administrator"라는 가짜 계정을 만들어 아무런 권한도 주 지 않는 방법을 사용할 수 있는데, 이러한 방법은 "모호함을 통한 보안 (Security through obscurity)"의 한 예임. 즉 Bogus 계정을 만드는 것 임. Administrator 계정은 로그온 시 몇 번이고 실패해도 절대 접속을 차단 하지 않기 때문에 시스템을 공격하려는 사람들은 이 계정의 패스워드 유추를 계속 시도할 수 있음. 따라서 관리자 계정의 이름을 바꿈으로써 공격자는 패스워드뿐만 아니 라 계정이름도 유추 하여야 하는 어려움을 줄 수 있음. 또 하나의 방법은 보안정책 설정에서 로그온 실패 횟수에 따른 계정 잠금을 설정함으로써 brute force 공격이나 사전공격에 대응할 수 있음 임의의 명령어 실행, 임의의 파일 수정, 시스템 관리자 권한 획득. [Windows NT] 1. 시작>프로그램>관리도구>도메인사용자관리>Administrators그룹>등 록정보에서 확인 [Windows 2000, 2003] 1. 시작>실행>LUSRMGR.MSC>그룹> Administrators>속성에서 확인 양호 - Administrators 그룹에 관리자 계정이 하나만 존재 할 경우 취약 - 두개이상 존재할 경우 불필요한 Administrators 그룹에 포함된 계정을 Administrators 그룹에 서 제거하고 다른 그룹에 넣어줌 Administrator 계정을 관리자 계정이 아닌 일반 계정으로 사용하거나, 또는 Administrator 가 아닌 다른 이름의 관리자 계정을 생성해 사용하 도록 해야 하며, Administrator 권한을 가지는 유저는 최소한의 숫자로 제한 되어야 함. 또한, Password는 최소 8자리 이상으로 숫자와 영어, - 93 - - 94 -
특수문자를 혼합하여 사용하도록 하여야 함. [Windows NT] 1. 시작>프로그램>관리도구>도메인사용자관리>Administrators그룹>등 록정보를 선택하여 불필요한 관리자 계정 삭제 또는 그룹 변경 [Windows 2000, 2003] 1. 시작>실행>LUSRMGR.MSC>그룹> Administrators>속성 2. Administrators 그룹에서 불필요한 계정 제거후 그룹 변경 점검분류 항목 계정 관리 위험도 상 분류번호 W-2 Windows NT, 2000, 세부점검 항목 GUEST 계정 상태 대상 2003 대부분의 시스템은 Guest 계정의 사용을 필요치 않으며 앞으로도 계속 Guest 계정의 사용을 제한해야 하며, 불특정 다수의 접근이 필요할 경우 Guest 가 아닌 일반 사용자 계정을 생성해 사용 하도록 해야 함. 임의의 명령어 실행, 임의의 파일 수정, 시스템 관리자 권한 획득. [Windows NT] 1. 시작>프로그램>관리도구>도메인사용자관리>Administrators그룹>등 록정보에서 확인 [Windows 2000, 2003] 1. 시작>실행>LUSRMGR.MSC>그룹> Administrators>속성에서 확인 양호 Guest 계정 비활성화 취약 Guest 계정 활성화 Administrators 권한이 필요 없을 경우 변경 시 영향 없음 Guest 계정 비활성화 [Windows NT] 1. 시작>프로그램>관리도구>도메인사용자관리>Guest 계정 선택>등록 정보에서 "계정사용안함 체크" [Windows 2000, 2003] 1. 시작>실행>LUSRMGR.MSC>사용자>Guest>속성 2. "계정 사용 안함" 에 체크 - 95 - - 96 -
점검분류 항목 계정 관리 위험도 상 분류번호 W-3 세부점검 항목 불필요한 계정 제거 대상 Windows NT, 2000, 2003 퇴직, 전직, 휴직 등의 이유로 더 이상 사용하지 않는 계정, 불필요한 계 정, 의심스러운 계정이 있는지 점검 함. 시스템에 대한 접속을 통해 파일의 삭제 및 유출과 관련된 피해. [Windows NT] 시작>프로그램>관리도구>도메인사용자관리>계정 선택>등록정보에서 확인 [Windows 2000, 2003] 1. 시작>실행>LUSRMGR.MSC>사용자>"불필요한 사용자 선택">속성에 서 확인. 양호 불필요한 계정이 존재하지 않을 경우 취약 불필요한 계정이 존재할 경우 현재 계정현황 확인후 불필요한 계정 삭제, 불필요한 계정 없으면 양호 [Windows NT] 시작>프로그램>관리도구>도메인사용자관리>계정 더 이상 사용되지 않는 계정을 제거함. 선택>등록정보에서 [Windows 2000, 2003] 1. 시작>실행>LUSRMGR.MSC>사용자>"불필요한 사용자 선택">속성 2. "계정 사용 안함" 에 체크하거나 계정 삭제 - 97 - - 98 -
점검분류 항목 계정 관리 위험도 상 분류번호 W-4 Windows NT, 2000, 세부점검 항목 계정 잠금 임계값 설정 대상 2003 암호 공격에서는 자동화된 방법을 통해 모든 사용자 계정에 대해 수천 또는 수백만 개의 암호 조합을 시도하기 때문에 가능한 로그온 실패 수 를 제한하여야 함. Brute force에 의한 지속적인 계정 공격의 위험. [WindowsNT] 시작>프로그램>관리도구>도메인사용자관리자>정책>계정에서 확인 [Windows 2000, 2003] 1. 시작>실행>SECPOL.MSC>계정 정책>계정 잠금 정책에서 확인 계정의 사용여부를 파악하여 사용하지 않는 계정일 경우 제거 양호 계정 잠금 임계값 5번 취약 계정 잠금 임계값 5번이 아닌 경우 계정 잠금 임계값 5번 설정 (계정 잠금 임계값: 계정이 잠기는 로그온 실패 횟수) [WindowsNT] 시작>프로그램>관리도구>도메인사용자관리자>정책>계정 - 99 - - 100 -
점검분류 항목 계정 관리 위험도 상 분류번호 W-5 세부점검 항목 해독 가능한 암호화를 사용하여 암호 저장 대상 Windows NT, 2000, 2003 이 정책을 사용하면 인증을 위해 사용자 암호를 알아야 하는 응용 프로 그램 프로토콜이 지원되지만 해독 가능한 방식으로 저장되는 암호는 해 독할 수 있기 때문에 이 암호화를 공격할 수 있는 공격자가 노출된 계 정을 사용하여 네트워크 리소스에 로그온 할 수 있음. 공격자가 암호를 쉽게 해독할 수 있음. [Windows 2000, 2003] 시작>실행>SECPOL.MSC>계정 정책>암호정책에서 확인 [Windows 2000, 2003] 1. 시작>실행>SECPOL.MSC>계정 정책>계정 잠금 정책 2. "계정 잠금 임계값"을 5번 설정 양호 "해독 가능한 암호화를 사용하여 암호 저장" 정책이 "사용안함" 으로 되어 있을 경우 취약 "해독 가능한 암호화를 사용하여 암호 저장" 정책이 "사용" 으 로 되어 있을 경우 2003 - 해독 가능한 암호화를 사용하여 암호 저장 -> 사용안함 2000 - 도메인내의 모든 사용자에 대해 해독 가능한 암호화를 사용하 여 암호 저장 -> 사용안함 [Windows 2000, 2003] 1. 시작>실행>SECPOL.MSC>계정 정책>암호정책 2. "해독 가능한 암호화를 사용하여 암호 저장" 을 "사용안함" 으로 설 정 Administrator 계정은 잠기지 않으며 일반 계정의 경우 5번 패스워드 입력 실패 시 잠김. - 101 - - 102 -
점검분류 항목 계정 관리 위험도 상 분류번호 W-6 Windows NT, 2000, 세부점검 항목 관리자 그룹에 최소한의 사용자 포함 대상 2003 일반적으로 관리자를 위한 계정과 일반 사용자들을 위한 계정을 분리 하여 사용하는 것이 바람직하며 만일 시스템 관리자라면 두 개의 계정 을 가지는 것이 좋음. 하나는 관리업무를 위한 것이고, 다른 하나는 일 반적인 일을 하기 위한 것임. 예를 들어 일반사용자 권한으로부터 활성 화된 바이러스에 비해 관리자 권한을 가진 계정으로부터 활성화된 바 이러스라면 시스템에 훨씬 많은 피해를 줄 수 있음. 임의의 명령어 실행, 임의의 파일 수정, 시스템 관리자 권한 획득. [Windows NT] 1. 시작>프로그램>관리도구>도메인사용자관리>Administrators그룹>등 록정보에서 확인 [Windows 2000, 2003] 1. 시작>실행>LUSRMGR.MSC>그룹> Administrators>속성에서 확인. 양호 - Administrators 그룹에 관리자 계정이 하나만 존재 할 경우 취약 - 두개이상 존재할 경우 불필요한 Administrators 그룹에 포함된 계정을 Administrators 그룹에 서 제거하고 다른 그룹에 넣어줌 Administrator 계정을 관리자 계정이 아닌 일반 계정으로 사용하거나, 또는 Administrator 가 아닌 다른 이름의 관리자 계정을 생성해 사용하 도록 해야 하며, Administrator 권한을 가지는 유저는 최소한의 숫자로 제한되어야 함. 또한, Password는 최소 8자리 이상으로 숫자와 영어, 특수문자를 혼합하여 사용하도록 하여야 함. [Windows NT] 1. 시작>프로그램>관리도구>도메인사용자관리>Administrators그룹>등 록정보를 선택하여 불필요한 관리자 계정 삭제 또는 그룹 변경 [Windows 2000, 2003] - 103 - - 104 -
1. 시작>실행>LUSRMGR.MSC>그룹> Administrators>속성 2. Administrators 그룹에서 불필요한 계정 제거후 그룹 변경 점검분류 항목 계정 관리 위험도 중 분류번호 W-7 세부점검 항목 Everyone 사용 권한을 익명 사용자에게 적용 대상 Windows NT, 2000, 2003 디폴트 공유인 C$, D$, Admin$, IPC$ 등을 제외한 공유폴더를 everyone 그룹으로 공유가 금지되었는지 여부를 점검함. Everyone이 공유계정에 포함 되어 있을 경우 익명 사용자의 접근이 가능하므로 접근을 확인하 여 제어 하게 되면 익명사용자에 의한 접근을 차단 할 수 있음. 악의적인 사용자에 의한 접근 제한 [Windows NT] 1.프로그램>관리도구>서버관리자>컴퓨터>공유디렉터리>등록정보>사용 권한에서 확인 [Windows 2000, 2003] 1. 시작>실행>FSMGMT.MSC>공유에서 확인 Administrators 권한이 필요없을 경우 변경시 영향 없음 양호 일반공유 디렉터리가 없거나 공유 디렉터리 접근 권한에 Everyone 없을 경우 취약 일반공유 디렉터리의 접근 권한에 Everyone이 있을 경우 공유 디렉터리 접근 권한에서 Everyone 권한 제거 후 필요한 계정 추 가 [Windows NT] 1. 프로그램>관리도구>서버관리자>컴퓨터>공유디렉터리>등록정보>사 용권한에서 Everyone 으로 된 공유를 제거하고 접근이 필요한 계정의 적절한 권한을 추가 - 105 - - 106 -
점검분류 항목 계정 관리 위험도 중 분류번호 W-8 [Windows 2000, 2003] 1. 시작>실행>FSMGMT.MSC>공유 2. 사용 권한 에서 Everyone 으로 된 공유를 제거하고 접근이 필요한 계정의 적절한 권한을 추가 Windows NT, 2000, 세부점검 항목 계정 잠금 기간 설정 대상 2003 계정 잠금 기간 설정이 0이 아닌 값으로 구성되면 이 기간 동안 기다린 후 로그인 시도를 할 수 있으며 이 설정을 사용하면 자동으로 암호를 추측하는 것이 어려워지거나 효과가 없어질 수 있음. Brute force에 의한 지속적인 계정 공격의 위험. [Windows NT] 시작>프로그램>관리도구>도메인사용자관리자>정책>계정에서 확인 [Windows 2000, 2003] 시작>실행>SECPOL.MSC>계정 정책>계정 잠금 정책에서 확인 양호 계정 잠금 기간 60분, 계정 잠금 기간 원래대로 설정 60분 취약 계정 잠금 기간 및 잠금 기간 원래대로 설정 기간이 60분이 아 닌 경우 계정 잠금 기간 및 잠금 기간 원래대로 60분 설정 (계정 잠금 기간 :잠금 해제되기 전에 잠금 상태를 유지하는 시간(분)) 다음 시간 후 계정 잠금 수를 원래대로 설정 : 실패한 로그온 시도 이 후 실패 횟수가 0으로 다시 설정되기 전까지 경과되어야 하는 시간(분) [Windows NT] 시작>프로그램>관리도구>도메인사용자관리자>정책>계정 어플리케이션이나 Backup 용도로 Everyone 공유를 사용하지 않는지 확인 필요 - 107 - - 108 -
점검분류 항목 계정 관리 위험도 중 분류번호 W-9 [Windows 2000, 2003] 1. 시작>실행>SECPOL.MSC>계정 정책>계정 잠금 정책 2. "계정 잠금 기간", "다음 시간 후 계정 잠금 수를 원래대로 설정" 에 대해 각각 60분 설정 Windows NT, 2000, 세부점검 항목 패스워드 복잡성 설정 대상 2003 영숫자만으로 이루어진 암호는 공개되어 있는 유틸리티를 사용하여 아 주 쉽게 공격할 수 있기 때문에 암호가 공격당하는 것을 방지하려면 암호에 광범위한 문자가 있어야 함. 최소 암호 길이를 8로 지정하여 이 정책 설정과 함께 사용하면 하나의 암호를 만들 수 있는 경우의 수가 매우 많아져 무작위 공격을 성공하는 것이 불가능한 것은 아니지만 어려워짐. 초당 백만 개의 암호를 충분히 테스트할 수 있는 처리 성능을 가진 공격자는 대략 7일 반나절 이내에 암호를 알아낼 수 있으며 최소 암호 길이 설정을 높이면 공격에 성공하 는 데 필요한 평균 시간도 함께 증가함. 공격자가 암호를 쉽게 해독할 수 있음.임의의 명령어 실행, 임의의 파일 수정, 시스템 관리자 권한 획득. [Windows 2000, 2003] 1. 시작>실행>SECPOL.MSC>계정 정책>암호정책에서 확인 양호 "암호는 복잡성을 만족해야 함" 정책이 "사용" 으로 되어 있을 경우 취약 "암호는 복잡성을 만족해야 함" 정책이 "사용안함" 으로 되어 있을 경우 암호는 복잡성을 만족해야 함 -> 사용. [Windows 2000, 2003] 1. 시작>실행>SECPOL.MSC>계정 정책>암호정책 2. "암호는 복잡성을 만족해야 함" 을 "사용" 으로 설정 - 109 - - 110 -
점검분류 항목 계정 관리 위험도 중 분류번호 W-10 Windows NT, 2000, 세부점검 항목 패스워드 최소 암호 길이 대상 2003 특정 사용자 계정의 암호를 알아내기 위해 수행할 수 있는 암호 공격 의 유형은 일반적인 단어와 구 사용을 시도하는 사전 공격과 가능한 모든 문자의 조합을 시도하는 무작위 공격이 있음. 대부분의 환경에서 8자리의 암호를 사용하면 적절한 보안이 제공될 뿐 만 아니라 사용자가 쉽게 기억할 수 있으며 무작위 공격을 적절히 방 어할 수 있음. 취약한 계정을 통해 계정 권한이 도용당할 수 있음. [WindowsNT ] 시작>프로그램>관리도구>도메인사용자관리자>정책>계정에서 확인 [Windows 2000, 2003] 1. 시작>실행>SECPOL.MSC>암호 정책에서 확인 이 정책 설정은 암호를 변경하거나 새 암호를 만드는 경우 암호가 강 력한 암호로 간주되는 데 필요한 일련의 규정을 만족시키는지를 결정 암호는 적어도 6자 이상이어야 함. 사용자 계정 이름이나 표시 이름의 문자를 3개 이상 연속하여 포함 하지 않아야 함. 암호에는 다음 네 가지 중 세 가지 범주의 문자가 포함되어야 함. - 대문자(A, B, C,...) - 소문자(a, b, c,...) - 숫자(0, 1, 2, 3, 4, 5, 6, 7, 8, 9) 양호 최소 암호 길이가 8 문자인 경우 취약 최소 암호 길이가 8 문자가 아닌 경우 - 영숫자이외의 문자와 유니코드 문자(( ) ` ~! @ # $ % ^ & * - + = \ { } [ ] : ; " ' < >,.? / Γ ' λ 및 공백) 다음번 패스워드 변경시 복잡성을 만족해야 변경가능함. 일반적으로 영 향 없음 최소 암호 길이 8자 설정 [WindowsNT ] 시작>프로그램>관리도구>도메인사용자관리자>정책>계정에서 설정 - 111 - - 112 -
점검분류 항목 계정 관리 위험도 중 분류번호 W-11 Windows NT, 2000, 세부점검 항목 패스워드 최대 사용 기간 대상 2003 시간과 컴퓨터 처리 능력이 충분한 공격자는 가장 복잡한 암호를 포함 하여 모든 암호를 추측하거나 "공격"할 수 있음. 사용자가 암호를 자주 바꾸도록 하면 유효한 암호가 공격당하는 위험을 줄일 뿐 아니라 누군 가가 불법으로 획득한 암호를 사용하여 무단 로그온하는 위험을 줄일 수 있음. 취약한 계정을 통해 계정 권한이 도용당할 수 있음. [WindowsNT] 시작>프로그램>관리도구>도메인사용자관리자>정책>계정에서 확인 [Windows 2000, 2003] 1. 시작>실행>SECPOL.MSC>암호 정책 2. "최소 암호 길이"을 8문자 설정 [Windows 2000, 2003] 1. 시작>실행>SECPOL.MSC>암호 정책에서 확인 양호 최대 암호 사용 기간 60일인 경우 취약 최대 암호 사용 기간 60일이 아닌 경우 최대 암호 사용 기간 60일 설정 [WindowsNT] 시작>프로그램>관리도구>도메인사용자관리자>정책>계정에서 설정 다음번 패스워드 변경시 8자 이상으로 설정을 해야함, 일반적으로 영향 없음. - 113 - - 114 -
점검분류 항목 계정 관리 위험도 중 분류번호 W-12 [Windows 2000, 2003] 1. 시작>실행>SECPOL.MSC>암호 정책 2. "최대 암호 사용 기간"을 60일로 설정 Windows NT, 2000, 세부점검 항목 패스워드 최소 사용 기간 대상 2003 사용자가 암호를 계속 바꿔서 이전에 즐겨 쓰던 암호를 다시 사용할 수 있다면 암호를 정기적으로 바꾸도록 요구하는 것은 효과가 없음. 정책 설정을 최근 암호 기억 설정과 함께 사용하면 이전 암호를 다시 사용하 는 것을 막을 수 있음. 최근 암호 기억 설정을 유효하게 하려면 최소 암 호 사용 기간 정책 설정을 0보다 큰 값으로 구성해야 함. 취약한 계정을 통해 계정 권한이 도용당할 수 있음. [WindowsNT] 시작>프로그램>관리도구>도메인사용자관리자>정책>계정에서 확인 [Windows 2000, 2003] 1. 시작>실행>SECPOL.MSC>암호 정책에서 확인 60일 후 패스워드가 만료되며 패스워드 변경을 위한 경고 메시지 팝업, 어플리케이션에서 사용하는 계정을 제외하고는 영향 없음. (예외적으로 관리도구>컴퓨터관리>로컬 사용자 및그룹>사용자계정에서 계정별 등 록정보 확인 후 "암호 사용기간 제한없음" 에 체크가 되어 있을 경우 최대사용기간 적용 안됨) 양호 최소 암호 사용 기간 1일인 경우 취약 최소 암호 사용 기간 1일이 아닌 경우 최소 암호 사용 기간 1일 설정 [WindowsNT] 시작>프로그램>관리도구>도메인사용자관리자>정책>계정에서 설정 [Windows 2000, 2003] 1. 시작>실행>SECPOL.MSC>암호 정책 2. "최소 암호 사용 기간"을 1일로 설정 - 115 - - 116 -
점검분류 항목 계정 관리 위험도 중 분류번호 W-13 Windows NT, 2000, 세부점검 항목 마지막 사용자 이름 표시 안함 대상 2003 컴퓨터에 마지막으로 로그온한 사용자의 이름을 Windows 로그온 대화 상자에 표시할지 여부를 결정함. 실제로 콘솔에 액세스할 수 있는 사용 자 또는 터미널 서비스를 통해 서버에 연결할 수 있는 사용자 등 콘솔 에 액세스할 수 있는 공격자는 서버에 마지막으로 로그온한 사용자의 이름을 볼 수 있으며 공격자는 암호를 추측하거나 무작위 공격을 통해 로그온을 시도 할 수 있음. Login ID를 공격자가 알 수 있으므로 공격 가능 [Windows NT] 시작>프로그램>관리도구>시스템정책편집기>파일>레지스트리열기>로 컬컴퓨터>편집>등록정보 >Windows NT 시스템>로그온에서 확인 [Windows 2000, 2003] 1. 시작>실행>SECPOL.MSC>로컬정책>보안옵션에서 확인 양호 "마지막 사용자 이름 표시 안 함"이 "사용"으로 설정되어 있을 경우 취약 "마지막 사용자 이름 표시 안 함"이 "사용안함"으로 설정되어 있을 경우 2003 - 대화형 로그온 : 마지막 사용자 이름 표시 안함 -> 사용 한번 패스워드를 변경 후 다시 변경을 위해서는 1일이 지나야 함, 일반 적으로 영향 없음 2000 - 로그온 스크린에 마지막 사용자 이름 표시 안함 -> 사용 [Windows NT] 시작>프로그램>관리도구>시스템정책편집기>파일>레지스트리열기>로 컬컴퓨터>편집>등록정보 >Windows NT 시스템>로그온>'마지막으로 로그온한 사용자 이름 표시 안함'을 설정 후 저장 [Windows 2000, 2003] 1. 시작>실행>SECPOL.MSC>로컬정책>보안옵션 2. "마지막 사용자 이름 표시 안 함" 을 사용으로 설정 - 117 - - 118 -
점검분류 항목 계정 관리 위험도 중 분류번호 W-14 세부점검 항목 로컬 로그온 허용 대상 Windows NT, 2000, 2003 로컬로 로그온 허용 사용자 권한이 있는 계정은 컴퓨터의 콘솔에서 로 그온할 수 있으며 컴퓨터 콘솔에 로그온해야 하는 적법한 사용자로 이 사용 권한을 제한하지 않으면 권한이 없는 사용자가 자신의 사용 권한 향상을 위해 악의적인 코드를 다운로드하여 실행할 수 있음. IIS 를 사용 할 경우 이 권한에 IUSR_<ComputerName> 계정을 할당해야 함. 임의의 사용자가 로컬로 로그온 할 수 있음. [Windows 2000, 2003] 1. 시작>실행>SECPOL.MSC>로컬 정책>사용자 권한 할당 2. "로컬 로그온 허용" 정책에서 확인 일반적인 경우 영향 없음 양호 "로컬 로그온 허용" 정책에 "Administrators", "IUSR_" 만 존재할 경우 취약 "로컬 로그온 허용" 정책에 "Administrators", "IUSR_" 외 다른 계정 및 그룹이 존재할 경우 로컬 로그온 허용 -> Administratrors, IUSR_ [Windows 2000, 2003] 1. 시작>실행>SECPOL.MSC>로컬 정책>사용자 권한 할당 2. "로컬 로그온 허용" 정책에 "Administrators", "IUSR_" 외 다른 계정 및 그룹 제거 - 119 - - 120 -
점검분류 항목 계정 관리 위험도 중 분류번호 W-15 Windows NT, 2000, 세부점검 항목 익명 SID/이름 변환 허용 대상 2003 이 정책 설정은 익명 사용자가 다른 사용자의 SID 특성을 요청할 수 있 는지 여부를 결정. 이 정책 설정을 사용하는 경우 로컬 액세스 권한이 있는 사용자는 잘 알려진 Administrator SID를 사용하여Administrator 계정의 실제 이름을 알아낼 수 있으며 암호 추측 공격을 실행할 수 있 음. 이 정책을 "사용안함" 으로 설정할 경우 Windows NT 도메인 환경 에서 통신이 안될 수 있음 암호 추측 공격이 쉬워짐. [Windows 2003] 시작>실행>SECPOL.MSC>로컬 정책>보안옵션에서 확인 Anonymous FTP 를 사용하지 않고 로컬 계정을 사용하여 윈도우 대화 형 로그인 형식의 FTP 를 사용할 경우 해당 계정을 넣어줘야 함.(예: Internet Explorer 을 이용하여 FTP를 사용할 경우) 양호 "익명SID/이름 변환 허용" 정책이 "사용안함" 으로 되어 있을 경우 취약 "익명SID/이름 변환 허용" 정책이 "사용" 으로 되어 있을 경우 네트워크 엑세스 : 익명 SID/이름 변환 허용 -> 사용안함 [Windows 2003] 1. 시작>실행>SECPOL.MSC>로컬 정책>보안옵션 2. "익명 SID/이름 변환 허용" 정책이 "사용안함" 으로 설정 - 121 - - 122 -
점검분류 항목 계정 관리 위험도 중 분류번호 W-16 Windows NT, 2000, 세부점검 항목 최근 암호 기억 대상 2003 특정 계정에 같은 암호를 오래 사용할수록 공격자가 무작위 공격을 통 해 암호를 확인할 수 있는 가능성이 커지며 손상된 계정은 암호를 바꾸 지 않는 한 계속 악용될 수 있음. 암호를 변경해야 할 경우 암호를 다시 사용하는 것을 금지하지 않거나 적은 수의 암호를 계속해서 다시 사용 할 수 있도록 허용하면 좋은 암호 정책의 효과가 크게 반감됨. 취약한 계정을 통해 계정 권한이 도용당할 수 있음. [WindowsNT] 시작>프로그램>관리도구>도메인사용자관리자>정책>계정에서 확인 [Windows 2000, 2003] 1. 시작>실행>SECPOL.MSC>암호 정책에서 확인 양호 최근 암호 기억이 12번 인 경우 취약 최근 암호 기억이 12번이 아닌 경우 최근 암호 기억 12일 설정 [WindowsNT] 시작>프로그램>관리도구>도메인사용자관리자>정책>계정에서 설정 - 123 - - 124 -
점검분류 항목 계정 관리 위험도 중 분류번호 W-17 [Windows 2000, 2003] 1. 시작>실행>SECPOL.MSC>암호 정책 2. "최근 암호 기억"을 12번으로 설정 12개의 암호를 기억됨으로 해놓으면 최근 사용자가 사용한 12개의 암 호는 재사용 할 수 없음. 세부점검 항목 콘솔 로그온 시 로컬 계정에서 빈 암호 사용 제한 대상 Windows NT, 2000, 2003 이 정책 설정은 빈 암호를 사용하는 로컬 계정에 터미널 서비스, Telnet 및 FTP와 같은 네트워크 서비스의 원격 대화형 로그온을 허용할지 여부 를 결정. 이 정책 설정은 콘솔에서 실제로 수행하는 대화형 로그온이나 도메인 계정을 사용하는 로그온에는 영향을 주지 않음. 서비스 거부 공격에 이용될 수 있음. [Windows 2003] 시작>실행>SECPOL.MSC>로컬 정책>보안옵션에서 확인 양호 "콘솔 로그온 시 로컬 계정에서 빈 암호 사용 제한" 정책이 "사 용" 으로 되어 있을 경우 취약 "콘솔 로그온 시 로컬 계정에서 빈 암호 사용 제한" 정책이 "사 용안함" 으로 되어 있을 경우 계정 : 콘솔 로그온 시 로컬 계정에서 빈 암호 사용 제한 -> 사용 [Windows 2003] 1. 시작>실행>SECPOL.MSC>로컬 정책>보안옵션 2. "콘솔 로그온 시 로컬 계정에서 빈 암호 사용 제한" 정책을 "사용" 으로 설정 - 125 - - 126 -
점검분류 항목 계정 관리 위험도 중 분류번호 W-18 세부점검 항목 원격터미널 접속 가능한 사용자 그룹 제한 대상 Windows NT, 2000, 2003 원격터미널의 그룹이나 계정을 제한하지 않는다면 임의의 사용자가 원 격으로 접속하여 해당 서버에 정보를 임의로 변경하거나 정보를 훔쳐 갈 가능성이 있으므로 사용자 그룹 과 계정을 설정 및 제한 해야함. 원격으로 서버에 접속하여, 데이터 변경, 손실, 해킹 할 가능성이 있음. [Windows 2000, 2003] 1.제어판>시스템>원격 탭 -> 원격 탭 메뉴에서 확인 양호 관리자 계정과 이외의 계정을 생성, 권한을 제한 설정시 취약 관리자 계정과 이외의 계정을 생성, 권한을 제한 미설정시 점검분류 항목 서비스 관리 위험도 상 분류번호 W-19 Windows NT, 2000, 세부점검 항목 공유 권한 및 사용자 그룹 설정 대상 2003 디폴트 공유인 C$, D$, Admin$, IPC$ 등을 제외한 공유폴더를 everyone 그룹으로 공유가 금지되었는지 여부를 점검함. Everyone이 공유계정에 포함 되어 있을 경우 익명 사용자의 접근이 가능하므로 접근을 확인하 여 제어 하게되면 익명사용자에 의한 접근을 차단 할 수 있음. 악의적인 사용자에 의한 접근 제한 [Windows NT] 1.프로그램>관리도구>서버관리자>컴퓨터>공유디렉터리>등록정보>사용 권한에서 확인 [Windows 2000, 2003] 1. 시작>실행>FSMGMT.MSC>공유에서 확인 [Windows 2000, 2003] 1. 제어판>사용자 계정 -> 관리자 계정 이외의 계정 생성 한 후 2. 제어판>시스템>원격 탭 -> 원격 탭 메뉴에서 (사용자가 이 컴퓨터 에 원격으로 연결할 수 있음)에 체크 후 확인 양호 일반공유 디렉터리가 없거나 공유 디렉터리 접근 권한에 Everyone없을 경우 취약 일반공유 디렉터리의 접근 권한에 Everyone이 있을 경우 공유 디렉터리 접근 권한에서 Everyone 권한 제거 후 필요한 계정 추 가 [Windows NT] 1. 프로그램>관리도구>서버관리자>컴퓨터>공유디렉터리>등록정보>사 용권한에서 Everyone 으로 된 공유를 제거하고 접근이 필요한 계정의 적절한 권한을 추가 - 127 - - 128 -
점검분류 항목 서비스 관리 위험도 상 분류번호 W-20 Windows NT, 2000, 세부점검 항목 하드디스크 기본 공유 제거 대상 2003 시스템의 기본공유 항목이 제거되지 않게 되면 모든 시스템 자원에 접 근할 수 있는 위험한 상황이 발생할 수 있음. 최근에 발생한 Nimda 바 이러스도 여러 가지 방법 중에서 이러한 공유기능을 침투의 한 경로로 이용한 것임. [Windows 2000, 2003] 1. 시작>실행>FSMGMT.MSC>공유 2. 사용 권한 에서 Everyone 으로 된 공유를 제거하고 접근이 필요한 계정의 적절한 권한을 추가 임의의 명령어 실행, 임의의 파일 수정, 시스템 관리자 권한 획득. [Windows NT] 1. 프로그램>관리도구>서버관리자>컴퓨터>공유디렉터리>공유에서 확 인 [Windows 2000, 2003] 1. 시작>실행>FSMGMT.MSC>공유>기본공유 선택>공유에서 확인 양호 AutoShareServer (WinNT : AutoShareWks)가 0 이며 기본 공유 가 존재하지 않을 경우 취약 AutoShareServer (WinNT : AutoShareWks)가 1 이거나 기본 공 유가 존재할 경우 기본 공유 중지 후 레지스트리 값 설정(IPC$, 일반공유 제외) 어플리케이션이나 Backup 용도로 Everyone 공유를 사용하지 않는지 확인 필요 [Windows NT] 1. 프로그램>관리도구>서버관리자>컴퓨터>공유디렉터리>공유 중지 - 129 - - 130 -
(Windows NT 일 경우 : AutoShareWks) [Windows 2000, 2003] 1. 시작>실행>FSMGMT.MSC>공유>기본공유 선택>공유 중지 또한, 방화벽과 라우터에서 135~139(TCP/UDP)포트를 차단하여 외부로 부터의 위험을 제거함으로써 보안성을 높일수 있음. Active Directory, Clustered system 에서는 적용시 영향 있음 "net share 공유이름 /delete" 로 공유한 폴더를 공유해제 2. 시작>실행>REGEDIT>아래 레지스트리 값을 0 으로 수정(키 값이 없 을 경우 새로 생성 DWORD) "HKLM\SYSTEM\CurrentControlSet\Services\lanmanserver\paramete rs\autoshareserver" - 131 - - 132 -
점검분류 항목 서비스 관리 위험도 상 분류번호 W-21 Windows NT, 2000, 세부점검 항목 불필요한 서비스 제거 대상 2003 일반적으로 시스템에는 필요하지 않은 취약한 서비스들이 디폴트로 설 치되어 실행되고 있으며 이러한 서비스 또는 응용 프로그램은 공격 지 점이 될 수 있으므로 사용자의 환경에서 필요하지 않은 서비스나 실행 파일을 사용하지 않거나 제거해야 함. 임의의 명령어 실행, 임의의 파일 수정, 시스템 관리자 권한 획득. [WindowsNT] 시작>설정>제어판>서비스에서 확인 [Windows 2000, 2003] 시작>실행>SERVICES.MSC>"해당 서비스 선택">속성에서 확인 중기 적용 양호 - 아래 서비스가 중지되어 있을 경우 취약 아래 서비스가 구동중일 경우 Alerter(서버에서 클라이언트로 경고메세지를 보냄) Clipbook(서버내 Clipbook 을 다른 클라이언트와 공유) Messenger(net send 명령어를 이용하여 클라이언트에 메시지 보냄) Simple TCP/IP Services(Echo, Discard, Character Generator, Daytime, Quote of the Day) 해당 서비스를 선택하고 오른쪽 메뉴에서 "시작 옵션"을 클릭하면 시스 템이 시작할 때에 해당 서비스의 시작 유형을 선택할 수 있음. 만약, 시스템 시작시 자동으로 시작되게 하려면 [자동], 수동으로 서비스를 시 작하려면 [수동], 서비스 자체를 사용하지 않으려면 [사용안함]을 선택 한 후 [확인]을 클릭함. 서비스 중지 후 사용안함 설정 [WindowsNT] 시작>설정>제어판>서비스를 선택하여 불필요한 서비스를 중지하고, "시작옵션"에서 "시작유형"을 "사용안함"으로 수정 [Windows 2000, 2003] 1. 시작>실행>SERVICES.MSC>"해당 서비스 선택">속성 2. 시작유형->사용안함, 시작 상태->중지 설정 - 133 - - 134 -
점검분류 항목 서비스 관리 위험도 상 분류번호 W-22 세부점검 항목 IIS 서비스 구동 점검 대상 Windows NT, 2000, 2003 Web, FTP 등의 서비스를 제공해주는 유용한 서비스 이나 프로파일링, 서비스 거부, 불법적인 접근, 임의의 코드실행, 정보 공개, 바이러스, 웜, 트로이목마등의 위협에 노출 될 수있다. 서비스 거부, 정보유출 [Windows NT, 2000, 2003] 1. 시작>실행>services.msc>IISdadmin>정지 중기 적용 양호 IIS 서비스가 필요하지 않아 이용하지 않는경우 취약 IIS 서비스를 필요로 하지 않지만 사용하는 경우 특별한 목적을 위해 사용하는 서비스가 아니라면 시스템의 업무에 부 합되는 서비스가 아닌 기타 디폴트 서비스를 사용하지 않는 것이 좋으 며 시스템 관리자는 대상 시스템의 용도를 정확히 파악해 불필요한 서 비스를 제거 해야 함. 사용하지 않을 경우 IIS 서비스 중지 서비스 시작 유형 자동 수동 사용안함 설치되어 있으나 실행되지 않음 설 명 다른 서비스나 응용 프로그램에서 해당 기능을 필요로 할 때만 시작됨 부팅 시에 해당 장치 드라이버가 로드된 후에 운영 체제에 의해 시작됨 각 서비스 마다 옵션을 설정할 수 있으며 해당 서비스를 선택하고 더블 클릭하게 되면 시작 유형을 선택할 수 있으며 시작시 로그온 계정을 별 도로 설정할 수 있음. 만약, 시스템 시작시 자동으로 시작되게 하려면 [자동], 수동으로 서비스를 시작하려면 [수동], 서비스 자체를 사용하지 않으려면 [사용안함]을 선택한 후 [확인]을 클릭. [Windows NT, 2000, 2003] 1. 시작>실행services.msc>IISADMIN>속성>정지>사용안함 2. "디렉터리 검색" 체크 해제 - 135 - - 136 -
점검분류 항목 서비스 관리 위험도 상 분류번호 W-23 세부점검 항목 IIS 디렉토리 리스팅 제거 대상 Windows NT, 2000, 2003 디렉터리 검색은 디렉터리에 대한 요청시 그 디렉터리에 기본 문서가 존재하지 않을 경우 디렉터리 내에 존재하는 모든 파일들의 목록을 보 여주는 것임. 디렉터리 검색이 허용되면 외부에서 디렉터리 내의 모든 파일들에 대한 접근이 가능하여 백업 파일이나 소스 파일 등 공개되어서는 안되는 중 요한 파일들이 노출될 수 있음. 정보유출 [Windows NT, 2000, 2003] 시작>실행>INETMGR>웹 사이트>속성>홈 디렉터리에서 확인 점검분류 항목 서비스 관리 위험도 상 분류번호 W-24 세부점검 항목 IIS CGI 실행 제한 대상 Windows NT, 2000, 2003 CGI 스크립트는 정해진 디렉터리에서만 실행 되도록 해야 함. 게시판이 나 자료실과 같이 업로드 되는 파일이 저장되는 디렉터리에 CGI 스크립 트가 실행 가능하다면 악의적인 파일을 업로드하고 이를 실행하여 시스 템의 중요 정보가 노출 될수 있으며 침해사고의 통로로 이용 될수 있음. 악의적인 파일의 실행 가능 [Windows NT, 2000, 2003] 1. 탐색기>해당 디렉터리>속성>보안에서 확인 중기 적용 양호 "디렉터리 검색" 이 체크되어 있지 않은 경우 취약 "디렉터리 검색" 이 체크되어 있는 경우 조치시 마스터 속성과 모든 사이트에 적용을 해야함 양호 해당 디렉터리의 Everyone 의 모든권한, 수정권한, 쓰기 권한이 부여되어 있지 않은 경우 취약 해당 디렉터리의 Everyone 의 모든권한, 수정권한, 쓰기 권한이 부여되어 있을 경우 사용하지 않을 경우 IIS 서비스 중지, 사용할 경우 디렉터리 검색 체크 해제 [Windows NT, 2000, 2003] 1. 시작>실행>INETMGR>웹 사이트>속성>홈 디렉터리 2. "디렉터리 검색" 체크 해제 사용하지 않을 경우 IIS 서비스 중지, 사용할 경우 Everyone 의 모든권 한, 수정권한 쓰기 권한 제거 후 Administrators, System 그룹 추가(모 든권한) [ 서비스영향 ] 일반적으로 기본 CGI 디렉터리(C:\inetpub\scripts)를 사용하지 않음, 해당 디렉터리 확인 후 추가적인 파일이 없다면 영향 없음. [Windows NT, 2000, 2003] 1. 탐색기>해당 디렉터리>속성>보안 2. Everyone 의 모든권한, 수정권한 쓰기 권한 제거<기본 CGI 디렉터 리 C:\inetpub\scripts> 3. Administrators, System 그룹 모든 권한 추가 - 137 - - 138 -
점검분류 항목 서비스 관리 위험도 상 분류번호 W-25 세부점검 항목 IIS 상위 디렉토리 접근 금지 대상 Windows NT, 2000, 2003 상위패스로 이동하는 것이 가능할 때 하위경로에 접속하여 상위로 이 동함으로써 해킹을 당할 위험이 있으며, Unicode 버그 및 서비스 거부 공격에 이용당하기 쉬우므로 되도록이면 ".." 와 같은 상위 경로를 사용 하지 못하도록 설정하는 것이 바람직함. ".." 는 unicode 버그, 서비스 거부와 같은 공격에 쉽게 이용되므로 허용 하지 않는 것을 권장함. 임의의 명령어 실행, 임의의 파일 수정, 시스템 관리자 권한 획득. [Windows NT, 2000, 2003] 1. 시작>실행>INETMGR>웹 사이트>속성>홈 디렉터리>구성>옵션에서 확인 중기 적용 일반적으로 기본 CGI 디렉터리(C:\inetpub\scripts)를 사용하지 않음, 해당 디렉터리 확인 후 추가적인 파일이 없다면 영향 없음. 양호 "상위 경로 사용" 옵션이 체크되어 있지 않을 경우 취약 "상위 경로 사용" 옵션이 체크되어 있을 경우 조치시 마스터 속성과 모든 사이트에 적용을 해야함 사용하지 않을 경우 IIS 서비스 중지, 사용할 경우 "상위경로 사용" 체 크 해제 [Windows NT, 2000, 2003] 1. 시작>실행>INETMGR>웹 사이트>속성>홈 디렉터리>구성>옵션 삭 제 2. "부모 경로 사용" 또는 "상위 경로 사용" 체크 해제 - 139 - - 140 -
점검분류 항목 서비스 관리 위험도 상 분류번호 W-26 Windows NT, 2000, 세부점검 항목 IIS 불필요한 파일 제거 대상 2003 샘플 어플리케이션은 IIS 서비스 설치시 디폴트로 설치되는 예제 스크 립트로 제거하는 것이 안전함. IIS를 설치하면 기본적으로 예제와 설명서 등이 같이 설치됨. 이 폴더들 은 해킹에 이용되거나 백도어가 심어질 위험이 있으므로 제거해 주어 야 함. 예 제 가상 디렉토리 IIS 예제 IIS 설명서 IISSamples IISHelp 어플리케이션에서 "../" 와 같이 상대경로를 사용하도록 Coding 되어 있을 경우 영향 있음 임의의 명령어 실행, 임의의 파일 수정, 시스템 관리자 권한 획득 [Windows NT, 2000, 2003] 시작>실행>INETMGR>웹 사이트>IISSamples에서 확인 중기 적용 양호 해당 웹사이트에 IISSamples, IISHelp 가상디렉터리가 존재하지 않을 경우 취약 해당 웹사이트에 IISSamples, IISHelp 가상디렉터리가 존재할 경 우 조치시 마스터 속성과 모든 사이트에 적용을 해야함 사용하지 않을 경우 IIS 서비스 중지, 사용할 경우 가상디렉터리 삭제 [ 서비스영향 ] [Windows NT, 2000, 2003] 1. 시작>실행>INETMGR>웹 사이트>IISSamples, IISHelp 선택> 삭제 - 141 - - 142 -
점검분류 항목 서비스 관리 위험도 상 분류번호 W-27 Windows NT, 2000, 세부점검 항목 IIS 웹 프로세스 권한 제한 대상 2003 웹 프로세스에서 권한을 제한하지 않는다면, 웹 사이트 방문자가 웹 서 비스의 취약점을 이용하여 시스템에 권한을 획득 할 수 있음. 웹의 취 약점을 통해 접속 권한을 획득한 경우에는 관리자 권한을 획득하게 되 어, 서버에 접속하여 해당 정보를 해킹 하거나 변경 손실 할 우려가 있 음. 웹 프로세서의 관리자 권한을 획득하여 임의의 명령어와 파일 수정. 시작>제어판>관리도구>로컬보안정책에서 nobody 계정이 추가 되어 있는지 확인. 중기 적용 양호 웹 프로세스가 웹 서비스 운영에 필요한 최소한 권한 설정, 서 버 관리시 일반적으로 nobody 권한으로 웹 프로세스 동작. 취약 웹 프로세스 권한 미설정. 서버관리 nobody 권한 미설정시. [Windows NT, 2000, 2003] 1. 시작>제어판>관리도구>컴퓨터관리 사용자 Name에 nobody를 추가. (nobody 등록정보를 보면 소속그 룹 탭에서 소속그룹이 정해진 User가 있으면 제거해준다.) 2. 시작>제어판>관리도구>서비스 IIS 서비스 속성에서 로그온 탭으로 간 후에 계정 지정에 nobody와 비밀번호를 입력. 3. 시작>제어판>관리도구>로컬보안정책 서비스로 로그온 에 nobody를 추가한다. 4. 시작>프로그램>윈도우 탐색기 IIS 가 설치된 폴더 속성 보안 탭에 들어간후 nobody를 추가하고 모든 권한 에 체크 (보안탭이 없을시 윈도우 메뉴>도구>폴더옵션에서 모든 사용자 동일한 폴더 공유 권한 지정 체크를 해제함) - 143 - - 144 -
점검분류 항목 서비스 관리 위험도 상 분류번호 W-28 세부점검 항목 IIS 링크 사용금지 대상 Windows NT, 2000, 2003 공개적인 웹 컨텐츠 디렉토리 안에서 서버의 다른 디렉토리나 파일들 에 접근할 수 있는 심볼릭 링크, aliases, 바로가기 등을 사용하지 않도 록 해야 한다. 해당 링크 사용시 디렉토리 파일에 접근하여 웹 서버에 침입. 해당 디렉토리에서 바로가기 파일 있는지 확인 양호 심볼릭 링크, aliases, 바로가기 등의 링크를 사용 금지. 취약 심볼릭 링크, aliases, 바로가기 등의 링크를 허용. 점검분류 항목 서비스 관리 위험도 상 분류번호 W-29 Windows NT, 2000, 세부점검 항목 IIS 파일 업로드 및 다운로드 제한 대상 2003, 2003IIS 불필요한 파일 업로드, 다운로드 시에, 대량의 업로드, 다운로드로 인한 서비스 불능상태가 발생 함. 불필요한 업로드 와 다운로드는 허용하지 않으며, 웹서버에 의해 처리되지 못하게 해야 하며, 자동이나 수동으로 파일의 보안성 검토를 하도록 해야 한다. 대량의 업로드와 다운로드 시 서비스 불능상태 발생. Admin 서비스를 다시 시작하여 AspMaxRequestEntityAllowed값과 AspBufferIng Limit 값이 주어진 값이 맞는지 확인. [Windows NT, 2000, 2003] 1. 시작>관리도구>인터넷 정보 서비스(IIS) 관리>웹 사이트>기본 웹사 이트 마우스 오른쪽 클릭 한 후 속성에서 홈 디렉토리 확인 양호 웹서비스의 서버 자원관리를 위해 업로드, 다운로드 용량을 제 한. 취약 웹서비스의 서버 의 업로드 다운로드 용량을 미 제한. [Windows 2003 IIS] 1. 내 컴퓨터 우측 클릭>관리>서비스에서 ISS Admin을 정지 시킨다. 2. c:windows\system32\inetsrv\metabase.xml를 찾아서 편집기로 open 함 3. uploade 용량 제한시키기 위해 AspMaxRequestEntityAllowed 값을 찾아 제한할 용량을 변경. 4. down 용량 제한을 하기 위해 AspBufferingLimit 값을 찾아 제한할 용량을 변경. 5. IIS Admin 서비스를 시작. 2. 홈 디렉토리로 이동하여 바로가기 파일 삭제 - 145 - - 146 -
점검분류 항목 서비스 관리 위험도 상 분류번호 W-30 Windows NT, 2000, 세부점검 항목 IIS DB 연결 취약점 점검 대상 2003 Global.asa 파일에는 데이터베이스 관련 정보(IP주소,DB명,패스워드), 내 부 IP주소, 웹어플리케이션 환경설정 정보 및 기타 정보 등 보안상 민감 한 내용들이 포함되어 있기 때문에 해당 파일이 악의적인 사용자에게 노출될 경우 침해사고로 이어질 수 있음. 임의의 명령어 실행, 임의의 파일 수정, 시스템 관리자 권한 획득 [Windows NT, 2000, 2003] 시작>실행>INETMGR>웹 사이트>속성>홈 디렉터리>구성>매핑에서 확 인 중기 적용 양호.asa 매핑이 존재할경우 취약.asa 매핑이 존재하지 않을 경우 조치시 마스터 속성과 모든 사이트에 적용을 해야함 사용하지 않을 경우 IIS 서비스 중지, 사용할 경우.asa 매핑을 아래 그 림과 같이 추가 [Windows NT, 2000, 2003] 1. 시작>실행>INETMGR>웹 사이트>속성>홈 디렉터리>구성>매핑 2..asa 매핑을 확인 후 없으면 아래와 같이 추가 일반적인 경우 영향 없음 - 147 - - 148 -
점검분류 항목 서비스 관리 위험도 상 분류번호 W-31 Windows NT, 2000, 세부점검 항목 IIS 가상 디렉토리 삭제 대상 2003 IIS 4.0, 5.0 설치 시 기본적으로 /issadmpwd라는 가상 디렉토리를 생 성하는데, 이 디렉토리에는 웹 서버를 통하여 패스워드를 변경시켜주는 기능 등을 하는.HTR 파일이 존재함. 이러한 기능들이 필요하지 않을 경우 /issadmpwd를 제거함. 이 외 존재하는 취약점을 줄이기 위해서 IISADMIN에 관계되는 모든 파일 및 디렉토리를 삭제. 예 제 가상 디렉토리 IIS Admin IIS Admin 예제 IIS Adminpwd 점검분류 항목 서비스 관리 위험도 상 분류번호 W-32 Windows NT, 2000, 세부점검 항목 IIS 데이터 파일 ACL 적용 대상 2003 웹 데이터 파일에 ACL 을 부여함으로써 권한없는 사용자로부터의 실행 및 읽기 제한을 설정 할 수 있음. 향후 필요에 의하여 IIS 를 설치하여 운용한다면 웹 데이터 파일에 대 한 ACL 을 부여하는 것이 바람직하며 ACL 을 설정할 때에는 다음과 같은 사항을 참고하여 설정해야 함. - 가능한 파일의 종류끼리 분류하여 폴더에 저장하는 것이 좋음. - 홈 디렉터리(기본:c:\inetpub\wwwroot)내에 적절한 ACL 권한을 부여 함. 부적절한 파일 접근, 열람 및 삭제 가능. 정보유출 [Windows NT, 2000, 2003] 1. 시작>실행>INETMGR>웹 사이트>IIS Admin에서 확인 중기 적용 [Windows NT, 2000, 2003] 1. 시작>실행>INETMGR>웹 사이트>해당 웹사이트>속성>홈 디렉터리 2. 탐색기를 이용하여 홈 디렉터리 등록정보>보안에서 확인 중기 적용 양호 IIS Admin, IIS Adminpwd가상디렉터리가 존재하지 않을 경우 취약 IIS Admin, IIS Adminpwd 가상디렉터리가 존재할 경우 조치시 마스터 속성과 모든 사이트에 적용을 해야함 사용하지 않을 경우 IIS 서비스 중지, 사용할 경우 IISAdmin, 양호 C:\Inetpub\wwwroot 하위 파일들에 대해Everyone 권한이 존 재하지 않을 경우(정적컨텐트 파일은 Read 권한만) 취약 C:\Inetpub\wwwroot 하위 파일들에 대해 Everyone 권한이 존 재할 경우(정적컨텐트 파일은 Read 권한 제외) IISAdminpwd 삭제 [Windows NT, 2000, 2003] 1. 시작>실행>INETMGR>웹 사이트>IIS Admin, IIS Adminpwd 선택> 삭제 사용하지 않을 경우 IIS 서비스 중지, 사용할 경우 C:\Inetpub\wwwroot 디렉터리에 Administratrors, System 추가(모든권 한), Everyone Read 만 설정 후 하위 디렉터리에 존재하는 CGI, 스크립 트 파일, 포함파일에 Everyone 권한 모두 제거 [Windows NT, 2000, 2003] 1. 시작>실행>INETMGR>웹 사이트>해당 웹사이트>속성>홈 디렉터리 2. 탐색기를 이용하여 홈 디렉터리 등록정보>보안 확인 3. 아래와 같은 파일들에 대한 불필요한 Everyone 권한 제어 파일 형식 엑세스 제어 목록 CGI (.exe,.dll,.cmd,.pl) 모든 사람(X), 관리자/시스템(전체 제어) 일반적으로 IIS 관리용 페이지를 사용하지 않기 때문에 영향 없음 스크립트 파일(.asp) 모든 사람(X), 관리자/시스템(전체 제어) - 149 - - 150 -
포함 파일(.inc,.shtm,.shtml) 정적 컨텐트(.txt,.gif,.jpg,.html) 모든 사람(X), 관리자/시스템(전체 제어) 모든 사람(R), 관리자/시스템(전체 제어) 점검분류 항목 서비스 관리 위험도 상 분류번호 W-33 Windows NT, 2000, 세부점검 항목 IIS 미사용 스크립트 매핑 제거 대상 2003 사용하지 않는 스크립트 매핑은 보안에 위협이 될 수 있으므로 개발자 와 협의하여 불필요한 매핑인지 확인한 후에 제거..asp나.shtm 과 같은 확장자들은 특정 DLL 파일과 매핑되어 있어, 이 러한 파일들에 대한 요청이 들어오면 해당 DLL에 의해 처리되어진다. 이러한 매핑가운데는 사용되지 않는 것들이 있어서 이를 제거해주는 것이 보안에 도움이 됨..ida,.idc,.idq,.printer,.htr,.htw 확장자는 Buffer overflow 공격 위험이 존재 하므로 삭제를 권고. 시스템 권한 획득 [Windows NT, 2000, 2003] 1. 시작>실행>INETMGR>웹 사이트>속성>홈 디렉터리>구성>매핑에서 확인 중기 적용 IIS 에서 C:\Inetpub\wwwroot 디렉터리를 홈디렉터리로 사용할 경우 사용하고 있는 데이터 파일에 대한 조치에 따른 검증이 필요, C:\Inetpub\wwwroot 디렉터리를 사용하지 않는다면 영향 없음 양호 취약한 매핑이 존재하지 않을 경우 취약 취약한 매핑이 존재할 경우 조치시 마스터 속성과 모든 사이트에 적용을 해야함 사용하지 않을 경우 IIS 서비스 중지, 사용할 경우 취약한 매핑 제거 (아래 표의 제거할 매핑 만) [Windows NT, 2000, 2003] 1. 시작>실행>INETMGR>웹 사이트>속성>홈 디렉터리>구성>매핑 2. 아래의 매핑들을 개발자와 상의하여 제거할 것을 권고. IIS가 사용하지 않는 것 제거할 매핑 웹 기반 암호 재설정 인터넷 데이터베이스 커넥터 Server-side Includes 인터넷 인쇄 인덱스 서버.htr.idc.stm,.shtm,.shtml.printer.htw,.ida,.idq - 151 - - 152 -
점검분류 항목 서비스 관리 위험도 상 분류번호 W-34 Windows NT, 2000, 세부점검 항목 IIS Exec 명령어 쉘 호출 진단 대상 2003 명령어가 Web 서버에서 임의의 명령을 호출하도록 사용될 수 있음. 임 의의 명령을 호출하도록 설정되어 있다면 아래의 조치방법에 따라서 설 정을 변경하여 주는 것이 안전함. 임의의 명령어 실행, 임의의 파일 수정, 시스템 관리자 권한 획득. [Windows NT, 2000, 2003] 1. 시작>실행>REGEDIT> HKLM\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters 검색 2. DWORD > SSIEnableCmdDirective 라는 값 확인 일반적인 경우 영향 없음 양호 해당 레지스트리 값이 0 인 경우, IIS 5.0 버전에서 해당 레지스 트리 값이 존재하지 않을 경우, IIS 6.0 이상 양호 취약 해당 레지스트리 값이 1인 경우 레지스트리 값 설정(IIS 5.0 해당 값이 없으면 양호, IIS 6.0 이상 양호) [Windows NT, 2000, 2003] 1. 시작>실행>REGEDIT> HKLM\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters 검색 2. DWORD > SSIEnableCmdDirective 라는 값을 찾아 오른쪽 버튼을 눌러 값을 0 으로 입력 - 153 - - 154 -
점검분류 항목 서비스 관리 위험도 상 분류번호 W-35 세부점검 항목 IIS WebDAV 비활성화 대상 Windows NT, 2000, 2003 WebDAV(Web Distributed Authoring and Versioning) 는 웹상의 공동 개발을 지원하기 위한 IETF 표준안(RFC 2518)으로서, 원격지 사용자들 간에 인터넷 상에서 파일을 공동 편집하고 관리할 수 있도록 해줌. 요청이 특별한 방식으로 교묘하게 조작되었을 경우, 매개 변수를 정확하 게 점검하지 않는 WebDAV에 의해 호출된 구성 요소 중 하나에 결함이 존재하며, 이로 인해 버퍼 오버런이 일어날 수 있음. 권한 획득 및 특정 명령 실행 가능 [Windows 2000] < IIS 를 사용하지 않을 경우 > 시작>실행>SERVICES.MSC> World Wide Web Publishing Service >속 성에서 확인 일반적인 경우 영향 없음 < IIS 사용하지만 WebDAV를 사용하지 않을 경우 > 1. 시작>실행>REGEDIT 를 실행 2. HKLM\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters에 서 확인 < IIS 를 사용하고, WebDAV도 필요한 경우 > 별도 점검 중기 적용 양호 다음중 한가지라도 해당되는 경우 1. IIS 를 사용하지 않을 경우 2. DisableWebDAV 값이 1로 설정되어 있을경우 3. Windows 2000 시스템에 서비스팩 4가 설치되어 있을 경우 취약 양호기준에 한가지라도 해당되지 않을 경우 사용하지 않을 경우 IIS 서비스 중지, 사용할 경우 해당 레지스트리 값 을 1 로 설정 (Windows 2000 서비스팩 4 양호, Windows 2003 양호) [Windows 2000] < IIS 를 사용하지 않을 경우 > - 155 - - 156 -
1. 시작>실행>SERVICES.MSC> World Wide Web Publishing Service > 속성 2. "시작유형"->사용안함, 서비스 상태->중지 < IIS 사용하지만 WebDAV를 사용하지 않을 경우 > 1. 시작>실행>REGEDIT 를 실행 2. HKLM\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters 3. 오른쪽 버튼을 눌러 새로만들기 DWORD값을 선택 4. DisableWebDAV 를 입력. 이때 값은 Default 값인 0을 1로 변경. < IIS 를 사용하고, WebDAV도 필요한 경우 > -Windows NT 인 경우 - 아래 사이트에서 패치를 받아 설치함 http://211.234.93.190/korea/technet/security/bulletin/ms03-007.asp #top - Windows 2000 Service Pack 버전이 2 인 경우 - 아래 사이트에서 패치를 받아 설치함. http://211.234.93.190/korea/technet/security/bulletin/ms03-013.asp - Windows 2000 Service Pack 버전이 3 인 경우 - 아래 사이트에서 패치를 받아 설치 함.http://211.234.93.190/korea/technet/security/bulletin/MS03-007.as p#top - Windows 2000 Service Pack 버전이 4 인 경우 취약점 없음. * 리부팅후 적용됨 일반적으로 사용하지 않는 기능임 점검분류 항목 서비스 관리 위험도 상 분류번호 W-36 Windows NT, 2000, 세부점검 항목 NetBIOS 바인딩 서비스 구동 점검 대상 2003 NetBIOS(Network Basic Input/Output System)은 IBMpc를 위한 네트워크 인터페이스 체계로 네임, 세션 데이터그램의 세가지 서비스를 제공하고 있다. 윈도우 NT 시스템이 인터넷에 직접연결되어 있을 경우 공격자가 쉽게 파일시스템을 사용할 수 있으므로 NetBIOS 에 대한 접근 통제가 필요하다. 시스템의 주요 정보 유출. [Windows NT, 2000, 2003] 시작>실행>ncpa.cpl>로컬 영역 연결>속성> TCP/IP>속성>[일반]탭>[고급]>[WINS]탭>NetBIOS 설정에서 확인 중기 적용 양호 TCP/IP와 NetBIOS 간의 바인딩이 제거 되어있다. 취약 TCP/IP와 NetBIOS 간의 바인딩이 제거 되어있지 않다. 네트워크 제어판을 이용하여 TCP/IP와 NetBIOS 간의 바인딩(binding) 제거한다. [Windows NT, 2000, 2003] 시작>실행>ncpa.cpl>로컬 영역 연결>속성> TCP/IP>속성>[일반]탭>[고급]>[WINS]탭>NetBIOS 설정> TCP/IP에서 NetBIOS 사용 안 함 선택 - 157 - - 158 -
점검분류 항목 서비스 관리 위험도 상 분류번호 W-37 세부점검 항목 FTP 서비스 구동 점검 대상 Windows NT, 2000, 2003 기본적인 FTP 서비스는 계정과 패스워드가 암호화 되지 않은 채로 전 송 되므로 간단한 Sniffer 에 의해서도 스니핑이 가능하므로 FTP 사용 하지 않을 것을 권고. 정보유출 [Windows NT, 2000, 2003] 1. 시작>실행>services.msc>FTP Publishing Service 확인 양호 FTP를 사용하지 않음 취약 FTP를 사용 TCP/IP를 거치게 되는 파일 공유 서비스 제공되지 않음, 인터넷에서의 공유자원에대한 접근시도 불가능. 라우터를 거치지 않은 내부 네트워크 에서는 가능하다. 불필요시 서비스 중지/사용안함 설정 [Windows NT, 2000, 2003] 1. 시작>실행>services.msc>FTP Publishing Service>속성>정지/사용안 함 - 159 - - 160 -
점검분류 항목 서비스 관리 위험도 상 분류번호 W-38 세부점검 항목 FTP 디렉토리 접근권한 설정 대상 Windows NT, 2000, 2003 홈 디렉토리에 쓰기권한이 주어진 경우 임의의 사용자가 쓰기, 수정이 가능해짐 정보유출, 파일 위변조 [Windows NT, 2000, 2003] 1. 홈디렉토리>속성>[보안]탭>그룹 또는 사용자 이름>사용권한 확인 양호 Everyone 사용자 삭제, 사용자의 권한에 쓰기권한 거부 취약 Everyone 사용자 존재, 사용자의 권한에 쓰기권한 허용 Everyone 사용자 삭제, 각 사용자에 맞는 권한 부여 [Windows NT, 2000, 2003] 1. 홈디렉토리>속성>[보안]탭>그룹 또는 사용자 이름>Everyone 사용자 제거.엑세스 가능 사용자만 추가>권한부여 점검분류 항목 서비스 관리 위험도 상 분류번호 W-39 세부점검 항목 Anonymous FTP 금지 대상 Windows NT, 2000, 2003 기본적인 FTP 서비스는 계정과 패스워드가 암호화 되지 않은 채로 전 송 되므로 간단한 Sniffer 에 의해서도 스니핑이 가능하므로 FTP 사용 하지 않을 것을 권고. 불가피 하게 FTP 서비스를 이용해야 할 경우 Default 설정으로 되어 있는 익명연결 허용을 금지 FTP 를 위한 계정을 따로 만들어서 사용. Password는 복잡도를 높이고 또한 권한은 해당 디렉터리에 대한 Read 권한만을 부여. Home Directory는 Default로 설정하지 말고, 임의의 폴더를 생성하여 설정하는 것이 바람직함. 정보유출 [Windows NT, 2000, 2003] 1. 시작>실행>INETMGR>FTP 사이트>속성>보안 계정에서 확인 양호 FTP를 사용하지 않거나 "익명 연결 허용" 이 체크되어 있지 않 은 경우 취약 FTP를 사용하거나 "익명 연결 허용" 이 체크되어 있는 경우 조치시 마스터 속성과 모든 사이트에 적용을 해야함 불필요시 서비스 중지/사용안함 설정, 사용할 경우 "익명 연결 허용" 체크 해제 [Windows NT, 2000, 2003] 1. 시작>실행>INETMGR>FTP 사이트>속성>보안 계정>익명 연결 허용 체크 해제 일반적으로 영향없음 - 161 - - 162 -
점검분류 항목 서비스 관리 위험도 상 분류번호 W-40 세부점검 항목 FTP 접근 제어 설정 대상 허가되지 않은 네트워크에서의 FTP 접속을 차단 Windows NT, 2000, 2003 정보유출, 파일 위변조 [Windows NT, 2000, 2003] 1. 시작>실행>INETMGR>디렉터리보안에서 확인 FTP에 접속 가능/불가능한 IP 추가 익명으로 FTP 를 사용할 경우 FTP 를 위한 일반 계정 생성후 사용해야 함, 어플리케이션에서 익명연결을 사용할 경우를 제외하고 일반적으로 영향 없음 [Windows NT, 2000, 2003] 1. 시작>실행>INETMGR>디렉터리보안>IP추가 일반적으로 영향없음 - 163 - - 164 -
점검분류 항목 서비스 관리 위험도 상 분류번호 W-41 Windows NT, 2000, 세부점검 항목 DNS Zone Transfer 설정 대상 2003 DNS 서버에 저장되어 있는 도메인 정보를 승인된 DNS서버가 아닌 다 른 외부로 유출하는 것은 보안상 바람직하지 않으며 적절한 설정을 통 하여 이러한 정보의 전송을 제한할 수 있음. DNS 서버를 사용하지 않을 경우 중지 시킴 서비스 거부 공격 [Windows NT] 시작>프로그램>관리도구>DNS관리자>각 조회영역>해당 영역>등록정 보>알림에서 확인 [Windows 2000, 2003] 시작>실행>DNSMGMT.MSC>각 조회영역>해당 영역>속성>영역전송에 서 확인 중기 적용 [Windows 2000, 2003] 1. 시작>실행>DNSMGMT.MSC>각 조회영역>해당 영역>속성>영역전 송 2. "다음 서버로만" 선택후 전송할 서버 IP 추가 양호 DNS서비스를 사용 않하거나 영역 전송이 "특정 서버로만" 설정 되어 있을 경우 취약 DNS서비스를 사용하며 영역 전송이 "아무 서버로" 설정되어 있 을 경우 불필요시 서비스 중지/사용안함, 사용할 경우 영역 전송을 특정 서버로 제한 [Windows NT] 1. 시작>프로그램>관리도구>DNS관리자>각 조회영역>해당 영역>등록 정보>알림 2. "알림 목록에 있는 보조 영역에서만 액세스 허용" 선택후 서버 IP 추가 -불필요시 해당 서비스 제거 시작>실행>SERVICES.MSC>DNS Server>속성에서 [시작 유형]을 [사용 안함]으로 만든 후, DNS 서비스를 중지. 영역 전송할 경우 서버를 지정해 주면 영향 없음 - 165 - - 166 -
점검분류 항목 서비스 관리 위험도 상 분류번호 W-42 Windows NT, 2000, 세부점검 항목 RDS(RemoteDataServices)제거 대상 2003 RDS는 MDAC(Microsoft Data Access Componets)의 한 컴포넌트로 RDS (Remote Data Services)가 잘못 설정되어 있을 경우 서비스거부 공격이나 원격에서 관리자 권한으로 임의의 명령을 실행할 수 있는 취 약점이 있음. MDAC 2.7 미만의 버전에서 웹 서버와 웹 클라이언트는 모두 이 취약점으로 인해 위험해질 수 있음. 대부분의 취약점들이 서비스 팩이나 핫 픽스로 결함이 제거되지만 이 취약점을 제거하기 위해서는 관리자가 수동으로 레지스트리 키를 조작 해야 하며 일반적인 패킷 필터링 파이어월로도 공격차단이 불가능하기 때문에 관리자들의 주의를 요함. RDS로부터의 공격을 차단하기 위해서 는 MDAC의 버전별로 설정을 달리하여 운영하거나 RDS가 불필요할 경 우 제거하는 것이 안전함. 시스템 정보 확인 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Param eters\adclaunch\vbbusobj.vbbusobjcls WAS 와 연동될 경우 일부 RDS 를 사용하는 경우가 있으며 사용할 경 우 레지스트리 키 값 제거 [Windows NT, 2000] 시작>실행>INETMGR>웹사이트에서 확인 중기 적용 양호 다음의 중 한가지라도 해당되는 경우 1. IIS 를 사용하지 않는 경우 2. Windows 2000 일 경우 서비스팩 4가 설치되어 있는 경우(2003 양호) 3. 디폴트 웹사이트에 MSADC 가상 디렉터리가 존재하지 않을 경우 4. 해당 레지스트리 값이 존재하지 않을 경우 취약 양호 기준에 한가지도 해당되지 않는 경우 사용하지 않을 경우 IIS 서비스 중지/사용안함, 사용할 경우 레지스트리 키 값 제거 [Windows NT, 2000] <RDS 제거 방법> 1. 웹 사이트로부터 /msadc 가상 디렉토리를 제거 시작>실행>INETMGR>웹사이트 선택 오른쪽 디렉터리에서 msadc 제거 2. 다음의 레지스트리 키/디렉터리를 제거. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Param eters \ADCLaunch \RDSServer.DataFactory HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Param eters \ADCLaunch\AdvancedDataFactory - 167 - - 168 -
점검분류 항목 서비스 관리 위험도 상 분류번호 W-43 Windows NT, 2000, 세부점검 항목 최신 서비스팩 적용 대상 2003 서비스 팩은 Windows 시스템을 마이크로소프트에서 출시하고 난 뒤 Windows와 관련된 응용프로그램, 서비스, 실행파일 등 여러 수정 파일 들을 모아 놓은 프로그램 임. Hot Fix는 즉시 교정되어야만 하는 주요한 취약점(주로 보안과 관련된) 을 패치하기 위해 배포되는 프로그램 임. Hot Fix는 각각의 Service Pack 이 발표된 이후 패치가 추가될 필요가 있을 때 별도로 발표 됨. 때 론, Hot Fix 보다 취약성을 이용한 공격도구가 먼저 출현 할 수 있으므 로 Hot Fix는 발표 후 가능한 빨리 설치 할 것을 권장함. 임의의 명령어 실행, 임의의 파일 수정, 시스템 관리자 권한 획득. [Windows NT, 2000, 2003] 1. 시작>실행>Winver에서 Service Pack 버전 확인 2. 최신 Hotfix 설치유무 확인 중기 적용 양호 최신 서비스팩이 설치되어 있을 경우, 최신 Hotfix 또는 PMS(Patch Management System) Agent 가 설치되어 있을 경우 취약 최신 서비스팩이 설치 되어 있지 않은 경우, 최신 Hotfix 또는 PMS(Patch Management System) Agent 가 설치 되어 있지 않은 경우 최신 서비스팩 설치, Windows NT 6a, Windows 2000 SP4, Windows 2003 SP2 Microsoft NT 보안 패치 사이트 http://www.microsoft.com/korea/ntserver/security/default.asp Microsoft 2000 보안 패치 사이트 http://www.microsoft.com/korea/windows2000/downloads/servicepacks /sp4/default.asp Microsoft 2003 보안 패치 사이트 http://www.microsoft.com/korea/technet/downloads/winsrvr/servicepacks /default.mspx 최신 Hotfix 설치 1. 아래의 패치 리스트를 조회하여, 서버에 필요한 패치를 선별하여 수 동으로 설치 http://www.microsoft.com/korea/technet/security/current.asp 2. Windows 자동 업데이트 기능을 이용한 설치 수동 업데이트의 부담을 덜어주기 위하여 Microsoft에서는 자동으로 시 스템에 필요한 Hot Fix 및 소프트웨어 업그레이드를 보여주고 다운로 드 및 적용을 쉽게 하기 위한 사이트를 마련해 놓고 있음. Internet Explorer 도구 메뉴 중 "Windows Update" 라는 것을 선택하여 주면 자동으로 Windows Update 사이트로 이동하게 되며 또한 다음의 URL 을 직접 주소 입력창에 입력해도 됨. http://windowsupdate.microsoft.com/?ie 3. PMS(Patch Management System) Agent 를 설치하여 자동으로 업 데이트되도록 설정한다 [Windows NT, 2000, 2003] 1. 시작>실행>Winver 2. Service Pack 버전 확인 후 최신 버전이 아닐 경우 아래 사이트에서 다운로드하여 설치 Service Pack 설치 시에는 네트워크와 분리된 상태에서 설치 할 것을 권장 함. 현재 많은 인터넷 웜(Worm)이 Windows 의 취약점을 이용하 여 공격을 하기 때문에 O/S를 설치한 후 곧바로 네트워크에 연결하는 것은 곧바로 서버에 피해를 입을 수 있기 때문 임. 현재까지 발표된 가장 최신의 Windows 2000 의 Service Pack은 SP4, Windows 2003 의 Service Pack은 SP2 이며 Microsoft 홈페이지에서 다운로드 받을 수 있음. - 주의 보안 패치 및 Hot Fix의 경우는 적용 후 시스템 재시작을 요하는 경우 가 대부분이므로 관리자는 서비스에 지장이 없는 시간대에 적용을 하 는 것을 권장함. 시스템에 알맞은 Hot Fix는 수행되고 있는 OS프로그램 및 특히 개발되거 나 구매한 Application 프로그램에 영향을 줄 수 있음. 따라서 패치 적용 전Application 프로그램을 구분하고, 필요하다면 OS 벤더 또는 Application 엔지니어의 확인 하에 패치를 수행해야 함. 설치후 시스템 재시작이 필요하며 설치에 따른 영향도 필요함. - 169 - - 170 -
점검분류 항목 서비스 관리 위험도 중 분류번호 W-44 Windows NT, 2000, 세부점검 항목 터미널 서비스 암호화 수준 설정 대상 2003 터미널 서비스는 원격지에 있는 서버를 관리하기 위한 유용한 도구이나 취약한 패스워드를 사용하거나 접근제어가 적절치 못할 경우 해킹의 도 구로 악용될 수 있으므로 불필요하게 터미널 서비스가 사용되고 있는지 점검함. 임의의 사용자 접속 가능여부 점검 및 사용여부 점검. [Windows 2000, 2003] 1. 시작>실행>TSCC.MSC>"해당 서비스 선택">속성에서 확인 양호-터미널 서비스가 사용하지 않거나 사용 할 시 암호화 수준을 "클 라이언트와 호환가능(중간)" 이상으로 설정한 경우 취약-터미널 서비스를 사용하고 암호화 수준이 "낮음" 으로 설정한 경 우 터미널 서비스가 필요한 경우 추가 보완 대책 1, 관리자 이외의 일반 사용자의 터미널 서비스 접속을 허용하지 않음. 2. 방화벽에서 터미널 서비스 포트(3389)의 사용을 관리자 컴퓨터의 IP 로 제한. 3. 다수의 계정이 필요한 경우 엄격한 ACL(Access Control List)을 적용. 암호화 수준 변경시 불필요시 서비스 중지/사용안함 설정, 사용할 경우 암호화 수준 설정 [Windows 2000, 2003] 1. 시작>실행>TSCC.MSC>"해당 서비스 선택">속성 2. 암호화 수준-> 클라이언트 호환 가능(Windows 2003), 중간 (Windows 2000) 이상으로 설정 - 171 - - 172 -
점검분류 항목 서비스 관리 위험도 중 분류번호 W-45 Windows NT, 2000, 세부점검 항목 IIS 웹서비스 정보 숨김 대상 2003 에러페이지, 웹 서버 종류, 사용 OS, 사용자 계정 이름 등 웹 서버와 관련된 불필요한 정보가 노출되지 않도록 한다. 이러한 정보를 아는 것 만으로도 공격에 필요한 정보를 수집하는데 도움이 될 수 있음. 점검분류 항목 서비스 관리 위험도 중 분류번호 W-46 Windows NT, 2000, 세부점검 항목 SNMP 서비스 구동 점검 대상 2003 SNMP 서비스는 시스템 상태를 실시간으로 파악하거나 설정하기 위하여 사용하는 서비스임. SNMP 서비스를 사용하지 않을 경우 중지 시킴 시스템의 주요 정보 유출 및 불법 수정. 공격자가 여러 정보를 수집함으로써 다양한 공격을 시도 할 수 있음. [Windows NT] 1. URL의 파라미터를 변경하여 내부오류를 발생시킨다. - 파라미터 값 변경 시도 : www.kkk.com/common.htmlapp&c=1201 2. 검색 창 또는 ID/PW 입력 창에 특수문자 등을 입력하여 에러 메시지 발생 여부를 확인한다. 바탕화면>네트워크환경>등록정보>서비스/SNMP Service>속성>보안에 서 확인 [Windows 2000, 2003] 시작>실행>SERVICES.MSC>SNMP Service>속성>보안에서 확인 중기 적용 양호 웹서버와 불필요한 정보 유출 서비스를 차단 취약 웹서버와 불필요한 정보 유출 서비스 미차단. o 통일된 메시지를 출력한다. - 접근된 파일이 존재하지 않거나 거부되는 경우 : access denied 출력 양호 SNMP 서비스를 사용하지 않음 - 로그인 시 ID나 패스워드가 틀린 경우 : 로그인에 실패 했습니다 출 취약 SNMP 서비스를 사용 함 력 - 웹 어플리케이션의 인수에 특수문자 입력 시 : 특수문자 입력 불가 메시지 출력 불필요시 서비스 중지/사용안함 o 최종 사용자에게 스택 추적 정보, 경로 정보와 디버그 정보 제공을 금 지한다. o 에러 메시지를 특정 URL로 리다이렉트 또는 예외 호출을 설정한다. [Windows NT] 1. 바탕화면>네트워크환경>등록정보>서비스/SNMP Service>속성>보안 o 히든 필드 값을 그대로 사용하지 말고, 데이터베이스에서 재검색 하여 값을 새로 얻어 오거나 히든 필드로 전송된 값들에 대한 검증을 하도록 소스를 수정한다. o 히든 필드로 값을 넘기는 것보다 세션의 속성을 통하여 변수를 저장 관리하는 것이 안전하다. [Windows 2000, 2003] 1. 시작>실행>SERVICES.MSC>SNMP Service>속성>보안 2. 불필요시 해당 서비스 제거 시작>실행>SERVICES.MSC>SNMP Servic>속성에서 [시작 유형]을 [사용 안함]으로 만든 후, SNMP 서비스를 중지 - 173 - - 174 -
점검분류 항목 서비스 관리 위험도 중 분류번호 W-47 세부점검 항목 SNMP 서비스 커뮤니티스트링의 복잡성 설정 대상 Windows NT, 2000, 2003 SNMP 서비스는 시스템 상태를 실시간으로 파악하거나 설정하기 위하여 사용하는 서비스임. 그러나 이 정보를 받기 위한 일종의 패스워드인 Community String이 Default로 public, private로 설정되어 있는 경우가 많으며, 이를 변경하지 않으면 이 String을 악용하여 비인가사용자가 시 스템의 주요 정보 및 설정 상황을 파악 할 수 있는 취약성이 존재함. 시스템의 주요 정보 유출 및 불법 수정. NMS 에서 서버를 모니터링 하는 경우 SNMP 를 사용하며 기타 SNMP 를 사용할 경우 Community 이름 변경시 통신하고자 하는 Server/Client에 모두 같은 Community 이름을 사용해야 함. [Windows NT] 바탕화면>네트워크환경>등록정보>서비스/SNMP Service>속성>보안에 서 확인 (서비스>SNMP>등록정보>종속성 참고) [Windows 2000, 2003] 시작>실행>SERVICES.MSC>SNMP Service>속성>보안에서 확인 중기 적용 양호 SNMP Community 이름이 public, private 이 아닐 경우 취약 SNMP Community 이름이 public, private 인 경우 Default Community 이름(public) 변경 [Windows NT] 1. 바탕화면>네트워크환경>등록정보>서비스/SNMP Service>속성>보안 [Windows 2000, 2003] 1. 시작>실행>SERVICES.MSC>SNMP Service>속성>보안 2. 쓰기권한이 필요하지 않다면 커뮤니티 이름을 읽기 전용으로 Public/Private 이 아닌 이름을 추가 (NT의 경우 시작>제어판>서비스에서 설정) - 175 - - 176 -
점검분류 항목 서비스 관리 위험도 중 분류번호 W-48 Windows NT, 2000, 세부점검 항목 SNMP Access Control 설정 대상 2003 SNMP v1 이 안고 있던 제일 큰 약점은 보안기능이 없어 단순하게 Community name 확인 절차만 거치면 Network 가 불가능하게 되는 문 제점 등이 발견되었는데 이를 보안한 것이 SNMP v2 이다. 여기서 인증절차의 대한 보안 M5 알고리즘과, Party mib를 이용한 사용 자에게만 특정 객체를 이용하거나 못하게 하는 Access Control 기능이 추가되어 보안요소가 높아짐. SNMP에서 모든 권한이 주어졌을 경우 침입 시에 네트워크 설정을 변 경하여 혼란을 줄 수 있으며, 데이터 손실까지 일어 날수 있음. [Windows NT] 바탕화면>네트워크환경>등록정보>서비스/SNMP Service>속성>보안에 서 확인 NMS 에서 서버를 모니터링 하는 경우 SNMP 를 사용하며 기타 SNMP 를 사용할 경우 Community 이름 변경시 통신하고자 하는 Server/Client에 모두 같은 Community 이름을 사용해야 함. (서비스>SNMP>등록정보>종속성 참고) [Windows 2000, 2003] 시작>실행>SERVICES.MSC>SNMP Service>속성>보안에서 확인 양호 특정 호스트로부터 SNMP 패킷 받아들이기 인 경우 취약 모든 호스트로부터 SNMP 패킷 받아들이기 인 경우 [Windows NT] 1. 바탕화면>네트워크환경>등록정보>서비스/SNMP Service>속성>보안 [Windows 2000, 2003] 1. 시작>실행>SERVICES.MSC>SNMP Service>속성>보안 2. 인증 트랩 보내기 및 다음 호스트로부터 SNMP 패킷 받아들이기 선 택 3. SNMP 호스트 등록 - 177 - - 178 -
점검분류 항목 서비스 관리 위험도 중 분류번호 W-49 세부점검 항목 DNS 서비스 구동 점검 대상 Windows NT, 2000, 2003 동적 업데이트는 변경 사항이 있을 때마다 DNS 클라이언트 컴퓨터가 자신의 리소스 레코드를 DNS 서버에 등록하고 동적으로 업데이트할 수 있게하며 이 기능을 사용하면 특히 위치를 자주 이동하거나 변경하고DHCP를 통해 IP 주소 를 얻는 클라이언트의 영역 레코드 수동 관리 작업을 줄일 수 있음. 하지만 동적 업데이트를 사용할 경우 악의적인 사용자에 의해 신뢰할 수 없는 데이터가 받아들여 질 수 있기 때문에 동적업데이트를 사용하지 않아야 함. DNS 서버를 사용하지 않을 경우 중지 시킴 서비스 거부 공격 [Windows NT] N/A [Windows 2000, 2003] 시작>실행>DNSMGMT.MSC>각 조회영역>해당 영역>속성>일반에서 확인 중기 적용 W- 양호 DNS서비스를 사용 않하거나 동적 업데이트 "없음"이 설정되어 있을 경우 취약 DNS서비스를 사용하며 동적 업데이트가 설정되어 있을 경우 불필요시 서비스 중지/사용안함, 사용할 경우 동적 업데이트 "없음" 설정 [Windows NT] N/A [Windows 2000, 2003] 1. 시작>실행>DNSMGMT.MSC>각 조회영역>해당 영역>속성>일반 2. "동적 업데이트" -> 없음 선택 - 179 - - 180 -
-불필요시 해당 서비스 제거 시작>실행>SERVICES.MSC>DNS Server>속성에서 [시작 유형]을 [사용 안함]으로 만든 후, DNS 서비스를 중지. 점검분류 항목 서비스 관리 위험도 하 분류번호 W-50 Windows NT, 2000, 세부점검 항목 HTTP/FTP/SMTP 배너 차단 대상 2003 임의의 사용자가 HTTP, FTP, SMTP 접속 시도시 보여지는 접속 배너 정 보를 수집하여 해킹에 사용함 시스템 정보 확인 [Windows NT, 2000] HTTP: WinNTsystem32inetsrvw3svc.dll를 Hex편집기로 열어 확인 FTP: WinNTsystem32inetsrvftpsvc2.dll를 Hex편집기로 열어 확인 SMTP: IIS 관리자에서 메타베이스 직접 편집 중기 적용 사용하지 않을 경우 IIS 서비스 중지/사용안함, 사용할 경우 값 수정 [Windows NT, 2000] HTTP: WinNTsystem32inetsrvw3svc.dll를 Hex편집기로 연 다음 "Microsoft-IIS/4.0" 또 는 'Microsoft-IIS/5.0" 부분을 찾아(해당 부분이 두군데 있으며 거의 같은 위치 에 붙어 있다.) 수정한다. dll파일이 메모리에 올려져 있어 편집할 수 없으니 윈도우를 명령 프롬프트만 뜨게 부팅한 후 해당 파일을 바꿔준다 FTP: WinNTsystem32inetsrvftpsvc2.dll를 Hex편집기로 연 다음 "Microsoft FTP Service" 부분을 찾아 수정한다. dll파일이 메모리에 올려져 있어 편집할 수 없으니 윈도우를 명령 프롬프트만 뜨게 부팅한 후 해당 파일을 바꿔준다. SMTP: IIS 관리자에서 서버 개체를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합 니다. 메타베이스 직접 편집 허용 확인란을 선택합니다. Exchange System Manager에서 사용할 수 없는 매개 변수를 변경하려는 경우 메타베이스 설정을 직접 편집할 수 있습니다. 예를 들어 다음과 같이 SMTP 통 신에서 Exchange 관련 버전 정보를 공개하지 못하도록 기본 SMTP 가상 서버 의 구성 개체(<IIsSmtpServerLocation ="/LM/SmtpSvc/1">)에 ConnectResponse 속성 값을 추가하여 SMTP 서버의 SMTP 배너를 변경할 수 있습니다. <IIsSmtpServer Location ="/LM/SmtpSvc/1" AdminACL="4963.........a472" ClusterEnabled="FALSE" - 181 - - 182 -
ConnectionTimeout="600" 점검분류 항목 서비스 관리 위험도 중 분류번호 W-51 Windows NT, 2000, 세부점검 항목 Telnet 보안 설정 대상 2003 Windows 2000에서는 기본적으로 Telnet 서비스에 대하여 NTLM 인증 을 사용하며 Windows 2003에서는 NTLM인증과 Password 인증을 동시 에 사용함. 이는 별도의 계정, 비밀번호의 입력없이 클라이언트 컴퓨터 의 로그인 계정 및 패스워드를 이용하여 Telnet 서버와 인증을 하는 것 으로서 Windows 계열의 클라이언트만 사용할 수 있는 인증임. NTLM 을 사용하지 않고 ID/PASSWORD를 직접 입력하여 인증(NTLM값이 0일 경우)할 수도 있는데 이는 클라이언트가 유닉스 계열 또는 NTLM 인증 을 사용할 수 없을 때에 이러한 인증 방법을 사용할 수 있음. Telnet을 이용한 통신은 암호화 되지 않은 평문으로 전송되므로 간단한 Sniffer 에 의해서도 정보가 유출될 수 있으므로 SSH, IPsec 등을 이용한 암호화 통신을 권장하며 사용하지 않을 경우 중지시킴. 시스템 내부 접근, 시스템 관리자 권한 획득. [Windows NT, 2000] 시작>설정>제어판>관리도구>텔넷서버설정에서 확인 [Windows 2003] 시작>실행>cmd>tlntadmn config에서 확인 양호 Telnet 서비스가 구동 되어 있지 않거나 인증방법이 NTLM 일 경우 취약 Telnet 서비스가 구동 되어 있으며 인증방법이 NTLM 이 아닐 경우 불필요시 서비스 중지/사용안함 설정, 사용시 인증방법으로 NTLM 만 사용 [Windows NT, 2000] 1. 시작>설정>제어판>관리도구>텔넷서버설정 2. NTLM인증방식만 사용 - 183 - - 184 -
점검분류 항목 서비스 관리 위험도 중 분류번호 W-52 세부점검 항목 불필요한 ODBC/OLE-DB 데이터 소스와 드라이브 제거 대상 Windows NT, 2000, 2003 어떤 샘플 어플리케이션은 샘플 데이터베이스를 위해서 ODBC 데이터 소스를 설치하거나 불필요한 ODBC/OLE-DB 데이터베이스 드라이브를 설치함. 불필요한 데이터 소스나 드라이버는 ODBC 데이터 소스 관리자 도구를 이용해서 제거하는 것이 바람직 함. 임의의 명령어 실행, 임의의 파일 수정, 시스템 관리자 권한 획득. [Windows NT] 시작>설정>제어판>데이터 원본(ODBC)>시스템 DSN에서 확인 [Windows 2000, 2003] 1. 시작>설정>제어판>관리도구>데이터 원본 (ODBC)>시스템DSN>해당 드라이브에서 확인 중기 적용 [Windows 2003] 1. 시작>실행>cmd>tlntadmn config 2. tlntadmn config sec = +NTLM-passwd(passwd 인증 방식을 제외하 고 NTLM 인증방식 만 사용) 양호 시스템 DSN 부분의 Data Source 를 현재 사용하고 있는 경우 취약 시스템 DSN 부분의 Data Source 를 현재 사용하고 있지 않은 경우 사용하지 않는 불필요한 ODBC 데이터 소스는 제거. 사용할 경우 양호 [Windows NT] 시작>설정>제어판>데이터 원본(ODBC)>시스템 DSN [Windows 2000, 2003] 1. 시작>설정>제어판>관리도구>데이터 원본 (ODBC)>시스템DSN>해당 드라이브 클릭 2. 사용하지 않는 데이터 소스 제거 -불필요시 해당 서비스 제거 시작>실행>SERVICES.MSC>Telnet>속성에서 [시작 유형]을 [사용 안함]으 로 만든 후, Telnet 서비스를 중지. - 185 - - 186 -
어플리케이션에서 사용할 경우는 양호. 점검분류 항목 서비스 관리 위험도 중 분류번호 W-53 Windows NT, 2000, 세부점검 항목 원격터미널 접속 타임아웃 설정 대상 2003 일반적으로 웹 서비스를 사용시 사용자가 Brower 어떠한 이벤트도 발생 하지 않는다면 웹서버에서 보안상 자동으로 세션을 끊는 경우가 있음. 이와 같은 방식으로 원격제어를 이용한 터미널에 접속한 후에 어떠한 이벤트 나 Action이 발생시키지 않는다면 Timeout 설정을 해주어야 함. 타인의 의하여 원격으로 정보 습득. 또한 명령어 조작. 임의의 파일 조 작. [windowns 2003] RDP-Tcp connection 마우스 우측 클릭>RDP-Tcp properties>sessions 에서 Idle session limit 값이 적용되어 있는지 확인. 중기 적용 양호 원격제어시 Timeout 을 제어설정을 했을시. 취약 원격제어시 Timeout 을 제어설정을 안했을시. [windowns 2003] 1. 시작>실행>열기>tscc.msc을 실행. 2. RDP-Tcp connection을 마우스 오른쪽 클릭 후 속성을 실행. 3. Sesstions 탭에서 아래 Override user settings 을 체크 하고 Idle session time 세션이 끊어지도록 원하는 시간을 삽입. 어플리케이션에서 사용할 경우는 양호. - 187 - - 188 -
점검분류 항목 서비스 관리 위험도 중 분류번호 W-54 세부점검 항목 예약된 작업에 의심스러운 명령이 Windows NT, 2000, 대상 등록되어 있는지 점검 2003 일정 시간마다 미리 설정해둔 프로그램을 실행할 수 있는 예약된 작업 은 시작프로그램 과 더불어서 해킹과 트로이목마, 백도어가 설치하여 공 격하기 좋은 루트임. 예약된 작업에서 수시로 확인하는 것을 권장. 트로이목마/백도어 공격에 취약. 해커들이 공격하기 용이함. [windowns 2000, 2003] 1. 시작>설정>제어판>예약된 작업 확인. 2. cmd 창에서 C:\>at 명령어 실행 하여 확인. 중기 적용 양호 예약된 작업에 접속하여 불필요한 명령어나 파일이 있는지 확 인. 취약 예약된 작업에 접속을 하지 않아 확인을 하지 않거나, 방치 했 을 경우. 어플리케이션에서 사용할 경우는 양호. [windowns 2000, 2003] GUI 확인 방법 1. 시작>설정>제어판>예약된 작업 확인. 2. 등록된 예약작업을 Click하여 상세 내역을 확인. 3. 불필요한 파일 있다면 삭제. CLI 확인 방법 1. 시작>실행>cmd 입력 후 엔터 2. cmd창에서 at실행. 3. C:\>at 명령어 실행 하여 확인. - 189 - - 190 -
점검분류 항목 패치 관리 위험도 상 분류번호 W-55 Windows NT, 2000, 세부점검 항목 최신 HOT FIX 적용 대상 2003 Hot Fix는 즉시 교정되어야만 하는 주요한 취약점(주로 보안과 관련된) 을 패치하기 위해 배포되는 프로그램 임. Hot Fix는 각각의 Service Pack 이 발표된 이후 패치가 추가될 필요가 있을 때 별도로 발표 됨. 때 론, Hot Fix 보다 취약성을 이용한 공격도구가 먼저 출현 할 수 있으므 로 Hot Fix는 발표 후 가능한 빨리 설치 할 것을 권장함. 임의의 명령어 실행, 임의의 파일 수정, 시스템 관리자 권한 획득. 점검분류 항목 패치 관리 위험도 상 분류번호 W-56 세부점검 항목 백신 프로그램 업데이트 대상 Windows NT, 2000, 2003 계속되는 신종 바이러스의 출현으로 인해 백신 프로그램의 설치만으로 는 그 효과를 볼 수 없으므로 바이러스 정보에 대한 주기적인 업데이트 를 통해 최신의 바이러스까지 치료할 수 있는 기능이 필요함. 새로운 바이러스에 파일 감염이 가능함. 바이러스 백신 프로그램 최신 엔진 업데이트 설치 유무 확인 [windowns 2000, 2003] 최신 패치가 설치되는지. 사이트에서 확인. 중기 적용 양호 최신Hotfix 또는PMS(Patch Management System) Agent 가 설 치되어 있을 경우 취약 최신Hotfix 또는PMS(Patch Management System) Agent 가 설 치되어 있을 경우 [windowns 2000, 2003] 최신 Hotfix 설치 아래의 패치 리스트 조회. 서버에 필요한 패치 선별 하여 수동 설치 요 망 양호 바이러스 백신 프로그램의 최신 엔진 업데이트가 설치되어 있 을 경우 취약 바이러스 백신 프로그램의 최신 엔진 업데이트가 설치되어 있 진 않은 경우 담당자를 통해 바이러스 백신을 설치 후 엔진 업데이트를 설정하도록 권고 백신사들 마다 다소 차이는 있으나 매주 업데이트가 이뤄지고, 긴급한 경우 수시로 업데이트를 하기도 함. 정기적인 업데이트를 통해 검색엔 진을 최신 버전으로 유지하고, 백신사에서 발표하는 경보를 주시해야 함. 또한, 백신 프로그램의 자동 업데이트 기능을 이용하면 인터넷에 연결 되어 있을 때 변동 사항을 자동으로 업데이트 함. http://www.microsoft.com/korea/technet/security/current.asp 안철수연구소, 하우리 : 매주 수요일 정기업데이트 보안 패치 및 Hot Fix 의 경우는 적용 후 시스템 재시작을 요하는 경 우가 대부분이므로 관리자는 서비스에 지장이 없는 시간대에 적용을 하 는 것을 권장. 시스템에 알맞은 Hot Fix 는 수행되고 있는 OS 프로그램 및 특히 개발 되거나 구매한 Application 프로그램에 영향을 줄 수 있음. 따라서 패치 적용전 Application 프로그램을 구분하고, 필요하다면 OS 벤더 또는 Application 엔지니어의 호가인 하에 패치를 수행해야 함. 시만텍코리아, 트랜드마이크로 : 매주 목요일 정기업데이트 (미국시간으 로 수요일) 4개 백신업체 모두 긴급시 수시업데이트 및 실시간 업데이트 기능 제 공. 어플리케이션에서 사용할 경우는 양호. - 191 - - 192 -
점검분류 항목 패치 관리 위험도 중 분류번호 W-57 Windows NT, 2000, 세부점검 항목 정책에 따른 시스템 로깅 설정 대상 2003 감사 설정이 구성되어 있지 않거나 감사 설정 수준이 너무 낮으면 보 안 관련 문제 발생시 원인을 파악하기 어려우며 법적 대응을 위한 충 분한 증거로 사용될 수도 없음. 그러나 감사 설정이 너무 높으면 보안 로그에 불필요한 항목이 많이 기 록되므로 매우 중요한 항목과 혼동할 수 있으며 컴퓨터 성능에도 심각 한 영향을 줄 수 있기 때문에 법적 요구 사항과 조직의 정책에 따라 필 요한 로그를 남기도록 해야 함. 각종 침해 사실에 대한 확인과 대응책 및 법적 대응이 어려움. [Windows NT] 시작>프로그램>관리도구>도메인사용자관리자>정책>감사에서 확인 [Windows 2000, 2003] 시작>실행>SECPOL.MSC>로컬정책>감사정책에서 확인 [Windows 2000, 2003] 1. 시작>실행>SECPOL.MSC>로컬정책>감사정책 양호 아래와 같은 이벤트에 대한 감사 설정이 되어 있는 경우. 취약 아래와 같은 이벤트에 대한 감사 설정이 되어 있지 않은 경우 로그온 이벤트, 계정 로그온 이벤트, 정책 변경 : 성공/실패 감사 계정 관리, 디렉터리 서비스 액세스, 권한 사용 : 실패 감사 위와 같은 이벤트에 대한 추가적인 감사 설정 [Windows NT] 시작>프로그램>관리도구>도메인사용자관리자>정책>감사 로그온 및 로그오프, 보안정책 바꾸기 : 성공/실패 감사 사용자 권한 사용, 사용자 및 그룹 관리 : 실패 감사 정 책 로그온 이벤트 계정 로그온 이벤트 계정 관리 개체 액세스 설 명 사용자가 컴퓨터에 로그온하거나 로그오프할 때마다 로 그온이 시도된 컴퓨터의 보안 로그에 이벤트가 생성 사용자가 도메인에 로그온하면 도메인 컨트롤러에 로그 온 시도가 기록 사용자나 그룹이 작성, 변경 또는 삭제된 시간을 판단하 는데 사용 시스템 액세스 컨트롤 목록(SACL)이 있는Windows 2000 기반 네트워크의 모든 개체에 대해 감사를 활성화 보안 로그에 이벤트를 표시하려면 먼저 개체 액세스 감 사를 활성화한 후 감사할 각 개체에 대해 SACL을 정의 - 193 - - 194 -
디렉터리 서비스 액 세스 권한 사용 프로세스 추적 시스템 이벤트 정책 변경 Active Directory 개체의 SACL에 나열된 사용자가 해당 개체에 액세스를 시도할 때 감사 항목이 생성 권한 사용의 성공 및 실패를 감사할 경우 사용자 권한을 이용하려고 할 때마다 이벤트가 생성 실행되는 프로세스에 대한 자세한 추적 정보를 감사하는 경우 이벤트 로그에 프로세스를 작성하고 종료하려고 한 시도가 나타남 사용자나 프로세스가 컴퓨터 환경을 변경하면 시스템 이 벤트가 생성 시스템 이벤트를 감사할 경우 보안 로그가 삭제된 시간 도 감사 감사 정책 변경의 성공 및 실패를 감사 점검분류 항목 로그 관리 위험도 상 분류번호 W-58 Windows NT, 2000, 세부점검 항목 로그의 정기적 검토 및 보고 대상 2003 컴퓨터에 관한 작업은 로그라는 정보로 저장함. 로그는 컴퓨터 관련 범 죄가 발생 했을시 해킹의 흔적을 찾기 위하여 로그를 분석. 단순히 해킹 의 흔적을 찾기 위한 수단만이 아니라 로그분석을 통해 공격기법을 발 견하여 시스템 취약점을 제거 할 수 있고, 공격에 대한 근원을 찾을 수 있다면 자산의 손실을 공격자에게 법적인 책임을 물을 수가 있으므로 로그에 대한 관리와 분석이 중요시 됨. 일반적인 경우 영향 없음 로그자료가 없을시, 공격자에 대한 방어대응 취약. 자산의 재산 손실 우 려. [Windows NT, 2000, 2003] 1. 이벤트 뷰어 -> 시작>제어판>관리도구>이벤트 뷰어. 2. 로컬보안정책 -> 시작>설정>제어판>관리도구>로컬보안정책. 양호 로그기록에 대해 정기적 검토, 분석, 그에 대한 리포트 작성 및 보고등의 조치가 되 있을 경우. 취약 로그기록에 대해 미 검사, 미 검토 되었을 경우. [Windows NT, 2000, 2003] - 이벤트 로그를 확인하기 위해서는 Windows의 이벤트 뷰어를 사용. 1. 시작>제어판>관리도구>이벤트 뷰어 2. 으용 프로그램 로그, 보안 로그, 시스템 로그 와 같은 세가지 로그를 이벤 트에 기록 3. OS 구성에 따라 디렉토리 서비스 로그, 파일 복제 서비스 로그, DNS 서버 로그 추가 - 감사 정책을 구성하는 방법으로 서는 로컬보안정책 설정을 이용. * 로컬보안정책을 이용하여 감사 정책을 구성하기 위해서는 Administrators 그룹 구성원 또는 적절한 권한이 임이 된 사용자 이여야 함. - 195 - - 196 -
1. 시작>설정>제어판>관리도구>로컬보안정책 2. 보안 템플릿을 이용한 감사 정책을 구성. (보안 템플릿이란 보안 구 성을 표 시하는 파일로 로컬 컴퓨터 및 그룹 정책 개제를 적용 보 안 분석에 사용) 점검분류 항목 로그 관리 위험도 상 분류번호 W-59 세부점검 항목 원격으로 액세스할 수 있는 레지스트리 경로 대상 Windows NT, 2000, 2003 Windows에 의해 사용되는 모든 초기화와 환경설정 정보는 레지스트리 에 저장되어 있음. 레지스트리 편집기는 원격접속으로도 그 키를 바꿀 수 있는데 이는 대 단히 위험한 것으로 네트워크를 통한 레지스트리 접속을 차단해야 됨. 원격에서 레지스트리로의 접근을 위해서는 관리자의 권한 또는 원격에 서 접근을 하기 위한 특별한 계정이 필요함. 윈도우에서는 원격에서 레지스트리 접근에 대한 요구를 다루기 위해 원 격 레지스트리 서비스를 제공하고 있는 데 이 서비스를 중지시키면 레 지스트리에 대한 어떠한 원격 접근도 막을 수 있음. 일반적인 경우 영향 없음 임의의 레지스트리 변조 [Windows 2000, 2003] 시작>실행>SERVICES.MSC>Remote Registry>속성에서 확인 양호 Remote Registry Service 가 중지되어 있을 경우 취약 Remote Registry Service 가 사용중일 경우 불필요할 경우 서비스 중지/사용안함 설정 [Windows 2000, 2003] 1. 시작>실행>SERVICES.MSC>Remote Registry>속성 2. "시작유형"->사용안함, 서비스 상태->중지 Remote Registry Service 를 사용하는지 확인 필요(서비스>Remote Registry Service>등록정보>종속성 참고) - 197 - - 198 -
점검분류 항목 로그 관리 위험도 하 분류번호 W-60 Windows NT, 2000, 세부점검 항목 이벤트 로그 관리 설정 대상 2003 최대 로그 크기는 10MBytes 이상, 이벤트 로그 관리는 이벤트 겹쳐 쓰 지 않음 으로 설정하여 시스템에 보안상 로그가 자동으로 덮어쓰지 않도 록 설정 되어 있는지 확인함. 보안 로그의 크기를 유지하여 접근자 추적 및 불법 접근자 확인 자료로 이용. [Windows NT] 프로그램>관리도구>이벤트표시기>로그>로그설정에서 확인 [Windows 2000, 2003] 시작>실행>EVENTVWR.MSC>해당 로그>속성>일반에서 확인 [Windows 2000, 2003] 1. 시작>실행>EVENTVWR.MSC>해당 로그>속성>일반 2. "최대 로그 크리"->10240, "최대 로그 크기에 미쳤을 때"-> 90일 양호 최대 로그 크기 10240KB 이상이고 "90일 이후 이벤트 덮어씀" 으로 설정되어 있을 경우 취약 최대 로그 크기 10240KB 미만이거나 "이벤트 덮어쓰는 기간이 90일 이하일 경우" 가 설정되어 있을 경우 최대 로그 크기 10204KB, "90일 이후 이벤트 덮어씀" 설정 [Windows NT] 1. 프로그램>관리도구>이벤트표시기>로그>로그설정 2. "최대 로그 크리"->10240, "다음 이전의 이벤트 겹쳐씀"-> 90일 일반적인 경우 영향 없음 - 199 - - 200 -
점검분류 항목 로그 관리 위험도 중 분류번호 W-61 Windows NT, 2000, 세부점검 항목 원격에서 이벤트 로그 파일 접근 차단 대상 2003 익명으로 중요 시스템로그 파일 및 어플리케이션 로그 파일에 접근 가능하여 중요 보안 감사 정보의 변조/삭제/유출의 위험이 존재 하므로 원격 익명사용자의 시스템 로그 접근을 방지해야 됨. 일반적으로 시스템 로그파일은 C:\winnt\system32\config에 저장되나 어플리케이션 로그파일은 각각의 어플리케이션마다 로그저장 위치가 다름. 웹 서버에 많이 사용하는 IIS 의 경우에는 C:\winnt\system32\LogFiles에 IIS 로그 저장이 이루어 짐. 시스템 정보 변조/삭제/유출 [Windows NT, 2000, 2003] 1. 탐색기>로그 디렉터리>속성>보안에서 확인 양호 로그 디렉터리의 권한에 Everyone 이 없는 경우 취약 로그 디렉터리의 접근권한이 Everyone 이 있는 경우 - 시스템 로그 디렉터리: %systemroot%\system32\config - IIS 로그 디렉터리: %systemroot%\system32\logfiles Everyone 권한 제거 [Windows NT, 2000, 2003] 1. 탐색기>로그 디렉터리>속성>보안 2. Everyone 을 제거 점검분류 항목 보안 관리 위험도 상 분류번호 W-62 Windows NT, 2000, 세부점검 항목 백신 프로그램 설치 대상 2003 웜, 트로이목마 등의 악성 바이러스로 인한 피해규모가 커지고 있으며 이에 대한 피해를 최소화하기 위해 반드시 바이러스 백신 프로그램을 설치해야 함. 바이러스 백신 프로그램은 바이러스 감염 여부 진단 및 치료, 파일의 보 호를 할 수 있으며 예방도 가능함. 바이러스로 인한 파일의 감염을 예방할 수 있음. 바이러스 백신 설치유무 확인 중기 적용 양호 바이러스 백신 프로그램이 설치되어 있는 경우 취약 바이러스 백신 프로그램이 설치되어 있지 않은 경우 담당자를 통해 바이러스 백신을 설치토록 권고 바이러스 백신 프로그램을 반드시 설치해야 함. 안철수 연구소 : http://www.ahnlab.com 하우리 : http://www.hauri.co.kr 시만텍코리아 : http://www.symantec.co.kr 한국트렌드마이크로: http://www.trendmicro.co.kr/ 일반적인 경우 영향 없음 - 201 - - 202 -
점검분류 항목 보안 관리 위험도 상 분류번호 W-63 세부점검 항목 SAM 파일 접근 통제 설정 대상 Windows NT, 2000, 2003 Security Account Manager (SAM) 파일은 사용자와 그룹 계정들을 다 루고, LSA를 위한 인증을 제공함. 패스워드 공격 시도에 의한 Password Database 노출될 수 있으므로 Administrator 및 Sytem 그룹외에는 SAM 파일에 대한 접근이 제한되 어야 함 패스워드 유출 [Windows NT, 2000, 2003] %systemroot%\system32\config\sam>속성>보안에서 확인 양호 SAM 파일 접근권한에 Administrator, System 그룹만 모든권한 으로 등록되어 있는 경우 취약 SAM 파일에 Administrator, System 그룹 외 다른 그룹에 권한 이 설정되어 있을 경우 점검분류 항목 보안 관리 위험도 상 분류번호 W-64 Windows NT, 2000, 세부점검 항목 화면보호기 설정 대상 2003 사용자들은 시스템에서 얼마동안 떨어져 있을 경우에는 로그오프하거나 워크스테이션 잠김 설정이 되어있는지 여부를 확인함. 자리 이탈시의 정보 유출 가능성을 최소화 함. [Windows NT, 2000, 2003] 바탕화면>속성>화면보호기에서 확인[Windows NT, 2000, 2003] %systemroot%\system32\config\sam>속성>보안에서 확인 양호 화면보호기를 설정하고 암호를 사용하며 대기 시간이 5분일 경 우 취약 화면보호기가 설정되어 있지 않거나 암호를 사용하지 않거나 대기시간이 5분 초과 일 경우 화면보호기 사용, 대기시간 5분, 암호 사용 SAM 파일 권한 확인후 Administrator, System 그룹외 나머지 제거 [Windows NT, 2000, 2003] 1. %systemroot%\system32\config\sam>속성>보안 2. Administrator, System 그룹 외 다른 사용자 및 그룹 권한 제거 [Windows NT, 2000, 2003] 1. 바탕화면>속성>화면보호기>"다시 시작할 때 암호로 보호" 설정, "대 기 시간" 5분 설정 - 203 - - 204 -
점검분류 항목 보안 관리 위험도 상 분류번호 W-65 Windows NT, 2000, 세부점검 항목 로그온하지 않고 시스템 종료 허용 대상 2003 로그온창에 "시스템 종료"버튼이 활성화되면, 비인가된 사용자가 또는 인가된 사용자의 비의도적인실수 등으로 로그인을 하지않고도 시스템의 불법적인 시스템 다운을 가능하게 하여, 정상적인 서비스에 장애를 발생 시킬 수 있음. 시스템 종료 버튼을 비활성화 시킴으로 비인가된 사용자로부터의 불법 적인 시스템 다운, 비의도적인 실수 등을 미연에 방지할 수 있음. [Windows NT 4.0] H K E Y _ L O C A L _ M A C H I N E \ S O F T W A R E \ M i c r o s o f t \ W i n d o w s NT\CurrentVersion\Winlogon\ ShutdownWithoutLogon 값 확인 [Windows 2000, 2003] 시작>실행>SECPOL.MSC>로컬정책>보안옵션에서 확인 일반적인 경우 영향 없음 양호 "로그온 하지 않고 시스템 종료 허용"이 "사용안함"으로 설정되 어 있을 경우 취약 "로그온 하지 않고 시스템 종료 허용"이 "사용"으로 설정되어 있을 경우 시스템 종료 : 로그온 하지 않고 시스템 종료 허용 -> 사용안함 [Windows NT 4.0] H K E Y _ L O C A L _ M A C H I N E \ S O F T W A R E \ M i c r o s o f t \ W i n d o w s NT\CurrentVersion\Winlogon\ ShutdownWithoutLogon= 0 [Windows 2000, 2003] 1. 시작>실행>SECPOL.MSC>로컬정책>보안옵션 2. "로그온 하지 않고 시스템 종료 허용"을 사용안함 으로 설정 - 205 - - 206 -
점검분류 항목 보안 관리 위험도 상 분류번호 W-66 Windows NT, 2000, 세부점검 항목 원격 시스템에서 강제로 시스템 종료 대상 2003 이 보안 설정은 원격에서 네트워크를 사용하여 운영 체제를 종료할 수 있는 사용자 및 그룹을 결정하며 해당 권한 부여가 부적절 할 경우 서 비스 거부 공격에 이용 될 수 있음. 임의의 사용자가 원격에서 시스템을 종료 할 수 있음. [Windows 2000, 2003] 1. 시작>실행>SECPOL.MSC>로컬 정책>사용자 권한 할당 2. "원격 시스템에서 강제로 시스템 종료" 정책에서 확인 양호 "원격 시스템에서 강제로 시스템 종료" 정책에 "Administrators" 만 존재할 경우 취약 "원격 시스템에서 강제로 시스템 종료" 정책에 "Administrators" 외 다른 계정 및 그룹이 존재할 경우 점검분류 항목 보안 관리 위험도 상 분류번호 W-67 세부점검 항목 보안 감사를 로그할 수 없는 경우 즉시 시스템 종료 대상 Windows NT, 2000, 2003 이 정책 설정은 보안 이벤트를 기록할 수 없는 경우 컴퓨터를 종료할 것인지 여부를 결함. 이 정책을 사용할 경우 서비스 거부 공격으로 사용 될 수 있으며 비 정상 종료로 인해 시스템 및 데이터에 손상을 입힐 수 있음. 서비스 거부 공격에 이용될 수 있음. [Windows 2000, 2003] 시작>실행>SECPOL.MSC>로컬 정책>보안옵션에서 확인 원격 시스템에서 강제로 시스템 종료 -> Administrators [Windows 2000, 2003] 1. 시작>실행>SECPOL.MSC>로컬 정책>사용자 권한 할당 2. "원격 시스템에서 강제로 시스템dnjsrur 종료" 정책에 양호 "보안 감사를 로그할 수 없는 경우 즉시 시스템 종료" 정책이 " 사용안함" 으로 되어 있을 경우 취약 "보안 감사를 로그할 수 없는 경우 즉시 시스템 종료" 정책이 " 사용" 으로 되어 있을 경우 "Administrators" 외 다른 계정 및 그룹 제거 2003 - 감사:보안 감사를 로그할 수 없는 경우 즉시 시스템 종료 -> 사용안함 2000 - 보안 감사를 로그할 수 없는 경우 즉시 시스템 종료 -> 사용안 함 [Windows 2000, 2003] 1. 시작>실행>SECPOL.MSC>로컬 정책>보안옵션 2. "보안 감사를 로그할 수 없는 경우 즉시 시스템 종료" 정책을 "사용 안함" 으로 설정 - 207 - - 208 -
점검분류 항목 보안 관리 위험도 상 분류번호 W-68 세부점검 항목 SAM 계정과 공유의 익명 열거 허용 안 함 대상 Windows NT, 2000, 2003 SAM(보안 계정 관리자) 계정과 공유의 익명 열거가 허용될 경우 Windows에서는 익명 사용자가 도메인 계정(사용자, 컴퓨터 및 그룹)과 네트워크 공유의 이름 열거를 통해 악의적인 사용자가 계정 이름 목록 을 익명으로 표시한 다음 이 정보를 사용하여 암호를 추측하거나 사회 공학적 기술 공격을 수행 할 수 있음. 임의의 명령어 실행, 임의의 파일 수정, 시스템 관리자 권한 획득. [Windows NT] 1. 시작>실행>regedit 를 실행 2. HKLM\SYSTEM\CurrentControlSet\Control\LSA 레지스트리에서 확인 [Windows 2000] 시작>실행>SECPOL.MSC>로컬정책>보안옵션에서 확인 [Windows 2003] 시작>실행>SECPOL.MSC>로컬정책>보안옵션에서 확인 양호 해당 보안옵션 값이 설정 되어 있을 경우 취약 해당 보안옵션 값이 설정 되어 있지 않을 경우 레지스트리 값 또는 로컬보안정책 설정 [Windows NT] 1. 시작>실행>regedit 를 실행 2. HKLM\SYSTEM\CurrentControlSet\Control\LSA 레지스트리를 검 색. 3. 오른쪽 버튼을 눌러 새로만들기 DWORD값 을 선택. - 209 - - 210 -
[Windows 2003] 1. 시작>실행>SECPOL.MSC>로컬정책>보안옵션 2. "SAM 계정과 공유의 익명 열거 허용 안 함", "SAM 계정의 익명 열 거 허용 안 함" 에 각각 "사용" 을 선택 4. RestrictAnonymous 를 입력. 이때 값은 Default 값인 0 을 1 로 변 경. [Windows 2000] 1. 시작>실행>SECPOL.MSC>로컬정책>보안옵션 2. "익명의 연결에 추가적인 제한" 에 "명백한 익명의 사용권한이 없으 면 액세스 제한" 을 선택 - 방화벽과 라우터에서 135~139(TCP, UDP)포트의 차단을 통해 외부로 부터의 위협을 차단하도록 함. - 원천적으로 봉쇄. 네트워크 및 전화 접속 연결>로컬영역>등록정보>고급>고급설 정>Microsoft네트워크파일 및 프린트공유를 해제 해야 함. Active Directory, Clustered system 에서는 적용시 영향 있음 - 211 - - 212 -
점검분류 항목 보안 관리 위험도 상 분류번호 W-69 Windows NT, 2000, 세부점검 항목 Autologon 기능 제어 대상 2003 Autologon 기능을 사용하면 침입자가 해킹 도구를 이용하여 레지스트리 에서 로그인 계정 및 암호를 확인할 수 있으므로 Autologon 기능을 사 용하지 말아야 함. 비 허가자가 시스템에 물리적으로 접근시 시스템 정보 유출 및 손상. [Windows NT, 2000, 2003] 시작>실행>REGEDIT>HKLM\SOFTWARE\Microsoft\WindowsNT\Curr entversion\winlogon에서 확인 양호 AutoAdminLogon 값이 없거나 0으로 설정되어 있는 경우 취약 AutoAdminLogon 값이 1로 설정되어 있는 경우 반드시 자동 로그인을 사용할 경우를 제외하고 적용시 일반적으로 영 향 없음 해당 레지스트리 값이 존재할 경우 0 으로 설정 [Windows NT, 2000, 2003] 시작>실행>REGEDIT>HKLM\SOFTWARE\Microsoft\WindowsNT\Curr entversion\winlogon 2. AutoAdminLogon 값을 0으로 세팅. 3. DefaultPassword 엔트리가 존재한다면 삭제 - 213 - - 214 -
점검분류 항목 보안 관리 위험도 상 분류번호 W-70 세부점검 항목 이동식 미디어 포맷 및 꺼내기 허용 대상 Windows NT, 2000, 2003 이 정책 설정은 이동식 NTFS 미디어 포맷 및 꺼내기가 허용되는 사용자 를 결정. 사용자가 관리 권한을 가진 다른 컴퓨터로 이동식 디스크의 데 이터를 이동하여 파일에 대한 소유권을 얻고 자신에게 모든 권한을 부여 하여 파일을 보거나 수정할 수 있음. 중요 데이터 유출 [Windows 2000, 2003] 1. 시작>실행>SECPOL.MSC>로컬 정책>보안옵션 양호 "이동식미디어 포맷 및 꺼내기 허용" 정책이 "Administrator"으 로 되어 있을 경우 취약 "이동식미디어 포맷 및 꺼내기 허용" 정책이 "Administrator"으 로 되어 있지 않을 경우 2003 - 이동식 미디어 포맷 및 꺼내기 허용 -> Administrator 2000 - 이동식 NTFS미디어 꺼내기 허용 -> Administrator [ 서비스영향 ] [Windows 2000, 2003] 1. 시작>실행>SECPOL.MSC>로컬 정책>보안옵션 2. "이동식 미디어 포맷 및 꺼내기 허용" 정책을 "Administrator" 로 설 정 - 215 - - 216 -
점검분류 항목 보안 관리 위험도 상 분류번호 W-71 세부점검 항목 디스크볼륨 암호화 설정 대상 Windows NT, 2000, 2003 데이터 스토리지 분실 시 데이터 열람이 가능. 데이터 유출 [Windows 2000, 2003] 1. 폴더선택>속성>[일반]탭>고급>고급특성에서 데이터 보호를 위해 내용을 암호화 확인 양호 "데이터 보호를 위해 내용을 암호화" 정책이 선택 된 경우 취약 데이터 보호를 위해 내용을 암호화" 정책이 선택 되어 있지 않 은경우 EFS(Encryping File System) 활성화 [Windows 2000, 2003] 1. 폴더선택>속성>[일반]탭>고급>고급특성>데이터 보호를 위해 내용 을 암호화 점검분류 항목 보안 관리 위험도 중 분류번호 W-72 세부점검 항목 Dos공격 방어 레지스트리 설정 대상 Windows NT, 2000, 2003 Dos 공격에 대한 방어 레지스트리 설정 점검 서비스 거부 레지스트리 값 확인 권장 값으로 변경 HKLMSystemCurrentControlSetServicesTcpipParameters 값 이름: SynAttackProtect 키: TcpipParameters 값 종류: REG_DWORD 유효 범위: 0,1 기본값: 0 > 1로 값 이름: EnableDeadGWDetect 키: TcpipParameters 값 종류: REG_DWORD 유효 범위: 0, 1(False, True) 기본값: 1(True) >0로 값 이름: KeepAliveTime 키: TcpipParameters 값 종류: REG_DWORD - 시간(밀리초) 유효 범위: 1-0xFFFFFFFF 기본값: 7,200,000(2시간) >300,000(5분) 으로 복호키 분실 시, 데이터 복구 어려움 값 이름: NoNameReleaseOnDemand 키: NetbtParameters 값 종류: REG_DWORD 유효 범위: 0, 1(False, True) 기본값: 0(False) > 1로 잘못된 값 입력시 OS 재설치를 요구할 수 있음 - 217 - - 218 -
점검분류 항목 보안 관리 위험도 중 분류번호 W-73 세부점검 항목 사용자가 프린터 드라이버를 설치할 수 없게 함 대상 Windows NT, 2000, 2003 이 정책 설정은 모든 사용자가 프린터 드라이버를 설치할 수 있는지를 결정. 서버에 프린터 드라이버를 설치하는 경우 악의적인 사용자가 고의 적으로 잘못된 프린터 드라이버를 설치하여 컴퓨터를 손상시킬 수도 있 고, 사용자가 프린터 드라이버로 위장한 악성 코드를 실수로 설치할 수 도 있음. 악의적인 사용자에 의한 악성코드 설치 [Windows 2000, 2003] 1. 시작>실행>SECPOL.MSC>로컬 정책>보안옵션에서 확인 양호 "사용자가 프린터 드라이버를 설치할 수 없게 함" 정책이 "사용 "으로 되어 있을 경우 취약 "사용자가 프린터 드라이버를 설치할 수 없게 함" 정책이 "사용 안함"으로 되어 있을 경우 장치 : 사용자가 프린터 드라이버를 설치할 수 없게 함 -> 사용 [Windows 2000, 2003] 1. 시작>실행>SECPOL.MSC>로컬 정책>보안옵션 2. "사용자가 프린터 드라이버를 설치할 수 없게 함" 정책을 "사용" 으 로 설정 - 219 - - 220 -
점검분류 항목 보안 관리 위험도 중 분류번호 W-74 세부점검 항목 세션 연결을 중단하기 전에 필요한 Windows NT, 2000, 대상 유휴시간 2003 이 정책 설정은 세션이 중단되기 전에 SMB(서버 메시지 블록) 세션에 서 보내야 하는 연속 유휴 시간을 결정. 각 SMB 세션에서는 서버 리소 스를 사용하며, null 세션의 수가 많으면 서버 속도가 느려지거나 서버 에 오류가 발생할 수 있으며 공격자는 SMB 세션을 반복 설정하여 서 버의 SMB 서비스가 느려지거나 응답하지 않도록 하여 서비스 거부 공 격을 실행 할 수 있음. 클라이언트가 작업을 다시 시작하면 SMB 세션이 자동으로 다시 설정되 기 때문에 별다른 영향 없음. 서비스 거부공격이 가능 [Windows 2000, 2003] 1. 시작>실행>SECPOL.MSC>로컬 정책>보안옵션에서 확인 양호 "로그온 시간이 만료되면 클라이언트 연결 끊기" 정책을 "사용" 으로 설정하고 "세션 연결을 중단하기 전에 필요한 유휴 시간" 정책이 "15분" 으로 설정되어 있을 경우 취약 "로그온 시간이 만료되면 클라이언트 연결 끊기" 정책이 "사용 안함" 으로 설정되어 있거나 "세션 연결을 중단하기 전에 필요한 유휴 시간" 정책이 "15분" 으로 설정되어 있지 않을 경우 (2003) Microsoft 네트워크 서버 : 로그온 시간이 만료되면 클라이언트 연결 끊기 -> 사용 Microsoft 네트워크 서버 : 세션 연결을 중단하기 전에 필요한 유휴 시 간 -> 15분 (2000) 로그온 시간이 만료되면 클라이언트 연결 끊기 -> 사용 세션 연결을 끊기전 필요한 유휴시간 -> 15분 [Windows 2000, 2003] 1. 시작>실행>SECPOL.MSC>로컬 정책>보안옵션 2. "로그온 시간이 만료되면 클라이언트 연결 끊기" "사용" 설정 및 "세 션 연결을 중단하기 전에 필요한 유휴 시간" 정책을 "15분" 설정 - 221 - - 222 -
점검분류 항목 보안 관리 위험도 하 분류번호 W-75 Windows NT, 2000, 세부점검 항목 경고 메시지 설정 대상 2003 시스템에 로그온 하려는 사용자들에게 관리자는 시스템의 불법적인 사 용에 대하여 경고 창을 띄울 수 있음. 로그온 하기 이전에 사용자는 이 러한 경고 메시지를 주지한 후 "확인" 버튼을 누름으로써 패스워드를 입력할 수 있는 로그인 창이 나타남. 이러한 경고창의 효과는 악의의 사용자로부터 시스템을 직접적으로 보 호하지는 못하지만 관리자가 적절한 보안수준으로 시스템을 보호하고 있으며 공격자의 활동을 주시하고 있다는 생각을 들게 하여 간접적으로 공격 피해를 감소 시키는 효과를 볼 수 있음. 시스템 침해 시도 감소 * 이처럼 변경된 레지스트리 키의 내용은 시스템을 로그오프한 후 반 영됨. [Windows NT] HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentV ersion\winlogon 에서 확인 [Windows 2000, 2003] 1. 시작>실행>SECPOL.MSC>로컬정책>보안옵션에서 확인 [Windows 2000, 2003] 1. 시작>실행>SECPOL.MSC>로컬정책>보안옵션 2. "로그온 시도하는 사용자에 대한 메시지 제목", "로그온 시도하는 사 용자에 대한 메시지 텍스트" 에 적절한 값을 입력 예)로그온 시도하는 사용자에 대한 메시지 제목 : Warnning!! 로그온 시도하는 사용자에 대한 메시지 텍스트 : This system is for the use of authorized users only. 양호 로그인 경고 메시지/제목이 설정되어 있을 경우 취약 로그인 경고 메시지/제목이 설정되어 있지 않을 경우 제목/메시지에 경고 문구 삽입 [Windows NT] 1. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentV ersion\winlogon 2. LegalNoticeCaption : 제목 3. LegalNoticeText : 메시지 내용 일반적인 경우 영향 없음 - 223 - - 224 -