주요정보통신기반시설 취약점 진단 상세가이드_Unix 서버진단 실습(2)
점검대상 : centos 7(가상머신)
2.1 root 계정 홈, 패스 디렉터리 권한 및 패스 설정
- 점검내용 : root 계정의 PATH 환경변수에 “.”이(마침표) 포함되어 있는지 점검
- 점검목적 : 비인가자가 불법적으로 생성한 디렉터리 및 명령어를 우선으로 실행되지 않도록 설정하기 위해 환경변수 점검이 필요함
- 보안위협 : root 계정의 PATH(환경변수)에 정상적인 관리자 명령어(예: ls, mv, cp 등)의 디렉터리 경로 보다 현재 디렉터리를 지칭하는 “.” 표시가 우선하면 현재 디렉터리에 변조된 명령어를 삽입하여 관리자 명령어 입력 시 악의적인 기 능이 실행 될 수 있음
- 점검방법
PATH는 명령어들의 경로를 지정해 놓은 것이기 때문에 이 PATH파일 안의 경로가 임의로 변경될 시에는 공격자에 의해 다른 명령이나 파일이 실행될 수 있다.
2.2 파일 및 디렉터리 소유자 설정
- 점검내용 : 소유자 불분명한 파일이나 디렉터리가 존재하는지 여부를 점검
- 점검목적 : 소유자가 존재하지 않는 파일 및 디렉터리를 삭제 및 관리하여 임의의 사용 자가 해당파일을 열람, 수정하는 행위를 사전에 차단하기 위함
- 보안위협 : 소유자가 존재하지 않는 파일의 UID와 동일한 값으로 특정계정의 UID값을 변경하면 해당 파일의 소유자가 되어 모든 작업이 가능함
- 점검방법
2.3 /etc/passwd 파일 소유자 및 권한 설정
- 점검내용 : /etc/passwd 파일 권한 적절성 점검
- 점검목적 : /etc/passwd 파일의 임의적인 변경을 차단하기 위함을 통해 비인가자가 권 한 상승하는 것을 막기 위함
- 보안위협 : 관리자(root) 외 사용자가 "/etc/passwd” 파일의 사용자 정보를 변조하여 shell 변경, 사용자 추가/삭제 등 root를 포함한 사용자 권한 획득 가능
- 점검방법
2.4 /etc/shadow 파일 소유자 및 권한 설정
- 점검내용 : /etc/shadow 파일 권한 적절성 점검
- 점검목적 : /etc/shadow 파일을 관리자만 제어할 수 있게 하여 비인가자들의 접근을 차 단하도록 shadow 파일 소유자 및 권한을 관리해야 함
- 보안위협 : shadow파일은 패스워드를 암호화하여 저장하는 파일이며 해당 파일의 암호 화된 해쉬값을 복호화하여(크래킹) 비밀번호를 탈취할 수 있음
- 점검방법
2.5 /etc/hosts 파일 소유자 및 권한 설정
- 점검내용 : /etc/hosts 파일의 권한 적절성 점검
- 점검목적 : /etc/hosts 파일을 관리자만 제어할 수 있게 하여 비인가자들의 임의적인 파 일 변조를 방지하기 위함
- 보안위협
(1) hosts 파일에 비인가자 쓰기 권한이 부여된 경우, 공격자는 hosts파일에 악 의적인 시스템을 등록하여, 이를 통해 정상적인 DNS를 우회하여 악성사이 트로의 접속을 유도하는 파밍(Pharming) 공격 등에 악용될 수 있음
(2) hosts파일에 소유자 외 쓰기 권한이 부여된 경우, 일반사용자 권한으로 hosts 파일에 변조된 IP주소를 등록하여 정상적인 DNS를 방해하고 악성사이트로 의 접속을 유도하는 파밍(Pharming) 공격 등에 악용될 수 있음
- 점검방법
2.6 /etc/(x)inetd.conf 파일 소유자 및 권한 설정
- 점검내용 : /etc/(x)inetd.conf 파일 권한 적절성 점검
- 점검목적 : /etc/(x)inetd.conf 파일을 관리자만 제어할 수 있게 하여 비인가자들의 임의 적인 파일 변조를 방지하기 위함
- 보안위협 : (x)inetd.conf 파일에 소유자 외 쓰기 권한이 부여된 경우, 일반사용자 권한으 로 (x) inetd.conf 파일에 등록된 서비스를 변조하거나 악의적인 프로그램(서 비스)을 등록할 수 있음
※(x) inetd (슈퍼데몬) : 자주 사용하지 않는 서비스가 상시 실행되어 메모리를 점유하는 것을 방지하기 위해 (x) inetd(슈퍼대몬)에 자주 사용하지 않는 서비스를 등록하여 요청 이 있을 시에만 해당 서비스를 실행하고 요청이 끝나면 서비스를 종료하는 역할 수행
- 점검방법
2.7 /etc/syslog.conf 파일 소유자 및 권한 설정
- 점검내용 : /etc/syslog.conf 파일 권한 적절성 점검
- 점검목적 : /etc/syslog.conf 파일의 권한 적절성을 점검하여, 관리자 외 비인가자의 임 의적인 syslog.conf 파일 변조를 방지하기 위함
- 보안위협 : syslog.conf 파일의 설정내용을 참조하여 로그의 저장위치가 노출되며 로그를 기록하지 않도록 설정하거나 대량의 로그를 기록하게 하여 시스템 과부 하를 유도할 수 있음
- 점검방법
2.8 /etc/services 파일 소유자 및 권한 설정
- 점검내용 : /etc/services 파일 권한 적절성 점검
- 점검목적 : /etc/services 파일을 관리자만 제어할 수 있게 하여 비인가자들의 임의적인 파일 변조를 방지하기 위함
- 보안위협 : services 파일의 접근권한이 적절하지 않을 경우 비인가 사용자가 운영 포트 번호를 변경하여 정상적인 서비스를 제한하거나, 허용되지 않은 포트를 오픈하여 악성 서비스를 의도적으로 실행할 수 있음
- 점검방법
2.9 SUID, SGID, 설정 파일점검
- 점검내용 : 불필요하거나 악의적인 파일에 SUID, SGID 설정 여부 점검
- 점검목적 : 불필요한 SUID, SGID 설정 제거로 악의적인 사용자의 권한상승을 방지하기 위함
- 보안위협 : SUID, SGID 파일의 접근권한이 적절하지 않을 경우 SUID, SGID 설정된 파 일로 특정 명령어를 실행하여 root 권한 획득 가능함
- 점검방법
※ Setuid,Setgid 설정을 제거해야하는 파일들(Linux) | ||
/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 |
2.10 사용자, 시스템 시작파일 및 환경파일 소유자 및 권한 설정
- 점검내용 : 홈 디렉터리 내의 환경변수 파일에 대한 소유자 및 접근권한이 관리자 또는 해당 계정으로 설정되어 있는지 점검
- 점검목적 : 비인가자의 환경변수 조작으로 인한 보안 위험을 방지하기 위함
- 보안위협 : 홈 디렉터리 내의 사용자 파일 및 사용자별 시스템 시작파일 등과 같은 환 경변수 파일의 접근권한 설정이 적절하지 않을 경우 비인가자가 환경변수 파일을 변조하여 정상 사용 중인 사용자의 서비스가 제한될 수 있음
- 점검방법
2.11 world writable 파일 점검
- 점검내용 : 불필요한 world writable 파일 존재 여부 점검
- 점검목적 : world writable 파일을 이용한 시스템 접근 및 악의적인 코드 실행을 방지하 기 위함
- 보안위협 : 시스템 파일과 같은 중요 파일에 world writable 설정이 될 경우, 일반사용 자 및 비인가된 사용자가 해당 파일을 임의로 수정, 삭제가 가능함
- 점검방법
2.12 /dev에 존재하지 않는 device 파일 점검
- 점검내용 : 존재하지 않는 device 파일 존재 여부 점검
- 점검목적 : 실제 존재하지 않는 디바이스를 찾아 제거함으로써 root 파일 시스템 손상 및 다운 등의 문제를 방지하기 위함
- 보안위협 : 공격자는 rootkit 설정파일들을 서버 관리자가 쉽게 발견하지 못하도록 /dev 에 device 파일인 것처럼 위장하는 수법을 많이 사용함
- 점검방법
※ major number : 디바이스 드라이버 중 하나를 구분하기 위해 쓰는 번호
minor number : 디바이스 드라이버 중 특정한 디바이스를 가리키는 번호
2.13 $HOME/.rhosts, hosts.equiv 사용 금지
- 점검내용 : /etc/hosts.equiv 파일 및. rhosts 파일 사용자를 root 또는, 해당 계정으로 설정한 뒤 권한을 600으로 설정하고 해당파일 설정에 ‘+’ 설정(모든 호스트 허용)이 포함되지 않도록 설정되어 있는지 점검
- 점검목적 : ‘r’ command 사용을 통한 원격 접속은 인증 없이 관리자 원격접속이 가능하므로 서비스 포트를 차단해야 함
- 보안위협
(1) rlogin, rsh 등과 같은 ‘r’ command의 보안 설정이 적용되지 않은 경우, 원 격지의 공격자가 관리자 권한으로 목표 시스템상의 임의의 명령을 수행시킬 수 있으며, 명령어 원격 실행을 통해 중요 정보 유출 및 시스템 장애를 유발시킬 수 있음. 또한 공격자 백도어 등으로도 활용될 수 있음
(2) r-command(rlogin, rsh등) 서비스의 접근통제에 관련된 파일로 권한설정을 미 적용한 경우 r-command 서비스 사용 권한을 임의로 등록하여 무단 사 용이 가능함
- 점검방법
2.14 접속 IP 및 포트 제한
- 점검내용 : 허용할 호스트에 대한 접속 IP 주소 제한 및 포트 제한 설정 여부 점검
- 점검목적 : 허용한 호스트만 서비스를 사용하게 하여 서비스 취약점을 이용한 외부자 공격을 방지하기 위함
- 보안위협 : 허용할 호스트에 대한 IP 및 포트제한이 적용되지 않은 경우, Telnet, FTP같 은 보안에 취약한 네트워크 서비스를 통하여 불법적인 접근 및 시스템 침해 사고가 발생할 수 있음
- 점검방법