• 한국인터넷진흥원에서 2017년 12월에 발간한 「주요정보통신기반시설 기술적 취약점 분석 평가 상세 가이드」를 기반으로 하였습니다.
  • 리눅스는 CentOS 6.6을 사용하였으며, 윈도우는 Windows Server 2008 R2를 사용하였습니다.
  • 2018년 9월 7일 기준 최신 보안패치와 서비스팩을 적용한 OS로 실습하였습니다.
분류 점검항목 항목중요도
계정관리 root 계정 원격 접속 제한
취약점 개요
  • 점검내용
    • 시스템 정책에 root 계정의 원격 터미널 접속 차단 설정이 되어 있는지 점검
  • 점검목적
    • root 계정 원격 접속 차단 설정 여부를 점검하여 외부 비인가자의 root 계정 접근 시도를 원천적으로 차단하는지 확인하기 위함.
  • 보안위협
    • 각종 공격(무작위 대입공격, 사전 대입 공격 등)을 통해 root 원격 접속 차단이 적용되지 않은 시스템의 root 계정 정보를 비인가자가 획득할 경우 시스템 계정 정보 유출, 파일 및 디렉터리 변조 등의 행위 침해사고가 발생할 수 있음.
  • 참고
    • root 계정
      • 여러 사용자가 사용하는 컴퓨터에서 전체적으로 관리할 수 있는 총괄 권한을 가진 유일한 특별 계정. 유닉스 시스템의 루트(root)는 시스템 관리자인 운용 관리자(Super User)로서 윈도우의 관리자(Administrator)에 해당하며, 사용자 계정을 생성하거나 소프트웨어를 설치하고, 환경 및 설정을 변경하거나 시스템의 동작을 감시 및 제어할 수 있음.
    • 무작위 대입 공격(Brute Force Attack)
      • 특정한 암호를 풀기 위해 가능한 모든 값을 대입하는 공격 방법
    • 사전 대입 공격(Dictionary Attack)
      • 사전에 있는 단어를 입력하여 암호를 알아내거나 암호를 해독하는 데 사용되는 컴퓨터 공격 방법
점검대상 및 판단기준
  • 대상
    • LINUX(CentOS 6)
  • 판단기준
    • 양호 : 원격 터미널 서비스를 사용하지 않거나, 사용 시 root 직접 접속을 차단한 경우
    • 취약 : 원격 터미널 서비스 사용 시 root 직접 접속을 허용한 경우
  • 조치방법
    • 원격 접속 시 root 계정으로 바로 접속 할 수 없도록 설정파일 수정
