본문 바로가기

교육 및 자격증/정보보안기사 : 실기

sec2 UNIX, Linux 서버 취약점; sec3 윈도우 서버 취약점

728x90

sec2 UNIX, Linux 서버 취약점

1. 계정 관리

(1) root 이외의 UID가 0 금지

1) 개요

- root와 동일한 UID를 가진 계정 존재 시 root 권한으로 시스템 접근이 가능하므로 root의 UID를 가진 계정이 존재하지 않도록 확인

2) 보안설정

(가) /etc/passwd 파일 내 uid 확인

 - root의 UID가 0인 경우 다른 값을 부여하거나 불필요한 경우 계정을 삭제하낟.

(나) UID 변경 - OS 별

 

(2)  패스워드 복잡성 설정

 - 사용자 계정 암호를 유추하기 쉽게 설정할 경우 비인가자의 시스템 접근을 허용하게 하는 위험이 존재

(3) 패스워드 최소 길이 설정

 - 패스워드 무차별 공격이나 패스워드 추측 공격을 피하기 위해 패스워드 최소 길이 설정 필요

 - 각 OS별 패스워드 정책 설정파일 점검

solaris - cat /etc/default/passwd

linux - cat /etc/login.defs

aix - cat /etc/security/user

hip-ux - cat /etc/default/security

(4) 패스워드 최대 사용기간 설정

 

(5) 패스워드 최소 사용기간 설정

 

(6) 패스워드 파일 보호

 

(7) Session Timeout 설정

 

2. 파일 및 디렉터리 관리

(1) root 홈, 패스 디렉터리 권한 및 패스 설정

① root 계정의 PATH 환경변수에 {.}이 포함되어 있으면 root 계정으로 접속한 관리자가 의도하지 않은 현재 디렉터리에 위치하고 있는 명령어가 실행될 수 있다. 즉 {.}이 /usr/bin, /bin, /sbin 등 명령어들이 위치하고 있는 디렉터리보다 우선하여 위치하고 있을 경우 root 계정으로 접속한 관리자가 특정 명령을 실행하면 불법적으로 현재 디렉터리에 위치시킨 파일을 실행하여 예기치 않은 결과를 가져올 수 있다.

② Path 환경변수에 {.}이 맨 앞 또는 중간에 위치하고 있으면 root가 의도하지 않은 명령이 실행될 수 있으므로 path 환경변수의 마지막으로 이동시키거나 불필요한 경우 삭제한다.

 

3) 보안설정

 $PATH 변수를 확인하여 경로 맨 앞 또는 중간에 {.}가 포함되어 있는지 여부를 확인하여 맨 뒤로 이동시키거나 불필요한 경우 삭제한다.

 

 

(2) 파일 및 디렉터리 소유자/소유그룹 설정

1) 개요

소유자/소유그룹이 존재하지 않는 파일 및 디렉터리는 현재 없는 소유자/소유그룹의 소유였거나 관리 소홀로 인해 생긴 파일일 가능성이 있다.

사용하지 않는 디렉터리나 파일일 경우 시스템 자원 낭비가 될 수 있고 중요 파일 및 디렉터리일 경우 관리가 되지 않는 문제가 있다.

2) 보안설정

(가) 소유자 또는 소유그룹이 존재하지 않는 파일/디렉터리 검색

 - find 명령의 -nouser(소유자 없음), -nogroup(소유 그룹 없음) 옵션을 통해 소유자/소유그룹이 존재하지 않는 파일/디렉터리 검색

(나) 파일 소유자/소유그룹 변경 또는 불 필요시 삭제

  • chown(소유자 변경), chgrp(소유 그룹 변경) 명령을 통해 소유자/소유그룹을 변경한다.

 

(3) world writable 파일 점검

 

 - 개요

 : 모든 사용자(others)에게 쓰기 권한이 부여되어 있는 파일을 말한다.

모든 사용자가 접근 및 수정할 수 있는 권한으로 설정된 파일이 존재할 경우 일반 사용자의 실수 또는 악의적으로 주요 파일 정보를 변경할 수 있기 때문에 시스템 장애나 추가적인 공격에 활용될 수 있다.

 

 - 보안 설정

(가) world writable파일 디렉터리 검색

  • find 명령의 "-perm -2" 옵션을 통해 others에 쓰기 권한 부여된 파일 검색

