[KISA]클라우드취약점점검가이드-Linux
KISA 클라우드 보안인증제 자료실> 클라우드 취약점 점검 가이드
https://isms.kisa.or.kr/main/csap/notice/
KISA 정보보호 및 개인정보보호관리체계 인증
isms.kisa.or.kr
해당 파일 참고하여 요약하였음
가. 계정관리
U-01. root 계정 원격 접속 제한
취약: 원격 터미널 서비스 사용 시 root 직접 접속을 허용한 경우
진단방법 - Telnet
/etc/securetty 파일에 pts/0 ~ pts/x 관련설정이 존재하는지 확인
# cat /etc/securetty | grep pts
pts:가상터미널, telnet, ssh 터미널 등을 이용하여 접속함
# cat /etc/securetty | grep tty
tty: 서버와 연결된 모니터, 키보드 등을 통해 사용자가 콘솔로 직접 로그인함
조치방법 - Telnet
/etc/securetty 파일에서 pts/0 ~ pts/x 설정 제거 또는 주석처리
진단방법 - SSH
/etc/ssh/sshd_config 파일에서 Root 로그인 설정 확인
# cat /etc/ssh/sshd_config | grep PermitRootLogin
조치방법 - SSH
vi편집기를 이용하여 /etc/ssh/sshd_config 파일을 연 후 설정 변경
PermitRootLogin no
U-02. 패스워드 복잡성 설정
취약: 영문, 숫자, 특수문자를 조합하지 않거나 2종류 조합 시 10자리 미만, 3종류 조합 시 8자리 미만
(무작위, 사전대입 공격에 위험)
진단방법 -Debian 계열
조치방법 -Debian 계열
U-03. 계정 잠금 임계값 설정
취약: 계정 잠금 임계값이 설정되어 있지 않거나, 5 이하의 값으로 설정되어 있지 않은 경우
(반복되는 로그인 시도에 대한 차단 없음)
진단방법 -데비안 계열
# cat /etc/pam.d/common-auth
위 경로 파일에서 임계값 설정 확인
조치방법 -데비안 계열
# vi /etc/pam.d/common-auth
파일 내 설정 값 변경
(첫 번째 단락 2번째 줄)
auth required pam_tally2.so deny=5 no_magic_root
U-04. 패스워드 최대 사용 기간 설정
취약: 패스워드의 최대 사용기간 이 없거나 90일 이내로 설정되어 있지 않은 경우
(공격자가 장기적인 공격 가능)
진단방법
# cat /etc/login.defs | grep PASS_MAX_DAYS
login.defs 파일에서 패스워드 최대 사용기간 설정 값 확인
조치 방법
* User 생성 시 적용
vi /etc/login.defs
PASS_MAX_DAYS 90
* 현재 User의 최대 사용기간 적용
chage -M 90 <계정명>
U-05. 패스워드 파일 보호
취약: 쉐도우 패스워드를 사용하지 않고, 패스워드를 암호화하여 저장하지 않는 경우
(평문 저장 파일 유출 시 위험)
진단방법
# ls -l /etc/shadow
shadow 파일 존재 확인
# cat /etc/passwd
passwd 파일 내 두 번째 필드가 "X" 표시가 되어 있는지 확인
조치방법
쉐도우 패스워드 정책 적용 방법
#pwconv
일반 패스워드 정책 적용 방법
#pwunconv
나. 파일 및 디렉토리 관리
U-06. root 홈, 패스 디렉터리 권한 및 패스 설정
취약: PATH 환경변수에 "."이 맨 앞이나 중간에 포함된 경우
(.이 포함되어 있으면 현재 디렉터리에 명령어와 같은 이름의 악성파일이 실행될 수 있음)
진단방법
# echo $PATH
명령어로 현재 설정된 PATH 값 확인
조치방법
# vi /etc/profile
편집기로 root 계정의 설정파일을 연 후 아래와 같이 수정
수정 전: PATH=.:$PATH:$HOME/bin
수정 후: PATH=$PATH:$HOME/bin
U-07. 파일 및 디렉터리 소유자 설정
취약: 소유자나 그룹이 존재하지 않는 파일 및 디렉터리가 있는 경우
(삭제된 소유자의 UID와 동일한 사용자가 접근할 수 있어서 위험)
진단방법
# find / -nouser -o -nogroup
시스템에서 소유자나 그룹이 존재하지 않는 파일 및 디렉터리 검색
조치방법
소유자가 존재하지 않는 파일이나 디렉터리가 불필요한 경우 rm 명령으로 삭제
필요한 경우 chown 명령으로 소유자 및 그룹 변경
U-08 ~ 13. ### 파일 소유자 및 권한 설정
U-14. SUID, SGID, Sticky bit 설정 파일 점검
취약: 주요 실행파일의 권한에 SUID와 SGID에 대한 설정이 부여되어 있는 경우
(접근권한이 적절하지 않을 경우 SUID, SGID 특정 명령어를 실행하여 root권한 획득 및 정상 서비스 장애를 발생시킬 수 있다.)
진단방법
# find / -user root type f \( -perm -4000 -o -perm -2000 \) -exec ls -lg {} \;
위 명령어를 통해 SUID와 SGID 파일을 검색하여 주요 파일의 권한을 확인
조치방법
*제거방법
chmod -s 파일네임
*주기적인 감사
*반드시 사용이 필요한 경우 특정 그룹에서만 사용하도록 제한
U-16. world writable 파일 점검
취약: world writable 파일이 존재하나 해당 설정 이유를 확인하고 있지 않는 경우
(
U-17. $HOME/rhosts, host.equiv 사용 금지
U-18. 접속 IP 및 포트 제한
U-19. cron 파일 소유자 및 권한 설정
다. 서비스 관리
U-20. Finger 서비스 비활성화
U-20. Finger 서비스 비활성화
U-21. Anonymous FTP 비활성화
U-22. r 계열 서비스 비활성화
U-23. DoS 공격에 취약한 서비스 비활성화
U-24. NFS 서비스 비활성화
U-25. NFS 접근통제
U-26. automountd 제거
U-27. RPC 서비스 확인
수정중...