IT이야기

esxi 서버 보안취약점 조치 - 파일시스템관리

스토리비즈니스 2022. 9. 29. 12:54

1. Setuid, Setgid 설정

- 취약점 : SUID(Set User-ID) SGID(Set Group-ID)가 설정된 파일의 경우, 특히 root 소유의 파일인 경우, BufferOverflow 공격과 Local 공격에 많이 사용되는 매우 보안상 관리가 필요한 파일들로 이들 파일들의 추가적인 관리가 필요함

- 점검방법 : 아래 파일들에 setuid, setgid 속성이 설정 되어 있는지 확인

/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

- 조치사항 : 보안에 취약한 root 소유의 setuid 파일들의 경우에는 꼭 필요한 파일을 제외하고는 그 외 setuid, setgid 파일에 대하여 setuid, setgid 속성을 제거해주고, 잘못 설정되어 보안 위협이 되고 있는지 주기적인 진단 및 관리가 필요함.

Application에서 생성한 파일이나, 사용자가 임의로 생선한 파일등 특이한 파일의 발견시에도 Setuid를 제거해야 함.

Setuid 제거시는 OS 및 응용프로그램 등 서비스의 정상유무를 파악하면서 신중하게 진행해야 함

 

2. 홈디렉토리 접근권한

- 취약점 : 사용자 계정 $HOME 디렉터리의 퍼미션은 0751이 아니면 취약

- 점검방법 : /etc/passwd 파일에서 사용자 계정과 HOME 디렉토리 확인하고 해당 디렉토리의 접근권한 확인

- 조치사항 : chmod 명령어를 사용하여 HOME 디렉토리의 접근권한을 변경한다

- 점검시주의사항 : root, OS Default 및 APP user 계정은 예외처리함

 

3. 홈디렉토리 소유자

- 취약점 : 사용자 계정 $HOME 디렉터리의 소유자가 사용자 본인이 아닌 경우 취약

- 점검방법 : /etc/passwd 파일에서 사용자 계정과 HOME 디렉터리 확인하고 해당 디렉터리가 사용자 소유인지 확인

- 조치사항 : chown 명령어로 HOME 디렉터리 소유자를 변경한다

- 점검시주의사항 : root, OS Default 및 APP user 계정은 예외처리함

 

4. 기본 환경 파일의 접근권한

- 취약점 : 기본 환경 파일의 접근 권한이 아래와 다르면 취약

/etc/profile 0644

/etc/bashrc 0644

/etc/bash.bashrc 0644

root$HOME의 '.hidden.file' 0644

- 점검방법 : ls -l 명령어로 접근권한 확인

- 조치사항 : chmod 644 명령어로 접근권한 변경

 

5. 사용자 환경 파일의 접근 권한

- 취약점 : group, other 사용자에게 쓰기권한, 실행권한이 있을경우 취약

.profile 0644

.cshrc 0644

.login 0644

.netrc 0644

.bash_profile 0644

.bashrc 0644

.bash_logout 0644

- 점검방법 : ls -l 명령어로 사용자 HOME 디렉터리 파일에 대한 접근권한 확인

- 조치사항 : chmod 644 명령어로 접근권한 변경

 

6. PATH 경로 검사

- 취약점

1) .profile 및 .cshrc내의 PATH에 '.' 및 WW 설정 금지

2) 경로에 "." 및 WW 디렉터리가 포함되어 있는지 검사

3) "." 및 WW 디렉터리가 설정 되어 있을 경우 이를 삭제/속성제거한다

4) "." 및 WW 디렉터리는 해킹시 백도어로 이용된다

- 점검방법 : 환경설정 파일 PATH 설정에 "."이 포함되어 있는지 점검

/etc/profile

/etc/bashrc

/etc/bash.bashrc

사용자 홈디렉터리/.profile

사용자 홈디렉터리/.cshrc

사용자 홈디렉터리/.bashrc

사용자 홈디렉터리/.login

- 조치사항 : 환경설정 파일 PATH 설정에서 "." 를 제거

ex) vi 사용자/홈디렉터리/.profile

    -> PATH=/usr/bin:/etc/:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:"." -> "." 제거

* PATH 값 설정

root 계정의 환경 변수 설정 파일(.profile, .cshrc등)과 "/etc/profile" 등에서  PATH 환경 변수에 포함되어 있는 "."을 제거

- 점검시주의사항 : "." 제거시 영향도 파악 필요. 보안상 PATH내에는 현재 디렉토리를 나타내는 "."(dot)을 포함시지키 않을것을 권장함. 꼭 추가해서 사용하고자 할때는  PATH 마지막에 추가할 것을 권고

 

7. Sticky bit 설정 디렉터리

- 취약점 : /tmp 디렉터리에 Sticky bit 설정이 되어 있으면 양호

- 점검방법 : 디렉터리 권한 확인(ls -ld /tmp/var/tmp)

- 조치사항 : /tmp, /var/tmp 디렉터리의 권한을 1777로 변경

#  chmod 1777 /tmp

#  chmod 1777 /var/tmp

 

8. 사용자 UMASK 검사

- 취약점 : umask 명령어를 사용하여 현재 설정된 UMASK 값이 022이면 양호

- 점검방법 : umask 명령어를 사용하여 현재 설정된 UMASK 값이 022인지 점검

# umask 또는 su - root -c 'umask' 명령어 수행하여 결과 확인(0022 혹은 022)

- 조치사항 : 시스템환경파일

# vi /etc/profile, /etc/.login 파일에서 umask 값을 022로 설정

* 사용자 $HOME 환경파일

.cshrc .login .profile .bash_profile .kshrc .tcshrc 파일에서 umask 값을 022로 설정