(나) 모든 사용자에 쓰기 권한을 제거하거나 불필요한 파일/디렉터리일 경우 삭제한다.

  • 대상 파일/디렉터리에 chmod 명령을 이용하여 others에 쓰기 권한을 제거(-w)하거나 rm 명령을 이용하여 삭제한다.

(4) 주요 파일 소유자 및 권한 설정

① /etc/passwd

: 사용자 정보를 담고 있는 파일로 root 소유의 644 이하의 권한을 설정한다.

② /etc/shadow

: 사용자의 암호호된 패스워드 정보를 담고 있는 파일로 root이외에는 접근을 못하도록 root 소유의 400이하의 권한을 설정

③ /etc/hosts

: IP와 호스트 이름을 매핑하는데 사용되는 파일로 외부의 불법적인 접근에 의한 조작 시 악의적인 시스템에 접근할 가능성이 있으므로 root 소유의 600이하의 권한을 설정한다.

④ /etc/inetd.conf

: inetd 데몬에 대한 설정파일로 외부의 불법적인 접근에 의해 악의적인 프로그램을 등록하고 root 권한으로 실행할 가능성이 있으므로 root 소유의 600이하의 권한을 설정한다.

⑤ /etc/syslog.conf

: syslogd 데몬에 대한 설정파일로 주요 로그파일에 대한 설정 정보를 가지고 있다. 해당 파일의 접근권한이 적절하지 않아 외부으 ㅣ불법적인 접근에 의해 변경되는 경우 시스템 로그가 정상적으로 기록되지 않아 침입자의 흔적 또는 시스템 오류 사항을 정확히 분석할 수 없으므로 root이외의 사용자는 해당 파일을 변경할 수 없도록 root 소유의 644이하의 권한을 설정한다.

⑥ /etc/services

: 서비스관리 정보를 담고 있는 파일로 접근권한이 적절하지 않아 외부의 불법적인 접근에 의해 변경되는 경우 정상적인 서비스를 제하하거나 허용되지 않은 서비스를 등록하는 등의 위험이 있으므로 root 소유의 644이하의 권한을 설정한다.

 

sec3 윈도우 서버 취약점

1. 계정 관리

(1) Administrator 계정 이름 변경

 

(2) Guest 계정 사용 제한

 

(3) 불필요한 계정 제거

 

(4) 관리자 그룹에 최소한의 사용자 포함

 

(5) 암호/패스워드 정책 설정

 

(6) 계정 잠금 정책

 

2. 서비스 관리

(1) 하드디스크 기본 공유 제거

① windows 는 프로그램 및 서비스를 네트워크나 컴퓨터 환경에서 관리하기 위해 시스템 기본 공유 항목을 자동으로 생성한다.

  • 하드디스크 기본 공유 : C$, D$ 등
  • 원격 관리 및 및 IPC용 기본 공유 : ADMIN$, IPC$

② 하드디스크 기본 공유인 c,d등을 제거하지 않으면 기본 공유 폴더를 통해 인가받지 않은 사용자가 하드디스크 내의 폴더나 파일에 접근하거나 바이러스가 침투하는 경로가 될 수 있다.

net share C$ /delete 로 c공유 금지 가능

 

(2) 공유권한 및 사용자 그룹 설정

 - 공유 폴더에 everyone 그룹이 포함되어 있으면 익명 사용자에 의한 접근이 가능하므로 제거하도록 한다.

(3) 불필요한 서비스 제거

 주요 취약한 서비스

  • Alerter : 서버에서 클라이언트로 경고 메시지를 보낸다.
  • Clipbook : 서버 내 Clipbook을 다른 클라이언트와 공유
  • messenger : net send 명령어를 이용하여 클라이언트에 메시지를 보낸다.
  • simple TCP/IP Services(Echo, Discard, Character Generator, Daytime, Quote of the Day)

 

3. 로그 관리

(1) 감사정책 설정

윈도우 운영체제에서 말하는 감사정책은 어떤 로그를 남길지를 정의한 규칙을 말한다. 감사 정책을 설정하게 되면 감사 정책에 의해 지정한 이벤트 범주에 대해서만 로그가 남는다.

감사 설정이 구성되어 있지 않거나 감사 설정 수준이 낮으면 보안 관련 문제 발생 시 원인 파악이 힘들다.

 

 - 참고

정보보안기사 실기 알기사 책