IT/정보보안기사

시스템 보안 - 6장. Unix/Linux 서버 취약점

다파라파라 2023. 7. 26. 17:57

1. 계정/패스워드 관리

1. root 이외의 UID가 0 금지하고 UID=0인 경우 0이 아닌 적절한 UID 부여하거나 불필요할 경우 삭제

2. 패스워드 복잡성 설정
  - 패스워드를 유추하기 쉽게 설정할 경우 비인가자에게 패스워드 유출 위험 발생 가능하여
    부적절한 패스워드 유형은 패스워드 생성시 제외한다.
부적절한 패스워드 유형
  - 사전에 나오는 단어나 이들의 조합
  - 길이가 너무 짧거나 공백(NULL)인 패스워드
  - 키보드 자판의 일련순 (예) zxcv, qwer, 1234 등
  - 사용자 계정 정보에서 유추 가능한 단어( ex : 이름, 지역, 회사, 부서명, 전화번호 등)

3. 패스워드 최소 길이 설정
  - 패스워드 무차별 공격(Brute Force Attack)이나 패스워드 추측 공격(Password Guessing)을
    피하기 위하여 패스워드 최소 길이 설정 필요하다.
OS별 설정 파일 및 설정 값
  - SOLARIS #cat /etc/default/passwd
    PASSLENGTH = 8
  - LINUX #cat /etc/login.defs
    PASS_MIN_LEN 8
  - HP-UX #cat /etc/default/security
    MIN_PASSWORD_LENGTH = 8
  - AIX #cat /etc/security/user
    minlen = 8

4. 패스워드 최대 사용기간 설정
  - 패스워드 최대 사용기간을 설정하지 않은 경우 일정 기간 경과 후에도 유출된 패스워드로 접속하는
    피해를 차단하기 위해 패스워드 최대 사용기간을 90일 12주로 설정한다.
OS별 설정 파일 및 설정 값
  - SOLARIS #cat /etc/default/passwd
    MAXWEEKS = 12(단위 : 주)
  - LINUX #cat /etc/login.defs
    PASS_MAX_DAYS 90(단위 : 일)
  - HP-UX #cat /etc/default/security
    PASSWORD_MAXDAYS = 90(단위 : 일)
  - AIX #cat /etc/security/user
    maxage = 12(단위 : 주)
5. 패스워드 최소 사용기간 설정
  - 패스워드 최소 사용기간을 설정하지 않을 경우 사용자에게 익숙한 패스워드로 변경이 가능하며
    이를 재사용함으로써 유출된 패스워드로 재설정 될 수 있다.
OS별 설정 파일 및 설정 값
  - SOLARIS #cat /etc/default/passwd
    MINWEEKS = 1(단위 : 주)
  - LINUX #cat /etc/login.defs
    PASS_MIN_DAYS 1(단위 : 일)
  - HP-UX #cat /etc/default/security
    PASSWORD_MINDAYS = 1(단위 : 일)
  - AIX #cat /etc/security/user
    minage = 1(단위 : 주)

6. 패스워드 파일 보호
  - 패스워드 정보를 평문으로 저장하는 경우 정보 유출 피해가 발생할 수 있으므로 패스워드를
    암호화하여 보호하여야 한다.
OS별 설정 파일 및 설정 값
  - SOLARIS, LINUX
   1. /etc/shadow 파일 존재 확인

   2. /etc/passwd 파일 내 두 번째 필드가 “x” 표시되는지 확인
     #cat /etc/passwd
     root:x:0:0:root:/root:/bin/bash
  - AIX
    AIX 서버는 기본적으로 “/etc/security/passwd” 파일에 패스워드를 암호화하여 저장

  - HP-UX
   1. /tcb 대렉터리 존재 확인

   2. /etc/passwd 파일 내 두 번째 필드가 “x” 표시되는지 확인
     * HP-UX 서버는 Trusted Mode로 전환할 경우 패스워드를 암호화하여
     “/tcb/files/auth” 디렉터리에 계정 이니셜과 계정 이름에 따라 파일로 저장
 
7. Session Timeout 설정
  - 계정이 접속된 상태로 방치될 경우 비인가자에게 중요 시스템이 노출되어 악의적인 목적으로 사용될 수
    있으므로 일정 시간 이후 이벤트가 발생하지 않으면 연결을 종료하는 Session Timeout 설정을 
    600초(10분) 이하로 설정해야 한다.
OS별 설정 파일 및 설정 값
 <sh, ksh, bash 사용 시>
  #cat /etc/profile(.profile)
  TMOUT = 600
  export TMOUT
<csh 사용 시>
  #cat /etc/csh.login 또는 cat /etc/csh.cshrc
  set autologout = 10

2. 파일 및 디렉터리 관리

1. root 홈, 패스 디렉터리 권한 및 패스 설정
  - PATH 환경변수에 “.”이 맨 앞 또는 중간에 위치하고 있으면 root가 의도하지 않은 명령이 실행될 수
    있으므로 PATH 환경변수의 마지막으로 이동시키거나 불필요한 경우 삭제한다.
SHELL 유형별 환경설정파일
  /bin/sh       /etc/profile, $HOME/.profile
  /bin/bash   /etc/profile, $HOME/.bash_profile
  /bin/ksh     /etc/profile, $HOME/.profile, $HOME/kshrc
  /bin/csh     /etc/.login, $HOME/.cshrc, $HOME/.login

2. 파일 및 디렉터리 소유자/소유그룹 설정
  - 소유자/소유그룹이 존재하지 않는 파일 및 디렉터리는 현재 없는 소유자/소유그룹(퇴직, 전직, 휴직 등)의
    소유였거나, 관리 소홀로 인해 생긴 파일일 가능성이 있다.
​  - 해당 파일 및 디렉터리는 소유자/소유그룹 변경 또는 불 필요시 삭제한다.
  - chown(소유자 변경), chgrp(소유그룹 변경) 명령을 통해 소유자/소유그룹 변경 가능하다.
 
3. world writable 파일/디렉터리 검색
  - “world writable 파일” 이란 모든 사용자(others)에게 쓰기 권한 부여되어 있는 파일
  - find 명령의 “-perm -2” 옵션을 통해 others에 쓰기(w) 권이 부여된 파일 디렉터리를 검색
  - 대상 파일/디렉터리에 chmod 명령을 이용하여 others(o)에 쓰기 권한을(-w)하거나 rm 명령을 이용하여 삭제   

4. 주요 파일 소유자 및 권한 설정
  - /etc/passwd 파일 : root 소유의 644 이하의 권한 설정
  - /etc/shadow 파일 : root 소유의 400 이하의 권한을 설정
  - /etc/hosts 파일 : root 소유의 600 이하의 권한을 설정
  - /etc/(x)inetd.conf 파일 : root 소유의 600이하의 권한을 설정
  - /etc/syslog.conf 파일 : root 소유의 644 이하의 권한 설정
  - /etc/services 파일 : root 소유의 644 이하의 권한 설정    

 

728x90
반응형