"주요정보통신기반시설 기술적 취약점 진단 가이드"의 Unix 서버 가이드를 통해
Rocky linux 취약점 진단을 하고자한다.
분류 : 계정관리
코드 : U-01
중요도 : 상
점검항목 : root 계정 원격접속 제한
판단기준 | 양호 : 원격 터미널 서비스를 사용하지 않거나, 사용 시 root 직접 접속을 차단한 경우 |
취약 : 원격 터미널 서비스 사용 시 root 직접 접속을 허용한 경우 |
cat sshd_config |
sshd_config 설정
#PermitRootLogin prohibit-password telnet 비활성화 |
yes : root 로그인 허용
no : root 로그인 금지
prohibit-password : key 파일을 통한 root 로그인 허용
진단 : /etc/ssh/sshd_config 파일 내 PermitRootLogin 항목이 주석 처리가 되어있어 로그인이 가능한 상태
진단 결과 : 취약
코드 : U-02
중요도 : 상
점검항목 : 패스워드 복잡성 설정
판단기준 | 양호 : 패스워드 최소길이 8자리 이상, 영문·숫자·특수문자 최소 입력 기능이 설정된 경우 |
취약 : 패스워드 최소길이 8자리 이상, 영문·숫자·특수문자 최소 입력 기능이 설정된 경우 |
vi /etc/security/pwquality.conf |
difok =1 minlen =8 dcredit =0 ucredit =0 lcredit =0 ocredit =0 |
진단 : /etc/security/pwquality.conf 파일 내 패스워드 복잡도 설정이 되어있지 않은 상태
진단 결과 : 취약
코드 : U-03
중요도 : 상
점검항목 : 계정 잠금 임계값 설정
판단기준 | 양호 :계정 잠금 임계값이 10회 이하의 값으로 설정되어 있는 경우 |
취약 :계정 잠금 임계값이 설정되어 있지 않거나, 10회 이하의 값으로 설정되지 않은 경우 |
vi /etc/pam.d/system-auth |
pam_tally 설정 값 x |
진단 : /etc/pam.d/system-auth 파일 내 임계값 잠금 해제 시간이 설정되어 있지 않은 상태
진단 결과 : 취약
코드 : U-04
중요도 : 상
점검항목 : 패스워드 파일 보호
판단기준 | 양호 : 쉐도우 패스워드를 사용하거나, 패스워드를 암호화하여 저장하는 경우 |
취약 : 쉐도우 패스워드를 사용하지 않고, 패스워드를 암호화하여 저장하지 않는 경우 |
cat /etc/passwd |
root:x:0:0:root:/root:/bin/bash rocky:x:1000:1000:rocky:/home/rocky:/bin/bash |
진단 :/etc/passwd 파일 내 로그인 가능한 계정 (root, rocky)의 패스워드가 암호화 되어있는 상태
진단 결과 : 양호
코드 : U-44
중요도 : 중
점검항목 : root 이외의 UID가 '0' 금지
판단기준 | 양호 : root 계정과 동일한 UID를 갖는 계정이 존재하지 않는 경우 |
취약 : root 계정과 동일한 UID를 갖는 계정이 존재하는 경우 |
cat /etc/passwd |
root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin rocky:x:1000:1000:rocky:/home/rocky:/bin/bash |
진단 : /etc/pam.d/system-auth파일 내 root 계정이외에 UID가 ‘0’인 계정 없음
진단 결과 : 양호
코드 : U-45
중요도 : 하
점검항목 : root 계정 su 제한
판단기준 | 양호 : su 명령어를 특정 그룹에 속한 사용자만 사용하도록 제한되어 있는 경우 |
취약 : su 명령어를 모든 사용자가 사용하도록 설정되어 있는 경우 |
cat /etc/group cat /etc/pam.d/su | grep “auth” ls –l /usr/bin/su |
wheel:X:10: #auth required pam_wheel.so use_uid -rwsr-xr-x. 1 root root 57056 Apr 21 03:24 /usr/bin/su |
진단 : su 명령어 사용 그룹 설정, su 파일 권한값 설정등 su 명령어 사용 제한과 관련된 설정이 되어있지 않음
진단 결과 : 취약
코드 : U-46
중요도 : 중
점검항목 : 패스워드 최소 길이 설정
판단기준 | 양호 : 패스워드 최소 길이가 8자 이상으로 설정되어 있는 경우 |
취약 : 패스워드 최소 길이가 8자 미만으로 설정되어 있는 경우 |
cat /etc/login.defs | grep “PASS_MIN_LEN” |
#PASS_MIN_LEN Minimum acceptable password length |
진단 : /etc/login.defs 파일 내에 PASS_MIN_LEN 설정값이 없는 상태 (신규 삽입해야함)
진단 결과 : 취약
코드 : U-47
중요도 : 중
점검항목 : 패스워드 최대 사용 기간 설정
판단기준 | 양호 : 패스워드 최대 사용기간이 90일(12주) 이하로 설정되어 있는 경우 |
취약 : 패스워드 최대 사용기간이 90일(12주) 이하로 설정되어 있지 않는 경우 |
cat /etc/login.defs | grep “PASS_MAX_DAYS” |
PASS_MAX_DAYS 99999 |
진단 : /etc/login.defs 파일 내 PASS_MAX_DAYS 설정 값이 최대 사용기간이 99999일로 기준 90일(12주)보다 높게 설정되어있음
진단 결과 : 취약
코드 : U-48
중요도 : 중
점검항목 : 패스워드 최소 사용기간 설정
판단기준 | 양호 : 패스워드 최소 사용기간이 1일 이상 설정되어 있는 경우 |
취약 : 패스워드 최소 사용기간이 설정되어 있지 않는 경우 |
cat /etc/login.defs | grep “PASS_MIN_DAYS” |
PASS_MIN_DAYS 0 |
진단 : /etc/login.defs 파일 내 PASS_MIN_DAYS 설정 값이 최소 사용기간 0일로 기준 1일보다 낮게 설정되어 있음
진단 결과 : 취약
코드 : U-49
중요도 : 하
점검항목 : 불필요한 계정 제거
판단기준 | 양호 : 불필요한 계정이 존재하지 않는 경우 |
취약 : 불필요한 계정이 존재하는 경우 |
cat /etc/passwd cat /etc/passwd | egrep “lp|uucp|nuucp” |
root:x:0:0:root:/root:/bin/bash rocky:x:1000:1000:rocky:/home/rocky:/bin/bash lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin |
진단 : 사용 가능한 계정으로는 불필요한 계정은 없는 상태이고 lp 같은 경우에는 nologin 상태
진단 결과 : 양호
코드 : U-50
중요도 : 하
점검항목 : 관리자 그룹에 최소한의 계정 포함
판단기준 | 양호 : 관리자 그룹에 불필요한 계정이 등록되어 있지 않은 경우 |
취약 : 관리자 그룹에 불필요한 계정이 등록되어 있는 경우 |
cat /etc/group |
root:x:0: |
진단 : /etc/passwd 파일 확인 결과 root 그룹에 추가된 계정이 없는 상태
진단 결과 : 양호
코드 : U-51
중요도 : 하
점검항목 : 계정이 존재하지 않는 GID 금지
판단기준 | 양호 : 시스템 관리나 운용에 불필요한 그룹이 삭제 되어있는 경우 |
취약 : 시스템 관리나 운용에 불필요한 그룹이 존재할 경우 |
cat /etc/group | grep “root\|rocky” |
root:x:0: rocky:x:1000: |
진단 : /etc/group 파일 내 root와 rocky 계정의 그룹이 모두 존재하는 상태
진단 결과 : 양호
코드 : U-52
중요도 : 중
점검항목 : 동일한 UID 금지
판단기준 | 양호 : 동일한 UID로 설정된 사용자 계정이 존재하지 않는 경우 |
취약 : 동일한 UID로 설정된 사용자 계정이 존재하는 경우 |
cat /etc/passwd |
root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin rocky:x:1000:1000:rocky:/home/rocky:/bin/bash |
진단 : /etc/passwd 파일에 UID가 같은 계정 없음
진단 결과 : 양호
코드 : U-53
중요도 : 하
점검항목 : 사용자 shell 점검
판단기준 | 양호 : 로그인이 필요하지 않은 계정에 /bin/false(/sbin/nologin) 쉘이 부여되어 있는 경우 |
취약 : 로그인이 필요하지 않은 계정에 /bin/false(/sbin/nologin) 쉘이 부여되지 않은 경우 |
cat /etc/passwd |egrep “^daemon|^bin|^sys|^adm|^listen|^nobody|^nobody4| ^noaccess|^diag|^operator|^games|^gopher” | grep –v “admin” |
bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin |
진단 : /etc/passwd 파일에 검색한 계정들이 nologin 설정 되어있는 것을 확인
진단 결과 : 양호
코드 : U-54
중요도 : 하
점검항목 : Session Timeout 설정
판단기준 | 양호 : Session Timeout이 600초(10분) 이하로 설정되어 있는 경우 |
취약 : Session Timeout이 600초(10분) 이하로 설정되지 않은 경우 |
cat /etc/profile | grep “TMOUT” |
x |
진단 : /etc/profile 파일 내에 TMOUT 설정이 안되어 있는 것을 확인
진단 결과 : 취약
'보안 실습' 카테고리의 다른 글
[서버 진단] Windows 서버 계정 관리 점검 (0) | 2024.08.30 |
---|---|
[서버 진단] Unix 서비스 항목 점검 (0) | 2024.08.06 |
[서버 진단] Unix 파일/디렉토리 점검 (0) | 2024.08.06 |
[문제 풀이] Suninatas Web 문제 2 (0) | 2024.07.08 |
[문제 풀이] Suninatas Web 문제 1 (0) | 2024.07.02 |