OS별 점검 파일 위치 및 점검 방법
  • LINUX(CentOS 6)
    • 보안설정방법
    • ssh 설정파일

      [root@localhost ~]# vim /etc/ssh/sshd_config

      sshd_config

      # LoginGraceTime 2m
      PermitRootLogin no
      # StrictModes yes
      # MaxAuthTries 6

      42번째 줄의 PermitRootLogin을 no로 바꾼 후 ssh 서비스 재시작

  • 조치 시 영향
    • 일반적인 경우 영향 없음
  • 패스워드 복잡성 설정
    취약점 개요
    • 점검내용
      • 시스템 정책에 사용자 계정(root 및 일반 계정 모두 해당) 패스워드 복잡성 관련 설정이 되어 있는지 점검
    • 점검목적
      • 패스워드 복잡성 관련 정책이 설정되어 있는지 점검하여 비인가자의 공격(무작위 대입 공격, 사전 대입 공격 등)에 대비가 되어 있는지 확인하기 위함
    • 보안위협
      • 패스워드 복잡성 설정이 되어 있지 않은 사용자 계정 패스워드 존재 시 비인가자가 각종 공격(무작위 대입 공격, 사전 대입 공격 등)을 통해 취약한 패스워드가 설정된 사용자 계정의 패스워드를 흭득하여 흭득한 사용자 계정 정보를 통해 해당 사용자 계정의 시스템에 접근할 수 있는 위험이 존재함
    • 참고
      • 패스워드 복잡성
        • 사용자 패스워드 설정 시 영문(대문자, 소문자), 숫자, 특수문자가 혼합된 패스워드로 설정하는 방법
        • 공공기관인 경우 국가정보보안기본지침에 의해 패스워드를 9자리 이상의 길이로 설정 해야함
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : 영문·숫자·특수문자를 조합하여 2종류 조합 시 10자리 이상, 3종류 이상 조합 시 8자리 이상의 패스워드가 설정된 경우 (공공기관 9자리 이상)
      • 취약 : 영문·숫자·특수문자를 조합하지 않거나 2종류 조합 시 10자리 미만, 3종류이상 조합 시 8자리 미만의 길이가 패스워드로 설정된 경우 (공공기관 9자리 미만)
    • 조치방법
      • 계정과 유사하지 않은 8자 이상의 영문, 숫자, 특수문자의 조합으로 암호 설정 및 패스워드 복잡성 옵션 설정
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 보안설정방법
      • 패스워드 복잡성 설정 파일
        [root@localhost ~]# vim /etc/login.defs
        패스워드 복잡성 설정 파일
        
        PASS_MAX_DAYS   60
        PASS_MIN_DAYS   1
        PASS_MIN_LEN    8
        PASS_WARN_AGE   7
        • PASS_MAX_DAYS : 패스워드 만료기간
        • PASS_MIN_DAYS : 패스워드 최소 사용기간
        • PASS_MIN_LEN : 패스워드 최소 길이
        • PASS_WARN_AGE : 패스워드 만료 n일전 메시지 표시
      • 패스워드 복잡성 설정 파일
      • [root@localhost ~]# vim /etc/pam.d/system-auth
      • system-auth
      • 
        password    requisite     pam_cracklib.so try_first_pass retry=3 minlen=8 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1
        • retry : 재시도 회수
        • minlen : 패스워드 최소 길이
        • lcredit : 적어도 하나의 소문자 사용
        • ucredit : 적어도 하나의 대문자 사용
        • dcredit : 적어도 하나의 숫자 사용
        • ocredit : 적어도 하나의 특수문자 사용
      • <부적절한 패스워드 유형>

          1. 사전에 나오는 단어나 이들의 조합

          2. 길이가 너무 짧거나, NULL(공백)인 패스워드

          3. 키보드 자판의 일련의 나열 (예) abcd, qwert, etc

          4. 사용자 계정 정보에서 유추 가능한 단어들

          (예) 지역명, 부서명, 계정명, 사용자 이름의 이니셜, root, rootroot, root123, admin 등

      • <패스워드 관리 방법>

          1. 영문, 숫자, 특수문자를 조합하여 계정명과 상이한 8자 이상의 패스워드 설정

          다음 각 목의 문자 종류 중 2종류 이상을 조합하여 최소 10자리 이상 또는, 3종류 이상을 조합하여 최소 8자리 이상의 길이로 구성 (공공기관 9자리 이상)

          가. 영문 대문자(26개)

          나. 영문 소문자(26개)

          다. 숫자(10개)

          라. 특수문자(32개)

          2. 시스템마다 상이한 패스워드 사용

          3. 패스워드를 기록해 놓을 경우 변형하여 기록

          4. 가급적 자주 패스워드를 변경할 것

      • 조치 시 영향
        • 패스워드 변경 시 연동 구간에 미칠 Web, WAS, DB연동 구간에서 적용 문제가 필요 발생할 수 있음
    계정 잠금 임계값 설정
    취약점 개요
    • 점검내용
      • 시스템 정책에 사용자 로그인 실패 임계값이 설정되어 있는지 점검
    • 점검목적
      • 시스템 정책에 사용자 로그인 실패 임계값이 설정되어 있는지 점검하여 비인가자의 공격(무작위 대입 공격, 사전 대입 공격, 추측 공격 등) 시도 시 로그인 실패 임계값에 따라 로그인을 차단하고 있는지 확인하기 위함
    • 보안위협
      • 로그인 실패 임계값이 설정되어 있지 않을 경우 반복되는 로그인 시도에 대한 차단이 이루어지지 않아 각종 공격(무작위 대입 공격, 사전 대입 공격, 추측 공격 등)에 취약하여 비인가자에게 사용자 계정 패스워드를 유출 당할 수 있음
    • 참고
      • 사용자 로그인 실패 임계값
        • 시스템에 로그인 시 몇 번의 로그인 실패에 로그인을 차단할 것인지 결정하는 값
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : 계정 잠금 임계값이 5 이하의 값으로 설정되어 있는 경우
      • 취약 : 계정 잠금 임계값이 설정되어 있지 않거나, 5 이하의 값으로 설정되지 않은 경우
    • 조치방법
      • 계정 잠금 임계값을 5 이하로 설정
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • 계정 잠금 임계값 설정 파일
        
        	[root@localhost ~]# vim /etc/pam.d/system-auth
    • 보안설정방법
      • Step 1) vi 편집기를 이용하여 "/etc/pam.d/system-auth" 파일 열기

        Step 2) 아래와 같이 수정 또는, 신규 삽입

      • system-auth
        auth	required	pam_tally2.so	no_magic_root deny=5 unlock_time=120
      • no_magic_root
        • root에게는 패스워드 잠금 설정을 적용하지 않음
      • deny=5
        • 5회 입력 실패 시 패스워드 잠금
      • unlock_time
        • 계정 잠김 후 마지막 계정 실패 시간부터 설정된 시간이 지나면 자동 계정 잠김 해제 (단위: 초)
    패스워드 파일 보호
    취약점 개요
    • 점검내용
      • 시스템의 사용자 계정(root, 일반계정) 정보가 저장된 파일(예 /etc/passwd, /etc/shadow)에 사용자 계정 패스워드가 암호화되어 저장되어 있는지 점검
    • 점검목적
      • 일부 오래된 시스템의 경우 패스워드 정책이 적용되지 않아 /etc/passwd 파일에 평문으로 저장되므로 사용자 계정 패스워드가 암호화되어 저장되어 있는지 점검하여 비인가자의 패스워드 파일 접근 시에도 사용자 계정 패스워드가 안전하게 관리되고 있는지 확인하기 위함
    • 보안위협
      • 비안가자에 의해 사용자 계정 패스워드가 평문으로 저장된 파일이 유출될 경우 시스템 사용자 계정 패스워드가 노출될 수 있음
    • 참고
      • 관련 점검 항목
        • U-07(상), U-08(상)
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : 쉐도우 패스워드를 사용하거나, 패스워드를 암호화하여 저장하는 경우
      • 취약 : 쉐도우 패스워드를 사용하지 않고, 패스워드를 암호화하여 저장하지 않는 경우
    • 조치방법
      • 패스워드 암호화 저장,관리 설정 적용
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • Step 1) /shadow 파일 존재 확인

        (일반적으로 /etc 디렉터리 내 존재)

        #ls /etc

        Step 2) /etc/passwd 파일 내 두 번째 필드가 "X" 표시되는지 확인

    • 보안설정방법
        • Step 1)
          [root@localhost ~]# pwconv
          Step 2)
          [root@localhost ~]# pwunconv
    root 이외의 UID가 '0'금지
    취약점 개요
    • 점검내용
      • 사용자 계정 정보가 저장된 파일(예 /etc/passwd)에 root(UID=0) 계정과 동일한 UID(User Identification)를 가진 계정이 존재하는지 점검
    • 점검목적
      • root 계정과 동일한 UID가 존재하는지 점검하여 root권한이 일반 사용자 계정이나 비인가자의 접근 위협에 안전하게 보호되고 있는지 확인하기 위함
    • 보안위협
      • root 계정과 동일 UID 계정이 존재하여 비인가자에 노출되었을 경우 root 계정 권한과 동일한 권한으로 시스템에 로그인 하여 시스템 계정 정보 유출, 환경설정 파일 및 디렉터리 변조 및 삭제 등의 행위를 하여 시스템 가용성(서비스 다운, 악성코드 유포지 감염)에 영향을 미칠 수 있는 위협이 존재함
      • root와 동일한 UID를 사용하므로 사용자 감사 추적 시 어려움이 발생함
    • 참고
      • UID(User Identification)
        • 여러 명의 사용자가 동시에 사용하는 시스템에서 사용자가 자신을 대표하기 위해 쓰는 이름
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : root 계정과 동일한 UID를 갖는 계정이 존재하지 않는 경우
      • 취약 : root 계정과 동일한 UID를 갖는 계정이 존재하는 경우
    • 조치방법
      • UID가 0인 계정 존재 시 변경할 UID를 확인 후 다른 UID로 변경 및 불필요 시 삭제, 계정이 사용 중이면 명령어로 조치가 안 되므로 /etc/passwd 파일 설정 변경
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • #cat /etc/passwd

        "/etc/passwd" 파일 내 UID 확인 (세 번째 필드 값)

        root 이외의 계정이 "UID=0"인 경우 0이 아닌 적절한 UID 부여

      • 위에 제시한 설정이 적용되지 않는 경우 아래의 보안설정방법에 따라 설정을 변경함
    • 보안설정방법
      • Step 1) usermod 명령으로 UID가 0인 일반 계정의 UID를 100 이상으로 수정

        SOLARIS, HP-UX의 경우 100 이상

        LINUX의 경우 500 이상

      • (예) test 계정의 UID를 2002 로 바꿀 경우
        [root@localhost ~]# usermod -u 2002 test
      • 각 OS별로 사용자 UID 체계가 달라 시스템 계정 및 일반 사용자 계정이 부여받는 값의 범위에 차이가 있으며, 공통적으로 관리자는 "UID=0"을 부여받음
    • 조치 시 영향
      • 해당 계정에 관리자 권한이 필요하지 않으면 일반적으로 영향 없음
    root 계정 su 제한
    취약점 개요
    • 점검내용
      • 시스템 사용자 계정 그룹 설정 파일(예 /etc/group)에 su 관련 그룹이 존재 하는지 점검
      • su 명령어가 su 관련 그룹에서만 허용되도록 설정되어 있는지 점검
    • 점검목적
      • su 관련 그룹만 su 명령어 사용 권한이 부여되어 있는지 점검하여 su 그룹에 포함되지 않은 일반 사용자의 su 명령 사용을 원천적으로 차단하는지 확인하기 위함
    • 보안위협
      • su 명령어를 모든 사용자가 사용하도록 설정되어 있는 경우 root 계정 권한을 얻기 위해 패스워드 무작위 대입 공격(Brute Force Attack)이나 패스워드 추측 공격(Password Guessing)을 시도하여 root 계정 패스워드가 유출될 위협이 있음
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : su 명령어를 특정 그룹에 속한 사용자만 사용하도록 제한되어 있는 경우
      • 취약 : su 명령어를 모든 사용자가 사용하도록 설정되어 있는 경우
    • 조치방법
      • 일반 사용자의 su 명령 사용 제한

        Step 1) Group 생성(생성할 그룹 요청, 일반적으로 wheel 사용)

        Step 2) su 명령어의 그룹을 su 명령어 허용할 그룹으로 변경

        Step 3) su 명령어의 권한 변경(4750)

        Step 4) su 명령어 사용이 필요한 계정을 새로 생성한 그룹에 추가(추가할 계정 요청)

        LINUX의 경우, PAM(Pluggable Authentication Module)을 이용한 설정 가능

        PAM(Pluggable Authentication Module)

        사용자를 인증하고 그 사용자의 서비스에 대한 엑세스를 제어하는 모듈화 된 방법을 말하며, PAM은 관리자가 응용프로그램들의 사용자 인증 방법을 선택할 수 있도록 해줌

    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • Step 1)"wheel" 그룹 (su 명령어 사용 그룹) 및 그룹 내 구성원 존재 여부 확인

        Step 2)파일 권한 확인

        (파일 권한이 4750인 경우 양호)

    • 보안설정방법
      • Step 1) wheel group 생성 (wheel 그룹이 존재하지 않는 경우)
        [root@localhost ~]# groupadd wheel
        Step 2) su 명령어 그룹 변경
        [root@localhost ~]# chgrp wheel /bin/su
        Step 3) su 명령어 사용권한 변경
        [root@localhost ~]# chmod 4750 /bin/su
        Step 4) wheel 그룹에 su 명령 허용 계정 등록
        [root@localhost ~]# #usermod -G wheel 

        또는, 직접 /etc/group 파일을 수정하여 필요한 계정 등록

        wheel:x:10: -> wheel:x:10:root,admin

    • LINUX PAM 모듈
      • Step 1) "/etc/pam.d/su" 파일을 아래와 같이 설정(주석제거)
        auth	required	pam_wheel.so use_uid
        Step 2) wheel 그룹에 su 명령어를 사용할 사용자 추가
        [root@localhost ~]# usermod -G wheel <user_name>

        또는, 직접 "/etc/group" 파일을 수정하여 필요한 계정 추가

        wheel:x:10: -> wheel:x:10:root,admin

  • 조치 시 영향
    • 그룹에 추가된 계정들은 모든 Session 종료 후 재로그인 시 su 명령어 사용 가능
  • 패스워드 최소 길이 설정
    취약점 개요
    • 점검내용
      • 시스템 정책에 패스워드 최소(8자 이상) 길이 설정이 적용되어 있는 점검
    • 점검목적
      • 패스워드 최소 길이 설정이 적용되어 있는지 점검하여 짧은(8자 미만) 패스워드 길이로 발생하는 취약점을 이용한 공격(무작위 대입 공격, 사전 대입 공격 등)에 대한 대비(사용자 패스워드 유출)가 되어 있는지 확인하기 위함
    • 보안위협
      • 패스워드 최소 길이 설정이 적용되어 있지 않을 경우 비인가자의 각종 공격(무작위 대입 공격, 사전 대입 공격 등)에 취약하여 사용자 계정 패스워드 유출 우려가 있음

    • 참고
        • 공공기관인 경우 국가정보보안기본지침에 의해 패스워드를 9자리 이상의 길이로 설정 해야함
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : 패스워드 최소 길이가 8자 이상으로 설정되어 있는 경우(공공기관의 경우 9자리 이상)
      • 취약 : 패스워드 최소 길이가 8자 미만으로 설정되어 있는 경우(공공기관의 경우 9자리 미만)
    • 조치방법
      • 패스워드 정책 설정파일을 수정하여 패스워드 최소 길이를 8자 이상으로 설정(공공기관의 경우 9자리 이상으로 설정)
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • [root@localhost ~]# cat /etc/login.defs
        PASS_MIN_LEN 8
      • 위에 제시한 설정이 해당 파일에 적용되지 않은 경우 아래의 보안설정방법에 따라 설정을 변경함
    • 보안설정방법
      • Step 1) vi 편집기를 이용하여 "/etc/login.defs" 파일 열기
        [root@localhost ~]# cat /etc/login.defs
        Step 2) 아래와 같이 수정 또는, 신규 삽입

        (수정 전) PASS_MIN_LEN 6

        (수정 후) PASS_MIN_LEN 8(or 9)

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    패스워드 최대 사용기간 설정
    취약점 개요
    • 점검내용
      • 시스템 정책에 패스워드 최대(90일 이하) 사용기간 설정이 적용되어 있는지 점검
    • 점검목적
      • 패스워드 최대 사용 기간 설정이 적용되어 있는지 점검하여 시스템 정책에서 사용자 계정의 장기간 패스워드 사용을 방지하고 있는지 확인하기 위함
    • 보안위협
      • 패스워드 최대 사용기간을 설정하지 않은 경우 비인가자의 각종 공격(무작위 대입 공격, 사전 대입 공격 등)을 시도할 수 있는 기간 제한이 없으므로 공격자 입장에서는 장기적인 공격을 시행할 수 있어 시행한 기간에 비례하여 사용자 패스워드가 유출될 수 있는 확률이 증가함

    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : 패스워드 최대 사용기간이 90일(12주) 이하로 설정되어 있는 경우
      • 취약 : 패스워드 최대 사용기간이 90일(12주) 이하로 설정되어 있지 않은 경우
    • 조치방법
      • 패스워드 정책 설정파일을 수정하여 패스워드 최대 사용기간을 90일(12주)로 설정
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • [root@localhost ~]# cat /etc/login.defs
        Step 1) vi 편집기를 이용하여 "/etc/login.defs" 파일 열기
        PASS_MIN_DAYS 90
      • 위에 제시한 설정이 해당 파일에 적용되지 않은 경우 아래의 보안설정방법에 따라 설정을 변경함
    • 보안설정방법
      • Step 1) vi 편집기를 이용하여 "/etc/login.defs" 파일 열기
        [root@localhost ~]# vi /etc/login.defs
        Step 2) 아래와 같이 수정 또는, 신규 삽입

        (수정 전) PASS_MAX_DAYS 99999

        (수정 후) PASS_MAX_DAYS 90 (단위: 일)

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    패스워드 최소 사용기간 설정
    취약점 개요
    • 점검내용
      • 시스템 정책에 패스워드 최소 사용기간 설정이 적용되어 있는지 점검
    • 점검목적
      • 패스워드 최소 사용 기간 설정이 적용되어 있는지 점검하여 사용자가 자주 패스워드를 변경할 수 없도록 하고 관련 설정(최근 암호 기억)과 함께 시스템에 적용하여 패스워드 변경 전에 사용했던 패스워드를 재사용 할 수 없도록 방지하는지 확인하기 위함
    • 보안위협
      • 패스워드 변경 후 최소 사용 기간이 설정되지 않은 경우 사용자에게 익숙한 패스워드로 즉시 변동이 가능하여, 이를 재사용함으로써 원래 암호를 같은 날 다시 사용할 수 있음

        패스워드 변경 정책에 따른 주기적인 패스워드 변경이 무의미해 질 수 있으며, 이로 인해 조직의 계정 보안성을 낮출 수 있음

    • 참고
      • 최근 암호 기억
        • 사용자가 현재 암호 또는 최근에 사용했던 암호와 동일한 새암호를 만드는 것을 방지하는 설정. 예를 들어 값 1은 마지막 암호만 기억한다는 의미이며 값 5는 이전 암호 5개를 기억한다는 의미임
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : 패스워드 최소 사용기간이 설정되어 있는 경우
      • 취약 : 패스워드 최소 사용기간이 설정되어 있지 않는 경우
    • 조치방법
      • 패스워드 정책 설정파일을 수정하여 패스워드 최소 사용기간을 1일(1주)로 설정
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • [root@localhost ~]# cat /etc/login.defs
        PASS_MIN_DAYS 1
      • 위에 제시한 설정이 해당 파일에 적용되지 않은 경우 아래의 보안설정방법에 따라 설정을 변경함
    • 보안설정방법
      • Step 1) vi 편집기를 이용하여 "/etc/login.defs" 파일 열기
        [root@localhost ~]# cat /etc/login.defs
        Step 2) 아래와 같이 수정 또는, 신규 삽입

        (수정 전) PASS_MIN_DAYS

        (수정 후) PASS_MIN_DAYS 1 (단위: 일)

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    불필요한 계정 제거
    취약점 개요
    • 점검내용
      • 시스템 계정 중 불필요한 계정(퇴직, 전직, 휴직 등의 이유로 사용하지 않는 계정 및 장기적으로 사용하지 않는 계정 등)이 존재하는지 점검
    • 점검목적
      • 불필요한 계정이 존재하는지 점검하여 관리되지 않는 계정에 의한 침입에 잘 대비하는지 확인하기 위함
    • 보안위협
      • OS나 Package 설치 시 Default로 생성되는 계정 및 불필요한 계정들은 비인가자의 공격(무작위 대입 공격, 사전 대입 공격)에 의해 패스워드가 유출될 위험이 존재함

    • 참고
      • Default 계정
        • OS나 Package 설치 시 기본적으로 생성되는 계정(예 lp, uucp, nuucp 등)
        • 불필요한 Default 계정 삭제 시 업무 영향도 파악 후 삭제 권고
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : 불필요한 계정이 존재하지 않는 경우
      • 취약 : 불필요한 계정이 존재하는 경우
    • 조치방법
      • 현재 등록된 계정 현황 확인 후 불필요한 계정 삭제
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • Step 1) 미사용 계정 및 의심스러운 계정 존재 여부 확인
      • [root@localhost ~]# cat /etc/passwd
      • Step 2) 사용하지 않는 Default 계정 점검
      • [root@localhost ~]# cat /etc/passwd | egrep "lp|uucp|nuucp"
      • 위에 제시한 점검 방법에 의해 불필요한 계정 발견 시 아래의 보안설정방법에 따라 조치함
    • LOG를 통한 확인
      • Step 1) 최근 로그인하지 않은 계정 및 의심스러운 계정 확인
      • [root@localhost ~]# cat /var/log/secure
      • 위에 제시한 점검 방법에 의해 불필요한 계정 발견 시 아래의 보안설정방법에 따라 조치함
    • 보안설정방법
      • Step 1) 서버에 등록된 불필요한 사용자 계정 확인
      • [root@localhost ~]# cat /etc/passwd
      • Step 2) userdel 명령으로 불필요한 사용자 계정 삭제
      • [root@localhost ~]# userdel <user_name>
      • /etc/passwd 파일에서 계정 앞에 #을 삽입하여도 주석저리가 되지 않으므로 조치 시에는 반드시 계정을 삭제하도록 권고함
    • 조치 시 영향
      • 일반적인 경우 영향 없음
    관리자 그룹에 최소한의 계정 포함
    취약점 개요
    • 점검내용
      • 시스템 관리자 그룹에 최소한(root 계정과 시스템 관리에 허용된 계정)의 계정만 존재하는지 점검
    • 점검목적
      • 관리자 그룹에 최소한의 계정만 존재하는지 점검하여 취약한 계정 관리로 발생하는 시스템 침입에 잘 대비되어 있는지 확인하기 위함
    • 보안위협
      • 시스템을 관리하는 root 계정이 속한 그룹은 시스템 운영 파일에 대한 접근 권한이 부여되어 있으므로 해당 관리자 그룹에 속한 계정이 비인가자에게 유출될 경우 관리자 권한으로 시스템에 접근하여 계정 정보 유출, 환경설정 파일 및 디렉터리 변조 및 삭제 등의 행위를 하여 시스템 가용성(서비스 다운, 악성코드 유포지 감염)에 영향을 미칠 수 있는 위협이 존재함

    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : 관리자 그룹에 불필요한 계정이 등록되어 있지 않은 경우
      • 취약 : 관리자 그룹에 불필요한 계정이 등록되어 있는 경우
    • 조치방법
      • 현재 등록된 계정 현황 확인 후 불필요한 계정 삭제
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • 불필요한 계정이 관리자 그룹에 포함되어 있는 경우 아래의 보안설정방법에 따라 설정을 변경함
    • 보안설정방법
      • Step 1) vi 편집기를 이용하여 "/etc/group" 파일 열기
      • [root@localhost ~]# vi /etc/group
      • Step 2) root 그룹에 등록된 불필요한 계정 삭제
      • (예) root 그룹에 등록된 불필요한 test 계정 삭제

        (수정 전) root:x:0:user1

        (수정 후) root:x:0:

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    계정에 존재하지 않는 GID 금지
    취약점 개요
    • 점검내용
      • 그룹(예 /etc/group) 설정 파일에 불필요한 그룹(계정이 존재하지 않고 시스템 관리나 운용에 사용되지 않는 그룹, 계정이 존재하고 시스템 관리나 운용에 사용되지 않는 그룹 등)이 존재하는지 점검
    • 점검목적
      • 시스템에 불필요한 그룹이 존재하는지 점검하여 불필요한 그룹의 소유권으로 설정되어 있는 파일의 노출에 의해 발생할 수 있는 위험에 대한 대비가 되어 있는지 확인하기 위함
    • 보안위협
      • 시스템에 불필요한 그룹이 존재할 경우 해당 그룹 소유의 파일이 비인가자에게 노출될 수 있는 위험이 존재함

    • 참고
      • GID(Group Identification)
        • 다수의 사용자가 특정 개체를 공유할 수 있게 연계시키는 특정 그룹의 이름으로 주로 계정처리 목적으로 사용되며, 한 사용자는 여러 개의 GID를 가질 수 있음.
        • /etc/group 파일만으로 구성원이 없는 group이라 판단하기 힘듦. /etc/passwd와 /etc/group을 같이 확인하여 판단하기를 권고
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : 시스템 관리나 운용에 불필요한 그룹이 삭제 되어있는 경우
      • 취약 : 시스템 관리나 운용에 불필요한 그룹이 존재할 경우
    • 조치방법
      • 불필요한 그룹이 있을 경우 관리자와 검토하여 제거
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • #cat /etc/group

      • #cat /etc/gshadow

    • *gshadow 파일
      • "shadow" 파일에 사용자 계정의 암호가 저장되어 있는 것저럼 시스템 내 존재하는 그룹의 암호 정보 저장 파일로 그룹 관리자 및 구성원 설정 가능
      • "gshadow" 파일 내 필드는 다음 같은 구조로 구성됨

        [그룹명 : 패스워드 : 관리자, 관리자, … : 멤버, 멤버 … ]

    • 불필요한(계정이 존재하지 않고 시스템 관리나 운용에 사용되지 않는 그룹 등) 그룹이 존재하는 경우 아래의 보안설정방법에 따라 그룹을 제거함
    • 보안설정방법
    • [root@localhost ~]# groupdel <group_name>

      구성원이 없거나, 더 이상 사용하지 않는 그룹명 삭제

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    동일한 UID 금지
    취약점 개요
    • 점검내용
      • /etc/passwd 파일 내 UID가 동일한 사용자 계정 존재 여부 점검
    • 점검목적
      • 동일 UID로 설정된 사용자 계정을 점검함으로써 타 사용자 계정 소유의 파일 및 디렉터리로의 악의적 접근 예방 및 침해사고 시 명확한 감사추적을 목적으로 함
    • 보안위협
      • 동일한 UID의 다른 사용자 계정을 가진 사용자가 타 사용자 권한으로 시스템 접근이 가능하고 침해사고 시 UID 중복으로 인한 권한 중복으로 사용자 감사 추적이 어려움

    • 참고
      • UID(User identification)
        • 여러 명의 사용자가 동시에 사용하는 시스템에서 사용자가 자신을 대표하기 위해 쓰는 이름

          패스워드 파일 수정 변경 및 신규 사용자 추가 시 UID가 동일한 계정이 존재하는지 확인해야 함

    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : 동일한 UID로 설정된 사용자 계정이 존재하지 않는 경우
      • 취약 : 동일한 UID로 설정된 사용자 계정이 존재하는 경우
    • 조치방법
      • 동일한 UID로 설정된 사용자 계정의 UID를 서로 다른 값으로 변경
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • #cat /etc/passwd ("passwd" 파일 구조: 부록 참조)

      • 동일한 UID를 갖는 계정이 존재하는 경우 아래의 보안설정방법에 따라 설정을 변경함
    • 보안설정방법
      • usermod 명령으로 동일한 UID로 설정된 사용자 계정의 UID 변경

        [root@localhost ~]# usermod -u <변경할 UID값> <user_name>
    • 조치 시 영향
      • 일반적인 경우 영향 없음
    사용자 shell 점검
    취약점 개요
    • 점검내용
      • 로그인이 필요한 계정(adm, sys, daemon 등)에 쉘 부여 여부 점검
    • 점검목적
      • 로그인이 불필요한 계정에 쉘 설정을 제거하여, 로그인이 필요하지 않은 계정을 통한 시스템 명령어를 실행하지 못하게 하기 위함
    • 보안위협
      • 로그인 불필요한 계정은 일반적으로 OS 설치 시 기본적으로 생성되는 계정으로 쉘이 설정되어 있을 경우, 공격자는 기본 계정들을 통하여 중요파일 유출이나 악성코드를 이용한 root 권한 흭득 등의 공격을 할 수 있음

    • 참고
      • 쉘(Shell)
        • 대화형 사용자 인터페이스로써, 운영체제(OS) 가장 외곽계층에 존재하여 사용자의 명령어를 이해하고 실행함
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : 로그인 필요하지 않는 계정에 /bin/false(/sbin/nologin) 쉘이 부여되어 있는 경우
      • 취약 : 로그인이 필요하지 않는 계정에 /bin/false(/sbin/nologin) 쉘이 부여되지 않은 경우
    • 조치방법
      • 로그인이 필요하지 않은 계정에 대해 /bin/false(/sbin/nologin) 쉘 부여
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • 시스템에 불필요한 계정을 확인한 후 /bin/false(nologin) 쉘이 부여되어 있지 않는 경우 아래의 보안설정방법에 따라 설정을 변경함
      • (불필요한 계정은 시스템 용도에 따라 차이가 있음)

    • 보안설정방법
      • Step 1) vi 편집기를 이용하여 "/etc/passwd" 파일 열기
      • [root@localhost ~]# vi /etc/passwd
      • Step 2) 로그인 쉘 부분인 계정 맨 마지막에 /bin/false(/sbin/nologin) 부여 및 변경
      • Ex)

        (수정 전) daemon:x:1:1::/:/sbin/ksh

        (수정 후) daemon:x:1:1::/:/bin/false 또는, daemon:x:1:1::/:/sbin/nologin

      • 일반적으로 로그인이 불필요한 계정

          daemon, bin, sys, adm, listen, nobody, nobody4, noaccess, diag, listen, operator,

          games, gopher 등 일반적으로 UID 100 이하 60000 이상의 시스템 계정 해당

    • 조치 시 영향
      • 일반적인 경우 영향 없음
      • 모호한 경우 "/etc/shadow" 파일에서 해당 계정에 패스워드 존재 여부로 확인
    Session Timeout
    취약점 개요
    • 점검내용
      • 사용자 쉘에 대한 환경설정 파일에서 session timeout 설정 여부 점검
    • 점검목적
      • 사용자의 고의 또는 실수로 시스템에 계정이 접속된 상태로 방치됨을 차단하기 위함
    • 보안위협
      • Session timeout 값이 설정되지 않은 경우 유휴 시간 내 비인가자의 시스템 접근으로 인해 불필요한 내부 정보의 노출 위험이 존재함

    • 참고
      • session
        • 프로세서들 사이에 통신을 수행하기 위해서 메시지 교환을 통해 서로를 인식한 이후부터 통신을 마칠 때까지의 시간
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : Session Timeout이 600초(10분) 이하로 설정되어 있는 경우
      • 취약 : Session Timeout이 600초(10분) 이하로 설정되지 않는 경우
    • 조치방법
      • 600초(10분) 동안 입력이 없을 경우 접속된 Session을 끊도록 설정
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • <sh, ksh, bash 사용 시>

          #cat /etc/profile(.profile)

          TMOUT=600

          export TMOUT

        <csh 사용 시>

          #cat /etc/csh.login 또는, #cat /etc/csh.cshrc set autologout=10

      • 위에 제시한 설정이 해당 파일에 적용되지 않은 경우 아래의 보안설정방법에 따라 설정을 변경함
    • 보안설정방법
      • sh(born shell), ksh(korn shell), bash(born again shell)을 사용하는 경우
        • Step 1) vi 편집기를 이용하여 "/etc/profile(.profile)" 파일 열기

        • [root@localhost ~]# vi /etc/profile

          Step 2) 아래와 같이 수정 또는, 추가

      • csh 을 사용하는 경우
        • Step 1) vi 편집기를 이용하여 "/etc/csh.login" 또는, "/etc/csh.cshrc" 파일 열기

          Step 2) 아래와 같이 수정 또는, 추가

          set autologout=10 (단위: 분)

    • 조치 시 영향
      • 모니터링 용도일 경우 세션 타임 설정 시 모니터링 업무가 불가 할 수 있으므로 예외저리 필요
    파일 및 디렉터리 관리 root 홈, 패스 디렉터리 권한 및 패스 설정
    취약점 개요
    • 점검내용
      • root 계정의 PATH 환경변수에 "."이 포함되어 있는지 점검
    • 점검목적
      • 비인가자가 불법적으로 생성한 디렉터리를 우선으로 가리키지 않도록 설정하기 위해 환경변수 점검이 필요함
    • 보안위협
      • 관리자가 명령어(예: ls, mv, cp등)를 수행했을 때 root 계정의 PATH 환경변수에 "." (현재 디렉터리 지칭)이 포함되어 있으면 현재 디렉터리에 명령어와 같은 이름의 악성파일이 실행되어 악의적인 행위가 일어날 수 있음

    • 참고
      • 환경변수
        • 프로세서가 컴퓨터에서 동작하는 방식에 영향을 미치는 동적인 값들의 집합으로 Path 환경변수는 실행파일을 찾는 경로에 대한 변수임
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : PATH 환경변수에 "." 이 맨앞이나 중간에 포함되지 않은 경우
      • 취약 : PATH 환경변수에 "." 이 맨 앞이나 중간에 포함되어 있는 경우
    • 조치방법
      • root 계정의 환경변수 설정파일("/.profile", "/.cshrc" 등)과 "/etc/profile" 등에서 PATH환경변수에 포함되어 있는 현재 디렉터리를 나타내는 "."을 PATH 환경변수의 마지막으로 이동 "/etc/profile", root 계정의 환경변수 파일, 일반계정의 환경변수 파일을 순차적으로 검색하여 확인
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • 위와 같이 출력되는 PATH 변수 내에 "." 또는, ";;" 포함 여부 확인

      • PATH 변수 내에 ".",";;" 이 맨 앞에 존재하는 경우 아래의 보안설정방법에 따라 설정을 변경함
    • SHELL에 따라 참조되는 환경 설정파일
      • /bin/sh
          /etc/profile, $HOME/.profile
      • /bin/csh
          $HOME/.cshrc, $HOME/.login, /etc/.login
      • /bin/ksh
          /etc/profile, $HOME/.profile, $HOME/kshrc
      • /bin/bash
          /etc/profile, $HOME/.bash_profile
      • 홈 디렉터리에 설정된 값이 가장 늦게 적용되어 최종 PATH로 설정됨
    • 보안설정방법
      • Step 1) vi 편집기를 이용하여 root 계정의 설정파일열기
      • [root@localhost ~]# vi /etc/profile
      • Step 2) 아래와 같이 수정
      • (수정 전) PATH=.:$PATH:$HOME/bin

        (수정 후) PATH=$PATH:$HOME/bin:.

      • 환경변수 파일은 OS별로 약간씩 다를 수 있음
    • 조치 시 영향
      • 일반적인 경우 영향 없음
    파일 및 디렉터리 소유자 설정
    취약점 개요
    • 점검내용
      • 소유자 불분명한 파일이나 디렉터리가 존재하는지 여부를 점검
    • 점검목적
      • 소유자가 존재하지 않는 파일 및 디렉터리를 삭제 및 관리하여 임의의 사용자에 의한 불법적 행위를 사전에 차단하기 위함
    • 보안위협
      • 삭제된 소유자의 UID와 동일한 사용자가 해당 파일, 디렉터리에 접근 가능하여 사용자 정보 등 중요 정보가 노출될 위험이 있음

    • 참고
        • 소유자가 존재하지 않는 파일 및 디렉터리는 퇴직자의 자료이거나 관리 소흘로 인해 생긴 파일인 경우 또는 해킹으로 인한 공격자가 만들어 놓은 악의적인 파일인 경우가 있음
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : 소유자가 존재하지 않는 파일 및 디렉터리가 존재하지 않는 경우
      • 취약 : 소유자가 존재하지 않는 파일 및 디렉터리가 존재하는 경우
    • 조치방법
      • 소유자가 존재하지 않는 파일 및 디렉터리 삭제 또는, 소유자 변경
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • #find / -nouser -print

        #find / -nogroup -print

      • 소유자가 nouser, nogroup인 파일이나 디렉터리 존재하는 경우 아래의 보안설정방법에 따라 디렉터리 및 파일 삭제 또는, 소유자 및 그룹을 변경함
    • 보안설정방법
      • Step 1) 소유자가 존재하지 않는 파일이나 디렉터리가 불필요한 경우 rm 명령으로 삭제
      • [root@localhost ~]# rm -rf /root/bind-9.12.2-P2
      • Step 2) 필요한 경우 chown 명령으로 소유자 및 그룹 변경
      • [root@localhost ~]# chown <user_name> <file_name>
    • 조치 시 영향
      • 일반적인 경우 영향 없음
    /etc/passwd 파일 소유자 및 권한 설정
    취약점 개요
    • 점검내용
      • /etc/passwd 파일 권한 적절성 점검
    • 점검목적
      • /etc/passwd 파일을 통해 비인가자가 권한 상승하는 것을 막기 위함
    • 보안위협
      • 관리자(root) 외 사용자가 "/etc/passwd" 파일의 변조가 가능할 경우 shell변조, 사용자 추가/삭제, root를 포함한 사용자 권한 흭득 시도 등 악의적인 행위가 가능함

    • 참고
      • /etc/passwd
        • 사용자의 ID, 패스워드, UID, GID, 홈 디렉터리, 쉘 정보를 담고 있는 파일

          패스워드 파일 수정 변경 및 신규 사용자 추가 시 UID가 동일한 계정이 존재하는지 확인해야 함

    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : /etc/passwd 파일의 소유자가 root이고, 권한이 644 이하인 경우
      • 취약 : /etc/passwd 파일의 소유자가 root가 아니거나, 권한이 644 이하가 아닌 경우
    • 조치방법
      • "/etc/passwd" 파일의 소유자 및 권한 변경 (소유자 root, 권한644)
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • "/etc/passwd" 파일의 소유자 및 권한 확인

      • "passwd" 파일의 소유자가 root가 아니거나 파일의 권한이 644 이하가 아닌 경우 아래의 보안설정방법에 따라 설정을 변경함
    • 보안설정방법
      • "/etc/passwd" 파일의 소유자 및 권한 변경 (소유자 root, 권한 644)

        
        [root@localhost ~]# chown root: /etc/passwd
        [root@localhost ~]# chmod 644 /etc/passwd
    • 조치 시 영향
      • 일반적인 경우 영향 없음
    /etc/shadow 파일 소유자 및 권한 설정
    취약점 개요
    • 점검내용
      • /etc/shadow 권한 적절성 점검
    • 점검목적
      • /etc/shadow 파일을 관리자만 제어할 수 있게 하여 비인가자들의 접근을 제한하도록 shadow 파일 소유자 및 권한을 관리해야함
    • 보안위협
      • 해당 파일에 대한 권한 관리가 이루어지지 않을 시 ID 및 패스워드 정보가 외부로 노출될 수 있음

    • 참고
      • /etc/shadow
        • 시스템에 등록된 모든 계정의 패스워드를 암호화된 형태로 저장 및 관리하고 있는 파일
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : /etc/shadow 파일의 소유자가 root이고, 권한이 400인 경우
      • 취약 : /etc/shadow 파일의 소유자가 root가 아니거나, 권한이 400이 아닌 경우
    • 조치방법
      • "/etc/shadow" 파일의 소유자 및 권한 변경 (소유자 root, 권한 400)
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • 위에 제시된 파일 및 디렉터리의 소유자가 root가 아니거나 파일의 권한이 400이 아닌 경우 아래의 보안설정방법에 따라 설정을 변경함
    • 보안설정방법
      • Step 1) "/etc/shadow" 파일의 소유자 및 권한 확인
      • [root@localhost ~]# ls -l /etc/shadow
      • Step 2) "/etc/shadow" 파일의 소유자 및 권한 변경 (소유자 root, 권한 400이하)
      • 
        [root@localhost ~]# chown root /etc/shadow
        [root@localhost ~]# # chmod 400 /etc/shadow
    • 조치 시 영향
      • 일반적인 경우 영향 없음
    /etc/hosts 파일 소유자 및 권한 설정
    취약점 개요
    • 점검내용
      • /etc/hosts 파일의 권한 적절성 점검
    • 점검목적
      • /etc/hosts 파일을 관리자만 제어할 수 있게 하여 비인가자들의 임의적인 파일 변조를 방지하기 위함
    • 보안위협
      • hosts 파일에 비인가자 쓰기 권한이 부여된 경우, 공격자는 hosts파일에 악의적인 시스템을 등록하여, 이를 통해 정상적이 DNS를 우회하여 악성사이트로의 접속을 유도하는 파밍(Pharming) 공격 등에 악용될 수 있음

    • 참고
      • /etc/hosts
        • IP 주소와 호스트네임을 매핑하는 파일. 일반적으로 인터넷 통신 시 주소를 찾기 위해 도메인 네임 서비스(DNS)보다 hosts 파일을 먼저 참조함. hosts 파일은 문자열 주소로부터 IP 주소를 수신받는 DNS 서버와는 달리, 파일 내에 직접 문자열 주소와 IP주소를 매칭하여 기록하며, DNS 서버 접근 이전에 확인하여 해당 문자열 주소가 목록에 존재할 시 그 문자열 주소에 해당하는 IP 주소로 연결함
        파밍(Pharming)
        • 사용자의 DNS 또는 hosts 파일을 변조함으로써 정상적인 싸이트로 오인하여 접속하도록 유도한 뒤 개인정보를 훔치는 새로운 컴퓨터 범죄 수법
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : /etc/hosts 파일의 소유자가 root이고, 권한이 600인 경우
      • 취약 : /etc/hosts 파일의 소유자가 root가 아니거나, 권한이 600이 아닌 경우
    • 조치방법
      • "/etc/hosts" 파일의 소유자가 및 권한 변경 (소유자 root, 권한 600)
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • 위에 제시된 파일 및 디렉터리의 소유자가 root가 아니거나 파일의 권한이 600이 아닌 경우 아래의 보안설정방법에 따라 설정을 변경함
    • 보안설정방법
      • "/etc/hosts" 파일의 소유자 및 권한 변경 (소유자 root, 권한 600)

      • 
        [root@localhost ~]# chown root: /etc/hosts
        [root@localhost ~]# chmod 600 /etc/hosts
    • 조치 시 영향
      • 일반적인 경우 영향 없음
    /etc/(x)inetd.conf 파일 소유자 및 권한 설정
    취약점 개요
    • 점검내용
      • /etc/(x)inetd.conf 파일 권한 적절성 점검
    • 점검목적
      • /etc/(x)inetd.conf 파일을 관리자만 제어할 수 있게 하여 비인가자들의 임의적인 파일 변조를 방지하기 위함
    • 보안위협
      • (x)inetd.conf 파일에 비인가자의 쓰기 권한이 부여되어 있을 경우, 비인가자가 악의적인 프로그램을 등록하여 root 권한으로 불법적인 서비스를 실행할 수 있음

    • 참고
      • 인터넷 슈퍼데몬
        • 외부 네트워크의 요청이 있을 때 "/etc/inetd.conf"에 등록된 내부 프로그램인 인터넷 서비스들의 데몬을 실행시켜주는 역할을 함
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : /etc/inetd.conf 파일의 소유자가 root이고, 권한이 600인 경우
      • 취약 : /etc/inetd.conf 파일의 소유자가 root가 아니거나, 권한이 600이 아닌 경우
    • 조치방법
      • "/etc/(x)inetd.conf" 파일의 소유자 및 권한 변경 (소유자 root, 권한 600)
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • "/etc/xinetd.conf" 파일 및 "/etc/xinetd.d/" 하위 모든 파일의 소유자 및 권한 확인

        rw------- root <xinetd.conf파일>

        rw------- root <xinetd 디렉터리 내 모든 파일>

      • 인터넷 슈퍼데몬 서비스 설정파일의 소유자가 root가 아니거나 파일의 권한이 600이 아닌 경우 아래의 보안설정방법에 따라 설정을 변경함
    • 보안설정방법
      • LINUX(CentOS)
        • "/etc/xinetd.conf" 파일과 하위파일들의 소유자 및 권한 변경 (소유자 root, 권한 600)

        • 
          [root@localhost ~]# chown root /etc/xinetd.d/*
          [root@localhost ~]# chown root /etc/xinetd.conf
          
          [root@localhost ~]# chmod 600 /etc/xinetd.d/*
          [root@localhost ~]# chmod 600 /etc/xinetd.conf
    • 조치 시 영향
      • 일반적인 경우 영향 없음
    /etc/syslog.conf 파일 소유자 및 권한 설정
    취약점 개요
    • 점검내용
      • /etc/rsyslog.conf 파일 권한 적절성 점검
    • 점검목적
      • /etc/rsyslog.conf 파일의 권한 적절성을 점검하여, 관리자 외 비인가자의 임의적인 syslog.conf 파일 변조를 방지하기 위함
    • 보안위협
      • rsyslog.conf 파일의 접근권한이 적절하지 않을 경우, 임의적인 파일 변조로 인해 침입자의 흔적 또는, 시스템 오류 사항을 분석하기 위해 반드시 필요한 시스템 로그가 정상적으로 기록 되지 않을 수 있음

    • 참고
      • /etc/rsyslog.conf
        • 시스템 운영 중 발생하는 주요 로그 기록을 설정하는 파일
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : /etc/rsyslog.conf 파일의 소유자가 root(또는 bin, sys)이고, 권한이 644 이하인 경우
      • 취약 : /etc/rsyslog.conf 파일의 소유자가 root(또는 bin, sys)가 아니거나, 권한이 644 이하가 아닌 경우
    • 조치방법
      • "/etc/rsyslog.conf" 파일의 소유자 및 권한 변경 (소유자 root(또는 bin, sys), 권한 644 이하)
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • "/etc/rsyslog.conf" 파일의 소유자 및 권한 확인

      • rsyslog.conf의 소유자가 root가 아니거나 파일의 권한이 644이 아닌 경우 아래의 보안설정방법에 따라 설정을 변경함
    • 보안설정방법
        
        [root@localhost ~]# chown root /etc/rsyslog.conf
        [root@localhost ~]# chmod 644 /etc/rsyslog.conf
    • 조치 시 영향
      • root, bin, sys 등 시스템에서 사용하는 계정이 아닌 일반 계정에게 소유 권한이 부여되지 않도록 하여야 함
    /etc/services 파일 소유자 및 권한 설정
    취약점 개요
    • 점검내용
      • /etc/services 파일 권한 적절성 점검
    • 점검목적
      • /etc/services 파일을 관리자만 제어할 수 있게 하여 비인가자들의 임의적인 파일 변조를 방지하기 위함
    • 보안위협
      • services 파일의 접근권한이 적절하지 않을 경우 비인가 사용자가 운영 포트 번호를 변경하여 정상적인 서비스를 제한하거나, 허용되지 않은 포트를 오픈 하여 악성 서비스를 의도적으로 실행할 수 있음

    • 참고
      • /etc/services
        • 서비스 관리를 위해 사용되는 파일. 해당 파일에 서버에서 사용하는 모든 포트(port)들에 대해 정의되어 있으며, 필요시 서비스 기본사용 포트를 변경하여 네트워크 서비스를 운용할 수 있음
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : /etc/services 파일의 소유자가 root이고, 권한이 644 이하인 경우
      • 취약 : /etc/services 파일의 소유자가 root가 아니거나, 권한이 644 이하가 아닌 경우
    • 조치방법
      • "/etc/services" 파일의 소유자 및 권한 변경 (소유자 root, 권한 644 이하)
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • "/etc/services" 파일의 소유자 및 권한 확인

      • "services" 파일의 소유자가 root가 아니거나 파일의 권한이 644가 아닌 경우 아래의 보안설 정방법에 따라 설정을 변경함
    • 보안설정방법
      • "/etc/services" 파일의 소유자 및 권한 변경 (소유자 root, 권한 644)

        
        [root@localhost ~]# chown root /etc/services
        [root@localhost ~]# chmod 644 /etc/services
    • 조치 시 영향
      • 일반적인 경우 영향 없음
    SUID, SGID 설정 파일 점검
    취약점 개요
    • 점검내용
      • 불필요하거나 악의적인 파일에 SUID, SGID 설정 여부 점검
    • 점검목적
      • 불필요한 SUID, SGID 설정 제거로 악의적인 사용자의 권한상승을 방지하기 위함
    • 보안위협
      • SUID, SGID 파일의 접근권한이 적절하지 않을 경우 SUID, SGID 설정된 파일로 특정 명령어를 실행하여 root 권한 획득 및 정상서비스 장애를 발생시킬 수 있음

    • 참고
      • SUID
        • 설정된 파일 실행 시, 특정 작업 수행을 위하여 일시적으로 파일 소유자의 권한을 얻게 됨
      • SGID
        • 설정된 파일 실행 시, 특정 작업 수행을 위하여 일시적으로 파일 소유 그룹의 권한을 얻게 됨
      • 불필요한 SUID/SGID 목록
        • 부록 잠고
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : 주요 실행파일의 권한에 SUID와 SGID에 대한 설정이 부여되어 있지 않은 경우
      • 취약 : 주요 실행파일의 권한에 SUID와 SGID에 대한 설정이 부여되어 있는 경우
    • 조치방법
      • Step 1) 불필요한 SUID, SGID 파일 제거

        Step 2) 아래의 목록 이외에 애플리케이션에서 생성한 파일이나, 사용자가 임의 로 생성한 파일 등 의심스럽거나 특이한 파일의 발견 시 SUID 제거 필요

    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • 주요 파일에 대한 SUID/SGID 설정 여부 확인

        #ls -all [check_file] | awk '{ print $1}' | grep -i 's'

        주요 파일 : /sbin/dump, /usr/bin/lpq-lpd, /usr/bin/newgrp, /sbin/restore, /usr/bin/lpr, /usr/sbin/lpc, /sbin/unix_chkpwd, /usr/bin/lpr-lpd, /usr/sbin/lpc-lpd, /usr/bin/at /usr/bin/lprm, /usr/sbin/traceroute, /usr/bin/lpq, /usr/bin/lprm-lpd

      • 주요 파일에 불필요한 SUID/SGID가 설정된 경우 아래의 보안설정방법에 따라 SUID/SGID를 제거함
    • 보안설정방법
      • Step 1) 제거 방법
      • [root@localhost ~]# chmod -s <file_name>
      • Step 2) 주기적인 감사 방법
      • [root@localhost ~]# # find / -user root -type f \( -perm -04000 -o -perm 
        -02000 \) -xdev -exec ls -al {} \;
      • Step 3) 반드시 사용이 필요한 경우 특정 그룹에서만 사용하도록 제한하는 방법
      • [root@localhost ~]# /usr/bin/chgrp <group_name> <setuid_file_name>
    • 조치 시 영향
      • SUID 제거 시 OS 및 응용 프로그램 등 서비스 정상작동 유무 확인 필요
    사용자, 시스템 시작파일 및 환경파일 소유자 및 권한 설정
    취약점 개요
    • 점검내용
      • 홈 디렉터리 내의 환경변수 파일에 대한 소유자 및 접근권한이 관리자 또는 해당 계정으로 설정되어 있는지 점검
    • 점검목적
      • 비인가자의 환경변수 조작으로 인한 보안 위험을 방지하기 위함
    • 보안위협
      • 홈 디렉터리 내의 사용자 파일 및 사용자별 시스템 시작파일 등과 같은 환경변수 파일의 접근권한 설정이 적절하지 않을 경우 비인가자가 환경변수 파일을 변조하여 정상 사용중인 사용자의 서비스가 제한 될 수 있음

    • 참고
      • 환경변수 파일 종류
        • ".profile", ".kshrc", ".cshrc", ".bashrc", ".bash_profile",".login", ".exrc", ".netrc" 등 권한을 얻게 됨
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : 홈 디렉터리 환경변수 파일 소유자가 root 또는, 해당 계정으로 지정되어 있고, 홈 디렉터리 환경변수 파일에 root와 소유자만 쓰기 권한이 부여된 경우
      • 취약 : 홈 디렉터리 환경변수 파일 소유자가 root 또는, 해당 계정으로 지정되지 않고, 홈 디렉터리 환경변수 파일에 root와 소유자 외에 쓰기 권한이 부여 된 경우
    • 조치방법
      • 환경변수 파일의 권한 중 타 사용자 쓰기 권한 제거

    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • 홈 디렉터리 환경변수 파일의 소유자 및 권한 확인

        [root@localhost ~]# ls -l <홈 디렉터리 환경변수 파일>
      • 홈 디렉터리 환경변수 파일의 소유자가 root 또는, 해당 계정으로 설정되어 있는지 확인 후 소유자 이외의 사용자에게 쓰기 권한이 부여되어 있을 경우 아래의 보안설정방법에 따라 설정을 변경함
    • 보안설정방법
      • Step 1) 소유자 변경 방법
      • [root@localhost ~]# chown <user_name> <file_name>
      • Step 2) 일반 사용자 쓰기 권한 제거 방법
      • [root@localhost ~]# chmod o-w <file_name>
    • 조치 시 영향
      • 일반적인 경우 영향 없음
    world writable 파일 점검
    취약점 개요
    • 점검내용
      • 불필요한 world writable 파일 존재 여부 점검
    • 점검목적
      • world writable 파일을 이용한 시스템 접근 및 악의적인 코드 실행을 방지하기 위함
    • 보안위협
      • 시스템 파일과 같은 중요 파일에 world writable 설정이 될 경우, 악의적인 사용자가 해당 파일을 마음대로 파일을 덧붙이거나 지울수있게 되어 시스템의 무단 접근 및 시스템 장애를 유발할 수 있음

    • 참고
      • world writable
        • 파일의 내용을 소유자나 그룹 외 모든 사용자에 대해 쓰기가 허용된 파일
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : world writable 파일이 존재하지 않거나, 존재 시 설정 이유를 확인하고 있는 경우
      • 취약 : world writable 파일이 존재하나 해당 설정 이유를 확인하고 있지 않는 경우
    • 조치방법
      • world writable 파일 존재 여부를 확인하고 불필요한 경우 제거

    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • world writable 파일 존재 여부 확인

      • "world writable" 파일 존재 시 사용 목적을 확실히 알고 불필요 시 삭제, 필요 시 아래의 보안설정방법에 따라 설정을 변경함
    • 보안설정방법
      • Step 1) 일반 사용자 쓰기 권한 제거 방법
      • [root@localhost ~]# chmod o-w <file_name>
      • Step 2) 파일 삭제 방법
      • [root@localhost ~]# rm -rf <world-writable 파일명>
    • 조치 시 영향
      • 일반적인 경우 영향 없음
    /dev에 존재하지 않는 device 파일 점검
    취약점 개요
    • 점검내용
      • 존재하지 않는 device 파일 존재 여부 점검
    • 점검목적
      • 실제 존재하지 않는 디바이스를 찾아 제거함으로써 root 파일 시스템 손상 및 다운 등의 문제를 방지하기 위함
    • 보안위협
      • 공격자는 rootkit 설정파일들을 서버 관리자가 쉽게 발견하지 못하도록 /dev 에 device 파일인 것저럼 위장하는 수법을 많이 사용함

    • 참고
      • /dev 디렉터리
        • 논리적 장지 파일을 담고 있는 /dev 디렉터리는 /devices 디렉터리에 있는 물리적 장지 파일에 대한 심볼릭 링크임. 예를 들어 rmt0를 rmto로 잘못 입력한 경우 rmto 파일이 새로 생성되는 것과 같이 디바이스 이름 입력 오류 시 root 파일 시스템이 에러를 일으u 때까지 /dev 디렉터리에 계속해서 파일을 생성함
        • /dev 디렉터리 내 불필요한 device 파일이 존재할 시 삭제 권고
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : dev에 대한 파일 점검 후 존재하지 않은 device 파일을 제거한 경우
      • 취약 : dev에 대한 파일 미점검 또는, 존재하지 않은 device 파일을 방지한 경우
    • 조치방법
      • maJor, minor number를 가지지 않는 device 파일 제거

    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • dev에 존재하지 않는 device 파일 점검

      • 존재하지 않는 디바이스가 "dev" 디렉터리 내에 존재하는 경우 아래의 보안설정방법에 따라 제거함
    • 보안설정방법
      • Step 1) /dev 디렉터리 파일 점검
      • [root@localhost ~]# find /dev -type f -exec ls -l {} \;
      • Step 2) maJor, minor number를 가지지 않는 device일 경우 삭제
      • [root@localhost ~]# rm -rf <major, minor number를 가지지 않는 device>
    • 조치 시 영향
      • 일반적인 경우 영향 없음
    접속 IP 및 포트 제한
    취약점 개요
    • 점검내용
      • 허용할 호스트에 대한 접속 IP 주소 제한 및 포트 제한 설정 여부 점검
    • 점검목적
      • 허용한 호스트만 서비스를 사용하게 하여 서비스 취약점을 이용한 외부자 공격을 방지하기 위함
    • 보안위협
      • 허용할 호스트에 대한 IP 및 포트제한이 적용되지 않은 경우, Telnet, FTP같은 보안에 취약한 네트워크 서비스를 통하여 불법적인 접근 및 시스템 침해사고가 발생할 수 있음

    • 참고
      • 접속 IP 및 포트제한 애플리케이션 종류 예시
      • TCP Wrapper

        네트워크 서비스에 관련한 트래픽을 제어하고 모니터링 할 수 있는 UNIX 기반의 방화벽 툴

        IPFilter

        유닉스 계열에서 사용하는 공개형 방화벽 프로그램으로써 Packet Filter로 시스템 및 네트워크 보안에 아주 강력한 기능을 보유한 프로그램

        IPtables

        리눅스 커널 방화벽이 제공하는 테이블들과 그것을 저장하는 체인, 규칙들을 구성할 수 있게 해주는 응용프로그램

    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : 접속을 허용할 특정 호스트에 대한 IP 주소 및 포트 제한을 설정한 경우
      • 취약 : 접속을 허용할 특정 호스트에 대한 IP 주소 및 포트 제한을 설정하지 않은 경우
    • 조치방법
      • OS에 기본으로 제공하는 방화벽 애플리케이션이나 TCP Wrapper와 같은 호스트 별 서비스 제한 애플리케이션을 사용하여 접근 허용 IP 등록

    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • TCP Warrper 사용할 경우

          All deny 적용 확인 및 접근 허용 IP 적절성 확인

      • IPtables 사용할 경우
      • 위에 제시한 파일이 존재하지 않거나 All deny 설정이 적용되지 않은 경우 또는, 시스템 접근 제한 IP 설정 필요 시 아래의 보안설정방법에 따라 설정을 변경함
    • 보안설정방법
      • IPtables 사용하는 경우
        • Step 1) iptables 명령어를 통해 접속할 IP 및 포트 정책 추가
        • (예) SSH 서비스 제한

          
          [root@localhost ~]# iptables -A INPUT -p tcp -s 192.168.1.0/24 —dport 22 -j ACCEPT
          [root@localhost ~]# iptables -A INPUT -p tcp --dport 22 -j DROP
        • Step 2) iptables 설정 저장
        • [root@localhost ~]# /etc/rc.d/init.d/iptables save
      • TCP Wrapper 사용하는 경우
        • Step 1) vi 편집기를 이용하여 "/etc/hosts.deny" 파일 열기 (해당 파일이 없을 경우 새로 생성)
        • [root@localhost ~]# vi /etc/hosts.deny
        • Step 2) 아래와 같이 수정 또는, 신규 삽입 (ALL Deny 설정)
        • Step 3) vi 편집기를 이용하여 "/etc/hosts.allow" 파일 열기 (해당 파일이 없을 경우 생성)
          (다른 서비스도 동일한 방식으로 설정)
        • <TCP Wrapper 접근재어 가능 서비스>

          SYSTAT, FINGER, FTP, TELNET, RLOGIN, RSH, TALK, EXEC, TFTP, SSH

          <TCP Wrapper는 다음 두 파일에 의해 접근이 재어됨>

          /etc/hosts.deny --> 시스템 접근을 제한할 IP 설정

          /etc/hosts.allow --> 시스템 접근을 허용할 IP 설정

          not in either --> 모든 접근 허용

    • 조치 시 영향
      • 허용되지 않은 IP는 서비스 사용이 불가함
    hosts.lpd 파일 소유자 및 권한 설정
    취약점 개요
    • 점검내용
      • /etc/hosts.lpd 파일의 삭제 및 권한 적절성 점검
    • 점검목적
      • 비인가자의 임의적인 hosts.lpd 변조를 막기 위해 hosts.lpd 파일 삭제 또는 소유자 및 권한 관리를 해야 함
    • 보안위협
      • hosts.lpd 파일의 접근권한이 적절하지 않을 경우 비인가자가 /etc/hosts.lpd 파일을 수정하여 허용된 사용자의 서비스를 방해할 수 있으며, 호스트 정보를 흭득 할 수 있음

    • 참고
      • hosts.lpd 파일
        • 로컬 프린트 서비스를 사용할 수 있는 허가된 호스트(사용자) 정보를 담고 있는 파일 (hostname 또는, IP 주소를 포함하고 있음)
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : hosts.lpd 파일이 삭제되어 있거나 불가피하게 hosts.lpd 파일을 사용할 시 파일의 소유자가 root이고 권한이 600인 경우
      • 취약 : hosts.lpd 파일이 삭제되어 있지 않거나 파일의 소유자가 root가 아니고 권한 600이 아닌 경우
    • 조치방법
      • hosts.lpd 파일을 삭제하거나 hosts.lpd 파일의 퍼미션을 확인하여 퍼미션 600, 파일 소유자를 root로 변경
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • "hosts.lpd" 파일이 존재하고 소유자가 root가 아니거나 파일의 권한이 600이 아닌 경우 아래의 보안설정방법에 따라 설정을 변경함
    • 보안설정방법
      • Step 1) hosts.lpd 파일 삭제

        #rm -rf /etc/hosts.lpd

        Step 2) 파일의 퍼미션 변경 (hosts.lpd 파일이 필요시)

        #chmod 600 /etc/hosts.lpd

        Step 3) 소유자를 root로 변경 (hosts.lpd 파일이 필요시)

        #chown root /etc/hosts.lpd

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    NIS 서비스 비활성화
    취약점 개요
    • 점검내용
      • NIS 서비스 비활성화 여부 점검
    • 점검목적
      • 안전하지 않은 NIS 서비스를 이용 시 네트워크 상에 암호화되지 않은 중요정보 전달을 방지하기 위함
    • 보안위협
      • NIS 이용 시 호스트 인증 메커니즘이 없으며 암호 해시를 포함한 모든 정보를 네트워크 상에서 암호화되지 않은 채로 전달되어 스니핑(sniffing) 가능 우려

    • 참고
      • NIS 서비스 파일
        • ypserv 라고 불리는 RPC 서비스로 동일한 도메인에 위치한 컴퓨터에 사용자명, 암호와 다른 기밀 정보를 배포하는 기능을 함
        • 관련 점검 항목 : U-28(상)

    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : 불필요한 NIS 서비스가 비활성화 되어있는 경우
      • 취약 : 불필요한 NIS 서비스가 활성화 되어있는 경우
    • 조치방법
      • NIS 서비스를 사용하지 않은 경우 NIS 서비스 비활성화
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • NIS 서비스 활성화 여부 확인

        #ps -ef | grep yp

      • 불필요한 "NIS" 서비스가 실행중인 경우 아래의 보안설정방법에 따라 비활성화 상태로 변경함
    • 보안설정방법
      • Step 1) NFS 서비스 데몬 중지

        #kill -9 [PID]

        Step 2) 시동 스크립트 삭제 또는, 스크립트 이름 변경

        1. 위지 확인

        #ls -al /etc/rc.d/rc*.d/* | egrep "ypserv|ypbind|ypxfrdIrpc.yppasswdd | rpc.ypupdated"

        2. 이름 변경

        #mv /etc/rc.d/rc2.d/S73ypbind /etc/rc.d/rc2.d/_S73ypbind

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    UMASK 설정 관리
    취약점 개요
    • 점검내용
      • 시스템 UMASK 값이 022 이상인지 점검
    • 점검목적
      • 잘못 설정된 UMASK 값으로 인해 신규 파일에 대한 과도한 권한 부여되는 것을 방지하기 위함
    • 보안위협
      • 잘못된 UMASK 값으로 인해 시스템 내 신규 생성 파일에 대하여 과도한 권한이 부여될 수 있으며, 이로 인해 파일의 시스템 악용이 우려됨

    • 참고
        • 시스템 내에서 사용자가 새로 생성하는 파일의 접근권한은 UMASK 값에 따라 정해지며, 계정의 Start Profile에 명령을 주가하면 사용자가 로그인 한 후에도 변경된 UMASK 값을 적용받게 됨

      • Start Profile
        • /etc/profile, /etc/default/login, .cshrc, .kshrc, .bashrc, .login, .profile 등
      • umask
        • 파일 및 디렉터리 생성 시 기본 퍼미션을 지정해 주는 명령어
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : umask가 022로 설정되어 있는 경우
      • 취약 : umask가 022로 설정되어 있지 않은 경우
    • 조치방법
      • umask를 022로 설정
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • umask 확인

        [root@localhost ~]# cat /etc/profile
      • umask가 022로 설정되어 있지 않은 경우, 보안설정방법에 따라 설정.
    • 보안설정방법
      • Step 1) vi 편집기를 이용하여 "/etc/profile" 파일 열기
      • [root@localhost ~]# vi /etc/profile
      • Step 2) 아래와 같이 수정 또는, 신규 삽입
    • 조치 시 영향
      • 일반적인 경우 영향 없음
    홈디렉터리 소유자 및 권한 설정
    취약점 개요
    • 점검내용
      • 홈 디렉터리의 소유자 외 타사용자가 해당 홈 디렉터리를 수정할 수 없도록 제한하는지 점검
    • 점검목적
      • 사용자 홈 디렉터리 내 설정파일이 비인가자에 의한 변조를 방지함
    • 보안위협
      • 홈 디렉터리 내 설정파일 변조 시 정상적인 서비스 이용이 제한될 우려가 존재함

    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : 홈 디렉터리 소유자가 해당 계정이고, 타 사용자 쓰기 권한이 제거된 경우
      • 취약 : 홈 디렉터리 소유자가 해당 계정이 아니고, 타 사용자 쓰기 권한이 부여된 경우
    • 조치방법
      • 사용자별 홈 디렉터리 소유주를 해당 계정으로 변경하고, 타사용자의 쓰기 권한 제거 ("/etc/passwd" 파일에서 홈 디렉터리 확인, 사용자 홈 디렉터리 외 개별적으로 만들 어 사용하는 사용자 디렉터리 존재여부 확인하여 점검)
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • "/etc/passwd" 파일에서 사용자별 홈 디렉터리 확인 후 소유자 및 권한 확인

      • "/etc/passwd" 파일 내 존재하는 모든 사용자 계정이 적절한 홈 디렉터리를 갖는지 확인함. 홈 디렉터리 소유자가 해당 계정이 아니거나, 부적절한 권한 설정이 적용된 경우 아래의 보안설정방 법에 따라 적용함
    • 보안설정방법
      • 홈디렉토리의 소유자 및 권한 변경

      • 
        [root@localhost ~]# chown user1: /home/user1
        [root@localhost ~]# # chmod o-w /home/user1
    • 조치 시 영향
      • 일반적인 경우 영향 없음
    홈디렉터리로 지정한 디렉터리의 존재 관리
    취약점 개요
    • 점검내용
      • 사용자 계정과 홈 디렉터리의 일지 여부를 점검
    • 점검목적
      • /home 이외 사용자의 홈 디렉터리 존재 여부를 점검하여 비인가자가 시스템 명령어의 무단 사용을 방치하기 위함
    • 보안위협
      • 사용자에게 지정된 디렉터리가 아닌 곳이 홈 디렉터리로 설정될 경우 해당 디렉터리 내 명령어 사용이 가능하며 이에 따라 시스템 관리 보안상 문제가 발생할 수 있음

    • 참고
      • 홀디렉터리

          사용자가 로그인한 후 작업을 수행하는 디렉터리

      • 일반 사용자의 홀 디렉터리 위지
        • /home/user명
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : 홈 디렉터리가 존재하지 않는 계정이 발견되지 않는 경우
      • 취약 : 홈 디렉터리가 존재하지 않는 계정이 발견된 경우
    • 조치방법
      • 홈 디렉터리가 존재하지 않는 계정에 홈 디렉터리 설정 또는, 계정 삭제
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • 사용자 계정 별 홈 디렉터리 지정 여부 확인

      • "/etc/passwd" 파일 내 존재하는 모든 사용자 계정이 적절한 홈 디렉터리를 갖는지 확인한후 홈 디렉터리가 존재하지 않는 계정이 발견된 경우 아래의 보안설정방법에 따라 적용함
    • 보안설정방법
      • Step 1) 홈 디렉터리가 없는 사용자 계정 삭제
      • [root@localhost ~]# userdel <user_name>
      • Step 2) 홈 디렉터리가 없는 사용자 계정에 홈 디렉터리 지정
      • 
        [root@localhost ~]# vi /etc/passwd
        test:x:501:501::/:/bin/bash (홈 디렉터리가 /로 설정 된 경우)
        test:x:501:501::/home/test:/bin/bash (홈 디렉터리 수정 / -> /home/test)
    • 조치 시 영향
      • 일반적인 경우 영향 없음
    숨겨진 파일 및 디렉터리 검색 및 제거
    취약점 개요
    • 점검내용
      • 숨김 파일 및 디렉터리 내 의심스러운 파일 존재 여부 점검
    • 점검목적
      • 숨겨진 파일 및 디렉터리 중 의심스러운 내용은 정상 사용자가 아닌 공격자에 의해 생성되었을 가능성이 높음으로 이를 발견하여 제거함
    • 보안위협
      • 공격자는 숨겨진 파일 및 디렉터리를 통해 시스템 정보 습득, 파일 임의 변경 등을 할 수 있음

    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : 불필요하거나 의심스러운 숨겨진 파일 및 디렉터리를 삭제한 경우
      • 취약 : 불필요하거나 의심스러운 숨겨진 파일 및 디렉터리를 방지한 경우
    • 조치방법
      • ls -al 명령어로 숨겨진 파일 존재 파악 후 불법적이거나 의심스러운 파일을 삭제함
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • 특정 디렉터리 내 불필요한 파일 점검

        #ls -al [디렉터리명]

        전제 숨김 디렉터리 및 숨김 파일 점검

        #find / -type f -name ".*" (파일 점검)

        #find / -type d -name ".*" (디렉터리 점검)

      • 특정 디렉터리 내 숨겨진 파일을 확인한 후 불필요한 경우 파일 삭제를 권고함
    • 보안설정방법
      • Step 1) 숨겨진 파일 목록에서 불필요한 파일 삭제

        Step 2) 마지막으로 변경된 시간에 따라, 최근 작업한 파일 확인 시 [-t] 플래그 사용

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    서비스관리 finger 서비스 비활성화
    취약점 개요
    • 점검내용
      • finger 서비스 비활성화 여부 점검
    • 점검목적
      • Finger(사용자 정보 확인 서비스)를 통해서 네트워크 외부에서 해당 시스템에 등록된 사용자 정보를 확인할 수 있어 비인가자에게 사용자 정보가 조회 되는 것을 차단하고자 함
    • 보안위협
      • 비인가자에게 사용자 정보가 조회되어 패스워드 공격을 통한 시스템 권한 탈취 가능성이 있으므로 사용하지 않는다면 해당 서비스를 중지하여야 함

    • 참고
      • Finger(사용자 정보 확인 서비스)
        • who 명령어가 현재 사용 중인 사용자들에 대한 간단한 정보만을 보여주는데 반해 finger 명령은 옵션에 따른 시스템에 등록된 사용자뿐 만 아니라 네트워크를 통하여 연결되어 있는 다른 시스템에 등록된 사용자들에 대한 자세한 정보를 보여줌
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : Finger 서비스가 비활성화 되어 있는 경우
      • 취약 : Finger 서비스가 활성화 되어 있는 경우
    • 조치방법
      • Finger 서비스 비활성화
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(xinetd)
      • 점검 및 조치 사례
      • 위에 제시된 파일 내 "finger" 서비스가 활성화된 경우 아래의 보안설정방법에 따라 서비스 중지
    • 보안설정방법
      • LINUX(xinetd)
        • Step 1) vi 편집기를 이용하여 "/etc/xinetd.d/finger" 파일 열기

          Step 2) 아래와 같이 설정 (Disable = yes 설정)

          
          service finger
          {
          	socket _type		= stream
          	wait				= no
          	user				= nobody
          	server				= /usr/sbin/in.fingerd
          	disable				= yes
          }
          

          Step 3) xinetd 서비스 재시작

          #service xinetd restart

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    Anonymous FTP 비활성화
    취약점 개요
    • 점검내용
      • 익명 FTP 접속 허용 여부 점검
    • 점검목적
      • 실행중인 FTP 서비스에 익명 FTP 접속이 허용되고 있는지 확인하여 접속허용을 차단하는 것을 목적으로 함
    • 보안위협
      • Anonymous FTP(익명 FTP)를 사용 시 anonymous 계정으로 로그인 후 디렉터리에 쓰기 권한이 설정되어 있다면 악의적인 사용자가 local exploit을 사용하여 시스템에 대한 공격을 가능하게 함

    • 참고
      • Anonymous FTP(익명 FTP)
        • 파일 전송을 위해서는 원칙적으로 상대방 컴퓨터를 사용할 수 있는 계정이 필요하나 누구든지 계정 없이도 anonymous 또는 ftp라는 로그인 명과 임의의 비밀번호를 사용하여 FTP를 실행할 수 있음
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : Anonymous FTP (익명 ftp) 접속을 차단한 경우
      • 취약 : Anonymous FTP (익명 ftp) 접속을 차단하지 않은 경우
    • 조치방법
      • Anonymous FTP를 사용하지 않는 경우 Anonymous FTP 접속 차단 설정 적용
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • /etc/passwd 파일에 ftp 계정 존재 여부 확인

      • "passwd" 파일 내 ftp 계정이 존재하는 경우 아래의 보안설정방법에 따라 서비스 접속 제한
    • 보안설정방법
      • Step 1) 일반 FTP - Anonymous FTP 접속 제한 설정 방법
      • [root@localhost ~]# userdel ftp
      • Step 2) ProFTP - Anonymous FTP 접속 제한 설정 방법
      • [root@localhost ~]# userdel ftp
      • Step 3) vsFTP - Anonymous FTP 접속 제한 설정 방법
      • vsFTP 설정파일("/etc/vsftpd/vsftpd.conf" 또는, "/etc/vsftpd.conf")에서 anonymous_enable=NO 설정

        anonymous_enable=NO
    • 조치 시 영향
      • Anonymous FTP를 사용하지 않을 경우 영향 없음
    cron 파일 소유자 및 권한설정
    취약점 개요
    • 점검내용
      • Cron 관련 파일의 권한 적절성 점검
    • 점검목적
      • 비인가자가 allow, deny 파일에 접근할 수 없도록 설정하고 있는지 점검하는 것을 목적으로 함
    • 보안위협
      • root 외 일반사용자에게도 crontab 명령어를 사용할 수 있도록 할 경우, 고의 또는 실수로 불법적인 예약 파일 실행으로 시스템 피해를 일으킬 수 있음

    • 참고
      • Cron 시스템
        • 특정 작업을 정해진 시간에 주기적이고 반복적으로 실행하기 위한 데몬과 그 설정들을 말함
      • cron.allow
        • 해당 파일에 사용자 ID를 등록하면 등록된 사용자는 crontab 명령어 사용이 가능함
      • cron.deny
        • 해당 파일에 사용자 ID를 등록하면 등록된 사용자는 crontab 명령어 사용이 불가능함
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : cron 접근제어 파일 소유자가 root이고, 권한이 640 이하인 경우
      • 취약 : cron 접근제어 파일 소유자가 root가 아니거나, 권한이 640 이하가 아닌 경우
    • 조치방법
      • "cron.allow", "cron.deny" 파일 소유자 및 권한 변경 (소유자 root, 권한 640 이하)
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례

          Cron 관련 파일 권한 확인

      • "cron" 접근제어 설정이 적절하지 않은 경우 아래의 보안설정방법에 따라 설정을 변경함
    • 보안설정방법
      • Step 1) "/etc/cron.allow" 및 "/etc/cron.deny" 파일의 소유자 및 권한 변경
      • 
        [root@localhost ~]# chown root: /etc/cron.allow
        [root@localhost ~]# chmod 640 /etc/cron.allow
        [root@localhost ~]# chown root: /etc/cron.deny
        [root@localhost ~]# chmod 640 /etc/cron.deny
    • 조치 시 영향
      • 일반적인 경우 영향 없음
    Dos 공격에 취약한 서비스 비활성화
    취약점 개요
    • 점검내용
      • 사용하지 않는 Dos 공격에 취약한 서비스의 실행 여부 점검
    • 점검목적
      • 시스템 보안성을 높이기 위해 취약점이 많이 발표된 echo, discard, daytime, chargen, ntp, snmp 등 서비스를 중지함
    • 보안위협
      • 해당 서비스가 활성화되어 있는 경우 시스템 정보 유출 및 DoS(서비스 거부 공격)의 대상이 될 수 있음

    • 참고
      • DoS(Denial of Service attack)
        • 시스템을 악의적으로 공격해 해당 시스템의 자원을 부족 하게 하여 원래 의도된 용도로 사용하지 못하게 하는 공격. 특정 서버에게 수많은 접속 시도를 만들어 다른 이용자가 정상적으로 서비스 이용을 하지 못하게 하거나, 서버의 TCP 연결을 바닥내는 등의 공격이 이 범위에 포함됨
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : 사용하지 않는 DoS 공격에 취약한 서비스가 비활성화 된 경우
      • 취약 : 사용하지 않는 DoS 공격에 취약한 서비스가 활성화 된 경우
    • 조치방법
      • echo, discard, daytime, charge, ntp, dns, snmp 등 서비스 비활성화 설정
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • 아래 제시된 DoS 공격에 취약한 서비스 중 사용하지 않는 서비스가 활성화 된 경우 아래의 보안설정방법에 따라 서비스 중지
    • DoS 공격에 쥐약한 서비스 예시
      • echo(7)
        • 클라이언트에서 보내는 메시지를 단순히 재전송
      • discard(9)
        • 수신되는 임의 사용자의 데이터를 폐기하는 서비스
      • daytime(13)
        • daytime은 클라이언트의 질의에 응답하여 아스키 형태로 현재 시간과 날짜를 출력하는 데몬
      • chargen(19)
        • 임의 길이의 문자열을 반환하는 서비스
      • NTP(123)
        • 네트워크로 연결되어 있는 컴퓨터들끼리 클록 시각을 동기화시키는데 사용되는 서비스
      • DNS(53)
        • 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행하는데 사용되는 서비스
      • SNMP(161/162)
        • 네트워크 장비들로부터 필요한 정보를 가져와 장비 상태를 모니터링 하거나 설정값을 변경하는 등의 작업을 하여 네트워크 장비를 관리하는데 사용되는 서비스
      • SMTP(25)
        • 인터넷에서 메일을 보내기 위해 사용되는 서비스
    • 보안설정방법
      • 일반적으로 사용하지 않는 서비스인 echo, discard, daytime, chargen 비활성화 방법

      • LINUX(xinetd)
        • Step 1) vi 편집기를 이용하여 "/etc/xinetd.d/" 디렉터리 내 echo, discard, daytime, chargen 파일 열기
        • [root@localhost ~]# vi /etc/xinetd.d/echo
        • Step 2) 아래와 같이 설정 (Disable = yes 설정)
        • Step 3) xinetd 서비스 재시작
        • [root@localhost ~]# service xinetd restart
    • 조치 시 영향
      • echo, discard, daytime, chargen는 일반적으로 사용하지 않는 서비스들임
    NFS 서비스 비활성화
    취약점 개요
    • 점검내용
      • 불필요한 NFS 서비스 사용여부 점검
    • 점검목적
      • NFS(Network File System) 서비스는 한 서버의 파일을 많은 서비스 서버들이 공유하여 사용할 때 많이 이용되는 서비스이지만 이를 이용한 침해사고 위험성이 높으므로 사용하지 않는 경우 중지함
    • 보안위협
      • 비인가자가 NFS 서비스로 인가되지 않은 시스템이 NFS 시스템 마운트 하여 비인가된 시스템 접근 및 파일변조 등의 침해 행위 가능성이 존재함

    • 참고
      • NFS(Network File System)
        • 원격 컴퓨터의 파일시스템을 로컬 시스템에 마운트하여 마지 로컬 파일시스템저럼 사용할 수 있는 프로그램임
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : 불필요한 NFS 서비스 관련 데몬이 비활성화 되어 있는 경우
      • 취약 : 불필요한 NFS 서비스 관련 데몬이 활성화 되어 있는 경우
    • 조치방법
      • 사용하지 않는다면 NFS 서비스 중지

        아래의 방법으로 NFS 서비스를 제거한 후 시스템 부팅 시, 스크립트 실행 방지 가능

        1. /etc/dfs/dfstab의 모든 공유 제거

        2. NFS 데몬(nfsd, statd, mountd) 중지

        3. 시동 스크립트 삭제 또는, 스크립트 이름 변경

    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • NFS 서비스 데몬 확인 (NFS 동작 SID 확인)

      • 불필요한 "NFS" 서비스가 활성화된 경우 아래의 보안설정방법에 따라 서비스 데몬 중지
    • 보안설정방법
      • Step 1) NFS 서비스 데몬 중지

        #kill -9 [PID]

        Step 2) 시동 스크립트 삭제 또는, 스크립트 이름 변경

        1. 위치 확인

        #ls -al /etc/rc.d/rc*.d/* I grep nfs

        2. 이름 변경

        #mv /etc/rc.d/rc2.d/S60nfs /etc/rc.d/rc2.d/_S60nfs

    • 조치 시 영향
      • showmount, share, exportfs 등의 명령어를 사용하여 로컬 서버에 마운트 되어 있는 디렉터리 확인 및 NFS 설정파일에 공유디렉터리 설정 여부 확인 후 해당 디렉터리가 존재하지 않을 경우 서비스 중지 가능
    NFS 접근 통제
    취약점 개요
    • 점검내용
      • NFS(Network File System) 사용 시 허가된 사용자만 접속할 수 있도록 접근 제한 설정 적용 여부 점검
    • 점검목적
      • 접근권한이 없는 비인가자의 접근을 통제함
    • 보안위협
      • 접근제한 설정이 적절하지 않을 경우 인증절차 없이 비인가자의 디렉터리나 파일의 접근이 가능하며, 해당 공유 시스템에 원격으로 마운트하여 중요 파일을 변조하거나 유출할 위험이 있음

    • 참고
      • NFS(Network File System)
        • 원격 컴퓨터의 파일시스템을 로컬 시스템에 마운트하여 마치 로컬 파일시스템저럼 사용할 수 있는 프로그램임
        • NFS 서비스 사용 금지가 원칙이나 불가피하게 사용이 필요한 경우 NFS v2, v3은 평문으로 전송되는 취약점이 있기 때문에 암호화 되는 v4를 사용하는 것을 권고함
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : 불필요한 NFS 서비스를 사용하지 않거나, 불가피하게 사용 시 everyone 공유를 제한한 경우
      • 취약 : 불필요한 NFS 서비스를 사용하고 있고, everyone 공유를 제한하지 않은 경우
    • 조치방법
      • 사용하지 않는다면 NFS 서비스 중지, 사용할 경우 NFS 설정파일에 everyone 공유 설정 제거
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • "/etc/exports" 파일

      • 불가피하게 NFS 서비스를 사용하여야 하는 경우 NFS 접근제어 파일에 꼭 필요한 공유 디렉터리만 나열하고, everyone으로 시스템이 마운트 되지 않도록 설정
    • 보안설정방법
      • /etc/dfs/dfstab 설정 예문

          rw=client, ro=client 형식으로 접속 허용 client 지정

          사용자의 읽기, 쓰기 권한 접속 허용: share -F nfs -o rw, ro /export/home/test

          사용자의 권한 접속 제한: share -F nfs -o rw=client1:client2, ro=client1:client2 /export/home/test

          읽기(ro), 쓰기(rw) 권한에 각각 사용자를 설정하여야 읽기, 쓰기 권한 모두 제한 가능

      • /etc/exports 설정 예문

          Step 1) everyone으로 시스템 마운트 금지

          #showmount -e hostname 명령어로 확인

          Step 2) /etc/exports 파일에 접근 가능한 호스트명 추가

          (예) /stand host1 host2 ….

          Step 3. NFS 서비스 재구동

          #/etc/exportfs -u

          #/etc/exportfs -a

    • 조치 시 영향
      • showmount, share, exportfs 등의 명령어를 사용하여 로컬 서버에 마운트 되어 있는 디렉터리 확인 및 NFS 설정파일에 공유디렉터리 설정 여부 확인 후 해당 디렉터리가 존재하지 않을 경우 서비스 중지 가능
    automountd 제거
    취약점 개요
    • 점검내용
      • automountd 서비스 데몬의 실행 여부 점검
    • 점검목적
      • 로컬 공격자가 automountd 데몬에 RPC(Remote Procedure Call)를 보낼 수 있는 취약점이 존재하기 때문에 해당 서비스가 실행중일 경우 서비스를 중지시키기 위함
    • 보안위협
      • 파일 시스템의 마운트 옵션을 변경하여 root 권한을 획득할 수 있으며, 로컬 공격자가 automountd 프로세스 권한으로 임의의 명령을 실행할 수 있음

    • 참고
      • automountd
        • 클라이언트에서 자동으로 서버에 마운트를 시키고 일정 시간 사용하지 않으면 unmount 시켜 주는 기능을 말함
        RPC(Remote Procedure Call)
        • 별도의 원격 제어를 위한 코딩 없이 다른 주소 공간에서 함수나 프로시저를 실행할 수 있게 하는 프로세스 간 프로토콜
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : automountd 서비스가 비활성화 되어 있는 경우
      • 취약 : automountd 서비스가 활성화 되어 있는 경우
    • 조치방법
      • automountd 서비스 비활성화
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • automountd 서비스 데몬 확인 (automountd 동작 SID 확인)

        #ps -ef I grep automount(or autofs)
        root 1131 1 0 jun 15 ? 32:11 /usr/sbin/automountd
        
      • "automount" 서비스가 활성화된 경우 아래의 보안설정방법에 따라 서비스 데몬 중지
    • 보안설정방법
      • Step 1) automountd 서비스 데몬 중지

        #kill -9 [PID]

        Step 2) 시동 스크립트 삭제 또는, 스크립트 이름 변경

        1.. 위지 확인

        #ls -al /etc/rc.d/rc*.d/* I grep automount(or autofs)

        2. 이름 변경

        #mv /etc/rc.d/rc2.d/S28automountd /etc/rc.d/rc2.d/_S28automountd

    • 조치 시 영향
      • NFS 및 삼바(Samba) 서비스에서 사용 시 automountd 사용 여부 확인이 필요 하며, 적용 시 CDROM의 자동 마운트는 이뤄지지 않음 (/etc/auto.*, /etc/auto_* 파일을 확인하여 필요 여부 확인)
      • 삼바(Samba)
        • 서로 다른 운영제제(OS) 간의 자원 공유를 위해 이용하는 서버로 같은 네트워크 내 연결된 PC는 서로 운영제제가 달라도 네트워크로 파일을 주고받을 수 있고 자원을 공유할 수 있음
    RPC 서비스 확인
    취약점 개요
    • 점검내용
      • 불필요한 RPC 서비스의 실행 여부 점검
    • 점검목적
      • 다양한 취약성(버퍼 오버플로우, Dos, 원격실행 등)이 존재하는 RPC 서비스를 점검하여 해당 서비스를 비활성화 하도록 함
    • 보안위협
      • 버퍼 오버플로우(Buffer Overflow), Dos, 원격실행 등의 취약성이 존재하는 RPC 서비스를 통해 비인가자의 root 권한 획득 및 침해사고 발생 위험이 있으므로 서비스를 중지하여야 함

    • 참고
      • RPC(Remote Procedure Call)
        • 별도의 원격 제어를 위한 코딩 없이 다른 주소 공간에서 함수나 프로시저를 실행할 수 있게 하는 프로세스 간 프로토콜
        불필요한 RPC 서비스
        • rpc.cmsd, rpc.ttdbserverd, sadmind, rusersd, walld, sprayd, rstatd, rpc.nisd, rexd, rpc.pcnfsd, rpc.statd, rpc.ypupdated, rpc.rquotad, kcms_server, cachefsd (※ 각 서비스 설명은 부록 잠조)
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : 불필요한 RPC 서비스가 비활성화 되어 있는 경우
      • 취약 : 불필요한 RPC 서비스가 활성화 되어 있는 경우
    • 조치방법
      • 일반적으로 사용하지 않는 RPC 서비스들을 inetd.conf 파일에서 주석 처리한 후 inetd 재구동 (진단 보고서에 발견된 RPC 서비스 조지)
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(xinetd)
      • 점검 및 조치 사례
      • "/etc/xinetd.d" 디렉터리 내 서비스별 파일 비활성화 여부 확인

      • 불필요한 "RPC" 서비스가 활성화된 경우 아래의 보안설정방법에 따라 서비스 데몬 중지
    • 보안설정방법
      • LINUX(xinetd)
        • Step 1) vi 편집기를 이용하여 "/etc/xinetd.d/" 디렉터리 내의 불필요한 RPC 서비스 파일 열기

          Step 2) 아래와 같이 설정 (Disable = yes 설정)

          service finger
          {
          	disable			= yes
          	socket_sype		= stream
          	wait			= no
          - 이하 생략 -
          }
          

          Step 3) xinetd 서비스 재시작

          #service xinetd restart

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    NIS, NIS+ 점검
    취약점 개요
    • 점검내용
      • 안전하지 않은 NIS 서비스의 비활성화, 안전한 NIS+ 서비스의 활성화 여부 점검
    • 점검목적
      • 안전하지 않은 NIS 서비스를 비활성화 하고 안전한 NIS+ 서비스를 활성화 하여 시스템 보안수준을 향상하고자 함
    • 보안위협
      • 보안상 취약한 서비스인 NIS를 사용하는 경우 비인가자가 타시스템의 root 권한 획득이 가능하므로 사용하지 않는 것이 가장 바람직하나 만약 NIS를 사용해야 하는 경우 사용자 정보보안에 많은 문제점을 내포하고 있는 NIS보다 NIS+를 사용하는 것을 권장함

    • 참고
      • NIS 주 서버는 정보표를 소유하여 NIS 대응 파일들로 변환하고, 이 대응 파일들이 네 트워크를 통해 제공됨으로써 모든 컴퓨터에 정보가 갱신되도록 함. 네트워크를 통한 공유로부터 관리자와 사용자들에게 일관성 있는 시스템 환경을 제공함
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : NIS 서비스가 비활성화 되어 있거나, 필요 시 NIS+를 사용하는 경우
      • 취약 : NIS 서비스가 활성화 되어 있는 경우
    • 조치방법
      • NIS 관련 서비스 비활성화
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • NIS, NIS+ 서비스 구동 확인

      • 불필요한 "NIS" 서비스가 활성화된 경우 아래의 보안설정방법에 따라 서비스 데몬 중지
      NIS 관련 서비스 데몬
      • ypserv
        • master와 slave 서버에서 실행되며 클라이언트로부터의 ypbind 요청에 응답
        ypbind
        • 모든 NIS 시스템에서 실행되며 클라이언트와 서버를 바인딩하고 초기화함
        rpc.yppasswdd
        • 사용자들이 패스워드를 변경하기 위해 사용
        ypxfrd
        • NIS 마스터 서버에서만 실행되며 고속으로 NIS 맵 전송
        rpc.ypupdated
        • NIS 마스터 서버에서만 실행되며 고속으로 암호화하여 NIS 맵 전송
      보안설정방법
      • Step 1) NFS 서비스 데몬 중지

        #kill -9 [PID]

        Step 2) 시동 스크립트 삭제 또는, 스크립트 이름 변경

        1. 위치 확인

        #ls -al /etc/rc.d/rc*.d/* | egrep "ypserv|ypbindIypxfrd|rpc.yppasswdd | rpc.ypupdated"

        2. 이름 변경

        #mv /etc/rc.d/rc2.d/S73ypbind /etc/rc.d/rc2.d/_S73ypbind

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    tftp, talk 서비스 비활성화
    취약점 개요
    • 점검내용
      • ftp, tftp, telnet, talk 등의 서비스를 사용하지 않거나 취약점이 발표된 서비스의 활성화 여부 점검
    • 점검목적
      • 안전하지 않거나 불필요한 서비스를 제거함으로써 시스템 보안성 및 리소스의 효율적 운용
    • 보안위협
      • 사용하지 않는 서비스나 취약점이 발표된 서비스 운용 시 공격 시도 가능

    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : tftp, talk, ntalk 서비스가 비활성화 되어 있는 경우
      • 취약 : tftp, talk, ntalk 서비스가 활성화 되어 있는 경우
    • 조치방법
      • 시스템 운영에 불필요한 서비스(tftp, talk, ntalk) 비활성화
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(xinetd)
      • 점검 및 조치 사례

          tftp, talk, ntalk 서비스 활성화 여부 확인

          [root@localhost ~]# vi /etc/xinetd.d/tftp
        • 불필요한 "tftp, talk ntalk" 서비스가 활성화된 경우 아래의 보안설정방법에 따라 서비스 데몬 중지
      • tftp(69)
        • 파일 전송을 위한 프로토콜, tftp 프로토콜은 OS에서는 부팅 디스켓이 없는 워크스테이션이나 네트워크 인식 프린터를 위한 설정파일의 다운로드, 설치 프로세스의 시작을 위해 사용
        talk(517)
        • 사용자가 시스템에 원격으로 연결하여 다른 시스템에 로그인하고 있는 사용자와 대화 세션을 시작할 수 있음
        ntalk(518)
        • 서로 다른 시스템 간에 채팅을 가능하게 하는 서비스
      보안설정방법
      • LIUNX(xinetd)
        • Step 1) vi 편집기를 이용하여 "/etc/xinetd.d/" 디렉터리 내 tftp, talk, ntalk 파일 열기
        • [root@localhost ~]# vi /etc/xinetd.d/tftp
        • Step 2) 아래와 같이 설정 (Disable = yes 설정)
        • Step 3) xinetd 서비스 재시작
        • [root@localhost ~]# service xinetd restart
    • 조치 시 영향
      • 일반적인 경우 영향 없음
    Sendmail 버전 점검
    취약점 개요
    • 점검내용
      • 취약한 버전의 Sendmail 서비스 이용 여부 점검
    • 점검목적
      • Sendmail 서비스 사용 목적 검토 및 취약점이 없는 버전의 사용 유무 점검으로 최적화된 Sendmail 서비스의 운영
    • 보안위협
      • 취약점이 발견된 Sendmail 버전의 경우 버퍼 오버플로우(Buffer Overflow) 공격에 의한 시스템 권한 획득 및 주요 정보 요출 가능성이 있음

    • 참고
      • Sendmail 서비스의 경우 최신버전(2016.01 기준 8.15.2) 이하 대부분의 버전에서 취약점이 보고되고 있기 때문에 O/S 관리자, 서비스 개발자가 패치 적용에 따른 서비스 영향 정도를 정확히 파악하고 주기적인 패치 적용 정책을 수립하여 적용함
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : Sendmail 버전이 최신버전인 경우
      • 취약 : Sendmail 버전이 최신버전이 아닌 경우
    • 조치방법
      • Sendmail 서비스를 사용하지 않을 경우 서비스 중지, 재부팅 후 다시 시작하지 않도록 시작 스크립트 변경, 사용할 경우 패치 관리 정책을 수립하여 주기적으로 패치 적용
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례

          1. Sendmail 서비스 실행 여부 점검

          2.Sendmail 버전 점검

          [root@localhost ~]# vo /etc/mail/sendmail.cf
        • "Sendmail" 서비스가 활성화된 경우 아래의 보안설정방법에 따라 서비스 중지 또는, 버전 업그레이드
    • 보안설정방법
      • Sendmail 서비스 실행 여부 및 버전 점검 후, http://www.sendmail.org/ 또는, 각 OS 벤더사의 보안 패치 설치

    • 조치 시 영향
      • 패지를 적용할 경우 시스템 및 서비스의 영향 정도를 중분히 고려하여야 함
    스팸 메일 릴레이 제한
    취약점 개요
    • 점검내용
      • SMTP 서버의 릴레이 기능 제한 여부 점검
    • 점검목적
      • 스팸 메일 서버로의 악용방지 및 서버 과부하의 방지를 위함
    • 보안위협
      • SMTP 서버의 릴레이 기능을 제한하지 않는 경우, 악의적인 사용목적을 가진 사용자들이 스팸메일 서버로 사용하거나 Dos공격의 대상이 될 수 있음

    • 참고
      • SMTP(Simple Mail Transfer Protocol) 서버
        • 인터넷상에서 전자우편(E-mail)을 전송할 때 이용하게 되는 표준 통신 규약을 SMTP라고 하며, SMTP에 의해 전자 메일을 발신 하는 서버(server)를 SMTP 서버라고 함
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : SMTP 서비스를 사용하지 않거나 릴레이 제한이 설정되어 있는 경우
      • 취약 : SMTP 서비스를 사용하며 릴레이 제한이 설정되어 있지 않은 경우
    • 조치방법

        Sendmail 서비스를 사용하지 않을 경우 서비스 중지

        사용할 경우 릴레이 방지 설정 또는, 릴레이 대상 접근 제어

    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례

          SMTP 서비스 사용 여부 및 릴레이 제한 옵션 확인

        • "SMTP" 서비스가 실행중이며, 위에 제시한 설정이 적용되지 않은 경우 아래의 보안설정 방법에 따라 설정을 변경함
      • sendmail.cf 설정파일 위지

          "/etc/mail/sendmail.cf"

          sendmail 버전에 따라 /etc/sendmail.cf 존재함

    • 보안설정방법
      • Step 1) vi 편집기를 이용하여 sendmail.cf 설정파일 열기
      • [root@localhost ~]# vi /etc/mail/sendmail.cf
      • Step 2) 아래와 같이 주석 제거
      • Step 3) 특정 IP, domain, Email Address 및 네트워크에 대한 sendmail 접근 제한 확인 (없을 시 파일생성)

        #cat /etc/mail/access

        예)
        	localhost.localdomain	RELAY
        	localhost				RELAY
        	127.0.0.1				RELAY
        	spam.com       			REJECT
        
        Step 4) 수정을 했거나 생성했을 경우 DB 파일 생성

        #makemap hash /etc/mail/access.db < /etc/mail/access

    • 조치 시 영향
      • 릴레이를 허용할 대상에 대한 정보를 입력한다면 영향 없음
    일반사용자의 Sendmail 실행 방지
    취약점 개요
    • 점검내용
      • SMTP 서비스 사용 시 일반사용자의 q 옵션 제한 여부 점검
    • 점검목적
      • 일반사용자의 q 옵션을 제한하여 Sendmail 설정 및 메일큐를 강제적으로 drop 시킬수 없게 하여 비인가자에 의한 SMTP 서비스 오류 방지
    • 보안위협
      • 일반 사용자가 q 옵션을 이용해서 메일큐, Sendmail 설정을 보거나 메일큐 를 강제적으로 drop 시킬수 있어 악의적으로 SMTP 서버의 오류를 발생시킬 수 있음

    • 참고
      • SMTP(Simple Mail Transfer Protocol)
        • 인터넷상에서 전자우편(E-mail)을 전송할 때 이 용하게 되는 표준 통신 규약을 말함
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : SMTP 서비스 미사용 또는, 일반 사용자의 Sendmail 실행 방지가 설정된 경우
      • 취약 : SMTP 서비스 사용 및 일반 사용자의 Sendmail 실행 방지가 설정되어 있지 않은 경우
    • 조치방법

        Sendmail 서비스를 사용하지 않을 경우 서비스 중지

        Sendmail 서비스를 사용 시 sendmail.cf 설정파일에 restrictqrun 옵션 추가 설정

    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례

          SMTP 서비스 사용 여부 및 restrictqrun 옵션 확인

        • "SMTP" 서비스가 실행중이며, 위에 제시한 설정이 적용되지 않은 경우 아래의 보안설정방법에 따라 설정을 변경함
    • 보안설정방법
      • Step 1) vi 편집기를 이용하여 sendmail.cf 설정파일 열기

        Step 2) O PrivacyOptions= 설정 부분에 restrictqrun 옵션 추가

        (수정 전) O PrivacyOptions=authwarnings, novrfy, noexpn

        (수정 후) O PrivacyOptions=authwarnings, novrfy, noexpn, restrictqrun

        Step 3) Sendmail 서비스 재시작

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    DNS 보안 버전 패치
    취약점 개요
    • 점검내용
      • BIND 최신버전 사용 유무 및 주기적 보안 패치 여부 점검
    • 점검목적
      • 취약점이 발표되지 않은 BIND 버전의 사용을 목적으로 함
    • 보안위협
      • 최신버전(2016.01 기준 9.10.3-P2) 이하의 버전에서는 서비스거부 공격, 버퍼 오버플로우(Buffer Overflow) 및 DNS 서버 원격 침입 등의 취약성이 존재함

    • 참고
      • BIND(Berkeley Internet Name Domain) Protocol)
        • BIND는 BSD 기반의 유닉스 시스템을 위해 설계된 DNS로 서버와 resolver 라이브러리로 구성되어 있음. 네임서버는 클라이언트들이 이름 자원들이나 객체들에 접근하여, 네트워크 내의 다른 객체들과 함께 정보를 공유 할 수 있게 해주는 네트워크 서비스로 사실상 컴퓨터 네트워크 내의 객체들을 위한 분산 데이터베이스 시스템임
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : DNS 서비스를 사용하지 않거나 주기적으로 패치를 관리하고 있는 경우
      • 취약 : DNS 서비스를 사용하며 주기적으로 패치를 관리하고 있지 않는 경우
    • 조치방법

        DNS 서비스를 사용하지 않을 경우 서비스 중지, 사용할 경우 패치 관리 정책을 수립하여 주기적으로 패치 적용

        DNS 서비스의 경우 대부분의 버전에서 취약점이 보고되고 있기 때문에 O/S 관리자, 서비스 개발자가 패치 적용에 따른 서비스 영향 정도를 정확히 파악 하여 주기적인 패치 적용 정책 수립 후 적용

    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례

          DNS 서비스 사용 및 BIND 버전 확인

        • "DNS" 서비스를 사용하지 않는 경우 서비스 중지
        • "DNS" 서비스 사용 시 BIND 버전 확인 후 아래의 보안설정방법에 따라 최신 버전으로 업데이트

    • 보안설정방법
      • 1. BIND는 거의 모든 버전이 취약한 상태로서 최신 버전으로 업데이트가 요구됨

        2. 다음은 구체적인 BIND 취약점들이며, 취약점 관련 버전을 사용하는 시스템에서는 버전 업그레이드를 하여야 함

      • Inverse Query 취약점 (Buffer Overflow)

          BIND 4.9.7이전 버전과 BIND 8.1.2 이전 버전

        NXT버그 (buffer overflow)

          BIND 8.2, 8.2 p1, 8.2.1버전

        solinger버그 (Denial of Service)

          BIND 8.1 이상버전

        fdmax 버그 (Denial of Service)

          BIND 8.1 이상버전

        Remote Execution of Code(Buffer Overflow)

          BIND 4.9.5 to 4.9.10, 8.1, 8.2 to 8.2.6, 8.3.0 to 8.3.3 버전

        Multiple Denial of Service

          BIND 8.3.0 - 8.3.3, 8.2 - 8.2.6 버전

        LIBRESOLV: buffer overrun(Buffer Overflow)

          BIND 4.9.2 to 4.9.10 버전

        OpenSSL (buffer overflow)

          :BIND 9.1, BIND 9.2 if built with OpenSSL(configure--with-openssl)

        libbind (buffer overflow)

          BIND 4.9.11, 8.2.7, 8.3.4, 9.2.2 이외의 모든 버전

        DoS internal consistency check (Denial of Service)

          BIND 9 ~ 9.2.0 버전

        tsig bug (Access possible)

          BIND 8.2 ~ 8.2.3 버전

        complain bug (Stack corruption, possible remote access)

          BIND 4.9.x 거의 모든 버전

        zxfr bug (Denial of service)

          BIND 8.2.2, 8.2.2 patchlevels 1 through 6 버전

        sigdiv0 bug (Denial of service)

          BIND 8.2, 8.2 patchlevel 1, 8.2.2 버전

        srv bug(Denial of service)

          BIND 8.2, 8.2 patchlevel 1, 8.2.1, 8.2.2, 8.2.2 patchlevels 1-6 버전

        nxt bug (Access possible)

          BIND 8.2, 8.2 patchlevel 1, 8.2.1 버전

        BIND 4.9.8 이전 버전, 8.2.3 이전 버전과 관련된 취약점

          TSIG 핸들링 버퍼오버플로우 취약점

          nslookupComplain() 버퍼오버플로우 취약점

          nslookupComplain() input validation 취약점

          information leak 취약점

          sig bug Denial of service 취약점

          naptr bug Denial of service 취약점

          maxdname bug enial of service 취약점

        Bind 최신버전 다운로드 사이트

          http://www.isc.org/downloads/

        각 버전에 대한 취약점 정보 사이트

          BIND 8.2, 8.2 patchlevel 1, 8.2.1 버전

          (1) BIND 8 Vulnerability matrix :

          https://kb.isc.org/article/AA-00959/0/BIND-8-Security-Vulnerability-Matrix.html

          (2) BIND 9 Vulnerability matrix :

          https://kb.isc.org/article/AA-00913/74/BIND-9-Security-Vulnerability-Matrix.html

    • 조치 시 영향
      • 패치를 적용 시 시스템 및 서비스 영향 정도를 중분히 고려하여야 함
    DNS Zone Transfer 설정
    취약점 개요
    • 점검내용
      • Secondary Name Server로만 Zone 정보 전송 제한 여부 점검
    • 점검목적
      • 허가되지 않는 사용자에게 Zone Transfer를 제한함으로써 호스트 정보, 시스템 정보 등 정보 유출의 방지를 목적으로 함
    • 보안위협
      • 비인가자 Zone Transfer를 이용해 Zone 정보를 전송받아 호스트 정보, 시스템 정보, 네트워크 구성 형태 등의 많은 정보를 파악할 수 있음

    • 참고
      • BIND(Berkeley Internet Name Domain) Protocol)
        • DNS Zone Transfer는 Primary Name Server와 Secondary Name Server 간에 Zone 정보를 일관성 있게 유지하기 위하여 사용하는 기능
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : DNS 서비스 미사용 또는, Zone Transfer를 허가된 사용자에게만 허용한 경우
      • 취약 : DNS 서비스를 사용하며 Zone Transfer를 모든 사용자에게 허용한 경우
    • 조치방법

        DNS 서비스를 사용하지 않을 경우 서비스 중지, 사용한다면 DNS 설정을 통해 내부 Zone 파일을 임의의 외부 서버에서 전송 받지 못하게 하고, 아무나 쿼리 응답을 받을 수 없도록 수정

    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • DNS 서비스 사용 시 /etc/named.rfc1912.zones 파일의 allow-transfer 및 xfrnets 확인

      • "DNS" 서비스 사용 시 위에 제시된 파일의 DNS 설정을 아래의 보안설정방법에 따라 수정함
    • 보안설정방법
      • DNS 서비스 데몬 중지

        #kill -9 [PID]

    • 조치 시 영향
      • Zone 파일 전송을 허용할 대상을 정상적으로 등록할 경우 일반적으로 영향 없음
    Apache 디렉터리 리스팅 제거
    취약점 개요
    • 점검내용
      • 디렉터리 검색 기능의 활성화 여부 점검
    • 점검목적
      • 외부에서 디렉터리 내의 모든 파일에 대한 접근 및 열람을 제한함을 목적으로 함
    • 보안위협
      • 디렉터리 검색 기능이 활성화 되어 있을 경우, WEB 서버 구조 노출뿐만 아니라 백업 파일이나 소스파일, 공개되어서는 안되는 파일 등이 노출 가능함

    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : 디렉터리 검색 기능을 사용하지 않는 경우
      • 취약 : 디렉터리 검색 기능을 사용하는 경우
    • 조치방법

        디렉터리 검색 기능 제거 (/[Apache_home]/conf/httpd.conf 파일에 설정된 모든 디렉터리의 Options 지시자에서 Indexes 옵션 제거)

    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례

          Indexes 옵션 사용 여부 확인

          #vi /[Apache_home]/conf/httpd.conf
          Options Indexes FollowSymLinks	
          
        • 위에 제시한 파일에 "Indexes" 옵션이 설정된 경우 아래의 보안설정방법에 따라 옵션 설정 변경
    • 보안설정방법
      • Step 1) vi 편집기를 이용하여 /[Apache_home]/conf/httpd.conf 파일 열기
        [root@localhost ~]# vi /etc/httpd/conf/httpd.conf
        Step 2) 설정된 모든 디렉터리의 Options 지시자에서 Indexes 옵션 제거
      • (수정 전) Option 지시자에 Indexes 옵션이 설정되어 있음

      • <Directory />
        	Options Indexes FollowSymLinks
        	AllowOverride None
        	Order allow, deny
        	Allow from all
        </Directory>
        
      • (수정 후) Option> 지시자에 None 변경 후 저장

      • <Directory />
        	Options None
        	AllowOverride None
        	Order allow, deny
        	Allow from all
        </Directory>
        
    • 조치 시 영향
      • 일반적인 경우 영향 없음
    Apache 웹 프로세스 권한 제한
    취약점 개요
    • 점검내용
      • Apache 데몬이 root 권한으로 구동되는지 여부 점검
    • 점검목적
      • Apache 데몬을 root 권한으로 구동하지 않고 별도의 권한으로 서비스함으로써 침해사고 발생 시 피해범위 확산 방지를 목적으로 함
    • 보안위협
      • 웹 프로세스 취약점 공격으로 Apache 권한이 탈쥐당할 경우 Apache 프로세스의 권한이 root이면 시스템 전체의 제어권을 탈취 당해 피해범위가 확산될 가능성이 있음

    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : Apache 데몬이 root 권한으로 구동되지 않는 경우
      • 취약 : Apache 데몬이 root 권한으로 구동되는 경우
    • 조치방법

        Apache 데몬을 root 가 아닌 별도 계정으로 구동

    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례

          Apache 데몬 구동 권한(User 및 Group) 확인

          [root@localhost ~]# vi /etc/httpd/conf/httpd.conf

          User [root가 아닌 별도 계정명]

          Group [root가 아닌 별도 계정명]

        • 위에 제시한 설정이 적용되지 않은 경우 아래의 보안설정방법에 따라 설정을 변경함
    • 보안설정방법
      • Step 1) 데몬 User & Group 변경

        User & Group 부분에 root가 아닌 별도 계정으로 변경

      • User [root가 아닌 별도 계정명]

        Group [root가 아닌 별도 계정명]

      • Step 2) Apache 서비스 재시작
    • 조치 시 영향
      • 일반적인 경우 영향 없음
    Apache 상위 디렉터리 접근 금지
    취약점 개요
    • 점검내용
      • ".." 와 같은 문자 사용 등으로 상위 경로로 이동이 가능한지 여부 점검
    • 점검목적
      • 상위 경로 이동 명령으로 비인가자의 특정 디렉터리에 대한 접근 및 열람을 제한하여 중요 파일 및 데이터 보호를 목적으로 함
    • 보안위협
      • 상위 경로로 이동하는 것이 가능할 경우 접근하고자 하는 디렉터리의 하위 경로에 접속하여 상위경로로 이동함으로써 악의적인 목적을 가진 사용자의 접근이 가능함

    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : 상위 디렉터리에 이동제한을 설정한 경우
      • 취약 : 상위 디렉터리에 이동제한을 설정하지 않은 경우
    • 조치방법

        Step 1) 사용자 인증을 하기 위해서 각 디렉터리 별로 httpd.conf 파일 내 AllowOverride 지시자의 옵션 설정을 변경 (None에서 AuthConfig 또 는, All로 변경)

        Step 2) 사용자 인증을 설정할 디렉터리에 .htaccess 파일 생성

        Step 3) 사용자 인증 계정 생성: htpasswd -c <인증 파일> <사용자 계정>

    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례

          AllowOverride 지시자 Authconfig 옵션 확인

          #vi /[Apache_home]/conf/httpd.conf

          AllowOverride None

        • "AllowOverride" 옵션이 "None"으로 설정된 경우 아래의 보안설정방법에 따라 옵션 설정 변경
    • 보안설정방법
      • Step 1) vi 편집기를 이용하여 /[Apache_home]/conf/httpd.conf 파일 열기
      • [root@localhost ~]# vi /etc/httpd/conf/httpd.conf
      • Step 2) 설정된 모든 디렉터리의 AllowOverride 지시자에서 AuthConfig 옵션 설정
      • (수정 전) AllowOverride 지시자에 None 옵션이 설정되어 있음

        <Directory "/usr/local/apache2/htdocs">
        	AllowOverride None
        	Allow from all
        </Directory>
        
        (수정 후) AllowOverride 지시자에 AuthConfig 옵션이 설정되어 있음
        <Directory "/usr/local/apache2/htdocs">
        	AllowOverride AuthConfig
        	Allow from all
        </Directory>	
        
        Step 3) 사용자 인증을 설정할 디렉터리에 .htaccess 파일 생성 (아래 내용 삽입)
        AuthName "디렉터리 사용자 인증"
        AuthType Basic
        AuthUserFile /usr/local/apache/test/.auth 
        Require valid-user	
        
      • AuthName
          인증 영역(웹 브라우저의 인증 창에 표시되는 문구)
      • AuthType
          인증 형태(Basic 또는, Digest)
      • AuthUserFile
          사용자 정보(아이디 및 패스워드) 저장 파일 위지
      • AuthGroupFile
          그룹 파일의 위지(옵션)
      • Require
          접근을 허용할 사용자 또는, 그룹 정의
      • Step 4) 사용자 인증에 사용할 아이디 및 패스워드 생성
      • htpasswd -c /usr/local/apache/test/.auth test
        	New password:
        	Re-type new password:
        	Adding password for user test
        [root@localhost apache]#	
        
      • Step 5) 변경된 설정 내용을 적용하기 위하여 Apache 데몬 재시작
    • 조치 시 영향
      • 해당 설정이 적용된 디렉터리 내 파일들은 아이디/패스워드 인증절자 없이는 접속이 불가능하며, 대외 서비스인 경우 해당 디렉터리에 대한 외부자의 접근 필요성을 검토 후 적용하여야 함
    Apache 불필요한 파일 제거
    취약점 개요
    • 점검내용
      • Apache 설치 시 기본으로 생성되는 불필요한 파일의 삭제 여부 점검
    • 점검목적
      • Apache 설치 시 디폴트로 설지되는 불필요한 파일을 제거함을 목적으로 함.
    • 보안위협
      • Apache 설치 시 htdocs 디렉터리 내에 매뉴얼 파일은 시스템 관련정보를 노출하거나 해킹에 악용될 수 있음.

    • 참고
      • DNS Zone Transfer는 Primary Name Server와 Secondary Name Server 간에 Zone 정보를 일관성 있게 유지하기 위하여 사용하는 기능
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : 기본으로 생성되는 불필요한 파일 및 디렉터리가 제거되어 있는 경우
      • 취약 : 기본으로 생성되는 불필요한 파일 및 디렉터리가 제거되지 않은 경우
    • 조치방법

        불필요한 파일 및 디렉터리 제거

        ("/[Apache_home]/htdocs/manual", "/[Apache_home]/manual" 파일 제거 등)

    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례

          불필요한 파일 및 디렉터리 존재 여부 확인

          #ls -ld /[Apache_home]/manual

        • 위에 제시한 불필요한 파일 및 디렉터리가 존재하는 경우 아래의 보안설정방법에 따라 불필요한 파일 및 디렉터리 제거 또는, 설정을 변경함
    • 보안설정방법
      • Step 1) #ls 명령어로 확인된 매뉴얼 디렉터리 및 파일 제거
      • [root@localhost ~]# rm -rf /etc/httpd/manual
      • Step 2) #ls 명령어로 정상적인 제거 확인
      • [root@localhost ~]# /etc/httpd/manual
      • Step 3) 추가적으로 웹서비스 운영에 불필요한 파일이나 디렉터리가 있을 시 제거
    • 조치 시 영향
      • 일반적인 경우 영향 없음
    Apache 링크 사용 금지
    취약점 개요
    • 점검내용
      • 심볼릭 링크, aliases 사용 제한 여부 점검
    • 점검목적
      • 무분별한 심볼릭 링크, aliases 사용제한으로 시스템 권한의 탈취 방지를 목적으로 함
    • 보안위협
      • 시스템 자체의 root 디렉터리(/)에 링크를 걸게 되면 웹서버 구동 사용자 권한(nobody)으로 모든파일 시스템의 파일에 접근할 수 있게 되어 "/etc/passwd" 파일과 같은 민감한 파일을 누구나 열람할 수 있게 됨

    • 참고
      • 심볼릭 링크(Symbolic link, 소프트 링크)
        • 윈도우 운영제제의 바로가기 아이콘과 비슷함. 링크 생성 시 파일 내용은 존재하지 않으나 사용자가 파일을 요청하면 링크가 가리키고 있는 원본 데이터에서 데이터를 가져와서 전달함. 직접 원본을 가리키지 않고 원본 데이터를 가리키는 포인터를 참조함으로써 원본데이터가 삭제, 이동, 수정이 되면 사용 불가함
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : 심볼릭 링크, aliases 사용을 제한한 경우
      • 취약 : 심볼릭 링크, aliases 사용을 제한하지 않은 경우
    • 조치방법

        심볼릭 링크, aliases 사용 제한

        (/[Apache_home]/conf/httpd.conf 파일에 설정된 모든 디렉터리의 Options 지시자에서 심볼릭 링크를 가능하게 하는 FollowSymLinks 옵션 제거)

    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례

          Options 지시자 FollowSymLinks 옵션 제거 여부 확인

          [root@localhost ~]# vi /etc/httpd/conf/httpd.conf 
          Options Indexes FollowSymLinks
          
        • 위에 제시한 옵션이 적용되어 있는 경우 아래의 보안설정방법에 따라 옵션을 제거함
    • 보안설정방법
      • Step 1) vi 편집기를 이용하여 /[Apache_home]/conf/httpd.conf 파일 열기
      • [root@localhost ~]# vi /etc/httpd/conf/httpd.conf
      • Step 2) 설정된 모든 디렉터리의 Options 지시자에서 FollowSymLinks 옵션 제거
      • (수정 전) Options 지시자에 FollowSymLinks 옵션이 설정되어 있음

        <Directory />
        	Options Indexes FollowSymLinks
        	AllowOverride None
        	Order allow, deny
        	Allow from all
        </Directory>	
        

        (수정 후) Options 지시자에 None 변경 후 저장

        <Directory />
        	Options None
        	AllowOverride None
        	Order allow, deny
        	Allow from all
        </Directory>	
        
    • 조치 시 영향
      • 일반적인 경우 영향 없음
    Apache 파일 업로드 및 다운로드 제한
    취약점 개요
    • 점검내용
      • 파일 업로드 및 다운로드의 사이즈 제한 여부 점검
    • 점검목적
      • 기반시설 특성상 원칙적으로 파일업로드 및 다운로드를 금지하고 있지만 불가피하게 필요시 용량 사이즈를 제한함으로써 불필요한 업로드와 다운로드를 방지해 서버의 과부하 예방 및 자원을 효율적으로 관리하기 위함
    • 보안위협
      • 악의적 목적을 가진 사용자가 반복 업로드 및 웹쉘공격 등으로 시스템 권한을 탈취 하거나 대용량 파일의 반복 업로드로 서버자원을 고갈시키는 공격의 위험이 있음

    • 참고
      • 불필요한 업로드와 다운로드
        • 내부 정책에 맞지 않는 업로드와 다운로드를 말함. 예를 들어 5Mb 이상의 대용량 파일이나 확장자를 화이트 리스트 방식으로 제한함을 말함
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : 파일 업로드 및 다운로드를 제한한 경우
      • 취약 : 파일 업로드 및 다운로드를 제한하지 않은 경우
    • 조치방법

        파일 업로드 및 다운로드 용량 제한 (/[Apache_home]/conf/httpd.conf 파일에 설정된 모든 디렉터리의 LimitRequestBody 지시자에 파일 사이즈 용량 제한 설정)

    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례

          OLimitRequestBody 파일 사이즈 용량 제한 설정 여부 확인

          [root@localhost ~]# vi /etc/httpd/conf/httpd.conf
        • LimitRequestBody 5000000

          (업로드 및 다운로드 파일이 5M를 넘지 않도록 설정 권고함)

        • 위에 제시한 설정이 적용되지 않은 경우 아래의 보안설정방법에 따라 설정을 변경함
    • 보안설정방법
      • Step 1) vi 편집기를 이용하여 /[Apache_home]/conf/httpd.conf 파일 열기
      • [root@localhost ~]# vi /etc/httpd/conf/httpd.conf
      • Step 2) 설정된 모든 디렉터리의 LimitRequestBody 지시자에서 파일 사이즈 용량 제한 설정
      • 예)

        <Directory />

        LimitRequestBody 5000000 ( "/" 는 모든 파일 사이즈를 5M로 제한하는 설정 단위:byte)

        </Directory>

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    Apache 웹 서비스 영역의 분리
    취약점 개요
    • 점검내용
      • 웹 서버의 루트 디렉터리와 OS의 루트 디렉터리를 다르게 지정하였는지 점검
    • 점검목적
      • 웹 서비스 영역과 시스템 영역을 분리시켜서 웹 서비스의 침해가 시스템 영역으로 확장될 가능성을 최소화하기 위함
    • 보안위협
      • 웹 서버의 루트 디렉터리와 OS의 루트 디렉터리를 다르게 지정하지 않았을 경우, 비인가자가 웹 서비스를 통해 해킹이 성공할 경우 시스템 영역까지 접근이 가능하여 피해가 확장될 수 있음

    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : DocumentRoot를 별도의 디렉터리로 지정한 경우
      • 취약 : DocumentRoot를 기본 디렉터리로 지정한 경우
    • 조치방법

        DocumentRoot "/usr/local/apache/htdocs", "/usr/local/apache2/htdocs",

        "/var/www/html" 셋 중 하나일 경우 -> DocumentRoot "별도 디렉터리" 로 변경

    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례

          DocumentRoot의 별도 디렉터리 지정 여부 확인

          [root@localhost ~]# vi /etc/httpd/conf/httpd.conf 

          DocumentRoot "/usr/local/apache/htdocs" 또는

          DocumentRoot "/usr/local/apache2/htdocs" 또는

          DocumentRoot "/var/www/html"

        • DocumentRoot가 별도의 디렉터리로 지정되지 않은 경우 아래의 보안설정방법에 따라 설정을 변경함
    • 보안설정방법
      • Step 1) vi 편집기를 이용하여 /[Apache_home]/conf/httpd.conf 파일 열기
      • [root@localhost ~]# vi /etc/httpd/conf/httpd.conf
      • Step 2) DocumentRoot 설정 부분에 "/usr/local/apache/htdocs", "/usr/local/apache2/htdocs", "/var/www/html" 셋 중 하나가 아닌 별도의 디렉터리로 변경
      • DocumentRoot "디렉터리"

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    ssh 원격접속 허용
    취약점 개요
    • 점검내용
      • 원격 접속 시 SSH 프로토콜을 사용하는지 점검
    • 점검목적
      • 비교적 안전한 SSH 프로토콜을 사용함으로써 스니핑 등 아이디/패스워드의 누출의 방지를 목적으로 함
    • 보안위협
      • 원격 접속 시 Telnet, FTP 등은 암호화되지 않은 상태로 데이터를 전송하기 때문에 아이디/패스워드 및 중요 정보가 외부로 유출될 위험성이 있음

    • 참고
      • SSH 사용 시 TCP/22번 포트를 기본 포트로 사용하기 때문에 공격자가 기본 포트를 통하여 공격을 시도할 수 있으므로 기본 포트를 변경하여 사용하는 것을 권고함
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : 원격 접속 시 SSH 프로토콜을 사용하는 경우
      • 취약 : 원격 접속 시 Telnet, FTP 등 안전하지 않은 프로토콜을 사용하는 경우
    • 조치방법

        Telnet, FTP 등 안전하지 않은 서비스 사용을 중지하고, SSH 설치 및 사용

    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 보안설정방법
        • Step 1) SSH 서비스 활성화 명령어 실행
        • [root@localhost ~]# service start sshd
        • Step 2) SSH 설치가 필요할 경우 각 OS 벤더사로부터 SSH 서비스 설치 방법을 문의한 후 서버에 설치
    • 조치 시 영향
      • 일반적인 경우 영향 없음
    ftp 서비스 확인
    취약점 개요
    • 점검내용
      • FTP 서비스가 활성화 되어있는지 점검
    • 점검목적
      • 취약한 서비스인 FTP서비스를 가급적 제한함을 목적으로 함
    • 보안위협
      • FTP 서비스는 아이디 및 패스워드가 암호화되지 않은 채로 전송되어 스니핑이 가능함

    • 참고
      • 기반시설 시스템에서 ftp 서비스의 이용은 원칙적으로 금지하나, 부득이 해당 기능을 활용 해야 하는 경우 SFTP 사용을 권고함
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : FTP 서비스가 비활성화 되어 있는 경우
      • 취약 : FTP 서비스가 활성화 되어 있는 경우
    • 조치방법

        FTP 서비스 중지

    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
        • 일반 ftp 서비스 비활성화 여부 확인

        • vsftpd 또는 ProFTP 서비스 데몬 확인(vsftpd, proftpd 동작 SID 확인)

          #ps -ef | egrep "vsftpd|proftp"

        • 불필요한 "ftp" 서비스 실행 시 아래의 보안설정방법에 따라 서비스 중지
    • 보안설정방법
      • < vsFTP, ProFTP 서비스 중지 방법 >

      • Step 1) 서비스 확인
      • Step 2) vsftpd 또는 ProFTP 서비스 데몬 중지
      • [root@localhost ~]# service vsftpd stop
    • 조치 시 영향
      • 일반적인 경우 영향 없음
    ftp 계정 shell 제한
    취약점 개요
    • 점검내용
      • ftp 기본 계정에 쉘 설정 여부 점검
    • 점검목적
      • FTP 서비스 설치 시 기본으로 생성되는 ftp 계정은 로그인이 필요하지 않은 계정으로 쉘을 제한하여 해당 계정으로의 시스템 접근을 차단하기 위함
    • 보안위협
      • 불필요한 기본 계정에 쉘(Shell)을 부여할 경우, 공격자에게 해당 계정이 노출되어 ftp 기본 계정으로 시스템 접근하여 공격이 가능해짐

    • 참고
      • 쉘(Shell)
        • 대화형 사용자 인터페이스로써, 운영제제(OS) 가장 외곽계층에 존재하여 사용자의 명령어를 이해하고 실행함
      • 기반시설 시스템에서 ftp 서비스의 이용은 원칙적으로 금지하나, 부득이 해당 기능을 활용 해야 하는 경우 shell 제한 등의 보안 조치를 반드시 적용하여야 함
      • 관련 점검 항목
        • U-64(하), U-65(중)
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : ftp 계정에 /bin/false 쉘이 부여되어 있는 경우
      • 취약 : ftp 계정에 /bin/false 쉘이 부여되어 있지 않은 경우
    • 조치방법

        ftp 계정에 /bin/false 쉘 부여

    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례

          ftp 계정에 대한 /bin/false 부여 확인

        • "passwd" 파일 내 로그인 쉘 설정이 "/bin/false"가 아닌 경우 아래의 보안설정방법에 따라 설정을 변경함
    • 보안설정방법
      • Step 1) vi 편집기를 이용하여 "/etc/passwd" 파일 열기
      • [root@localhost ~]# vi /etc/passwd
      • Step 2) ftp 계정의 로그인 쉘 부분인 계정 맨 마지막에 /bin/false 부여 및 변경
      • (수정 전) ftp:x:500:100:Anonymous FTP USER:/var/ftp:/sbin/bash

        (수정 후) ftp:x:500:100:Anonymous FTP USER:/var/ftp:/bin/false

      • Step 3) # usermod -s /bin/false [계정ID] 부여로 변경 가능
      • * Step 2 로 적용이 되지 않을경우는 Step3의 usermod 명령어를 사용하여 쉘 변경

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    Ftpusers 파일 소유자 및 권한 설정
    취약점 개요
    • 점검내용
      • FTP 접근제어 설정파일에 관리자 외 비인가자들이 수정 제한 여부 점검
    • 점검목적
      • 비인가자가의 ftpusers 파일 수정을 막아 비인가자들의 ftp 접속을 차단하기 위해 ftpusers 파일 소유자 및 권한을 관리해야함
    • 보안위협
      • 해당 파일에 대한 권한 관리가 이루어지지 않을 시 비인가자의 FTP 접근을 통해 계정을 등록하고 서버에 접속하여 침해사고가 발생할 수 있음

    • 참고
      • ftpusers 파일
        • FTP 접근제어 설정파일로써 해당 파일에 등록된 계정은 ftp에 접속할수 없음
      • 기반시설 시스템에서 ftp 서비스의 이용은 원칙적으로 금지하나, 부득이 해당 기능을 활용 해야 하는 경우 shell 제한 등의 보안 조치를 반드시 적용하여야 함
      • 관련 점검 항목
        • U-63(중), U-65(중)
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : ftpusers 파일의 소유자가 root이고, 권한이 640 이하인 경우
      • 취약 : ftpusers 파일의 소유자가 root가 아니거나, 권한이 640 이하가 아닌 경우
    • 조치방법
      • FTP 접근제어 파일의 소유자 및 권한 변경 (소유자 root, 권한 640 이하)
    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례

          ftpusers 파일에 대한 일반사용자 쓰기권한 확인

        • "ftpusers" 파일의 소유자가 root가 아니거나 파일의 권한이 640 이하가 아닌 경우 아래의 보안설정방법에 따라 설정을 변경함
    • FTP 종류 별 ftpusers 파일 위치
      • 기본 FTP

        /etc/ftpusers 또는, /etc/ftpd/ftpusers

      • ProFTP

        /etc/ftpusers 또는, /etc/ftpd/ftpusers

      • vsFTP

        /etc/vsftpd/ftpusers, /etc/vsftpd/user_list 또는,

        /etc/vsftpd.ftpusers, /etc/vsftpd.user_list

    • 보안설정방법
      • Step 1) "/etc/vsftpd/ftpusers" 파일의 소유자 및 권한 확인
      • [root@localhost ~]# ls -l /etc/vsftpd/ftpusers
      • Step 2) "/etc/ftpusers" 파일의 소유자 및 권한 변경 (소유자 root, 권한 640)
      • 
        [root@localhost ~]# chown root /etc/vsftpd/ftpusers
        [root@localhost ~]# chmod 640 /etc/vsftpd/ftpusers
      • vsFTP를 사용할 경우 FTP 접근제어 파일
        • (1) vsftpd.conf 파일에서 userlist_enable=YES인 경우

          vsftpd.ftpusers, vsftpd.user_list 또는 ftpusers, user_list 파일의 소유자 및 권한 확인 후 변경

          (ftpusers, user_list 파일의 파일에 등록된 모든 계정의 접속이 차단됨)

          (2) vsftpd.conf 파일에서 userlist_enable=NO 또는, 옵션 설정이 없는 경우

          vsftpd.ftpusers 또는 ftpusers 파일의 소유자 및 권한 확인 후 변경

          (ftpusers 파일에 등록된 계정들만 접속이 차단됨)

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    Ftpusers 파일 설정
    취약점 개요
    • 점검내용
      • FTP 서비스를 사용할 경우 ftpusers 파일 root 계정이 포함 여부 점검
    • 점검목적
      • root의 FTP 직접 접속을 방지하여 root 패스워드 정보를 노출되지 않도록 하기 위함
    • 보안위협
      • FTP 서비스는 아이디 및 패스워드가 암호화되지 않은 채로 전송되어 스니핑에 의해서 아이디 및 패스워드가 노출될 수 있음

    • 참고
      • 스니핑
        • 컴퓨터 네트워크상에 흘러 다니는 트래픽을 도청하는 행위
      • 기반시설 시스템에서 ftp 서비스의 이용은 원칙적으로 금지하나, 부득이 해당 기능을 활용 해야 하는 경우 shell 제한 등의 보안 조치를 반드시 적용하여야 함
      • 관련 점검 항목
        • U-63(중), U-64(하)
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : FTP 서비스가 비활성화 되어 있거나, 활성화 시 root 계정 접속을 차단한 경우
      • 취약 : FTP 서비스가 활성화 되어 있고, root 계정 접속을 허용한 경우
    • 조치방법

        FTP 접속 시 root 계정으로 직접 접속 할 수 없도록 설정파일 수정

        (접속 차단 계정을 등록하는 ftpusers 파일에 root 계정 추가)

    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • FTP 종류별 점검 방법
        • 아래 파일에서 ftp에 대한 root 계정으로의 접속 가능 여부 확인

          #cat /etc/ftpusers

          #cat /etc/ftpd/ftpusers

          #root (주석저리) 또는, root 계정 미등록

        • ProFTP

          #cat /etc/proftpd.conf

          RootLogin on

        • vsFTP

          #cat /etc/vsftp/ftpusers

          #cat /etc/vsftp/user_list 또는,

          #cat /etc/vsftpd.ftpusers

          #cat /etc/vsftpd.user_list

          #root (주석저리) 또는, root 계정 미등록

        • root 계정으로 FTP 접속이 가능하도록 위와 같이 설정된 경우 아래의 보안설정방법에 따라 설정을 변경함
      • < 일반 FTP 서비스 root 계정 접속 제한 방법 >
        • Step 1) vi 편집기를 이용하여 ftpusers 파일 열기 ("/etc/ftpusers" 또는 "/etc/ftpd/ftpusers")

          #vi /etc/ftpusers 또는 /etc/ftpd/ftpusers

          Step 2) ftpusers 파일에 root 계정 추가 또는, 주석제거

          (수정 전) #root 또는, root 계정 미등록

          (수정 후) root

      • < ProFTP 서비스 ROOT 접속 차단 >
        • Step 1) vi 편집기를 이용하여 proftpd 설정파일("/etc/proftpd.conf") 열기

          #vi /etc/proftpd.conf

          Step 2) proftpd 설정파일 ("/etc/proftpd.conf")에서 RootLogin off 설정

          (수정 전) RootLogin on

          (수정 후) RootLogin off

          Step 3) ProFTP 서비스 재시작

      • < vsFTP 서비스 ROOT 접속 차단 >
        • Step 1) vi 편집기를 이용하여 ftpusers 파일 열기 ("/etc/vsftp/ftpusers" 또는, "/etc/vsftpd.ftpus ers")

          #vi /etc/vsftp/ftpusers

          Step 2) pusers 파일에 root 계정 추가 또는, 주석제거

          (수정 전) #root 또는, root 계정 미등록

          (수정 후) root

          Step 3) vsFTP 서비스 재시작

      • vsFTP를 사용할 경우 FTP 접근제어 파일
        • (1) vsftpd.conf 파일에서 userlist_enable=YES인 경우: vsftpd.ftpusers, vsftpd.user_list 또는 ftpusers, user_list

          (ftpusers, user_list 파일에 등록된 모든 계정의 접속이 차단됨)

          (2) vsftpd.conf 파일에서 userlist_enable=NO 또는, 옵션 설정이 없는 경우: vsftpd.ftpusers 또는 ftpusers

          (ftpusers 파일에 등록된 계정들만 접속이 차단됨)

    • 조치 시 영향
      • 애플리케이션에서 root로 바로 접속하여 ftp를 사용하고 있을 경우 확인 필요
    at 파일 소유자 및 권한 설정
    취약점 개요
    • 점검내용
      • 관리자(root)만 at.allow파일과 at.deny 파일을 제어할 수 있는지 점검
    • 점검목적
      • at 명령어 사용자 제한은 at.allow 파일과 at.deny 파일에서 할 수 있으므로 보안상 해당 파일에 대한 접근제한이 필요함
    • 보안위협
      • 해당 파일에 대한 권한 관리가 이루어지지 않을 시 공격자가 권한을 획득한 사용자 계정을 등록하여 불법적인 예약 파일 실행으로 시스템 피해가 발생할 수 있음

    • 참고
      • at 데몬 (일회성 작업 예약)
        • 지정한 시간에 어떠한 작업이 실행될 수 있도록 작업 스케줄을 예약 처리해 주는 기능을 제공함. /etc/at.allow 파일에 등록된 사용자만이 at 명령을 사용 할 수 있음
      • 기반시설 시스템에서 at 데몬의 이용은 원칙적으로 금지하나, 부득이 해당 기능을 활용해야 하는 경우 소유자 및 권한 설정 등의 보안 조치를 반드시 적용하여야 함
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : at 접근제어 파일의 소유자가 root이고, 권한이 640 이하인 경우
      • 취약 : at 접근제어 파일의 소유자가 root가 아니거나, 권한이 640 이하가 아닌 경우
    • 조치방법

        "at.allow", "at.deny" 파일 소유자 및 권한 변경 (소유자 root, 권한 640 이하)

    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • "/etc/at.allow", "/etc/at.deny" 파일의 소유자 및 권한 확인

      • 위에 제시한 파일의 소유자가 root가 아니거나 파일의 권한이 640 이하가 아닌 경우 아래의 보안설정방법에 따라 설정을 변경함
    • 보안설정방법
      • "/etc/at.allow" 및 "/etc/at.deny" 파일의 소유자 및 권한 변경

        
        [root@localhost ~]# chown root: /etc/at.allow
        [root@localhost ~]# chmod 640 /etc/at.allow
        [root@localhost ~]# chown root: /etc/at.deny
        [root@localhost ~]# chmod 640 /etc/at.deny
    • 조치 시 영향
      • 일반적인 경우 영향 없음
    SNMP 서비스 구동 점검
    취약점 개요
    • 점검내용
      • SNMP 서비스 활성화 여부 점검
    • 점검목적
      • 불필요한 SNMP 서비스 활성화로 인해 필요 이상의 정보가 노출되는 것을 막기 위해 SNMP 서비스를 중지해야함
    • 보안위협
      • SNMP 서비스로 인하여 시스템의 주요 정보 유출 및 정보의 불법수정이 발생할 수 있음

    • 참고
      • SNMP{Simple Network Management Protocol)
        • TCP/IP 기반 네트워크상의 각 호스트 에서 정기적으로 여러 정보를 자동으로 수집하여 네트워크 관리를 하기 위한 프로토콜을 의미함
      • 기반시설 시스템에서 SNMP 서비스의 이용은 원칙적으로 금지하나, 부득이 해당 기능을 활용해야 하는 경우 기본 Community String 변경, 네트워크 모니터링 등의 보안 조치를 반드시 적용하여야 함
      • 관련 점검 항
        • U-68(중)
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : SNMP 서비스를 사용하지 않는 경우
      • 취약 : SNMP 서비스를 사용하는 경우
    • 조치방법

        SNMP 서비스를 사용하지 않는 경우 서비스 중지 후 시작 스크립트 변경

    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • #ps -ef | grep snmp

      • 불필요한 "SNMP" 서비스를 사용하지 않는 경우 중지함
    • 보안설정방법
      • < 서비스 중지 방법 >
        • Step 1) ps -ef I grep snmp로 검색
        • Step 2) snmp 사용하지 않을 시 서비스 중지
        • [root@localhost ~]# service snmpd stop
    • 조치 시 영향
      • 일반적인 경우 영향 없음
    SNMP 서비스 Community String의 복잡성 설정
    취약점 개요
    • 점검내용
      • SNMP Community String 복잡성 설정 여부 점검
    • 점검목적
      • Community String 기본 설정인 Public, Private는 공개된 내용으로 공격자가 이를 이용하여 SNMP 서비스를 통해 시스템 정보를 얻을수 있기 때문에 Community String을 유추하지 못하도록 설정해야함
    • 보안위협
      • Community String은 Default로 public, private로 설정된 경우가 많으며, 이를 변경하지 않으면 이 String을 악용하여 환경설정 파일 열람 및 수정을 통한 공격, 간단한 정보수집에서부터 관리자 권한 획득 및 Dos공격까지 다양한 형태의 공격이 가능함

    • 참고
      • NMS(Network Management System)
        • 네트워크상의 모든 장비의 중앙 감시 체제를 구죽하 여 모니터링, 플래닝, 분석을 시행하고 관련 데이터를 보관하여 필요 즉시 활용 가능하게 하는 관리 시스템을 말함
      • Community String
        • SNMP는 MIB라는 정보를 주고받기 위해 인증 과정에서 일종의 비밀번호인 'Community String'을 사용함
      • 기반시설 시스템에서 SNMP 서비스의 이용은 원칙적으로 금지하나, 부득이 해당 기능을 활용 해야 하는 경우 기본 Comunity String 변경, 네트워크 모니터링 등의 보안 조치를 반드시 적용 하여야 함
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : SNMP Community 이름이 public, private 이 아닌 경우
      • 취약 : SNMP Community 이름이 public, private 인 경우
    • 조치방법

        snmpd.conf 파일에서 커뮤니티명을 확인한 후 디폴트 커뮤니티명인 "public, private"를 추즉하기 어려운 커뮤니티명으로 변경

    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • #vi /etc/snmp/snmpd.conf

        com2sec notConfigUser default public

      • 위의 설정과 같이 디폴트 커뮤니티명인 "public" 또는, "private"을 사용하는 경우 아래의 보안설정방법에 따라 설정을 변경함
    • 보안설정방법
      • Step 1) vi 편집기를 이용하여 SNMP 설정파일 열기

        #vi /etc/snmp/snmpd.conf

        Step 2) Community String 값 설정 변경 (추즉하기 어려운 값으로 설정)

        (수정 전) com2sec notConfigUser default public

        (수정 후) com2sec notConfigUser default <변경 값>

        Step 3) 서비스 재구동

        # service snmpd rstart

    • 조치 시 영향
      • Community String 수정 시 Server/Client에 모두 같은 Community String으로 변경 하지 않을 시 통신 장애가 일어날 수 있음
    로그온 시 경고 메세지 제공
    취약점 개요
    • 점검내용
      • 서버 및 서비스에 로그온 시 불필요한 정보 차단 설정 및 불법적인 사용에 대한 경고 메시지 출력 여부 점검
    • 점검목적
      • 비인가자들에게 서버에 대한 불필요한 정보를 제공하지 않고, 서버 접속 시 관계자만 접속해야 한다는 경각심을 심어 주기위해 경고 메시지 설정이 필요함
    • 보안위협
      • 로그인 배너가 설정되지 않을 경우 배너에 서버 OS 버전 및 서비스 버전이 공격자에게 노출될 수 있으며 공격자는 이러한 정보를 통하여 해당 OS 및 서비스의 쥐약점을 이용하여 공격을 시도할 수 있음

    • 참고
      • 로그온 시 경고 메시지는 공격자의 활동을 주시하고 있다는 생각을 상기시킴으로써 간접 적으로 공격 피해를 감소시키는 효과를 줄 수 있음
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : 서버 및 Telnet, FTP, SMTP, DNS 서비스에 로그온 메시지가 설정되어 있는 경우
      • 취약 : 서버 및 Telnet, FTP, SMTP, DNS 서비스에 로그온 메시지가 설정되어 있지 않은 경우
    • 조치방법

        Telnet, FTP, SMTP, DNS 서비스를 사용할 경우 설정파일 조치 후 inetd 데몬 재시작

    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 보안설정방법
        • Step 1) 서버 로그온 메시지 설정: vi 편집기로 "/etc/motd" 파일을 연 후 로그온 메시지 입력
        [root@localhost ~]# vi /etc/motd
    • 조치 시 영향
      • 일반적인 경우 영향 없음
    NFS 설정파일 접근 제한
    취약점 개요
    • 점검내용
      • NFS 접근제어 설정파일에 대한 비인가자들의 수정 제한 여부 점검
    • 점검목적
      • 비인가자에 의한 불법적인 외부 시스템 마운트를 차단하기 위해 NFS 접근 제어 파일의 소유자 및 파일 권한을 관리 해야 함
    • 보안위협
      • NFS 접근제어 설정파일에 대한 권한 관리가 이루어지지 않을 시 인가되지 않은 사용자를 등록하고 파일시스템을 마운트하여 불법적인 변조를 시도할 수 있음

    • 참고
      • NFS{Network File System)
        • 원격 컴퓨터의 파일시스템을 로컬 시스템에 마운트하여 마지 로컬 파일시스템처럼 사용할 수 있는 프로그램
      • 관련 점검 항목
        • U-24(상), U-25(상)
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : NFS 접근제어 설정파일의 소유자가 root 이고, 권한이 644 이하인 경우
      • 취약 : NFS 접근제어 설정파일의 소유자가 root 가 아니거나, 권한이 644 이하가 아닌 경우
    • 조치방법

        NFS 접근제어 설정파일의 소유자가 root 가 아니거나, 권한이 644 이하가 아닌 경우

    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • "NFS" 접근제어 설정파일의 소유자가 root가 아니거나 파일의 권한이 644 이하가 아닌 경우 아래의 보안설정방법에 따라 설정을 변경함
    • 보안설정방법
      • "/ete/exports" 파일의 소유자 및 권한 변경 (소유자 root, 권한 644)

        
        [root@localhost ~]# chown root: /etc/exports
        [root@localhost ~]# chmod 644 /etc/exports
    • 조치 시 영향
      • 일반적인 경우 영향 없음
    expn, vrfy 명령어 제한
    취약점 개요
    • 점검내용
      • SMTP 서비스 사용 시 vrfy, expn 명령어 사용 금지 설정 여부 점검
    • 점검목적
      • SMTP 서비스의 expn, vrfy 명령을 통한 정보 유출을 막기 위하여 두 명령어를 사용하지 못하게 옵션을 설정해야함
    • 보안위협
      • VRFY, EXPN 명령어를 통하여 특정 사용자 계정의 존재유무를 알 수 있고, 사용자의 정보를 외부로 유출 할 수 있음

    • 참고
      • SMTP(Simple Mail Transfer Protocol) 서버
        • 인터넷상에서 전자우편(E-mail)을 전송할 때 이용하게 되는 표준 통신 규약을 말함
      • VRFV
        • SMTP 클라이언트가 SMTP 서버에 특정 아이디에 대한 메일이 있는지 검증하기 위해 보내는 명령어를 말함
      • EXPN(메일링 리스트 확장)
        • 메일 전송 시 포워딩하기 위한 명령어를 말함
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : SMTP 서비스 미사용 또는, noexpn, novrfy 옵션이 설정되어 있는 경우
      • 취약 : SMTP 서비스를 사용하고, noexpn, novrfy 옵션이 설정되어 있지 않는 경우
    • 조치방법

        SMTP 서비스 설정파일에 noexpn, novrfy 옵션 추가

    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • noexpn, novrfy 옵션 설정 확인

        #vi /etc/mail/sendmail.cf

        PrivacyOptions=authwarnings

    • 보안설정방법
      • <서비스 필요 시>
        • Step 1) vi 편집기를 이용하여 "/etc/mail/sendmail.cf" 파일을 연 후
        • [root@localhost ~]# vi /etc/mail/sendmail.cf
        • Step 2) "/etc/mail/sendmail.cf" 파일에 noexpn, novrfy 옵션 추가
        • (수정 전) O PrivacyOptions=authwarnings

          (수정 후) O PrivacyOptions=authwarnings, noexpn, novrfy

        • Step 3) SMTP 서비스 재시작
        • [root@localhost ~]# service smtpd restart
      • <서비스 불필요 시>
        • Step 1) 실행중인 서비스 중지
        • [root@localhost ~]# cat /var/log/secure
        • #ps -ef I grep sendmail

          root 441 1 0 Sep19 ? 00:00:00 sendmail: accepting connections

          #kill -9 [PID]

          Step 2) 시스템 재시작 시 SMTP 서버가 시작되지 않도록 OS별로 아래와 같이 설정함

          1. 위지 확인

          #ls -al /etc/rc*.d/* I grep sendmail

          2. 이름 변경

          #mv /etc/rc2.d/S88sendmail /etc/rc2.d/_S88sendmail

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    Apache 웹 서비스 정보 숨김
    취약점 개요
    • 점검내용
      • 웹페이지에서 오류 발생 시 출력되는 메시지 내용 점검
    • 점검목적
      • HTTP 헤더, 에러페이지에서 웹 서버 버전 및 종류, OS 정보 등 웹 서버와 관련된 불필요한 정보가 노출되지 않도록 하기 위함
    • 보안위협
      • 불필요한 정보가 노출될 경우 해당 정보를 이용하여 시스템의 취약점을 수집 할 수 있음

    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : ServerTokens Prod, ServerSignature Off로 설정되어있는 경우
      • 취약 : ServerTokens Prod, ServerSignature Off로 설정되어있지 않은 경우
    • 조치방법

        헤더에 최소한의 정보를 제한 후 전송 (ServerTokens 지시자에 Prod 옵션, ServerSignature 지시자에 Off 옵션 설정)

    OS별 점검 파일 위치 및 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • ServerTokens, ServerSignature 옵션 설정 여부 확인

        [root@localhost ~]# vi /[Apache_Home]/conf/httpd.conf 

        ServerTokens Prod

        ServerSignature off

        "httpd.conf" 파일 내에 ServerTokens, ServerSignature 지시자가 위와 같이 설정되어 있지 않은 경우 아래의 보안설정방법에 따라 옵션 추가

    • 보안설정방법
      • Step 1) vi 편집기를 이용하여 /etc/httpd/conf/httpd.conf 파일을 연 후
      • [root@localhost ~]# vi /etc/httpd/conf/httpd.conf
      • Step 2) 설정된 모든 디렉터리의 ServerTokens 지시자에서 Prod 옵션 설정 및 ServerSignature Off 지시자에 Off 옵션 설정 (없으면 신규 삽입)
      • <Directory />

        Options Indexes FollowSymlinks

        ServerTokens Prod

        ServerSignature Off

        - 이하 생략-

        </Directory>

    • ServerTokens 지시자 옵션
      • Prod 웹 서버 종류 Apache

        Min 웹 서버 버전 Apache/2.2.3

        OS 웹 서버 버전 + 운영체제 Apache/2.2.3 (CentOS) (기본값)

        Full 웹 서버의 모든 정보 Apache/2.2.3 (CentOS) DAV/2 PHP/5.16

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    패치 관리 최신 보안패치 및 벤더 권고사항 적용
    취약점 개요
    • 점검내용
      • 시스템에서 최신 패치가 적용되어 있는지 점검
    • 점검목적
      • 주기적인 패치 적용을 통하여 보안성 및 시스템 안정성을 확보함
    • 보안위협
      • 최신 보안패치가 적용되지 않을 경우, 이미 알려진 취약점을 통하여 공격자에 의해 시스템 침해사고 발생 가능성이 존재함

    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : 패치 적용 정책을 수립하여 주기적으로 패치관리를 하고 있으며, 패치 관련 내용을 확인하고 적용했을 경우
      • 취약 : 패치 적용 정책을 수립하지 않고 주기적으로 패치관리를 하지 않거나 패치 관련 내용을 확인하지 않고 적용하지 않았을 경우
    • 조치방법

        O/S 관리자, 서비스 개발자가 패치 적용에 따른 서비스 영향 정도를 파악하여 OS 관리자 및 벤더에서 적용함

        OS 패치의 경우 지속적으로 취약점이 발표되고 있기 때문에 O/S 관리자, 서비스 개발 자가 패치 적용에 따른 서비스 영향 정도를 정확히 파악하여 주기적인 패치 적용 정책을 수립하여 적용하여야 함

    OS별 점검 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • 패치 적용 정책 수립 여부 및 정책에 따른 패치 적용 여부 확인

    • 보안설정방법
      • LINUX는 서버에 설지된 패치 리스트의 관리가 불가능하므로 rpm 패키지 별 버그가 Fix된 최신 버전 설치가 필요함

        LINUX는 오픈되고, 커스터마이징 된 OS이므로 LINUX를 구입한 벤더에 따라 rpm 패키지가 다를 수 있다.

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    로그 관리 로그의 정기적 검토 및 보고
    취약점 개요
    • 점검내용
      • 로그의 정기적 검토 및 보고 여부 점검
    • 점검목적
      • 정기적인 로그 점검을 통해 안정적인 시스템 상태 유지 및 외부 공격 여부를 파악하기 위함
    • 보안위협
      • 로그의 검토 및 보고 절차가 없는 경우 외부 침입 시도에 대한 식별이 누락 될 수 있고, 침입 시도가 의심되는 사례 발견 시 관련 자료를 분석하여 해당 장비에 대한 접근을 차단하는 등의 추가 조치가 어려움

    • 참고
      • 시스템 접속 기록, 계정 관리 로그 등 U-73(하) 점검 항목에서 설정한 보안 로그를 포함하여 응용 프로그램, 시스템 로그 기록에 대하여 주기적인 검토 및 보고가 필요함
      • 관련 점검 항목
        • A-85(하), U-73(하)
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : 접속기록 등의 보안 로그, 응용프로그램 및 시스템 로그 기록에 대해 정기적으로 검토, 분석, 리포트 작성 및 보고 등의 조치가 이루어지는 경우
      • 취약 : 위 로그 기록에 대해 정기적으로 검토, 분석, 리포트 작성 및 보고 등의 조치가 이루어 지지 않는 경우
    • 조치방법

        로그 기록 검토 및 분석을 시행하여 리포트를 작성하고 정기적으로 보고함

    OS별 점검 점검 방법
    • LINUX(CentOS 6)
      • 점검 및 조치 사례
      • 로그 분석 계획수립 여부 및 로그분석 결과에 따른 점검

    • 보안설정방법
      • 정기적인 로그 분석을 위하여 아래와 같은 절차 수립

      • Step 1) 정기적인 로그 검토 및 분석 주기 수립
      • 1. utmp, wtmp ,btmp 등의 로그를 확인하여 마지막 로그인 시간, 접속 IP, 실패한 이력 등을 확인하여 계정 탈쥐 공격 및 시스템 해킹 여부를 검토

        2. sulog를 확인하여 허용된 계정 외에 su 명령어를 통해 권한상승을 시도하였는지 검토

        3. xferlog를 확인하여 비인가자의 ftp 접근 여부를 검토

      • Step 2) 로그 분석에 대한 결과 보고서 작성

      • Step 3) 로그 분석 결과보고서 보고 체계 수립

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    정책에 따른 시스템 로깅 설정
    취약점 개요
    • 점검내용
      • 내부 정책에 따른 시스템 로깅 설정 적용 여부 점검
    • 점검목적
      • 보안 사고 발생 시 원인 파악 및 각종 침해 사실에 대한 확인을 하기 위함
    • 보안위협
      • 로깅 설정이 되어 있지 않을 경우 원인 규명이 어려우며, 법적 대응을 위한 충분한 증거로 사용할 수 없음

    • 참고
      • 감사 설정이 너무 높으면 보안 로그에 불필요한 항목이 많이 기록되므로 매우 중요한 항목과 혼동할 수 있으며 시스템 성능에도 심각한 영향을 줄 수 있기 때문에 법적 요구 사항과 조직의 정책에 따라 필요한 로그를 남기도록 설정하여야 함
      • 관련 점검 항목
        • A-20(상), A-85(상)
    점검대상 및 판단기준
    • 대상
      • LINUX(CentOS 6)
    • 판단기준
      • 양호 : 로그 기록 정책이 정책에 따라 설정되어 수립되어 있으며 보안정책에 따라 로그를 남기고 있을 경우
      • 취약 : 로그 기록 정책 미수립 또는, 정책에 따라 설정되어 있지 않거나 보안정 책에 따라 로그를 남기고 있지 않을 경우
    • 조치방법

        로그 기록 정책을 수립하고, 정책에 따라 syslog.conf 파일을 설정

    점검 및 조치 사례
    • 보안설정방법
      • Step 1) vi 편집기를 이용하여 "/etc/rsyslog.conf" 파일 열기
      • [root@localhost ~]# vi /etc/rsyslog.conf
      • Step 2) 아래와 같이 수정 또는, 신규 삽입
      • *.info;mail.none;authpriv.none;cron.none /var/log/messages

        authpriv.* /var/log/secure

        mail.* /var/log/maillog

        cron.* /var/log/cron

        *.alert /dev/console

        *.emerg *

      • Step 3) 위와 같이 설정 후 SYSLOG 데몬 재시작
      • #ps -ef I grep syslogd

        root 7524 6970 0 Apr 23 - 0:02 /usr/sbin/syslogd

        #kill -HUP [PID]

    • 메시지 종류
      • auth
          로그인 등의 인증 프로그램 유형이 발생한 메시지
        authpriv
          개인 인증을 요구하는 프로그램 유형이 발생한 메시지
        cron
          로그인 등의 인증 프로그램 유형이 발생한 메시지
        daemon
          telnet, ftpd 등과 같은 데몬이 발생한 메시지
        kern
          커널이 발생한 메시지
        lpr
          프린터 유형의 프로그램이 발생한 메시지
        mail
          메일 시스템에서 발생한 메시지
        news
          유즈넷 뉴스 프로그램 유형이 발생한 메시지
        syslog
          syslog 프로그램 유형이 발생한 메시지
        user
          사용자 프로세스 관련 메시지
        uucp
          시스템이 발생한 메시지
        local0
          여분으로 남겨둔 유형
        alert
          즉각적으로 조지를 쥐해야 할 상황
        crit
          급한 상황은 아니지만, 지명적인 시스템 문제 발생 시
        debug
          프로그램 실행 오류 발생 시
        emerg
          매우 위험한 상황
        auth
          로그인 등의 인증 프로그램 유형이 발생한 메시지
        err
          에러 발생 시
        info
          단순한 프로그램에 대한 정보 메시지
        notice
          에러가 아닌 알림에 관한 메시지
        warning
          주의를 요하는 메시지
    • 조치 시 영향
      • 위에 제시한 모든 로그를 설정할 경우, 시스템 퍼포먼스와 로그 저장에 따른 서버 용량 부족 문제가 발생할 수 있으므로 시스템 운영환경과 특성을 고려하여 적용
    분류 점검항목 항목중요도
    계정관리 Administrator 계정 이름 바꾸기
    취약점 개요
    • 점검내용
      • 윈도우 최상위 관리자 계정인 Administrator의 계정명 변경 여부 점검
    • 점검목적
      • 윈도우 기본 관리자 계정인 Administrator의 이름을 변경하지 않은 경우 악의적인 사용자의 패스워드 추측 공격을 통해 사용 권한 상승의 위험이 있으며, 관리자를 유인하여 침입자의 액세스를 허용하는 악성코드를 실행할 우려가 있음
    • 보안위협
      • 일반적으로 관리자 계정으로 잘 알려진 Administrator를 변경하지 않은 경우 악의적인 사용자의 패스워드 추측 공격을 통해 사용 권한 상승의 위험이 있으며, 관리자를 유인하여 침입자의 액세스를 허용하는 악성코드를 실행할 우려가 있음
    • 참고
        • 윈도우 서버는 Administrator 계정을 비활성화 할 수 있으나 안전 모드로 컴퓨터를 시작할 경우 본 계정은 자동으로 활성화 됨
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : Administrator Default 계정 이름을 변경한 경우
      • 취약 : Administrator Default 계정 이름을 변경하지 않은 경우
    • 조치방법
      • Administrator Default 계정 이름 변경
    점검 및 조치 사례

    실행 → secpol.msc → 로컬 정책 → 보안 옵션 →

    계정: Administrator 계정 이름 바꾸기

    관리자 계정일 것이라고 쉽게 유추하기 어려운 평범한 계정 이름으로 변경

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    Guest 계정 상태
    취약점 개요
    • 점검내용
      • Guest 계정 비활성화 여부 점검
    • 점검목적
      • Guest 계정을 비활성화 하여 불특정 다수의 임시적인 시스템 접근을 차단하기 위함
    • 보안위협
      • Guest 계정은 시스템에 임시로 액세스해야 하는 사용자용 계정으로, 이계정을 사용하여 권한 없는 사용자가 시스템에 익명으로 액세스할 수 있으므로 비안가자 접근, 정보 유출 등 보안 위험이 따를 수 있음
    • 참고
        • 윈도우즈 Guest 계정은 삭제가 불가능한 built-in 계정으로 보안강화 목적 으로 반드시 바활성화 처리하여야 함
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : Guest 계정이 비활성화 되어 있는 경우
      • 취약 : Guest 계정이 활성화 되어 있는 경우
    • 조치방법
      • Guest 계정 비활성화
    점검 및 조치 사례

    실행 → lusrmgr.msc → 사용자 → Guest 계정 속성

    계정 사용 안 함체크

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    불필요한 계정 제거
    취약점 개요
    • 점검내용
      • 시스템 내 불필요한 계정 및 의심스러운 계정의 존재 여부를 점검
    • 점검목적
      • 퇴직, 전직, 휴직등의 일유로 더 이상 사용하지 않는 계정, 불필요한 계정 및 의심스러운 계정을 삭제하여 일반적으로 로그인이 필요하지 않는 해당 계정들을 통한 로그인을 차단하고, 계정의 패스워드 추측 공격 시도를 차단하고자 함
    • 보안위협
      • 관리되지 않은 불필요한 계쩡은 장기간패스워드가 변경되지 않아 무작위 대입 공격(Brute Force Attack)이나 패스워드 추측 공격 (Password Guessing Attack)의 가능성이 존재하며, 또한 이런 공격에 의해 계정 정보가 유출되어도 유출 사실을 인지하기 어려움
    • 참고
      • 무작위 대입 공격(Brute Force Attack)
        • 컴퓨터로 암호를 해독하기 위해 조합 가능한 모든 경우의 수를 다 대입해보는 것을 말함
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 불필요한 계정이 존재하지 않는 경우
      • 취약 : 불필요한 계정이 존재하는 경우
    • 조치방법
      • 현재 계정 현황 확인 후 불필요한 계정 삭제
    점검 및 조치 사례
    • 조치 불필요
      • 현재 시스템에는 불필요한 계정이 존재하지 않음
    • 조치 시 영향
      • 명확하게 파악되지 않은 계정을 삭제하는 경우 해당 계정과 관련된 업무에 장애발생 가능성이 존재함
    계정 잠금 임계값 설정
    취약점 개요
    • 점검내용
      • 계정 잠금 임계값의 설정 여부 점검
    • 점검목적
      • 계정 잠금 임계값을 설정하여 공격자의 자유로운 자동화 암호 유추 공격을 차단 하기 위함
    • 보안위협
      • 공격자는 시스템의 계정 잠금 임계값이 설정되지 않은 경우 자동화된 방법을 이용하여 모든 사용자 계정에 대해 암호조합 공격을 자유롭게 시도할 수 있으므 로 사용자 계정 정보의 노출 위험이 있음
    • 참고
      • 계정 잠금 정책
        • 해당 계정이 시스템으로부터 잠기는 환경과 시간을 결정하는 정책으로 '계정 잠금 기간', '계정 잠금 임계값', '다음 시간 후 계정 잠금 수를 원래대로 설정'의 세가지 하위 정책을 가짐
        계정 잠금 임계값 설정
        • 계정 잠금 임계값 설정은 사용자 계정이 잠기는 로그온 실패 횟수를 결정하며 잠긴 계정은 관리자가 재설정하거나 해당 계정의 잠금 유지 시간이 만료되어야 사용할 수 있음
        관련 점검 항목
        • W-47(중)
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 계정 잠금 임계값이 5 이하의 값으로 설정되어 있는 경우
      • 취약 : 계정 잠금 임계값이 6 이상의 값으로 설정되어 있는 경우
    • 조치방법
      • 계정 잠금 임계값을 5번 이하의 값으로 설정
    점검 및 조치 사례

    시작 → secpol.msc → 계정 정책 → 계정 잠금 정책 → 계정 잠금 임계값

    5번의 잘못된 로그온 시도 시 해당 계정이 잠기도록 설정

    • 조치 시 영향
      • Administrator 계정은 잠기지 않으며, 일반 계정의 경우 5번 패스워드 입력 실패시 잠김
    해독 가능한 암호화를 사용하여 암호 저장 해제
    취약점 개요
    • 점검내용
      • 해독 가능한 암호화 사용 여부 점검
    • 점검목적
      • 해독 가능한 암호화를 사용하여 암호 저장 정책이 설정되어 사용자 계정 비밀 번호가 해독 가능한 텍스트 형태로 저장되는 것을 차단하기 위함
    • 보안위협
      • 위 정책이 설정된 경우, OS에서 사용자 ID, PW를 입력받아 인증을 진행하는 응 용프로그램 프로토콜 지원 시 OS는 사용자의 PW 를 해독 가능한 방식으로 암호를 저장하기 때문에, 노출된 계정에 대해 공격자가 암호 복호화 공격으로 PW를 획득하여 네트워크 리소스에 접근할 수 있음
    • 참고
        • '해독 가능한 암호화를 사용하여 암호 저장' 정책은 암호를 암호화 하지 않은 상태로 저장하여 일반 텍스트 버전의 암호를 저장하는 것과 같으나 시스템에서 기본적으로 동작하지는 않음
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : "해독 가능한 암호화를 사용하여 암호 저장" 정책이 "사용 안 함" 으로 되어 있는 경우
      • 취약 : "해독 가능한 암호화를 사용하여 암호 저장" 정책이 "사용" 으로 되어 있는 경우
    • 조치방법
      • "해독 가능한 암호화를 사용하여 암호 저장"을 "사용 안 함"으로 설정
    점검 및 조치 사례

    실행 → secpol.msc → 계정 정책 → 암호 정책 →

    해독 가능한 암호화를 사용하여 암호 저장

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    관리자 그룹에 최소한의 사용자 포함
    취약점 개요
    • 점검내용
      • 관리자 그룹에 불필요한 사용자의 포함 여부 점검
    • 점검목적
      • 관리자 그룹 구성원에 불필요한 사용자의 포함 여부를 점검하여, 관리 권한자를 최소화 하고자 함
    • 보안위협
      • Administrators와 같은 관리자 그룹에 속한 구성원은 컴퓨터 시스템에 대한 완 전하고 제한 없는 액세스 권한을 가지므로, 사용자를 관리자 그룹에 포함 시킬 경우 비인가 사용자에 대한 과도한 관리 권한이 부여될 수 있음
    • 참고
        • 관리 권한의 오남용으로 인한 시스템 피해를 줄이기 위해서 관리 업무를 위한 계정과 일반 업무를 위한 계정을 분리하여 사용하는 것이 바람직함
        • 시스템 관리를 위해서 관리권한 계정과 일반권한 계정을 분리하여 운영하는 것을 권고
        • 시스템 관리자는 원칙적으로 1명 이하로 유지하고, 부득이하게 2명 이상의 관리 권한자를 유지 하여야 하는 경우에는 관리자 그룹에는 최소한의 사용자만 포함하도록 하여야 함
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : Administrators 그룹의 구성원을 1명 이하로 유지하거나, 불필요한 관리자 계정이 존재하지 않는 경우
      • 취약 : Administrators 그룹에 불필요한 관리자 계정이 존재하는 경우
    • 조치방법
      • Administrators 그룹에 포함된 불필요한 계정 제거
    점검 및 조치 사례

    실행 → lusrmgr.msc → 그룹 → Administrators 속성

    Administrators 그룹에는 관리자 계정 하나만 소속되어 있음을 확인

    • 조치 시 영향
      • Administrator 그룹에 있는 계정을 잘못 삭제하는 경우 해당 업무에 장애 발생 가능 성이 있음
    Everyone 사용권한을 익명 사용자에 적용 해제
    취약점 개요
    • 점검내용
      • 'Everyone 사용 권한을 익명 사용자에 적용' 정책의 설정 여부 점검
    • 점검목적
      • 익명 사용자가 Everyone 그룹으로 사용 권한을 준 모든 리소스에 접근하는 것을 차단하여 비인가자에 의한 접근 가능성을 제한하기 위함
    • 보안위협
      • 해당 정책이 "사용"으로 설정될 경우 권한이 없는 사용자가 익명으로 계정 이름 및 공유 리소스를 나열하고 이 정보를 사용하여 암호를 추측하거나 DoS(Denial of Service) 공격을 실행할 수 있음
    • 참고
      • DoS(Denial of Service):
        • 관리자 권한 없이도 특정서버에 처리할 수 없을 정도로 대량의 접속신호를 한꺼번에 보내 해당 서버가 마비되도록 하는 해킹 기법
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 'Everyone 사용 권한을 익명 사용자에게 적용' 정책이 '사용 안 함' 으로 되어 있는 경우
      • 취약 : 'Everyone 사용 권한을 익명 사용자에게 적용' 정책이 '사용' 으로 되어 있는 경우
    • 조치방법
      • 네트워크 액세스-> Everyone 사용 권한을 익명사용자에게 적용-> 사용 안 함
    점검 및 조치 사례
    점검 및 조치 사례

    실행 → secpol.msc → 로컬 정책 → 보안 옵션

    네트워크 액세스: Everyone 사용 권한을 익명 사용자에게 적용

    • 조치 시 영향
      • 애플리케이션이나 Backup 용도로 Everyone 공유를 사용하는 경우 해당 작업에 영향 가능
    계정 잠금 기간 설정
    취약점 개요
    • 점검내용
      • 사용자 계정 잠금 기간 정책 설정 여부 점검
    • 점검목적
      • 로그인 실패 임계값 초과 시 일정 시간동안 계정 잠금을 실시하여 공격자의 자유로운 암호 유추 공격을 차단하기 위함
    • 보안위협
      • 로그인 실패 시 일정 시간 도안 계정 잠금을 하지 않은 경우, 공격자의 자동화된 암호 추측 공격이 가능하여, 사용자 계정의 패스워드 정보가 유출될 수 있음
    • 참고
      • 계정 잠금 기간 설정은 계정 잠금 임계값을 초과한 사용자 계정이 잠기는 시간을 결정함. 잠긴 계정은 관리자가 재설정하거나 해당 계정의 잠금 유지 시간이 만료되어야 사용할 수 있음
      • 계정 잠금 기간 설정을 사용하면 지저한 기간 동안 잠긴 계정은 사용할 수 없으며, 계정 잠금이 해제될 때까지 접근할 수 없음
      • 계정 잠금 정책 :
        • 해당 계정이 시스템으로부터 잠기는 환경과 시간을 결정하는 정책으로 '계정 잠금 기간', '계정 잠금 임계값', '다음 시간 후 계정 잠금 수를 원래대로 설정'의 세가지 하위 정책을 가짐
      • 관련 점검 항목 : W-4(상)
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : '계정 잠금 기간' 및 '계정 잠금 기간 원래대로 설정 기간'이 설정되어 있는 경우(60분 이상의 값으로 설정 권고)
      • 취약 : '계정 잠금 기간' 및 '잠금 기간 원래대로 설정 기간'이 설정되지 않은 경우
    • 조치방법
      • '계정 잠금 기간' 및 '잠금 기간 원래대로 설정 기간' 60분 설정
    점검 및 조치 사례

    실행 → secpol.msc → 계정 정책 → 계정 잠금 정책

    ‘계정 잠금 기간’, ‘다음 시간 후 계정 잠금 수를 원래대로 설정’ 정책을 각각 60분으로 설정

    • 조치 시 영향
      • 일반적으로 영향 없음
    패스워드 복잡성 설정
    취약점 개요
    • 점검내용
      • 계정 패스워드 복잡성 정책 설정 여부 점검
    • 점검목적
      • 패스워드 설정 시 문자/숫자/특수문자를 모두 포함한 강화된 패스워드를 사용하여 패스워드 복잡성을 만족하도록 함
    • 보안위협
      • 사용자 암호가 패스워드 복잡성을 만족하지 못하는 반복되는 문자, 연속되는 숫자, 계정이름이 포함된 패스워드 등을 사용할 경우 무작위 대입 공격(Brute Force Attack)이나 패스워드 추측 공격(Password Guessing Attack)에 쉽게 크랙될 수 있음
    • 참고
      • 패스워드 설정 시 영문/숫자/특수문자를 모두 포함하여 강력한 패스워드가 설정될 수 있도록 암호 복잡성을 설정하여야 함
      • 영·숫자만으로 이루어진 암호는 현재 공개된 패스워드 크랙 유틸리티에 의해 쉽게 유추할 수 있으므로 패스워드 조합 및 길이에 따라 최소 암호 길이 및 암호 복잡성을 적절하게 설정하여 패스워드를 알아낼 수 있는 평균 시간을 증가시킬 수 있도록 설정하여야 함
      • 관련 점검 항목 : W-49(중), W-50(중), W-51(중)
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : '암호는 복잡성을 만족해야 함' 정책이 '사용'으로 되어있는 경우
      • 취약 : '암호는 복잡성을 만족해야 함' 정책이 '사용 안 함'으로 되어있는 경우
    • 조치방법
      • 암호는 복잡성을 만족해야 함 -> 사용
    점검 및 조치 사례
    점검 및 조치 사례

    실행 → secpol.msc → 계정 정책 → 암호 정책

    암호는 복잡성을 만족해야 함 사용

    • 조치 시 영향
      • 일반적으로 영향 없음
    패스워드 최소 암호 길이
    취약점 개요
    • 점검내용
      • 패스워드 최소 암호 길이 정책 설정 여부 점검
    • 점검목적
      • 암호에 필요한 최소 문자 수를 지정하여 강화된 패스워드를 사용하기 위함
    • 보안위협
      • 짧은 패스워드 및 일반적인 단어와 일반적인 어구를 이용해 암호를 설정한 경우, 사전 공격이나 가능한 모든 문자의 조합을 시도하는 무작위 공격을 통해 쉽게 패스워드가 도용될 수 있음
    • 참고
      • 암호정책 :
        • 사용자에게 암호를 정기적으로 변경하게 하고, 암호의 최소 길이를 지정하며, 암호가 특정 복잡성을 만족시키도록 하는 등, 암호 설정을 사용자에게 강제하여 컴퓨터를 보호하는 정책
      • 관련 점검 항목 : W-48(중), W-50(중), W-51(중)
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 최소 암호 길이가 8문자 이상으로 설정되어 있는 경우
      • 취약 : 최소 암호 길이가 설정되지 않았거나 8문자 미만으로 설정되어 있는 경우
    • 조치방법
      • 최소 암호 길이 8문자 이상으로 설정
    점검 및 조치 사례

    실행 → secpol.msc → 계정 정책 → 암호 정책

    ‘최소 암호 길이’ 8문자로 설정

    • 조치 시 영향
      • 다음 패스워드 변경 시, 8자 이상의 패스워드를 설정하여야 함
    패스워드 최대 사용 기간
    취약점 개요
    • 점검내용
      • 패스워드 최대 사용 기간 정책의 설정 여부 점검
    • 점검목적
      • 암호가 유효한 최대 날짜를 설정하여 이 날짜가 경과된 사용자는 암호를 변경하도록 하여 암호 크래킹의 가능성을 낮추고, 불법으로 획득한 암호의 무단 사용을 방지하고자 함
    • 보안위협
      • 오랫동안 변경하지 않은 패스워드를 지속적으로 사용하는 경우 암호 추측 공격에 의해 유출될 수 있으므로 사용자가 암호를 자주 바꾸도록 하면 유효한 암호가 공격당하는 위험을 줄일 수 있음
    • 참고
      • 암호정책 :
        • 사용자에게 암호를 정기적으로 변경하게 하고, 암호의 최소 길이를 지정하며, 암호가 특정 복잡성을 만족시키도록 하는 등, 암호 설정을 사용자에게 강제하여 컴퓨터를 보호하는 정책
      • 관련 점검 항목 : W-48(중), W-49(중), W-51(중)
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 최대 암호 사용 기간이 90일 이하로 설정되어 있는 경우
      • 취약 : 최대 암호 사용 기간이 설정되지 않았거나 90일을 초과하는 값으로 설정된 경우
    • 조치방법
      • 최대 암호 사용 기간 90일 설정
    점검 및 조치 사례

    실행 → secpol.msc → 계정 정책 → 암호 정책

    ‘최대 암호 사용 기간’ 90일로 설정

    • 조치 시 영향
      • 암호 사용기간이 90일로 설정되며 90일 주기로 패스워드를 변경하여야 함
    패스워드 최소 사용 기간
    취약점 개요
    • 점검내용
      • 패스워드 최소 사용 기간 정책의 설정 여부 점검
    • 점검목적
      • 암호를 변경할 수 있기 전까지 경과해야 하는 최소 날짜를 설정하여 원래 패스워드로 즉시 변경할 수 없도록 함
    • 보안위협
      • 패스워드 변경 후 최소 사용 기간이 설정되지 않은 경우 사용자에게 익숙한 패스워드로 즉시 변동이 가능하여, 이를 재사용함으로써 원래 암호를 같은 날 다시 사용할 수 있음
      • 패스워드 변경 정책에 따른 주기적인 패스워드 변경이 무의미해 질 수 있으며, 이로 인해 조직의 계정 보안성을 낮출 수 있음
    • 참고
      • 암호정책 :
        • 사용자에게 암호를 정기적으로 변경하게 하고, 암호의 최소 길이를 지정하며, 암호가 특정 복잡성을 만족시키도록 하는 등, 암호 설정을 사용자에게 강제하여 컴퓨터를 보호하는 정책
      • 이 정책은 이전 암호를 그대로 재사용 하는것을 방지하기 위해 W-55(중) '최근 암호 기억' 정책과 같이 적용될 경우 보안성이 훨씬 강화됨
      • 관련 점검 항목 : W-48(중), W-49(중), W-50(중), W-55(중)
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 최소 암호 사용 기간이 0보다 큰 값으로 설정되어 있는 경우
      • 취약 : 최소 암호 사용 기간이 0으로 설정되어 있는 경우
    • 조치방법
      • 최소 암호 사용 기간 1일 설정
    점검 및 조치 사례

    실행 → secpol.msc → 계정 정책 → 암호 정책

    ‘최소 암호 사용 기간’ 1일로 설정

    • 조치 시 영향
      • 패스워드를 변경 후 다시 변경하기 위해서는 1일이 지나야 하며, 일반적으로 영향 없음
    마지막 사용자 이름 표시 안함
    취약점 개요
    • 점검내용
      • 로그인 화면에 마지막 로그온 사용자 이름을 표시하지 않도록 설정되었는지 여부를 점검
    • 점검목적
      • Windows 로그인 화면에 마지막 로그온 한 사용자 이름이 표시되지 않도록 하여 악의적인 사용자에게 계정 정보가 노출되는 것을 차단하고자 함
    • 보안위협
      • 마지막으로 로그온 사용자의 이름이 로그온 대화 상자에 표시될 경우 공격자는 이를 획득하여 암호를 추측하거나 무작위 공격을 시도할 수 있음
    • 참고
      • 암호정책 :
        • Windows 로그인 화면에 마지막 로그온 한 사용자 이름이 표시될 경우 주로 콘솔 사용자 및 터미널 서비스 이용자에게 시스템에 존재하는 사용자 계정 정보를 노출함
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : '마지막 사용자 이름 표시 안 함'이 '사용'으로 설정되어 있는 경우
      • 취약 : '마지막 사용자 이름 표시 안 함'이 '사용 안 함'으로 설정되어 있는 경우
    • 조치방법
      • Windows NT: 마지막으로 로그온한 사용자 이름 표시 안 함 -> 설정 후 저장
      • Windows 2000: 로그온 스크린에 마지막 사용자 이름 표시 안 함 -> 사용
      • Windows 2003,2008,2012: 대화형 로그온: 마지막 사용자 이름 표시 안 함 -> 사용
    점검 및 조치 사례

    실행 → secpol.msc → 로컬 정책 → 보안 옵션

    ‘대화형 로그온: 마지막 사용자 이름 표시 안 함’ 사용

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    로컬 로그온 허용
    취약점 개요
    • 점검내용
      • 불필요한 계정의 로컬 로그온을 허용 여부 점검
    • 점검목적
      • 불필요한 계정에 로컬 로그온이 허용된 경우를 찾아 비인가자의 불법적인 시스템 로컬 접근을 차단하고자 함
    • 보안위협
      • 불필요한 사용자에게 로컬 로그온이 허용된 경우 비인가자를 통한 권한 상승을 위한 악성 코드의 실행 우려가 있음
    • 참고
      • '로컬로 로그온 허용' 권한은 시스템 콘솔에 로그인을 허용하는 권한으로 반드시 콘솔 접근이 필요한 사용자 계정에만 해당 권한을 부여하여야 함
      • IIS 서비스를 사용할 경우 이 권한에 IUSR_<ComputerName>계정을 할당함
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 로컬 로그온 허용 정책에 Administrators, IUSR_ 만 존재하는 경우
      • 취약 : 로컬 로그온 허용 정책에 Administrators, IUSR_ 외 다른 계쩡 및 그룹이 존재하는 경우
    • 조치방법
      • Administrators, IUSR_ 외 다른 계정 및 그룹의 로컬 로그온 제한
    점검 및 조치 사례

    실행 → secpol.msc → 로컬 정책 → 사용자 권한 할당

    ‘로컬 로그온 허용’ 정책에 Administrators 그룹을 제외하고 모두 제거

    • 조치 시 영향
      • Administrators, IUSR_ 계정 외 로컬에서 접속이 필요한 계정 삭제 시 사용중인 서비스에 장애를 줄 수 있음
    익명 SID/이름 변환 허용 해제
    취약점 개요
    • 점검내용
      • 익명 SID/이름 변환 정책 적용 여부 점검
    • 점검목적
      • 익명 SID/이름 변환 정책을 '사용 안 함'으로 설정하여, SID(보안식별자)를 사용하여 관리자 이름을 찾을 수 없도록 하기 위함
    • 보안위협
      • 이 정책이 '사용함'으로 설정된 경우 로컬 접근 권한이 있는 사용자가 잘 알려진 Administrator SID를 사용하여 Administrator 계정의 실제 이름을 알아낼 수 있으며 암호 추측 공격을 실행할 수 있음
    • 참고
      • 이 정책이 설정된 경우 익명 사용자가 다른 사용자의 SID(보안식별자) 특성을 요청할 수 있음
      • '사용 안 함'으로 정책을 설정할 경우 Windows NT 도메인 환경에서 통신이 불가능하게 될 수 있음
    점검대상 및 판단기준
    • 대상
      • Windows 2003, 2008, 2012
    • 판단기준
      • 양호 : '익명 SID/이름 변환 허용' 정책이 '사용 안 함'으로 되어 있는 경우
      • 취약 : '익명 SID/이름 변환 허용' 정책이 '사용'으로 되어있는 경우
    • 조치방법
      • 네트워크 액세스: 익명 SID/이름 변환 허용 -> 사용 안 함
    점검 및 조치 사례

    실행 → secpol.msc → 로컬 정책 → 보안 옵션

    ‘네트워크 액세스: 익명 SID/이름 변환 허용’ 정책 사용 안 함

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    최근 암호 기억
    취약점 개요
    • 점검내용
      • 최근 암호 기억 정책 설정 여부 점검
    • 점검목적
      • 사용자가 현재 암호 또는 최근에 사용했던 암호와 동일한 새 암호를 만드는 것을 방지하기 위함
    • 보안위협
      • 최근 암호 기억 정책이 설정되지 않은 경우 특정 계정에 동일한 암호를 오랫동안 사용하는 것이 가능하여 공격자가 무작위 공격을 통해 패스워드 정보 노출 가능성이 커짐
    • 참고
      • 사용자가 현재 암호 또는, 최근에 사용했던 암호와 똑같은 새 암호로 설정할 수 없도록 하여야 함
      • 이 정책은 암호정책 중 하나로 W-51(중)'패스워드 최소 사용 기간' 정책과 같이 적용될 경우 보안성이 훨씬 강화됨
      • 관련 점검 항목 : W-48(중), W-49(중), W-50(중), W-51(중)
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 최근 암호 기억이 4개 이상으로 설정되어 있는 경우
      • 취약 : 최근 암호 기억이 4개 미만으로 설정되어 있는 경우
    • 조치방법
      • 최근 암호 기억을 4개 이상으로 설정
    점검 및 조치 사례

    실행 → secpol.msc → 계정 정책 → 암호 정책

    ‘최근 암호 기억’ 4개로 설정

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    콘솔 로그온 시 로컬 계정에서 빈 암호 사용 제한
    취약점 개요
    • 점검내용
      • 콘솔 로그인 시 빈 암호 사용 가능 여부 점검
    • 점검목적
      • 빈 암호를 가진 계정의 콘솔 및 네트워크 서비스 접근을 차단하기 위함
    • 보안위협
      • 이 정책이 '사용 안 함'으로 설정된 경우 빈 암호를 가진 로컬 계정에 대하여 터미널 서비스(원격 데스크톱 서비스), Telnet 및 FTP와 같은 네트워크 서비스의 원격 대화형 로그온이 가능하여, 시스템 보안에 심각한 위험을 줄 수 있음
    • 참고
      • 윈도우 원격 제어(mstc)는 보안상 계정에 암호가 걸린 계정만 접속하도록 하고 있으나 이 정책을 활성화하면 계정에 암호가 걸려 있지 않아도 원격 제어가 가능함
    점검대상 및 판단기준
    • 대상
      • Windows 2003, 2008, 2012
    • 판단기준
      • 양호 : '콘솔 로그온 시 로컬 계정에서 빈 암호 사용 제한' 정책이 '사용'인 경우
      • 취약 : '콘솔 로그온 시 로컬 계정에서 빈 암호 사용 제한' 정책이 '사용 안 함'인 경우
    • 조치방법
      • 계정: 콘솔 로그온 시 로컬 계정에서 빈 암호 사용 제함 -> 사용
    점검 및 조치 사례

    실행 → secpol.msc → 로컬 정책 → 보안 옵션

    계정: 콘솔 로그온 시 로컬 계정에서 빈 암호 사용 제한

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    원격터미널 접속 가능한 사용자 그룹 제한
    취약점 개요
    • 점검내용
      • 원격 터미널 사용자 그룹 내 비인가자 포함 여부 점검
    • 점검목적
      • 비인가자의 원격터미널 접속을 제한하기 위함
    • 보안위협
      • 원격터미널의 그룹이나 계정을 제한하지 않으면 임의의 사용자가 원격으로 접속하여 해당 서버에서 정보를 변경하거나 정보가 유출될 가능성이 있으므로 사용자 그룹과 계정을 설정하여 접속을 제한하여야 함
    • 참고
      • 컴퓨터 관리 -> 로컬 사용자 및 그룹 -> Remote Desktop Users 그룹에서 추가 가능
    점검대상 및 판단기준
    • 대상
      • Windows 2003, 2008, 2012
    • 판단기준
      • 양호 : (관리자 계정을 제외한) 원격접속이 가능한 계정을 생성하여 타 사용자의 원격접속을 제한하고, 원격 접속 사용자 그룹에 불필요한 계정이 등록되어 있지 않은 경우
      • 취약 : (관리자 계정을 제외한) 원격접속이 가능한 별도의 계정이 존재하지 않는 경우
    • 조치방법
      • 관리자 계정과 이외의 계정을 생성, 권한을 제한 -> 사용
    점검 및 조치 사례

    실행 → lusrmgr.msc → 원격 터미널 접속용 계정 생성

    실행 → mmsys.cpl → 원격 탭 → 원격 데스크톱

    네트워크 수준 인증을 사용하여 원격 데스크톱을 실행하는 컴퓨터에서만 연결 허용 체크 후 사용자 추가

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    서비스관리 공유 권한 및 사용자 그룹 설정
    취약점 개요
    • 점검내용
      • 공유 디렉토리 내 Everyone 권한 존재 여부 점검
    • 점검목적
      • 디폴트 공유인 C$, D$, Admin$, IPC$ 등을 제외한 공유 폴더에 Everyone 그룹으로 공유되는 것을 금지하여 익명 사용자의 접근을 차단하기 위함
    • 보안위협
      • Everyone이 공유계정에 포함되어 있으면 익명 사용자의 접근이 가능하여 내부정보 유출 및 악성코드의 감염 우려가 있음
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 일반 공유 디렉토리가 없거나 공유 디렉토리 접근 권한에 Everyone 권한이 없는 경우
      • 취약 : 일반 공유 디렉토리의 접근 권한에 Everyone 권한이 있는 경우
    • 조치방법
      • 공유 디렉토리 접근 권한에서 Everyone 권한 제거 후 필요한 계정 추가
    점검 및 조치 사례

    실행 → fsmgmt.msc → 공유

    Everyone 공유는 모두 삭제하고, 해당 자원에 접근이 필요한 계정에게만 적절한 권한을 할당

    • 조치 시 영향
      • 애플리케이션이나 Backup 용도로 Everyone 공유를 사용하는 경우 해당 작업에 영향 가능
    하드디스크 기본 공유 제거
    취약점 개요
    • 점검내용
      • 하드디스크 기본 공유 제거 여부 점검
    • 점검목적
      • 하드디스크 기본 공유를 제거하여 시스템 정보 노출을 차단하고자 함
    • 보안위협
      • Windows는 프로그램 및 서비스를 네트워크나 컴퓨터 환경에서 관리하기 위해 시스템 기본 공유 항목을 자동으로 생성함. 이를 제거하지 않으면 비인가자가 모든 시스템 자원에 접근할 수 있는 위험한 상황이 발생할 수 있으며 이러한 공유 기능의 경로를 이용하여 바이러스가 침투될 수 있음
    • 참고
      • 기본 공유 :
        • 관리목적으로 자동 생성되는 공유 드라이브(Administrative share). 이러한 드라이브들은 C$, D$, E$ 등과 같이 이름뒤에 $가 붙어서 숨겨진 공유로 처리되며, Windows 2000, XP에서는 관리자 ID와 Password를 알고 있으면 네트워크를 통해 이러한 공유 드라이브 들에 자유롭게 접근할 수 있음. 그러나 이후 버전 Windows에서는 보안상의 이유로 로컬시스템의 관리자가 네트워크를 통해 시스템을 관리하지 못하도록 기본적으로 차단됨
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 레지스트리의 AutoShareServer ( WinNT: AutoShareWks)가 0이며 기본 공유가 존재하지 않는 경우
      • 취약 : 레지스트리의 AutoShareServer (WinNT: AutoShareWks)가 1이거나 기본 공유가 존재하는 경우
    • 조치방법
      • 기본 공유 중지 후 레지스트리 값 설정(IPC$, 일반 공유 제외)
    점검 및 조치 사례

    실행 → fsmgmt.msc → 공유 → C$ 공유 중지

    실행 → regedit → “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanServer”

    키를 찾아 AutoShareServer 값의 데이터를 0으로 편집

    • 조치 시 영향
      • Active Directory, Clustered system에서는 적용시 영향 있음
      • Active Directory :
        • 중앙 집중화된 자원 관리를 위한 계층적 디렉토리 서비스
      • Clustered system :
        • 여러 개의 시스템을 결합하여 사용함
    불필요한 서비스 제거
    취약점 개요
    • 점검내용
      • 불필요한 서비스 가동 여부 점검
    • 점검목적
      • 사용자 환경에 필요하지 않은 서비스 및 실행 파일을 제거하거나 비활성화 처리하여 이를 통한 악의적인 공격을 차단하기 위함
    • 보안위협
      • 시스템에 기본적으로 설치되는 불필요한 취약 서비스들이 제거되지 않은 경우, 해당 서비스의 취약점으로 인한 공격이 가능하며, 네트워크 서비스의 경우 열린 포트를 통한 외부 침입의 가능성이 존재함
    • 참고
      • OS 버전에 따라 '일반적으로 불필요한 서비스' 목록에 나열된 서비스가 제공되지 않을 수 있음
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 일반적으로 불필요한 서비스(아래 목록 참조)가 중지되어 있는 경우
      • 취약 : 일반적으로 불필요한 서비스(아래 목록 참조)가 구동 중인 경우
    • 조치방법
      • 서비스 중지 후 '사용 안 함' 설정
    점검 및 조치 사례
    • 비활성화한 서비스 목록
      • DHCP Client : 고정IP를 사용하는 환경이므로 불필요
      • Distributed Link Tracking Client : Active Directory를 사용하지 않으므로 불필요
      • Human Interface Device Access : 멀티미디어 키를 내장한 키보드를 사용하지 않으므로 불필요
      • Portable Device Enumerator Service : MIDI 기기를 연결할 일이 없으므로 불필요
      • Printer Spooler : 이 서버에서는 프린터를 사용하지 않으므로 불필요
      • Remote Registry : 레지스트리 수정은 로컬 사용자만 할 수 있도록 제한
    • 추가로 참고할 사항
      • https://docs.microsoft.com/ko-kr/security-updates/Security/20214096
      • MS에서 제공하는 서비스 및 서비스 계정 보안 계획 가이드를 참고하여
      • 운용하는 서버에 따라 전략적으로 서비스를 활성화/비활성화할 수 있다.
    • 조치 시 영향
      • 일반적으로 영향 없음
    IIS 서비스 구동 점검
    취약점 개요
    • 점검내용
      • 불필요한 IIS 서비스 구동 여부 점검
    • 점검목적
      • 불필요한 IIS 서비스가 구동 상태인지를 점검하여 제거하고, 해당 서비스가 취약점이 제거되지 않은 상태로 외부 위협에 노출되지 않도록 하기 위함
    • 보안위협
      • IIS 서비스는 WEB, FTP 등의 서비스를 제공하는 유용한 서비스이나 프로파일링, 서비스 거부, 불법적인 접근, 임의의 코드 실행, 정보 공개, 바이러스, 웜, 트로이목마 등의 위협에 노출될 수 있어 서비스 불필요시 삭제하여야 함
    • 참고
      • 일반적으로 불필요한 서비스가 시스템 내 구동되고 있는 경우에는 관리되지 않은 상태로 방치되는 경우가 많아 보안 취약점이 그대로 노출되어 악의적인 공격의 대상이 될 수 있음
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : IIS서비스가 필요하지 않아 이용하지 않는 경우
      • 취약 : IIS 서비스를 필요하지 않지만 사용하는 경우
    • 조치방법
      • IIS 서비스를 사용하지 않는 경우 IIS 서비스 중지
    점검 및 조치 사례
    • 조치 불필요
      • 현재 IIS 웹 서버를 사용 중이므로 조치 불필요
    • 조치 시 영향
      • 일반적인 경우 영향 없음
    IIS 디렉터리 리스팅 제거
    취약점 개요
    • 점검내용
      • 웹서버 디렉토리 리스팅 차단 설정 여부 점검
    • 점검목적
      • 웹서버 특정 폴더에 대한 디렉토리 리스팅 취약점을 제거하여, 불필요한 파일정보 노출을 차단하기 위함
    • 보안위협
      • 웹서버에 디렉토리 리스팅이 제거되지 않은 경우 외부에서 디렉토리 내에 보유하고 있는 모든 파일 목록 확인 및 파일에 대한 접근이 가능하여 주요 정보의 유출의 가능성이 있음
    • 참고
      • 디렉토리 리스팅 취약점 :
        • 디렉토리에 대한 요청 시 기본 페이지가 호출되어 사용자에게 전송하지만, 기본 페이지가 존재하 않는 경우 디렉토리 내에 존재하는 모든 파일의 목록을 보여주는 취약점
    점검대상 및 판단기준
    • 대상
      • Windows 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : '디렉토리 검색' 체크하지 않음
      • 취약 : '디렉토리 검색' 체크함
      • 조치 시 마스터 속성과 모든 사이트에 적용함
    • 조치방법
      • 사용하지 않는 경우 IIS 서비스 중지, 사용할 경우 디렉토리 검색 체크 해제
    점검 및 조치 사례

    실행 → inetmgr

    사이트 설정에서 디렉터리 검색 기능 ‘사용 안 함’으로 설정

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    IIS CGI 실행 제한
    취약점 개요
    • 점검내용
      • IIS CGI 실행 제한 설정 여부 점검
    • 점검목적
      • CGI 스크립트를 정해진 디렉토리에서만 실행되도록 하여 악의적인 파일의 업로드 및 실행을 방지하기 위함
    • 보안위협
      • 게시판이나 자료실과 같이 업로드 되는 파일이 저장되는 디렉토리에 CGI 스크립트가 실행 가능한 경우 악의적인 파일을 업로드하고 이를 실행하여 시스템의 중요 정보가 노출될 수 있으며 침해사고의 경로로 이용될 수 있음
    • 참고
      • CGI(Common Gateway Interface) :
        • 사용자가 서버로 보낸 데이터를 서버에서 작동중인 데이터처리프로그램에 전달하고, 여기에서 처리된 데이터를 다시 서버로 되돌려 보내는 등의 일을 하는 프로그램
      • 일반적으로 기본 CGI 디렉토리(C:\inetpub\scripts)는 사용하지 않음
    점검대상 및 판단기준
    • 대상
      • Windows 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 해당 디렉토리 Everyone에 모든 권한, 수정 권한, 쓰기 권한이 부여되지 않은 경우
      • 취약 : 해당 디렉토리 Everyone에 모든 권한, 수정 권한, 쓰기 권한이 부여되어 있는 경우
      • 조치 시 마스터 속성과 모든 사이트에 적용함
    • 조치방법
      • 사용하지 않는 경우 IIS 서비스 중지, 사용할 경우 Everyone에 모든 권한 ,수정 권한, 쓰기 권한 제거 후 Administrators, System 그룹 추가(모든 권한)
    점검 및 조치 사례

    웹페이지가 있는 폴더를 탐색기에서 찾아서 속성 편집

    Everyone에 대한 권한을 삭제하고, 일반 로컬 유저의 수정 및 쓰기 권한을 제거했다.

    • 조치 시 영향
      • 해당 디렉토리 확인 후 추가적인 파일이 없다면 영향 없음
    IIS 상위 디렉터리 접근금지
    취약점 개요
    • 점검내용
      • IIS 상위 디렉토리 접근 금지 설정 적용 여부 점검
    • 점검목적
      • ".."와 같은 웹서버 상에서 상위 경로를 사용하지 못하도록 설정하여 Unicode 버그 및 서비스 거부 공격에 이용당하지 않도록 하기 위함
    • 보안위협
      • 이용자가 상위경로로 이동하는 것이 가능할 경우 하위경로에서 상위로 접근하며 정보 탐색이 가능하여 중요 정보가 노출될 가능성이 존재함
    • 참고
      • ".."는 unicode 버그, 서비스 거부와 같은 공격에 쉽게 이용되므로 허용하지 않는 것을 권장함
    점검대상 및 판단기준
    • 대상
      • Windows 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 상위 패스 기능을 제거한 경우
      • 취약 : 상위 패스 기능을 제거하지 않은 경우
      • 조치 시 마스터 속성과 모든 사이트에 적용함
    • 조치방법
      • 인터넷 정보 서비스 관리에서 '부모 경로 사용'의 체크박스 체크 해제
    점검 및 조치 사례

    실행 → inetmgr → 사이트 → 설정하려는 웹 사이트 → ASP

    부모 경로 사용 ‘False’로 설정

    • 조치 시 영향
      • "../"와 같이 상대경로를 사용하도록 하드 코딩되어 있는 애플리케이션의 경우 영향 있음
    IIS 불필요한 파일 제거
    취약점 개요
    • 점검내용
      • IIS 설치 시 기본적으로 제공되는 불필요한 파일 제거 여부 점검
    • 점검목적
      • IIS 서비스 설치 시 기본으로 설치되는 예제 스크립트, 설명서, 샘플 애플리케이션, 디렉토리 등 서비스에 불필요한 IIS 모듈을 제거하여 불필요한 공격 대상으로 이용되는 것을 방지하기 위함
    • 보안위협
      • IIS 서비스 설치 시 기본적으로 제공 되는 파일 및 디렉토리를 제거하지 않을 경우, 해당 파일들로 인해 공격 대상으로 이용되거나 백도어가 심어질 위험이 존재함
    점검대상 및 판단기준
    • 대상
      • Windows 2000, 2003
    • 판단기준
      • 양호 : 해당 웹 사이트에 IISSamples, IISHelp 가상 디렉토리가 존재하지 않는 경우
      • 취약 : 해당 웹 사이트에 IISSamples, IISHelp 가상 디렉토리가 존재하는 경우
      • 조치 시 마스터 속성과 모든 사이트에 적용함
    • 조치방법
      • 사용하지 않는 경우 IIS 서비스 중지, 사용할 경우 가상 디렉토리 삭제
    점검 및 조치 사례
    • 조치 불필요
      • Windows Server 2008 R2를 사용 중이므로 해당 없음
    • 조치 시 영향
      • 일반적인 경우 영향 없음
    IIS 웹프로세스 권한 제한
    취약점 개요
    • 점검내용
      • 웹 프로세스 권한 제한 설정 여부 점검
    • 점검목적
      • 웹 프로세스가 웹 서비스 운영에 필요한 최소한의 권한만을 갖도록 제한하여 웹사이트 방문자가 웹 서비스의 취약점을 이용해 시스템에 대한 어떤 권한도 획득할 수 없도록 하기 위함
    • 보안위협
      • 웹 프로세스 권한을 제한하지 않은 경우 웹 사이트 방문자가 웹 서비스의 취약점을 이용하여 시스템 권한을 획득할 수 있으며, 웹 취약점을 통해 접속 권한을 획득한 경우에는 관리자 권한을 취득하여 서버에 접속 후 정보의 변경, 훼손 및 유출 할 우려가 있음
    • 참고
      • 참고로 최소 권한의 계정으로 IIS를 구동 시키는 것이외에 '웹 사이트 등록정보' > '홈 디렉토리' > 응용프로그램 보호(IIS 프로세스 권한 설정)에서도 프로세스 권한을 설정할 수 있음
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 웹 프로세스가 웹 서비스 운영에 필요한 최소한의 권한으로 설정되어 있는 경우
      • 취약 : 웹 프로세스가 관리자 권한이 부여된 계정으로 구동되고 있는 경우
    • 조치방법
      • 시작 > 제어판 > 관리 도구 > 로컬 보안 정책에서 nobody 계정 설정
    점검 및 조치 사례

    실행 → lusrmgr → 사용자 → 새 사용자 추가

    실행 → secpol.msc → 로컬 정책 → 사용자 권한 할당 → 서비스로 로그온 → 사용자 추가

    실행 → inetmgr → 서버 홈 → IIS 관리자 사용자 → 사용자 추가

    실행 → inetmgr → 사이트 → 설정하려는 웹 사이트 → IIS 관리자 권한 → 사용자 허용

    탐색기 → IIS가 설치된 폴더 → 보안 → 관리자로 할당한 사용자에게만 모든 권한 할당

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    IIS 링크 사용 금지
    취약점 개요
    • 점검내용
      • IIS 링크 사용금지 설정 여부 점검
    • 점검목적
      • 웹 컨텐츠 디렉토리에서 다른 디렉토리나 파일들에 접근할 수 있는 심볼릭 링크, 별칭(aliases), 바로가기 등을 제거하여 허용하지 않은 경로의 접근을 차단하기 위함
    • 보안위협
      • 접근을 허용한 웹 콘텐츠 디렉토리 내에 서버의 다른 디렉토리나 파일들에 접근할 수 있는 심볼릭 링크, Aliases, 바로가기 등이 존재하는 경우 해당 링크를 통해 허용되지 않은 다른 디렉토리에 엑세스할 수 있는 위험성 존재
    점검대상 및 판단기준
    • 대상
      • Windows 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 심볼릭 링크, aliases, 바로가기 등의 사용을 허용하지 않는 경우
      • 취약 : 심볼릭 링크, aliases, 바로가기 등의 사용을 허용하는 경우
    • 조치방법
      • 등록된 웹사이트의 홈 디렉토리 엤는 심볼릭 링크, aliases, 바로가기 파일 삭제
    점검 및 조치 사례

    실행 → inetmgr → 해당 웹 사이트 → 설정에서 실제 경로 확인

    탐색기에서 해당 경로를 찾아가 바로가기 파일 등 삭제

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    IIS 파일 업로드 및 다운로드 제한
    취약점 개요
    • 점검내용
      • IIS 파일 업로드 및 다운로드 제한 설정 여부 점검
    • 점검목적
      • 기반시설 시스템은 파일의 업로드 및 다운로드를 원칙적으로 금지하나, 부득이 파일의 업로드 및 다운로드 기능을 활용해야 하는 경우 ,파일의 용량 제한을 설정하여 보안성 유지 및 안정적인 웹서버 자원관리를 할 수 있도록 하기 위함
    • 보안위협
      • 대용량 파일 업로드 및 다운로드가 가능한 경우 서버 리소스에 영향을 주어 서비스 장애가 발생할 수 있음
    • 참고
      • IIS 에서는 파일의 업로드 및 다운로드 기능을 직접적으로 차단하는 기능이 없어, 웹사이트 내 파일의 업로드 및 다운로드 기능의 구현 여부의 병행 점검이 필요
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 웹 프로세스의 서버 자원 관리를 위해 업로드 및 다운로드 용량을 제한하는 경우
      • 취약 : 웹 프로세스의 서버 자원을 관리하지 않는 경우 (업로드 및 다운로드 용량 미 제한)
    • 조치방법
      • 파일 업로드 및 다운로드 용량을 허용할 수 있는 최소 범위로 설정
    점검 및 조치 사례

    웹 사이트의 루트 디렉토리에 web.config 파일 생성 및 수정

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    IIS DB 연결 취약점 점검
    취약점 개요
    • 점검내용
      • Global.asa 또는 별도의 DB 커넥션을 하는 파일에 대한 취약점 점검
    • 점검목적
      • DB 커넥션 파일(global.asa)에 대한 접근을 제한하여 SQL 서버의 사용자명과 패스워드와 같은 중요 정보의 노출을 차단하기 위함
    • 보안위협
      • Global.asa 파일에는 데이터베이스 관련 정보(IP 주소, DB명, 패스워드), 내부 IP주소, 웹 애플리케이션 환경설정 정보 및 기타 정보 등 보안상 민감한 내용이 포함되어 있으므로 해당 파일이 악의적인 사용자에게 노출될 경우 침해사고로 어어질 수 있음
    • 참고
      • global.asa 파일:
        • 각각의 ASP(Active Server Pages) 프로그램을 위해 IIS 서버상에서 관리되는 파일, IIS 서버는 IIS 프로그램이 시작하고 정지할 떄, 또는 웹 클라이언트가 ASP 프로그램의 웹 페이지들을 액세스하는 브라우저 세션들을 시작하고 정지할 때 자동적으로 global.asa 파일을 처리함
    점검대상 및 판단기준
    • 대상
      • Windows 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : .asa 매핑 시 특정 동작만 가능하도록 제한하여 설정한 경우 또는 매핑이 없을 경우
      • 취약 : .asa 매핑 시 모든 동작이 가능하도록 설정한 경우
    • 조치방법
      • 사용하지 않는 경우 IIS 서비스 중지, 사용할 경우 .asa 매핑을 특정 동작만 가능하도록 추가(IIS 6.0) / asa설정을 false로 함(7.0, 8.0)
    점검 및 조치 사례

    실행 → inetmgr → 해당 웹 사이트 → IIS → 처리기 매핑

    *.asa / *.asax 등록되지 않음을 확인

    실행 → inetmgr → 해당 웹 사이트 → IIS → 요청 필터링

    .asa / .asax 거부되어 있음을 확인

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    IIS 가상 디렉터리 삭제
    취약점 개요
    • 점검내용
      • 불필요한 IIS 가상 디렉토리 삭제 여부 점검
    • 점검목적
      • IIS를 설치 시 가상 디렉토리 내에 제공되는 취약한 샘플 어플리케이션을 제거하여 잠재적인 위험을 제거하기 위함
    • 보안위협
      • 기본 가상 디렉토리가 삭제되지 않은 경우 ADSI 스크립트를 이용한 기본 웹 사이트 설정을 변경 및 MSADC 가상 디렉토리를 통한 서버 자원 접근이 가능하여 악의적인 공격의 대상이 될 수 있음
    • 참고
      • /issadmpwd 파일을 제거하고 이 외 존재하는 가상 디렉토리 취약점을 줄이기 위해서 IIS Admin에 관계되는 모든 파일 및 디렉토리를 삭제해야 함
      • IIS 4.0, 5.0 설치 시 기본적으로 /issadmpwd라는 가상 디렉토리를 생성하는데, 이 디렉토리에는 웹 서버를 통하여 패스워드를 변경시켜주는 기능 등을 하는 .HTR 파일이 존재함
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 해당 웹 사이트에 IIS Admin, IIS Adminpwd 가상 디렉토리가 존재하지 않는 경우
      • 취약 : 해당 웹 사이트에 IIS Admin, IIS Adminpwd 가상 디렉토리가 존재하지 않는 경우
      • 조치 시 마스터 속성과 모든 사이트에 적용함
    • 조치방법
      • 사용하지 않는 경우 IIS 서비스 중지, 사용할 경우 IIS Admin, IIS Adminpwd 삭제
    점검 및 조치 사례
    • 조치 불필요
      • Windows Server 2008 R2를 사용 중이므로 해당 없음
    • 조치 시 영향
      • 일반적으로 IIS 관리용 페이지를 사용하지 않으므로 영향 없음
    IIS 데이터파일 ACL 적용
    취약점 개요
    • 점검내용
      • IIS 데이터 파일 ACL 적용 여부 점검
    • 점검목적
      • 웹 데이터 파일에 ACL을 부여함으로써 권한 없는 사용자로부터의 실행 및 읽기를 방지하고자 함
    • 보안위협
      • 웹 데이터 파일에 ACL이 부여되지 않은 경우 권한 없는 사용자로부터의 읽기 및 실행이 가능
    • 참고
      • 향후 필요에 의해 IIS를 설치하여 운용한다면 웹 데이터 파일에 대한 ACL을 부여하는 것이 바람직하며 ACL을 설정할 때에는 다음과 같은 사항을 참고하여 설정하여야 함
      • 1. 가능한 파일의 종류끼리 분류하여 폴더에 저장
      • 2. 홈 디렉토리(기본: C:\inetpub\wwwroot)내에 적절한 ACL 권한 부여
      • ACL(Access Control List):
        • 접근이 허가된 주체들과 허가받은 접근 종류들이 기록된 목록
    점검대상 및 판단기준
    • 대상
      • Windows 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 홈 디렉토리 내에 있는 하위 파일들에 대해 Everyone 권한이 존재하지 않는 경우(정적 콘텐츠 파일은 Read 권한만)
      • 취약 : 홈 디렉토리 내에 있는 하위 파일들에 대해 Everyone 권한이 존재하지 않는 경우(정적 콘텐츠 파일은 Read 권한 제외)
      • 조치 시 마스터 속성과 모든 사이트에 적용함
    • 조치방법
      • IIS 서비스를 사용하지 않는 경우 IIS 서비스 중지, 사용할 경우 홈 디렉토리에 Administrators, System 권한만 설정 후, 하위 디렉토리에 존재하는 모든 Everyone 권한 제거(정적 콘텐츠 파일에 경우 Read 권한 허용)
    점검 및 조치 사례

    웹 사이트의 홈 디렉토리에 Everyone 권한이 없음을 확인

    • 조치 시 영향
      • IIS에서 홈 디렉토리 내에 있는 데이터 파일 권한 조치에 따른 검증 필요
    IIS 미사용 스크립트 매핑 제거
    취약점 개요
    • 점검내용
      • IIS 미사용 스크립트 매핑 제거 여부 점검
    • 점검목적
      • 사용하지 않는 확장자 매핑을 제거하여 추가 공격의 위험을 제거하기 위함
    • 보안위협
      • 미사용 확장자 매핑을 제거하지 않은 .htr .idc .stm .shtm .shtml .printer .htw .ida .idq 확장자는 버퍼 오버플로우(Buffer OverFlow) 공격 위험이 존재함
    • 참고
      • 사용하지 않는 스크립트 매핑은 보안에 위협이 될 수 있으므로 개발자와 협의하여 불필요한 매핑인지 확인한 후 제거해야 함
      • .asp나 .shtm과 같은 확장자들은 특정 DLL 파일과 매핑되어 있어, 이러한 파일들에 대한 요청이 들어오면 해당 DLL에 의해 처리됨
      • 스크립트 매핑:
        • IIS는 클라이언트가 요청한 자원의 파일 확장자에 따라서 이를 처리할 ISAPI확장 핸들러를 지정하게 되어 있는데 이를 스크립트 매핑이라고 함
      • 버퍼 오버플로우(Buffer OverFlow):
        • 메모리에 할당된 버퍼의 양을 초과하는 데이터를 입력하여 프로그램의 복귀 주소를 조작, 궁극적으로 해커가 원하는 코드를 실행하는 것
    점검대상 및 판단기준
    • 대상
      • Windows 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 취약한 매핑(.htr .idc .stm .shtm .shtml .printer .htw .ida .udq)이 존재하지 않는 경우
      • 취약 : 취약한 매핑(.htr .idc .stm .shtm .shtml .printer .htw .ida .udq)이 존재하는 경우
      • 조치 시 마스터 속성과 모든 사이트에 적용함
    • 조치방법
      • 사용하지 않는 경우 IIS 서비스 중지, 사용할 경우 취약한 매핑 제거
    점검 및 조치 사례

    실행 → inetmgr → 해당 웹 사이트 → IIS → 처리기 매핑

    취약한 확장자 매핑 제거 (.htr, .idc, .stm, .shtm, shtml, .printer, .htw, .ida, .idq)

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    IIS Exec 명령어 쉘 호출 진단
    취약점 개요
    • 점검내용
      • IIS Exec 명령어 쉘 호출 여부 진단
    • 점검목적
      • 웹 서버에서 임의 명령어 호출을 제한하여 허가되지 않은 명령어 실행을 차단하기 위함
    • 보안위협
      • 웹 서버에서 #exec 명령어를 통한 명령어 실행이 차단되지 않은 경우, 웹 서버에서 임의의 시스템 명령이 호출 가능하여 허가되지 않은 파일의 실행 위험 존재
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000
    • 판단기준
      • 양호 : IIS 5.0 버전에서 해당 레지스트리 값이 0이거나 IIS 6.0 버전 이상인 경우
      • 취약 : IIS 5.0 버전에서 해당 레지스트리 값이 1인 경우
    • 조치방법
      • 위의 양호 기준에 맞춰 레지스트리 값 설정
    점검 및 조치 사례
    • 조치 불필요
      • Windows Server 2008 R2를 사용 중이므로 해당 없음
    • 조치 시 영향
      • 일반적인 경우 영향 없음
    IIS WebDAV 비활성화
    취약점 개요
    • 점검내용
      • IIS WebDAV 비활성화 여부 점검
    • 점검목적
      • WebDAV 서비스를 비활성화 하여, IIS WebDAV에서 발결되는 다수의 인증 우회 취약점을 제거하고자 함
    • 보안위협
      • WebDAV가 활성화 되어 있는 경우 IIS에 악의적으로 작성된 HTTP 요청을 이용하여 인증을 우회함으로써 패스워드로 보호된 WebDAV의 자원에 접근(디렉토리 열람, 파일 다운로드 등)이 가능
      • WebDAV에 의해 호출된 일부 구성 요소에 매개 변수를 정확하게 점검하지 않는 결함이 존재하여, 이로 인해 버퍼 오버런이 발생 가능
    • 참고
      • WebDAV(Web Distributed Authoring and Versioning):
        • 사용자가 원격 World Wide Web 서버를 이용하여 파일을 수정하거나 처리할 수 있도록 하는 HTTP의 확장 서비스. 웹상의 공동개발을 지원하기 위한 IETF 표준안(RFC 2518)으로써, 원격지 사용자들 간에 인터넷상에서 파일을 공동 편집하고 관리할 수 있도록 함
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 다음 중 한 가지라도 해당하는 경우

        1. IIS 서비스를 사용하지 않는 경우

        2. DisableWebDAV 값이 1로 설정되어 있는 경우

        3. Windows NT,2000은 서비스팩 4 이상이 설치되어 있는 경우

        4. Windows 2003, Windows 2008은 WebDAV가 금지 되어 있는 경우

      • 취약 : 양호 기준에 한 가지라도 해당하지 않는 경우(2003, 2008은 1,4번만)
    • 조치방법
      • Guest 계정 비활성화
    점검 및 조치 사례

    실행 → inetmgr → 해당 서버 → IIS → ISAPI 및 CGI 제한

    WebDAV 허용 안 함

    [편집]에서 ‘확장 경로 실행 허용’ 체크 해제

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    NetBIOS 바인딩 서비스 구동 점검
    취약점 개요
    • 점검내용
      • NetBIOS 바인딩 서비스 구동 여부 점검
    • 점검목적
      • NetBIOS와 TCP/IP 바인딩을 제거하여 TCP/IP를 거치게 되는 파일 공유서비스를 제공하지 못하도록 하고, 인터넷에서 공유자원에 대한 접근 시도를 방지하고자 함
    • 보안위협
      • 인터넷에 직접 연결되어 있는 윈도우 시스템에서 NetBIOS TCP/IP 바인딩이 활성화 되어 있을 경우 공격자가 네트워크 공유자원을 사용할 우려 존재
    • 참고
      • NetBIOS(Network Basic Input/Output System):
        • 별개의 컴퓨터상에 있는 애플리케이션들이 근거리 통신망 내에서 서로 통신할 수 있게 해주는 프로그램. IBM pc를 위한 네트워크 인터페이스 체계로 네임, 세션, 데이터그램의 세가지 서비스를 제공하며 NetBIOS를 통해 파일 공유와 프린터 공유 등을 서비스로 이용
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : TCP/IP와 NetBIOS 간의 바인딩이 제거되어 있는 경우
      • 취약 : TCP/IP와 NetBIOS 간의 바인딩이 제거되어있지 않은 경우
    • 조치방법
      • 네트워크 제어판을 이용하여 TCP/IP와 NetBIOS 간의 바인딩 제거
    점검 및 조치 사례

    실행 → ncpa.cpl → 로컬 영역 연결 속성 → TCP/Ipv4 속성 → 고급

    WINS 탭 → NetBIOS 설정 → ‘NetBIOS over TCP/IP 사용 안 함’ 체크

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    FTP 서비스 구동 점검
    취약점 개요
    • 점검내용
      • 시스템 내 FTP 서비스 구동 여부 점검
    • 점검목적
      • 인증 정보가 기본적으로 평문전송되는 취약한 프로토콜인 FTP의 사용을 제한하여 네트워크 보안성을 높이고자 함
    • 보안위협
      • OS에서 제공하는 기본적인 FTP 서비스를 사용할 경우 계정과 패스워드가 암호화되지 않은 채로 전송되어 Sniffer에 의한 계정 정보의 노출위험 존재
    • 참고
      • Sniffer:
        • 네트워크 트래픽을 감시하고 분석하는 프로그램
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : FTP 서비스를 사용하지 않는 경우 또는 source FTP 서비스를 사용하는 경우
      • 취약 : FTP 서비스를 사용하는 경우
    • 조치방법
      • FTP 서비스가 필요하지 않다면 서비스 중지 또는 secure FTP 응용프로그램 사용
    점검 및 조치 사례

    윈도우 기본 FTP 서비스 대신 오픈소스 FTP 응용 프로그램인

    FileZilla를 사용하고 있기 때문에 Microsoft FTP 서비스는 불필요하다.

    실행 → services.msc → Microsoft FTP Service 속성

    시작 유형: 사용 안 함, 서비스 중지

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    FTP 디렉터리 접근 권한 설정
    취약점 개요
    • 점검내용
      • FTP 홈디렉토리의 접근 권한 적절성 점검
    • 점검목적
      • FTP 서비스 디렉토리의 접근 권한을 적절하게 설정하여 의도치 않은 정보유출등의 보안 사고를 방지하고자 함
    • 보안위협
      • FTP 홈디렉토리에 과도한 권한이 부여된 경우 임의의 사용자가 쓰기, 수정이 가능하여 정보유출, 파일 위·변조 등의 위험 존재
    • 참고
      • 기반시설 시스템은 FTP 서비스를 사용하지 않는 것이 원칙이나, 조직 내에서 해당 서비스를 부득이 사용해야 하는 경우 관련 보호 대책을 수립 및 적용하여 활용하여야 함
      • 관련 점검 항목 : W-27(상), W-28(상)
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 홈 디렉토리에 Everyone 권한이 없는 경우
      • 취약 : 홈 디렉토리에 Everyone 권한이 있는 경우
    • 조치방법
      • FTP 홈디렉토리에서 Everyone 권한 삭제, 각 사용자들에게 적절한 권한 부여
    점검 및 조치 사례

    FileZilla Server에서 C:\ftp 폴더를 FTP 디렉토리로 지정


    해당 디렉토리에서 Everyone 권한을 제거

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    Anonymous FTP 금지
    취약점 개요
    • 점검내용
      • FTP 서비스의 Anonymous(익명) 접속 허용 여부 점검
    • 점검목적
      • FTP 익명 접속을 제한하여, 중요 정보의 불법 유출을 차단하고자 함
    • 보안위협
      • FTP 익명 접속이 허용된 경우 핵심 기밀 자료나 내부 정보의 불법 유출 가능성이 존재함
    • 참고
        • 만약 익명 접속이 허용된 FTP 서버에 익명 사용자에 대해 쓰기 권한이 부여된 경우, 정상적으로 업로드한 파일들의 변조가 가능하므로 공개한 디렉토리 내 중요 데이터가 보관되어 있는지 여부를 추가적으로 확인하여야 함
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : FTP 서비스를 사용하지 않거나, '익명 연결 허용'이 체크되지 않은 경우
      • 취약 : FTP 서비스를 사용하거나, '익명 연결 허용'이 체크되어 있는 경우
    • 조치방법
      • FTP 서비스를 사용하지 않는 경우 서비스 중지, 사용할 경우 '익명 연결 허용' 체크 해제 또는 '익명' 체크 해제
    점검 및 조치 사례

    FileZilla Server에서 ftpuser 계정만 사용할 수 있도록 설정

    • 조치 시 영향
      • 애플리케이션에서 익명 연결을 사용할 경우를 제외하고, 일반적으로 영향 없음
    FTP 접근 제어 설정
    취약점 개요
    • 점검내용
      • FTP 접속 가능한 IP 주소 지정 여부 점검
    • 점검목적
      • FTP 접근 시 특정 IP 주소에 대해 콘텐츠 액세스를 허용하여 서비스 보안성을 강화하고자 함
    • 보안위협
      • FTP 프로토콜은 로그온에 지정된 자격 증명이나 데이터 자체가 암호화 되지 않고 모든 자격 증명을 일반 텍스트로 네트워크를 통해 전송되는 특성상 서버 클라이언트간 트래픽 스니핑을 통해 인증정보가 쉽게 노출되므로 접속 허용된 사용자 IP를 지정하여 접속자를 제한할 것을 권고
    • 참고
      • 기반시설 시스템은 FTP 서비스를 사용하지 않는 것이 원칙이나, 조직 내에서 해당 서비스를 부득이 사용해야 하는 경우 관련 보호 대책을 수립 및 적용하여 활용하여야 함
      • 관련 점검 항목 : W-26(상), W-27(상)
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 특정 IP 주소에서만 FTP 서버에 접속하도록 접근제어 설정을 적용한 경우
      • 취약 : 특정 IP 주소에서만 FTP 서버에 접속하도록 접근제어 설정을 적용하지 않은 경우
      • 조치 시 마스터 속성과 모든 사이트에 적용함
    • 조치방법
      • 특정 IP 주소에서만 FTP 서버에 접속하도록 접근제어 설정
    점검 및 조치 사례

    FileZilla Server에서 IP 필터를 지정하여

    미리 지정한 IP주소 대역에서만 FTP 접근이 가능하도록 설정

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    DNS Zone Transfer 설정
    취약점 개요
    • 점검내용
      • DNS Zone Transfer 차단 설정 여부 점검
    • 점검목적
      • DNS Zone Transfer 차단 설정을 적용하여 도메인 정보의 불법 외부 유출을 막고자 함
    • 보안위협
      • DNS Zone Transfer 차단 설정이 적용되지 않은 경우 DNS 서버에 저장되어 있는 도메인 정보를 승인된 DNS 서버가 아닌 외부로 유출 위험 존재
    • 참고
      • zone-transfer:
        • zone(영역) 전송이라고 하며 master과 slave간에 또는 primary와 secondary DNS간에 zone 파일을 동기화하기 위한 용도로 사용되는 기술
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 아래 기준에 해당될 경우 1. DNS 서비스를 사용 않는 경우 2. 영역 전송 허용을 하지 않는 경우 3. 특정 서버로만 설정이 되어 있는 경우
      • 취약 : 위 3개 기준 중 하나라도 해당 되지 않는 경우
    • 조치방법
      • 불필요 시 서비스 중지/사용 안 함, 사용하는 경우 영역 전송을 특정 서버로 제한하 거나 "영역 전송 허용"에 제크 해제
    점검 및 조치 사례

    실행 → dnsmgmt.msc → 서버 속성 → 영역 전송 탭

    특정한 1대의 서버로만 영역 전송을 허용

    • 조치 시 영향
      • 영역 전송할 경우 서버를 지정해 주면 영향 없음
    RDS(Remonte Data Services) 제거
    취약점 개요
    • 점검내용
      • RDS(Remonte Data Services) 비활성화 여부 점검
    • 점검목적
      • 취약한 RDS 서비스를 제거하여 불법적인 원격 공격을 자단하기 위함
    • 보안위협
      • 취약한 플랫폼의 RDS가 사용되는 경우 서비스 거부 공격이나 원격에서 관리자 권한으로 임의의 명령을 실행할 수 있는 위험이 존재함
    • 참고
      • MDAC 2.7 미만의 버전에서 웹 서버와 웹 클라이언트는 모두 이 쥐약점으로 인해 위험해질 수 있으므로 RDS가 불필요할 경우 제거하는 것이 안전함
      • RDS(Remote Data Services):
        • MDAC(Microsoft Data Access Components)의 한 컴포넌트로 클라이언트에 있는 데이터를 다룰 수 있도록 하는 서비스
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 다음 중 한 가지라도 해당되는 경우(2008 이상 양호) 1. IIS를 사용하지 않는 경우 2. Windows 2000 서비스팩 4, Windows 2003 서비스팩 2 이상 설지되어 있는 경우 3. 디폴트 웹 사이트에 MSADC 가상 디렉토리가 존재하지 않는 경우 4. 해당 레지스트리 값이 존재하지 않는 경우
      • 취약 : 양호 기준에 한 가지도 해당되지 않는 경우
    • 조치방법
      • 사용하지 않는 경우 IIS 서비스 중지/사용 안 함, 사용할 경우 레지스트리 키 값 제거 또는 관련 패치 적용
    점검 및 조치 사례
    • 조치 불필요
      • Windows Server 2008 R2 사용중이므로 취약하지 않음
    • 조치 시 영향
      • WAS와 연동될 경우 일부 RDS를 사용하는 경우가 있으며 사용할 경우 레지스트리 키 값 제거
    최신 서비스팩 적용
    취약점 개요
    • 점검내용
      • 최신 서비스팩 적용 여부 점검
    • 점검목적
      • 시스템을 최신 버전으로 유지하여 새로운 위협 및 진행 중인 위협으로부터 중요 정보와 시스템을 보호하기 위함
    • 보안위협
      • 보안 업데이트를 적용하지 않은 경우 시스템 및 응용프로그램의 취약성으로 인해 권한 상승, 원격 코드 실행, 보안 기능 우회 등의 문제를 일으킬 수 있음
    • 참고
      • 서비스팩:
        • Windows의 안정성을 높이기 위해 응용프로그램, 서비스, 실행 파일 등 여러 수정 파일들을 모아 놓은 업데이트 프로그램
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 최신 서비스팩이 설치되어 있으며 적용 절차 및 방법이 수립된 경우
      • 취약 : 최신 서비스팩이 설치되지 않거나, 적용 절차 및 방법이 수립되지 않은 경우
    • 조치방법
      • 설치에 따른 영향도 확인 후 최신 서비스팩 설치(설치 후 시스템 재시작 필요)
    점검 및 조치 사례

    최신 서비스팩인 Windows Server 2008 R2 service pack 1을 적용하였음

    • 조치 시 영향
      • 설치 후 시스템 재시작이 필요하며 설치에 따른 영향 정도를 확인하여야 함
    터미널 서비스 암호화 수준 설정
    취약점 개요
    • 점검내용
      • 터미널 서비스 암호화 수준 적절성 점검
    • 점검목적
      • 터미널 서비스 암호화 설정으로 데이터를 암호화하여 클라이언트와 서버간의 통신에서 전송되는 데이터를 보호하기 위함
    • 보안위협
      • 서버 접속 시에 낮은 암호화 수준을 적용할 경우 악의적인 사용자에 의해 서버 와 클라이언트간 주고받는 정보가 노출될 우려가 있음
    • 참고
      • 기반시설 시스템은 터미널 서비스의 사용을 원칙적으로 금지하나, 부득이 해당 서비스를 사용해야 하는 경우 클라이언트 서버간의 데이터 전송 시 암호화하여 보호해야 함
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 터미널 서비스를 사용하지 않거나 사용 시 암호화 수준을 "클라이언트와 호 환 가능(중간)" 이상으로 설정한 경우
      • 취약 : 터미널 서비스를 사용하고 암호화 수준이 "낮음" 으로 설정한 경우
    • 조치방법
      • 터미널 서비스의 가동을 '중지' 및 '사용 안 함' 설정을 하거나, 부득이 사용할 경우 암호화 수준 설정 적용
    점검 및 조치 사례

    실행 → tsconfig.msc → 연결 → RDP-Tcp 속성 → 일반 탭 → 보안

    암호화 수준을 클라이언트 호환 가능으로 설정

    • 조치 시 영향
      • 암호화 수준 변경 시 일반적으로 영향 없음
    IIS 웹 서비스 정보 숨김
    취약점 개요
    • 점검내용
      • IIS 웹서비스 정보 숨김 설정 여부 점검
    • 점검목적
      • IIS 웹서비스 운용 시 에러 페이지, 웹 서버 종류, 사용 OS, 사용자 계정이름 등 웹 서버와 관련된 불필요한 정보가 노출되지 않도록 하기 위함
    • 보안위협
      • IIS 웹서비스 정보 숨김 설정이 적용되지 않은 경우 악의적인 사용자에게 불필요 한 정보가 노출되어 외부 공격을 위한 기초 자료로 이용될 수 있음
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 웹 서비스 에러 페이지가 별도로 지정되어 있는 경우
      • 취약 : 웹 서비스 에러 페이지가 별도로 지정되지 않아 에러 발생 시 중요 정보가 노출되는 경우
    • 조치방법
      • 발생 가능한 각 에러에 대한 별도의 웹 서비스 에러 페이지를 지정함
    점검 및 조치 사례

    실행 → inetmgr → 해당 웹 사이트 → IIS → 오류 페이지 → 기능 설정 편집

    서버 오류 발생 시 사용자 지정 오류 페이지를 반환하도록 설정, 경로 유형은 파일


    각 오류 코드별로 오류페이지의 경로를 지정, 오류 페이지 작성


    오류 페이지가 잘 출력되는 모습

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    SNMP 서비스 구동 점검
    취약점 개요
    • 점검내용
      • SNMP 서비스 구동 여부 점검
    • 점검목적
      • 취약한 SNMP 서비스를 비활성화 하여 시스템의 주요정보 유출 및 불법수정을 방지하기 위함
    • 보안위협
      • 취약한 SNMP 서비스를 사용하는 경우 서비스거부공격(DoS, DDoS), 버퍼 오버 플로우, 비인가 접속 등의 공격의 위험이 있음
    • 참고
      • SNMP:
        • SNMP(Simple Network Management Protocol)는 MIB(Management Information Bas e)에 기반한 네트워크 망을 관리하기 위한 목적으로 만들어진 프로토콜로, 간단한 명령으로 원격 시스템의 CPU정보에서부터, 인터페이스 트래픽량 등 여러 가지 정보를 확인 가능
    점검대상 및 판단기준
    • 대상
      • Windows 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : SNMP 서비스를 사용하지 않는 경우
      • 취약 : SNMP 서비스를 사용하는 경우
    • 조치방법
      • 불필요 시 서비스 중지/사용 안 함
    점검 및 조치 사례

    실행 → services.msc


    SNMP 서버 역할을 설치하지 않아서 SNMP Service가 서비스 목록에 없음

    • 조치 시 영향
      • SNMP사용 불가
    SNMP 서비스 커뮤니티스트링의 복잡성 설정
    취약점 개요
    • 점검내용
      • SNMP 서비스 커뮤니티 스트링(Community String) 적절성 점검
    • 점검목적
      • SNMP에서 일종의 패스워드로 사용하는 Community String을 유주할 수 없는 복잡한 값으로 변경하여 불필요한 시스템 정보 노출을 자단하기 위함
    • 보안위협
      • Community String 설정을 변경하지 않고 public, private 등 Default 설정 값으로 사용하는 경우, 기본 String 값을 통한 시스템의 주요 정보 및 설정 상태의 비인가자 노출 위험이 존재
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : SNMP 서비스를 사용하지 않거나 Community String이 public, private이 아닌 경우
      • 취약 : SNMP 서비스를 사용하며, Community String이 public, private인 경우
    • 조치방법
      • 불필요 시 서비스 중지/사용 안 함, 사용 시 Default Community String 변경
    점검 및 조치 사례
    • 조치 불필요
      • SNMP 서비스를 사용하지 않음
    • 조치 시 영향
      • NMS 또는, 별도의 툴에서 SNMP 서비스를 이용하여 서버를 모니터링 하는 경우, 통신하고자 하는 Server/Client에 모두 같은 Community String을 사용하여야 함.(서비스> SNMP> 등록 정보> 종속성 잠고)
    SNMP Access control 설정
    취약점 개요
    • 점검내용
      • SNMP 패킷 접근 제어 설정 여부 점검
    • 점검목적
      • SNMP 트래픽에 대한 접근 제어 설정을 하여 내부 네트워크로부터의 악의적인 공격을 차단하기 위함
    • 보안위협
      • SNMP Access control 설정을 적용하지 않아 인증되지 않은 내부 서버로부터의 SNMP 트래픽을 차단하지 않을 경우, 장치 구성 변경, 라우팅 테이블 조작, 악의적인 TFTP 서버 구동 등의 SNMP 공격에 노출될 수 있음
    • 참고
      • SNMP(v1, v2c)에서 클라이언트와 데몬간의 get_request(요청)와 get_response(응답) 과정 은 암호화가 아닌 평문으로 전송되므로 스니핑(sniffing)이 가능함
      • SNMP v3의 경우 인증을 위해 암호화가 제공
    점검대상 및 판단기준
    • 대상
      • Windows 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 특정 호스트로부터 SNMP 패킷 받아들이기로 설정되어 있는 경우
      • 취약 : 모든 호스트로부터 SNMP 패킷 받아들이기로 설정되어 있는 경우
    • 조치방법
      • 불필요 시 서비스 중지/사용 안 함, 사용 시 SNMP 패킷 수령 호스트 지정
    점검 및 조치 사례
    • 조치 불필요
      • SNMP 서비스를 사용하지 않음
    • 조치 시 영향
      • 일반적인 경우 영향 없음
    DNS 서비스 구동 점검
    취약점 개요
    • 점검내용
      • DNS 서비스의 동적 업데이트 설정 여부 점검
    • 점검목적
      • DNS 동적 업데이트를 비활성화 함으로 신뢰할 수 없는 원본으로부터 업데이트 를 받아들이는 위험을 차단하기 위함
    • 보안위협
      • DNS 서버에서 동적 업데이트를 사용할 경우 악의적인 사용자에 의해 신뢰할 수 없는 데이터가 받아들여질 위험이 존재함
    • 참고
      • 동적 업데이트:
        • DNS 정보에 변경 사항이 있을 때마다 DNS 클라이언트 컴퓨터가 자신의 리소스 레코드(zone 파일)를 DNS 서버에 자동으로 업데이트하는 기능으로 영역 레코드 수동 관리 작업을 줄일 수 있음
    점검대상 및 판단기준
    • 대상
      • Windows 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : DNS 서비스를 사용하지 않거나 동적 업데이트 "없음(아니오)"으로 설정되어 있는 경우
      • 취약 : 서비스를 사용하며 동적 업데이트가 설정되어 있는 경우
    • 조치방법
      • 일반적으로 동적 업데이트 기능이 필요 없으나 확인 필요
    점검 및 조치 사례

    실행 → dnsmgmt.msc → 해당 영역 속성


    동적 업데이트 없음으로 설정


    • 조치 시 영향
      • 일반적인 경우 영향 없음
    HTTP/FTP/SMTP 배너 차단
    취약점 개요
    • 점검내용
      • HTTP/FTP/SMTP 서비스 배너 차단 적용 여부 점검
    • 점검목적
      • HTTP/FTP/SMTP 서비스 접속 배너를 통한 불필요한 정보 노출을 방지하기 위함
    • 보안위협
      • 서비스 접속 배너가 차단되지 않은 경우 임의의 사용자가 HTTP, FTP, SMTP 접속 시도 시 노출되는 접속 배너 정보를 수집하여 악의적인 공격에 이용할 수 있음
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : HTTP, FTP, SMTP 접속 시 배너 정보가 보이지 않는 경우
      • 취약 : HTTP, FTP, SMTP 접속 시 배너 정보가 보여지는 경우
    • 조치방법
      • 사용하지 않는 경우 IIS 서비스 중지/사용 안 함, 사용 시 속성 값 수정
    점검 및 조치 사례
    • HTTP
    • FTP

      FileZilla Server에서 Welcome Message(로그인 시 보여지는 배너) 설정

    • SMTP

      시작 → 관리 도구 → IIS 6.0 관리자 → 서버 속성


      메타베이스 직접 편집 허용 체크


      %systemroot%\system32\inetsrv\MetaBase.xml 파일 수정하여 값 변경

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    Telnet 보안 설정
    취약점 개요
    • 점검내용
      • Telnet 서비스 구동 비활성화 및 취약한 인증 사용 여부 점검
    • 점검목적
      • 취약 프로토콜인 Telnet 서비스의 사용을 원칙적으로 금지하고, 부득이 이용할 경우 네트워크상으로 패스워드를 전송하지 않는 NTLM 인증을 사용하도록 하여 인증 정보의 노출을 차단하기 위함
    • 보안위협
      • Telnet 서비스는 평문으로 데이터를 송수신하기 때문에 Password 방식으로 인 증을 수행할 경우 ID 및 Password가 외부로 노출될 위험성이 있음
    • 참고
      • Windows 서버의 Telnet 서비스의 두 가지 인증 방법 •NTLM 인증: 암호를 전송하지 않고 negotiate/challenge/response 절자로 인증 수행 •Password 인증: 관리자 및 Telnet Clients 그룹에 포함된 ID/PW로 인증 수행
      • 기반시설 시스템에서 Telnet 서비스의 이용은 원칙적으로 금지하나, 조직에서 부득이 유사 기능을 활용해야 하는 경우 SSH를 사용하는 것을 권고함
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : Telnet 서비스가 구동 되어 있지 않거나 인증 방법이 NTLM인 경우
      • 취약 : Telnet 서비스가 구동 되어 있으며 인증 방법이 NTLM이 아닌 경우
    • 조치방법
      • 불필요 시 서비스 중지/사용 안 함 설정, 사용 시 인증 방법으로 NTLM만 사용
    점검 및 조치 사례

    실행 → cmd → 명령어 입력

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    불필요한 ODBC/OLE-DB 데이터소스와 드라이브 제거
    취약점 개요
    • 점검내용
      • 불필요한 ODBC/OLE-DB 데이터 소스와 드라이브 제거 여부 점검
    • 점검목적
      • 불필요한 데이터 소스 및 드라이버를 ODBC 데이터 소스 관리자 도구를 이용해 제거하여 비인가자에 의한 데이터베이스 접속 및 자료 유출을 자단하기 위함
    • 보안위협
      • 불필요한 ODBC/OLE-DB 데이터 소스를 통한 비인가자에 의한 데이터베이스 접 속 및 자료 유출 위험 존재
    • 참고
      • zone-transfer:
        • 특정 샘플 애플리케이션은 샘플 데이터베이스를 위해 ODBC 데이터 소스를 설치하거나 불필요한 ODBC/OLE-DB 데이터베이스 드라이버를 설치하므로 불필요한 데이터 소스나 드라이버는 ODBC 데이터 소스 관리자 도구를 이용해서 제거하는 것이 바람직함
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 시스템 DSN 부분의 Data Source를 현재 사용하고 있는 경우
      • 취약 : 시스템 DSN 부분의 Data Source를 현재 사용하고 있지 않은 경우
    • 조치방법
      • 사용하지 않는 불필요한 ODBC 데이터 소스 제거
    점검 및 조치 사례

    실행 → odbcad32.exe → 시스템 DSN 탭


    미사용 데이터소스 제거

    • 조치 시 영향
      • 애플리케이션에서 사용할 경우 양호
    원격터미널 접속 타임아웃 설정
    취약점 개요
    • 점검내용
      • 원격터미널 접속 타임아웃 설정 여부 점검
    • 점검목적
      • 조직에서 부득이 원격터미널 접속을 허용해야 할 경우, 원격터미널 접속 후 일정 시간 동안 이벤트가 발생하지 않은 호스트의 접속을 차단하여 비인가자의 불필요한 접근을 차단하고 정보의 노출을 방지하기 위함
    • 보안위협
      • 접속 타임아웃 값이 설정되지 않은 경우 유효 시간 내 비인가자의 시스템 접근 으로 인해 불필요한 내부 정보의 노출 위험이 존재함
    • 참고
      • 기반시설 시스템에서 원격 터미널 서비스의 이용은 원칙적으로 금지하나, 부득이 해당 기능을 활용해야 하는 경우 접속 타임아웃 설정 등의 보안 조지를 반드시 적용하여야 함
    점검대상 및 판단기준
    • 대상
      • Windows 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 원격제어 시 Timeout 제어 설정을 적용한 경우
      • 취약 : 원격제어 시 Timeout 제어 설정을 적용하지 않은 경우
    • 조치방법
      • Timeout 제어 설정 적용
    점검 및 조치 사례

    실행 → tsconfig.msc → 연결 → RDP-Tcp 속성 → 세션 탭


    사용자 설정 무시 체크, 유휴 세션 제한 30분으로 설정

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    예약된 작업에 의심스러운 명령이 등록되어 있는지 점검
    취약점 개요
    • 점검내용
      • 예약된 작업에 의심스러운 명령의 등록 여부 점검
    • 점검목적
      • 예약된 작업에 의심스러운 명령의 등록 여부 점검
    • 보안위협
      • 일정 시간마다 미리 설정해둔 프로그램을 실행할 수 있는 예약된 작업은 시작프로그램과 더불어서 해킹과 트로이 목마, 백도어를 설지하여 공격하기 좋은 루트로 사용될 수 있음
    점검대상 및 판단기준
    • 대상
      • Windows 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 불필요한 명령어나 파일 등 주기적인 예약 작업의 존재 여부를 주기적으로 점검하고 제거한 경우
      • 취약 : 불필요한 명령어나 파일 등 주기적인 예약 작업의 존재 여부를 주기적으로 점검하지 않거나, 해당 작업을 제거하지 않은 경우
    • 조치방법
      • 예약 작업에 대한 주기적인 확인
    점검 및 조치 사례

    실행 → cmd → 명령어 at를 입력하여 예약된 작업을 확인

    • 조치 시 영향
      • 예약작업을 잘못 삭제하는 경우 관련된 작업이 실행되지 않을 수 있음
    패치 관리 최신 HOT FIX 적용
    취약점 개요
    • 점검내용
      • 최신 Hot Fix 적용 여부 점검
    • 점검목적
      • •최신 Hot Fix를 설치하여 시스템 및 응용프로그램의 취약성을 제거하기 위함
    • 보안위협
      • 최신 Hot Fix가 즉시 적용되지 않은 경우 알려진 취약성으로 인한 시스템 공격 가능성 존재
    • 참고
      • Hot Fix보다 취약성을 이용한 공격도구가 먼저 출현할 수 있으므로 Hot Fix는 발표 후 가능 한 빨리 설치할 것을 권장함
      • Hot Fix
        • 즉시 교정되어야만 하는 주요한 취약점(주로 보안과 관련된)을 패치하기 위해 배포 되는 프로그램. 서비스팩이 발표된 이후 패치가 추가될 필요가 있을 때 별도로 발표됨
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 최신 Hotfix가 있는지 주기적으로 모니터링하고 반영하거나, PMS (Patch Management System) Agent가 설치되어 자동패치배포가 적용된 경우
      • 취약 : 최신 Hotfix가 있는지 주기적으로 모니터 절차가 없거나, 최신 Hotfix를 반영하지 않은 경우, 또한 PMS(Patch Management System) Agent가 설치되어 있지 않거나, 설치되어 있으나 자동패치배포가 적용되지 않은 경우
    • 조치방법
      • 최신 Hotfix 설치
    점검 및 조치 사례

    윈도우 자동 업데이트를 통해 최신 핫픽스 적용 완료

    • 조치 시 영향
      • 설치 후 시스템 재시작이 필요한 경우가 존재하며 설치에 따른 영향도 필요함
    백신 프로그램 업데이트
    취약점 개요
    • 점검내용
      • 사용 백신의 최신 업데이트 여부 점검
    • 점검목적
      • 백신의 최신 업데이트 상태를 유지하기 위함
    • 보안위협
      • 백신이 지속적, 주기적으로 업데이트 되지 않은 경우 계속되는 신종 바이러스의 출현으로 인한 시스템 공격의 우려가 존재
    • 참고
      • 네트워크망이 격리된 기반보호 시설의 경우, 시스템에 설치된 백신의 최신 업데이트 상태 유지를 위해 적절한 업데이트 절차 및 적용 방법 수립이 필요함
      • 관련 점검 항목 : A-26(상)
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 바이러스 백신 프로그램의 최신 엔진 업데이트가 설치되어 있거나, 망 격리 환경의 경우 백신 업데이트를 위한 절차 및 적용 방법이 수립된 경우
      • 취약 : 바이러스 백신 프로그램의 최신 엔진 업데이트가 설치되어 있지 않거나, 망 격리 환경의 경우 백신 업데이트를 위한 절차 및 적용 방법이 수립되지 않은 경우
    • 조치방법
      • 백신 환경설정 메뉴를 통해 DB 및 엔진의 최신 업데이트를 하도록 설정
    점검 및 조치 사례

    사용 중인 백신 프로그램 Avast Business Antivirus의 최신 빌드를 적용함

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    정책에 따른 시스템 로깅설정
    취약점 개요
    • 점검내용
      • 시스템 로깅 설정 여부 및 적절성 점검
    • 점검목적
      • 적절한 로깅 설정으로 유사 시 책임 추적을 위한 로그가 확보될 수 있게 하기 위함
    • 보안위협
      • 감사 설정이 구성되어 있지 않거나 감사 설정 수준이 너무 낮은 경우 보안 관련 문제 발생 시 원인을 파악하기 어려우며 법적 대응을 위한 중분한 증거 확보가 어려움
    • 참고
      • 감사 정책을 너무 강하게 설정할 경우, 보안 로그에 불필요한 항목이 많이 기록되므로 중요한 감사 항목 식별이 어려울 수 있으며, 시스템 성능에도 심각한 영향을 줄 수 있기 때문에 법적 요구 사항과 조직의 정책에 따라 꼭 필요한 로그를 남기도록 설정하여야 함
      • 윈도우 시스템은 보안 로그가 가득 차게 되는 경우 가장 오래된 감사 항목이 덮어 씌워짐
      • 관련 점검 항목 : A-20(상), A-85(하)
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 감사 정책 권고 기준에 따라 감사 설정이 되어 있는 경우
      • 취약 : 감사 정책 권고 기준에 따라 감사 설정이 되어 있지 않는 경우
    • 조치방법
      • 위와 같은 이벤트에 대한 추가적인 감사 설정
    점검 및 조치 사례

    실행 → secpol.msc → 로컬 정책 → 감사 정책


    실행 → secpol.msc → 고급 감사 정책 구성 → 계정 관리


    실행 → secpol.msc → 고급 감사 정책 구성 → 계정 로그온


    실행 → secpol.msc → 고급 감사 정책 구성 → DS 액세스


    실행 → secpol.msc → 고급 감사 정책 구성 → 로그온/로그오프


    실행 → secpol.msc → 고급 감사 정책 구성 → 시스템


    실행 → secpol.msc → 고급 감사 정책 구성 → 정책 변경

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    로그 관리 로그의 정기적 검토 및 보고
    취약점 개요
    • 점검내용
      • 로그의 정기적 검토 및 보고 여부 점검
    • 점검목적
      • 정기적인 로그 점검을 통해 안정적인 시스템 상태 유지 및 외부 공격 여부를 파악하기 위함
    • 보안위협
      • 로그의 검토 및 보고 절차가 없는 경우 외부 침입 시도에 대한 식별이 누락될 수 있고, 침입 시도가 의심되는 사례 발견 시 관련 자료를 분석하여 해당 장비에 대한 접근을 차단하는 등의 추가 조치가 어려움
    • 참고
      • 시스템 접속 기록, 계정 관리 로그 등 W-69(중) 점검 항목에서 설정한 보안 로그를 포함하여 응용 프로그램, 시스템 로그 기록에 대하여 주기적인 검토 및 보고가 필요함
      • 관련 점검 항목 : A-85(하), W-69(중)
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 접속기록 등의 보안 로그, 응용 프로그램 및 시스템 로그 기록에 대해 정기적으 로 검토, 분석, 리포트 작성 및 보고 등의 조치가 이루어지는 경우
      • 취약 : 위 로그 기록에 대해 정기적으로 검토, 분석, 리포트 작성 및 보고 등의 조치가 이루어 지지 않는 경우
    • 조치방법
      • 로그 기록 검토 및 분석을 시행하여 리포트를 작성하고 정기적으로 보고함
    점검 및 조치 사례
    • 로그의 정기적 검토
      • 적절한 감사 정책을 설정하고 이벤트 뷰어(eventvwr.exe)를 이용하여 로그를 정기적으로 검토 및 분석
    • 검토한 내용 보고
      • 매 1회, 이를 토대로 보고서를 작성하도록 권고함
    • 조치 시 영향
      • 일반적인 경우 영향 없음
    원격으로 엑세스 할 수 있는 레지스트리 경로
    취약점 개요
    • 점검내용
      • 원격 레지스트리 서비스 사용 여부 점검
    • 점검목적
      • 원격 레지스트리 서비스를 비활성화 하여 레지스트리에 대한 원격 접근을 차단 하기 위함
    • 보안위협
      • 원격 레지스트리 서비스는 액세스에 대한 인증이 취약하여 관리자 계정 외 다른 계정들에게도 원격 레지스트리 액세스를 허용할 우려가 있으며, 레지스트리에 대한 권한설정이 잘못되어 있는 경우 원격에서 레지스트리를 통해 임의의 파일을 실행 할 우려가 있음
    • 참고
      • 레지스트리:
        • 윈도우를 실행하는데 필요한 모든 환경설정 데이터를 모아 두는 중앙 저장소
      • 원격 레지스트리 서비스:
        • 원격지에 있는 컴퓨터를 한 곳에서 집중관리하기 위한 목적으로 원격 컴퓨터의 레지스트리에 접근할 수 있도록 하는 서비스
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : Remote Registry Service가 중지되어 있는 경우
      • 취약 : Remote Registry Service가 사용 중인 경우
    • 조치방법
      • 불필요시 서비스 중지 및 사용 안 함으로 설정
    점검 및 조치 사례

    실행 → services.msc → Remote Registry 속성


    시작 유형: 사용 안 함, 서비스 중지

    • 조치 시 영향
      • Remote Registry Service를 사용하는지 확인 필요
    이벤트 로그 관리 설정
    취약점 개요
    • 점검내용
      • 이벤트 로그 파일 용량 및 보관 기간 설정 점검
    • 점검목적
      • 유사 시 책임추적을 위해 주요 이벤트가 누락되지 않도록 이벤트 로그 파일의 크기 및 보관 기간을 적절하게 유지하기 위함
    • 보안위협
      • 이벤트 로그 파일의 크기가 충분하지 않을 경우 중요 로그가 저장되지 않을 위험이 있으며, 최대 보존 크기를 초과하는 경우 자동으로 덮어 씀으로써 중요 로그의 손실의 우려가 있음
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 최대 로그 크기 "10,240KB 이상"으로 설정, "90일 이후 이벤트 덮어씀" 을 설정한 경우
      • 취약 : 최대 로그 크기 "10,240KB 미만"으로 설정, 이벤트 덮어씀 기간이 "90일 이 하"로 설정된 경우
    • 조치방법
      • 최대 로그 크기 "10,204KB", "90일 이후 이벤트 덮어씀" 설정
    점검 및 조치 사례

    실행 → eventvwr → 해당 로그 속성


    최대 로그 크기 20MB, 필요 시 이벤트 덮어쓰기 설정/p>

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    원격에서 이벤트 로그파일 접근 차단
    취약점 개요
    • 점검내용
      • 원격에서 로그 파일의 접근을 차단하기 위한 권한 적절성 점검
    • 점검목적
      • 원격에서 로그 파일을 접근하는 것을 자단하여 로그 파일의 훼손 및 변조를 차단하기 위함
    • 보안위협
      • 원격 익명 사용자의 시스템 로그 파일에 접근이 가능한 경우 '중요 시스템 로그' 파일 및 '애플리케이션 로그' 등 중요 보안 감사 정보의 변조 삭제 유출의 위험이 존재
    • 참고
      • 로그 디렉토리 위지 •시스템 로그 디렉토리: %systemroot%Wsystem32Wconfig •IIS 로그 디렉토리: %systemroot%Wsystem32WLogFiles
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 로그 디렉토리의 접근권한에 Everyone 권한이 없는 경우
      • 취약 : 로그 디렉토리의 접근권한에 Everyone 권한이 있는 경우
    • 조치방법
      • 로그 디렉토리의 접근권한에 Everyone 제거
    점검 및 조치 사례

    시스템 로그가 저장되는 폴더의 접근권한에 Everyone 권한이 없음을 확인


    웹 로그가 저장되는 폴더의 접근권한에 Everyone 권한이 없음을 확인

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    보안 관리 백신 프로그램 설치
    취약점 개요
    • 점검내용
      • 시스템 내 백신 프로그램 설치 여부 점검
    • 점검목적
      • 적절한 백신 프로그램을 설치하여 바이러스 감염 여부 진단, 지료 및 파일 보호 를 통한 예방 조치를 위함
    • 보안위협
      • 백신 프로그램이 설지되지 않은 경우 웜, 트로이목마 등의 악성 바이러스로 인한 시스템 피해 위험이 있음
    • 참고
      • 웜:
        • 악의적인 목적을 가지고 자기 자신을 복제해 전파시키며 주로 네트워크 공유 폴더나 메일로 전파됨
      • 트로이목마:
        • 고의적으로 악의적 목적이 있는 파일, 주로 다른 악성코드나 위장된 프로그램 으로 전파되거나 인터넷을 통해 다운로드 됨
      • 관련 점검 항목 : A-26(상)
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 바이러스 백신 프로그램이 설치되어 있는 경우
      • 취약 : 바이러스 백신 프로그램이 설치되어 있지 않은 경우
    • 조치방법
      • 담당자를 통해 바이러스 반드시 설지하여야 하도록 함
    점검 및 조치 사례

    Avast Business Antivirus 최신 버전을 설치함

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    SAM 파일 접근 통제 설정
    취약점 개요
    • 점검내용
      • SAM 파일 접근 통제 설정 여부 점검
    • 점검목적
      • Administrator 및 System 그룹만 SAM 파일에 접근할 수 있도록 제한하여 악의적인 계정 정보 유출을 자단하고자 함
    • 보안위협
      • SAM 파일이 노출될 경우 패스워드 공격 시도로 인해 계정 및 패스워드 데이터 베이스 정보가 탈취될 우려 존재
    • 참고
      • SAM(Security Account Manager):
        • 사용자와 그룹 계정의 패스워드를 관리하고, LSA(Local Security Authority)를 통한 인증을 제공함
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : SAM 파일 접근권한에 Administrator, System 그룹만 모든 권한으로 설정되어 있는 경우
      • 취약 : SAM 파일 접근권한에 Administrator, System 그룹 외 다른 그룹에 권한이 설정되어 있는 경우
    • 조치방법
      • SAM 파일 권한 확인 후 Administrator, System 그룹 외 다른 그룹에 설정된 권한 제거
    점검 및 조치 사례

    %systemroot%\system32\config\SAM 파일 속성


    Administrators, SYSTEM 그룹만 접근 허용

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    화면보호기 설정
    취약점 개요
    • 점검내용
      • 시스템 화면보호기 설정 여부 점검
    • 점검목적
      • 사용자가 일정 시간 동안 아무런 작업을 수행하지 않을 경우 자동으로 로그오프 되거나 워크스테이션이 잠기도록 설정하여, 유휴 시간 내 불법적인 시스템 접근을 차단하기 위함
    • 보안위협
      • 화면보호기 설정을 하지 않은 경우 사용자가 자리를 비운 사이에 임의의 사용자 가 해당 시스템에 접근하여 중요 정보를 유출하거나, 악의적인 행위를 통해 시스템 운영에 악영향을 미질 수 있음
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 화면 보호기를 설정하고 대기 시간이 10분 이하의 값으로 설정되어 있으며, 화면 보호기 해제를 위한 암호를 사용하는 경우
      • 취약 : 화면 보호기가 설정되지 않았거나 암호를 사용하지 않은 경우 또는, 화면 보호기 대기 시간이 10분을 조과한 값으로 설정되어 있는 경우
    • 조치방법
      • 화면 보호기 사용, 대기 시간 10분, 암호 사용
    점검 및 조치 사례

    실행 → control → 디스플레이 → 화면 보호기 설정


    대기 시간은 10분으로 설정, 해제 시 암호를 사용하도록 설정

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    로그온 하지 않고 시스템 종료 허용 해제
    취약점 개요
    • 점검내용
      • 비로그온 사용자의 시스템 종료 허용 여부 점검
    • 점검목적
      • 시스템 로그온 창의 종료 버튼을 비활성화 시킴으로써 허가되지 않은 사용자를 통한 불법적인 시스템 종료를 방지하고자 함
    • 보안위협
      • 로그온 창에 "시스템 종료" 버튼이 활성화되어 있으면 로그인을 하지 않고도 불법적인 시스템 종료가 가능하여 정상적인 서비스 운영에 영향을 줌
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : '로그온 하지 않고 시스템 종료 허용'이 '사용 안 함'으로 설정되어 있는 경우
      • 취약 : '로그온 하지 않고 시스템 종료 허용'이 '사용'으로 설정되어 있는 경우
    • 조치방법
      • 시스템 종료: 로그온 하지 않고 시스템 종료 허용 -> 사용 안 함
    점검 및 조치 사례

    실행 → secpol.msc → 보안 옵션 → 시스템 종료: 로그온하지 않고 시스템 종료 허용

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    원격 시스템에서 강제로 시스템 종료
    취약점 개요
    • 점검내용
      • 원격 시스템 종료 정책 적절성 점검
    • 점검목적
      • 원격에서 네트워크를 통하여 운영 제제를 종료할 수 있는 사용자나 그룹을 설정 하여 특정 사용자만 시스템 종료를 허용하기 위함
    • 보안위협
      • 원격 시스템 강제 종료 설정이 부적절한 경우 서비스 거부 공격 등에 악용될 수 있음
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : '원격 시스템에서 강제로 시스템 종료' 정책에 'Administrators'만 존재하는 경우
      • 취약 : '원격 시스템에서 강제로 시스템 종료' 정책에 'Administrators' 외 다른 계정 및 그룹이 존재하는 경우
    • 조치방법
      • 원격 시스템에서 강제로 시스템 종료 --> Administrators
    점검 및 조치 사례

    실행 → secpol.msc → 로컬 정책 → 사용자 권한 할당 → 원격 시스템에서 강제 종료


    Administrators 그룹만 허용

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    보안감사를 로그할 수 없는 경우 즉시 시스템 종료 해제
    취약점 개요
    • 점검내용
      • '보안 감사를 로그할 수 없는 경우 즉시 시스템 종료' 정책 설정 여부 점검
    • 점검목적
      • 적절한 백신 프로그램을 설치하여 바이러스 감염 여부 진단, 지료 및 파일 보호 를 통한 예방 조치를 위함
    • 보안위협
      • 해당 정책을 비활성화 함으로써 로그 용량 조과 등의 이유로 이벤트를 기록할 수 없는 경우, 해당 정책으로 인해 시스템이 비정상적으로 종료되는 것을 방지하 기 위함
    • 참고
      • 일반적으로 보안 감사 로그가 꽉 찼을 때 보안 로그에 대한 보존 방법이 [이벤트를 덮어쓰 지 않음] 또는 [매일 이벤트 덮어쓰기]인 경우 이벤트가 로그되지 않음. 보안 로그가 꽉 자고 기존 항목을 덮어쓸 수 없을 때 해당 정책을 사용하는 경우 다음과 같은 중지 오류가 나타남
      • 중지: C0000244 {감사 실패}
        보안 감사를 만들려고 했으나 만들지 못했습니다.
        복구하려면 관리자가 로그온하여 로그를 보관한 다음 로그를 지우고 이 옵션을 원하는 대로 다시 설정해야 합니다. 이 보안 설정을 다시 설정할 때까지는 보안 로그가 꽉 자지 않았더라도 Administrators 그룹의 구성원이 아니면 어떤 사용자 도 시스템에 로그온할 수 없습니다.
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : '보안 감사를 로그할 수 없는 경우 즉시 시스템 종료' 정책이 '사용 안 함'으 로 되어 있는 경우
      • 취약 : '보안 감사를 로그할 수 없는 경우 즉시 시스템 종료' 정책이 '사용'으로 되어 있는 경우
    • 조치방법
      • 보안 감사를 로그할 수 없는 경우 즉시 시스템 종료 -> 사용 안 함
    점검 및 조치 사례

    실행 → secpol.msc → 보안 옵션 → 감사: 보안 감사를 로그할 수 없는 경우 즉시 시스템 종료

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    SAM 계정과 공유의 익명 열거 허용 안함
    취약점 개요
    • 점검내용
      • 'SAM 계정과 공유의 익명 열거 허용 안 함' 정책 설정 여부 점검
    • 점검목적
      • 익명 사용자에 의한 악의적인 계정 정보 탈쥐를 방지하기 위함
    • 보안위협
      • Windows에서는 익명의 사용자가 도메인 계정(사용자, 컴퓨터 및 그룹)과 네트워 크 공유 이름의 열거 작업을 수행할 수 있으므로 SAM(보안계정관리자) 계정과 공유의 익명 열거가 허용될 경우 악의적인 사용자가 계정 이름 목록을 확인하고 이 정보를 사용하여 암호를 주즉하거나 사회 공학적 공격기법을 수행할 수 있음
    • 참고
      • 방화벽과 라우터에서 135~139(TCP, UDP)포트 차단을 통해 외부로부터의 위협을 차단함
      • 네트워크 및 전화 접속 연결> 로컬 영역> 등록 정보> 고급> 고급 설정 > Microsoft 네트워크 파일 및 프린트 공유를 해제하여야 함
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 해당 보안 옵션 값이 설정 되어 있는 경우
      • 취약 : 해당 보안 옵션 값이 설정 되어 있지 않는 경우
    • 조치방법
      • 레지스트리 값 또는, 로컬 보안 정책 설정
    점검 및 조치 사례

    실행 → secpol.msc → 보안 옵션


    네트워크 액세스: SAM 계정의 공유의 익명 열거 허용 안 함


    네트워크 액세스: SAM 계정의 익명 열거 허용 안 함

    • 조치 시 영향
      • Active Directory, Clustered system 에서는 적용 시 영향 있음
    Autologin 기능 제어
    취약점 개요
    • 점검내용
      • Autologin 기능 제어 설정 여부 점검
    • 점검목적
      • Autologon 기능을 사용하지 않도록 설정하여 시스템 계정 정보 노출을 차단하기 위함
    • 보안위협
      • Autologon 기능을 사용하면 침입자가 해킹 도구를 이용하여 레지스트리에 저장 된 로그인 계정 및 패스워드 정보 유출 가능
    • 참고
      • Autologon:
        • 레지스트리에 암호화 되어 저장된 대제 증명을 사용하여 자동으로 로그인하는 기능
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : AutoAdminLogon 값이 없거나 0으로 설정되어 있는 경우
      • 취약 : AutoAdminLogon 값이 1로 설정되어 있는 경우
    • 조치방법
      • 해당 레지스트리 값이 존재하는 경우 0으로 설정
    점검 및 조치 사례

    실행 → regedit →

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon


    AutoAdminLogon 값 0으로 설정, DefaultPassword 값이 없음을 확인

    • 조치 시 영향
      • 반드시 자동 로그인을 사용하여야 할 경우를 제외하고는 일반적으로 영향 없음
    이동식 미디어 포맷 및 꺼내기 허용
    취약점 개요
    • 점검내용
      • 관리자 이외 NTFS 미디어 포맷 및 꺼내기 허용 여부 점검
    • 점검목적
      • 이동식 미디어의 NTFS 포맷 및 꺼내기가 허용되는 사용자를 관리 권한자로 제한함 으로써 관리 권한이 없는 사용자 및 비인가자에 의한 불법적인 이동식 미디어의 포맷 및 이동을 차단하기 위함
    • 보안위협
      • 관리자 이외 사용자에게 해당 정책이 설정된 경우 비인가자에 의한 불법적인 매체 처리를 허용할 수 있음
    • 참고
      • 해당 보안 설정은 이동식 NTFS 미디어를 포맷하거나 꺼낼 수 있는 사용자를 결정하는 옵션 으로 Administrators, Administrators 및 Power Users, Administrators 및 Interactive Users 그룹에 이 기능을 허용할 수 있음
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : '이동식 미디어 포맷 및 꺼내기 허용' 정책이 'Administrator'로 되어 있는 경우
      • 취약 : '이동식 미디어 포맷 및 꺼내기 허용' 정책이 'Administrator'로 되어 있지 않은 경우
    • 조치방법
      • 이동식 미디어 포맷 및 꺼내기 허용 -> Administrator
    점검 및 조치 사례

    실행 → secpol.msc → 보안 옵션 → 장치: 이동식 미디어 포맷 및 꺼내기 허용


    Administrators 그룹만 허용

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    디스크 볼륨 암호화 설정
    취약점 개요
    • 점검내용
      • 디스크볼륨 암호화 설정 여부 점검
    • 점검목적
      • 디스크볼륨 암호화 설정을 적용하여 비인가 액세스로부터 중요 데이터를 보호 하기 위함
    • 보안위협
      • 디스크 볼륨이 암호화 되어 있지 않은 경우 비인가자가 데이터를 열람할 수 있음
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : '데이터 보호를 위해 내용을 암호화' 정책이 선택된 경우
      • 취약 : '데이터 보호를 위해 내용을 암호화' 정책이 선택되어 있지 않은 경우
    • 조치방법
      • EFS(Encrypting File System) 활성화
    점검 및 조치 사례

    폴더 속성 → 고급 → 데이터 보호를 위해 내용을 암호화 체크

    • 조치 시 영향
      • 복호키 분실 시 데이터복구 어려움
    Dos 공격 방어 레지스트리 설정
    취약점 개요
    • 점검내용
      • DoS 공격 방어 레지스트리 설정 여부 점검
    • 점검목적
      • TCP/IP 스택(Stack)을 강화하는 레지스트리 값 변경을 통하여 DoS 공격을 방어 하기 위함
    • 보안위협
      • DoS 방어 레지스트리를 설정하지 않은 경우, DoS 공격에 의한 시스템 다운으로 서비스 제공이 중단될 수 있음
    • 참고
      • DoS(서비스 거부 공격):
        • 네트워크 사용자가 컴퓨터나 컴퓨터의 특정 서비스를 사용할 수 없도록 만들기 위한 네트워크 공격
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : DoS 방어 레지스트리 값이 아래와 같이 설정되어 있는 경우
      • 취약 : DoS 방어 레지스트리 값이 아래와 같이 설정되어 있지 않은 경우
        • SynAttackProtect(REG_DWORD) 값 1 또는 2
        • EnableDeadGWDetect(REG_DWORD) 값 0
        • KeepAliveTime(REG_DWORD) 값 300,000(5분)
        • NoNameReleaseOnDemand(REG_DWORD) 값 1
    • 조치방법
      • 위에 명시된 레지스트리 값을 추가 또는 변경하여 적용함
    설정에 참고할 사항
    레지스트리 값 이름 설명
    SynAttackProtect SYN-ACK 패킷의 기다리는 시간을 줄여 SYN 공격에 대한 방어 기능 기능을 설정할 수 있음

    0: SynAttack 프로텍션을 사용하지 않음

    1: 재전송 시도를 줄이고, route 캐쉬 엔트리를 지연시킴

    2: 1의 기능 외에도 Winsock에 대한 지시(indication)를 지연시킴

    EnableDeadGWDetect EnableDeadGWDetect를 0으로 설정하지 않으면 서버가 강제로 원하지 않는 Gateway로 전환될 수 있음

    0(False): 작동하지 않는 Gateway를 검색할 수 없음

    1(True): 작동하지 않는 Gateway를 검색할 수 있음

    KeepAliveTime idle connection을 확인하기 위하여 얼마나 자주 Keep-alive 패킷을 보낼지를 결정하는 값

    기본 값: 7,200,000(2시간)

    권장 값: 300,000(5분)

    NoNameReleaseOnDemand

    컴퓨터가 이름 해제 요청을 받을 때 NetBIOS 이름 해제 여부를 결정 하는 설정으로,

    이 값은 관리자가 악의적인 이름 해제 공격으로부터 컴퓨터를 보호할 수 있음

    0(False): 해당 기능 사용 안 함

    1(True): 해당 기능 사용

    점검 및 조치 사례

    실행 → regedit →

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters


    권장 값으로 설정

    • 조치 시 영향
      • 잘못된 값을 설정할 경우 OS를 재설치해야 할 수 있음
    사용자가 프린터 드라이버를 설치할 수 없게 함
    취약점 개요
    • 점검내용
      • 사용자의 프린터 드라이버 설치 차단 여부 점검
    • 점검목적
      • 일반 사용자를 통한 프린터 드라이버 설치를 차단하여 의도하지 않은 시스템 손상을 방지하기 위함
    • 보안위협
      • 서버에 프린터 드라이버를 설치하는 경우 악의적인 사용자가 고의적으로 잘못된 프린터 드라이버를 설치하여 컴퓨터를 손상시킬 수 있으며, 프린터 드라이버 로 위장한 악성 코드를 설치할 수 있음
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : '사용자가 프린터 드라이버를 설지할 수 없게 함' 정책이 '사용'인 경우
      • 취약 : '사용자가 프린터 드라이버를 설치할 수 없게 함' 정책이 '사용 안 함'인 경우
    • 조치방법
      • 사용자가 프린터 드라이버를 설치할 수 없게 함 -> 사용
    점검 및 조치 사례

    실행 → secpol.msc → 보안 옵션 → 장치: 사용자가 프린터 드라이버를 설치할 수 없게 함

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    세션 연결을 중단하기 전에 필요한 유휴시간
    취약점 개요
    • 점검내용
      • 세션 연결 중단 시 유휴시간 설정 여부 점검
    • 점검목적
      • 세션이 중단되기 전에 SMB(서버 메시지 블록) 세션에서 보내야 하는 연속 유휴 시간을 결정하여 서비스 거부 공격 등에 악용되지 않도록 하기 위함
    • 보안위협
      • SMB 세션에서는 서버 리소스를 사용하며, null(공백) 세션수가 많으면 서버 속도가 느려지거나 서버에 오류를 발생시킬 수 있으므로 공격자는 이를 악용하여 SMB 세션을 반복 설정하여 서버의 SMB 서비스가 느려지거나 응답하지 않게 하여 서비스 거부 공격을 실행할 수 있음
    • 참고
      • Administrator는 이 정책을 활성화하여 컴퓨터가 비활성 SMB 세션을 중단하는 시점을 제어할 수 있으며, 클라이언트를 다시 시작하면 해당 세션은 자동으로 다시 연결됨. 이 정책의 값을 0으로 설정하면 가능한 한 빨리 유휴 세션 연결은 끊어지며, 죄대값은 99999(208일)로 사실상 정책 설정 해제를 의미함
      • SMB(서버 메시지 블록):
        • LAN이나 컴퓨터 간의 통신에서 데이터 송수신을 하기 위한 프로토콜
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : '로그온 시간이 만료되면 클라이언트 연결 끊기' 정책을 '사용'으로, '세션 연결을 중단하기 전에 필요한 유휴 시간' 정책을 '15분'으로 설정한 경우
      • 취약 : '로그온 시간이 만료되면 클라이언트 연결 끊기' 정책이 '사용 안 함'으로, '세션 연결을 중단하기 전에 필요한 유휴 시간' 정책이 '15분'으로 설정되어 있지 않은 경우
    • 조치방법
      • 로그온 시간이 만료되면 클라이언트 연결 끊기 -> 사용 세션 연결을 중단하기 전에 필요한 유휴 시간 -> 15분
    점검 및 조치 사례

    실행 → secpol.msc → 보안 옵션


    Microsoft 네트워크 서버: 로그온 시간이 만료되면 클라이언트 연결 끊기

    Microsoft 네트워크 서버: 세션을 중단하기 전에 필요한 유휴 시간

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    경고 메시지 설정
    취약점 개요
    • 점검내용
      • 로그온 시 경고 메시지 출력 여부 점검
    • 점검목적
      • 로그온 시 경고 메시지를 설정하여 시스템에 로그온을 시도하는 사용자들에게 관리자는 시스템의 불법적인 사용에 대하여 경고창을 띄움으로써 경각심을 주기 위함
    • 보안위협
      • 로그온 경고 메시지가 없는 경우 악의적인 사용자에게 관리자가 적절한 보안수준으로 시스템을 보호하고 있으며, 공격자의 활동을 주시하고 있다는 생각을 상기 시킬 수 없어 간접적인 공격 기회를 제공할 우려 있음
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 로그인 경고 메시지 제목 및 내용이 설정되어 있는 경우
      • 취약 : 로그인 경고 메시지 제목 및 내용이 설정되어 있지 않은 경우
    • 조치방법
      • 로그인 메시지 제목 및 메시지 내용에 경고 문구 삽입
    점검 및 조치 사례

    실행 → secpol.msc → 보안 옵션


    대화형 로그온: 로그온을 시도하는 사용자에 대한 메시지 제목, 텍스트 각각 설정

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    사용자별 홈 디렉터리 권한 설정
    취약점 개요
    • 점검내용
      • 사용자 홈 디렉토리 권한 적절성 점검
    • 점검목적
      • 사용자 홈 디렉토리에 적절한 권한을 부여하여 비인가 사용자에 의한 불필요한 정보 노출을 방지하기 위함
    • 보안위협
      • 사용자 계정별 홈 디렉토리의 권한이 제한되어 있지 않은 경우 임의의 사용자나 다른 사용자의 홈 디렉토리에 악의적인 목적으로 접근할 수 있으며, 접근 후 의도 또는, 의도하지 않은 행위로 시스템에 악영향을 미질 수 있음
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 홈 디렉토리에 Everyone 권한이 없는 경우 (All Users, Default User 디렉토리 제외)
      • 취약 : 홈 디렉토리에 Everyone 권한이 있는 경우
    • 조치방법
      • Everyone 권한 제거
    점검 및 조치 사례

    홈 폴더 속성에서 다른 일반 유저와 Everyone의 권한을 삭제

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    LAN Manager 인증 수준
    취약점 개요
    • 점검내용
      • LAN Manager 인증 수준 적절성 점검
    • 점검목적
      • Lan Manager 인증 수준 설정을 통해 네트워크 로그온에 사용할 Challenge/Res ponse 인증 프로토콜을 결정하며, 안전한 인증 절차를 적용하기 위함
    • 보안위협
      • 안전하지 않은 LAN Manager 인증 수준을 사용하는 경우 인증 트래픽을 가로채기를 통해 악의적인 계정 정보 노출을 허용할 수 있음
    • 참고
      • LAN Manager는 네트워크를 통한 파일 및 프린터 공유 등과 같은 작업시 인증을 담당. NTLMv2는 Windows 2000, 2003, XP 이상에서 지원되며, Windows 98, NT 버전과 통신할 경우 패치를 설지하여야 함
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 'LAN Manager 인증 수준' 정책에 'NTLMv2 응답만 보냄'이 설정되어 있는 경우
      • 취약 : 'LAN Manager 인증 수준' 정책에 'LM' 및 'NTLM'인증이 설정되어 있는 경우
    • 조치방법
      • Windows 2000: LAN Manager 인증 7수준 -> NTLMv2 응답만 보냄 Windows 2003: 네트워크 보안: LAN Manager 인증 수준 -> NTMLv2 응답만 보냄 Windows 2008: 네트워크 보안: LAN Manager 인증 수준 -> NTMLv2 응답만 보냄 Windows 2012: 네트워크 보안: LAN Manager 인증 수준 -> NTMLv2 응답만 보냄
    점검 및 조치 사례

    실행 → secpol.msc → 보안 옵션 → 네트워크 보안: LAN Manager 인증 수준 속성

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    보안 채널 데이터 디지털 암호화 또는 서명
    취약점 개요
    • 점검내용
      • '보안 채널 데이터 디지털 암호화 또는 서명' 정책 적절성 점검
    • 점검목적
      • 해당 정책을 활성화하여 보안 채널의 서명 또는 암호화가 협상되지 않는 한 보안 채널을 확립하지 않기 위함
    • 보안위협
      • 보안 채널이 암호화 되지 않은 경우 인증 트래픽 끼어들기 공격, 반복 공격 및 기타 유형의 네트워크 공격 등의 위험 존재
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 아래 3가지 정책이 '사용'으로 되어 있는 경우
      • 취약 : 아래 3가지 정책이 '사용 안 함' 으로 되어 있는 경우
      • •도메인 구성원: 보안 재널 데이터를 디지털 암호화 또는, 서명(항상) •도메인 구성원: 보안 재널 데이터를 디지털 암호화(가능한 경우) •도메인 구성원: 보안 재널 데이터를 디지털 서명(가능한 경우)
    • 조치방법
      • 보안 채널 데이터를 디지털 암호화 서명 관련 3개 정책 -> 사용
    점검 및 조치 사례

    실행 → secpol.msc → 보안 옵션


    도메인 구성원: 보안 채널 데이터 관련 옵션 모두 각각 사용으로 설정

    • 조치 시 영향
      • 도메인 구성원만 해당되며, Windows 98/NT와 파일 및 프린터 공유 등의 작업을 하지 않는 경우 일반적으로 영향 없음
    파일 및 디렉터리 보호
    취약점 개요
    • 점검내용
      • NTFS 파일 시스템 사용 여부 점검
    • 점검목적
      • FAT 파일 시스템에 비해 보다 강화된 보안 기능을 제공하는 파일 시스템을 사용하기 위함 (파일과 디렉토리에 소유권과 사용 권한 설정이 가능하고 ACL(접근 통제 목록)을 제공)
    • 보안위협
      • FAT 파일 시스템 사용 시 사용자별 접근 통제를 적용할 수 없어 중요 정보에 대한 책임 추적성 확보가 어려움
    • 참고
      • 기존에 FAT 파일 시스템을 사용하다가 NTFS로 변환하기 위해서는 convert.exe 명령을 사용할 수 있지만 FAT 파일 시스템으로 운영 중 변환해야 하는 경우 Default ACL이 적용되 지 않으므로 가능한 초기 설치 시 NTFS 파일 시스템을 선택하는 것을 권장함
      • 최근 운영제제 버전에서는 FAT32 파일 시스템을 지원하지 않으나 기존 FAT32 에서 NTFS 변환 가능
      • NTFS, FAT 파일 시스템 비교: FAT32에는 NTFS가 제공하는 보안 기능이 없으므로 컴퓨터에 FAT32 파티션 또는, 볼륨이 있는 경우 컴퓨터에 액세스 가능한 모든 사용자가 파일을 읽을 수 있으며 FAT32에는 크기 제한이 있음
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : NTFS 파일 시스템을 사용하는 경우
      • 취약 : FAT파일 시스템을 사용하는 경우
    • 조치방법
      • FAT파일 시스템을 사용하고 있다면, 가급적 NTFS 파일 시스템으로 변환
    점검 및 조치 사례

    실행 → cmd → convert [드라이브] /fs:ntfs 명령어 입력

    • 조치 시 영향
      • 파일시스템을 변환할 경우 기존 파일시스템에 영향을 줄 수 있음
    컴퓨터 계정 암호 최대 사용 기간
    취약점 개요
    • 점검내용
      • 컴퓨터 계정 암호 최대 사용 기간 설정 여부 점검
    • 점검목적
      • 컴퓨터 계정 암호 최대 사용 기간을 설정하기 위함
    • 보안위협
      • 기본적으로 도메인 구성원은 도메인 암호 변경 주기가 적절하지 않은 경우공격 자가 무단 공격을 실행하여 하나 이상의 컴퓨터 계정 암호를 주즉하기에 중분한 시간을 제공할 수 있음
    • 참고
      • 도메인 구성원이 해당 컴퓨터 계정 암호를 정기적으로 변경할지를 결정할 수 있으며, 기본 적으로 도메인 구성원이 사용하는 도메인 암호 변경 기간은 '자동'으로 설정되어 있음
    점검대상 및 판단기준
    • 대상
      • Windows NT, 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : '컴퓨터 계정 암호 변경 사용 안 함' 정책을 사용하지 않으며, '컴퓨터 계정 암호 죄대 사용 기간' 정책이 '90일'로 설정되어 있는 경우
      • 취약 : '컴퓨터 계정 암호 변경 사용 안 함' 정책이 '사용'으로 설정되어 있거나 '컴퓨터 계정 암호 죄대 사용 기간' 정책이 '90일' 로 설정되어 있지 않은 경우
    • 조치방법
      • 컴퓨터 계정 암호 변경 사용 안 함 -> 사용 안 함 컴퓨터 계정 암호 죄대 사용 기간 -> 90일
    점검 및 조치 사례

    실행 → secpol.msc → 보안 옵션


    도메인 구성원: 컴퓨터 계정 암호 변경 사항 사용 안 함


    도메인 구성원: 컴퓨터 계정 암호의 최대 사용 기간

    • 조치 시 영향
      • 도메인 구성원만 해당되며 일반적으로 영향 없음
    시작 프로그램 목록 분석
    취약점 개요
    • 점검내용
      • 시작프로그램 목록 내 불필요한 항목 존재 여부 점검
    • 점검목적
      • 불필요한 시작 프로그램을 삭제하거나 비활성화 하여 악의적인 공격을 차단하기 위함
    • 보안위협
      • 윈도우 부팅 시 너무 많은 시작프로그램이 동시에 실행되면 속도가 저하되는 문제가 발생하며, 공격자가 심어놓은 악성 프로그램이나 해킹툴이 실행되어 시 스템에 피해를 줄 수 있음
    점검대상 및 판단기준
    • 대상
      • Windows 2000, 2003, 2008, 2012
    • 판단기준
      • 양호 : 시작프로그램 목록을 정기적으로 검사하고 불필요한 서비스 제크해제를 한 경우
      • 취약 : 시작프로그램 목록을 정기적으로 검사하지 않고, 부팅 시 불필요한 서비스도 실행되고 있는 경우
    • 조치방법
      • 시작프로그램 목록의 정기적인 검사 실시 및 불필요한 서비스 비활성화
    점검 및 조치 사례

    실행 → msconfig → 시작프로그램 탭


    꼭 필요한 항목만 존재하는 것을 확인

    • 조치 시 영향
      • 일반적인 경우 영향 없음
    DB 관리 Windows 인증 모드 사용
    취약점 개요
    • 점검내용
      • DB 로그인 시 Windows 인증 모드 적절성 점검
    • 점검목적
      • 적절한 Windows 인증 모드를 적용하여 적합한 복잡성 수준을 유지하기 위함
    • 보안위협
      • 혼합 인증모드를 사용하고 sa 계정이 활성화 되어 있는 경우, 잘 알려진 sa 계정 에 대한 계정 추측공격의 우려 존재
    • 참고
      • 데이터베이스 엔진 인증 모드에는 Windows 인증 모드와 SQL Sever가 있는 혼합 모드 두 가지 구성이 있음. Windows 인증 모드 선택 시 SQL Sever 인증을 위해서 설치 프로그램은 sa라는 비활성화 된 계정을 생성하고, 이 계정은 혼합 모드를 사용함으로써 활성화 됨. sa 계정은 일반 사용자들에게 잘 알려진 만큼 쉽게 공격의 대상이 될 수 있으므로 꼭 필요하지 않는 경우 비활성화 하고, 만약 필요하다면 강력한 암호 제계를 사용하여야 함
      • Windows 인증은 kerberos 보안프로토콜을 사용하며, 강력한 암호정책을 적용하여 적합한 복잡성 수준을 유지함. 또한, 계정 잠금 및 암호만료를 지원하고 SQL 서버가 Windows에서 제공 하는 자격증명을 신뢰한 트러스트 연결을 사용하기 때문에 Windows 인증 모드 사용을 권고함
      • sa 계정:
        • 데이터베이스 서버 설치 시 자동으로 생성되며 DB서버 관리자 계정
      • kerberos 보안프로토콜:
        • 개방된 컴퓨터 네트워크 내에서 서비스 요구를 인증하기 위한 보안 시스템
    점검대상 및 판단기준
    • 대상
      • Windows 2003, 2008, 2012
    • 판단기준
      • 양호 : Windows 인증 모드를 사용하고 sa계정이 비활성화되어 있는 경우 sa계정 사용 시 강력한 암호정책을 설정한 경우
      • 취약 : 혼합 인증 모드를 사용하고, 활성화 된 sa 계정에 대해 강력한 암호정책 설정 을 하지 않은 경우
    • 조치방법
      • Windows 인증 모드 사용
    점검 및 조치 사례
    • 조치 불필요
      • MS-SQL 대신 MySQL 서버 사용 중
    • 조치 시 영향
      • 일반적인 경우 영향 없음