반응형

1. 계정 관리

 

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

- root(UID=0)와 동일한 UID를 가진 계정 존재시 root 권한으로 시스템 접근 가능하므로 주의

- /etc/passwd 파일 내 UID 확인(cat이나 vi 사용)

- UID 변경(OS별 점검파일 위치 및 점검방법)

SOLARIS, Linux, HP-UX usermod -u [UID] [계정명]
리눅스의 경우 500 이상, SOLARIS, HP-UX는 100 이상으로 설정
AIX chuser id=[UID] [계정명]
100이상 설정

 

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

- 부적절한 패스워드 유형 : 사전에 나오는 단어나 이들의 조합, 길이가 너무 짧거나 공백, 키보드 자판의 일련순, 사용자 계정 정보로부터 유추 가능한 단어

- 대소문자/숫자/특수문자 중에서 2가지 종류를 조합했을 때 10자리 이상, 3가지 이상 종류 조합했을 때 8자리 이상 

 

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

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주)

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) 패스워드 최소 사용 기간 설정(1일 또는 1주)

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) 패스워드 파일 보호

SOLARIS, Linux /etc/shadow 파일 존재 확인
/etc/passwd 파일 내 두번째 필드가 x 표시인지 확인
HP-UX /tcb 디렉터리 존재 확인
/etc/passwd 파일 내 두번째 필드가 x 표시인지 확인
AIX /etc/security/passwd 파일에 패스워드 암호화하여 저장

 

(7) Session Timeout 설정(600초=10분)

SOLARIS, Linux, HP-UX, AIX #sh, ksh, bash 사용시
cat /etc/profile(.profile)
TMOUT=600 (단위 : 초)
export TMOUT

#csh 사용시
cat /etc/csh.login 또는 cat /etc/csh.csh.rc
set autologout=10 (단위 : 분)

 

 

2. 파일 및 디렉터리 관리

 

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

- root 계정의 PATH 환경변수에 "."(현재 디렉터리 지칭)이 포함되어 있으면 root 계정으로 접속한 관리자가 의도하지 않은 현재 디렉터리에 위치하고 있는 명령어가 실행될 수 있다. "."이 /usr/bin, /bin, /sbin 등의 명령어들이 위치하고 있는 디렉터리보다 우선하여 위치하고 있을 경우, 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) 파일 및 디렉터리 소유자/소유그룹 설정

- 소유자/소유그룹이 존재하지 않는 파일의 경우, 시스템 자원 낭비가 될 수 있고 관리가 되지 않는 문제 있다.

- find . \( -nouser -o -nogroup \) -exec ls -al {} \; -> 소유자/소유그룹 존재하지 않는 파일/디렉터리 검색

- chown, chgrp으로 소유자/소유그룹 변경 또는 rm -r로 삭제

 

(3) world writable 파일 점검

- world writable 파일이란 모든 사용자(others)에게 쓰기 권한이 부여되어 있는 파일

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

- find [경로] -perm -2 -exec ls -al {} \; -> others에 쓰기 권한 부여된 파일/디렉터리 검색

- 대상 파일/디렉터리를 chmod를 통해 쓰기권한 제거하거나 rm -r로 파일/디렉터리 제거

 

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

/etc/passwd 파일 사용자 정보 담고 있는 파일
root 소유의 644 이하의 권한으로 설정
/etc/shadow 파일 사용자의 암호화된 패스워드 정보 담고 있는 파일
root 이외에 접근 못하도록 root 소유의 400 이하의 권한 설정
/etc/hosts 파일  IP와 호스트 이름을 매핑하는데 사용되는 파일
root 소유의 600 이하의 권한을 설정
/etc/(x)inetd.conf 파일 inetd 데몬에 대한 설정파일
root 소유의 600 이하의 권한 설정
/etc/syslog.conf 파일 syslogd 데몬에 대한 설정파일로 주요 로그파일에 대한 설정정보를 가지고 있다.
root 이외의 사용자는 해당 파일 변경할 수 없도록 root 소유의 644 이하의 권한을 설정
/etc/services 파일 서비스 관리(서비스별 포트/프로토콜 정보)정보를 담고 있는 파일
root 소유의 644 이하의 권한을 설정

[출처] https://noredstone.tistory.com/83

728x90

+ Recent posts