Liea
'주통기' 태그의 글 목록 (3 Page)

주통기

① 공부/Shell, Batch

Unix : U-56(중) 파일 및 디렉터리 관리 > UMASK 설정 관리

취약점 분석 스크립트 #!/bin/bash . function.sh BAR CODE [ U-56 ] UMASK 설정 관리 cat > $RESULT [ 양호 ] : UMASK 값이 022 이상으로 설정된 경우 [ 취약 ] : UMASK 값이 022 이상으로 설정되지 않은 경우 EOF BAR # UMASK 값 확인 cat /etc/profile | grep -i umask | awk '{print $2}' | grep 022 >/dev/null if [ $? -eq 0 ] ; then OK umask 값이 올바르게 설정 되었습니다. else WARN umask 값이 올바르게 설정 되지 않았습니다. fi cat $RESULT echo; - 스크립트 실행 결과

① 공부/Shell, Batch

Unix : U-55(하) 파일 및 디렉터리 관리 > hosts.lpd 파일 소유자 및 권한 설정

취약점 분석 스크립트 #!/bin/bash . function.sh BAR CODE [ U-55 ] hosts.lpd 파일 소유자 및 권한 설정 cat > $RESULT [ 양호 ] : hosts.lpd 파일이 삭제되어 있거나 불가피하게 hosts.lpd 파일을 사용할 시 파일의 소유자가 root이고 권한이 600인 경우 [ 취약 ] : hosts.lpd 파일이 삭제되어 있지 않거나 파일의 소유자가 root가 아니고 권한이 600이 아닌 경우 EOF BAR FILE=/etc/hosts.lpd # 파일 존재 여부 확인 if [ -e $FILE ] ; then WARN $FILE 파일이 존재합니다. # 파일 소유자 확인 CHECK1=$(ls -l $PASSWDFILE | awk '{print $3}') if..

① 공부/Shell, Batch

Unix : U-54(하) 계정 관리 > Session Timeout 설정

취약점 분석 스크립트 #!/bin/bash . function.sh BAR CODE [ U-54 ] Session Timeout 설정 cat > $RESULT [ 양호 ] : Session Timeout이 600초(10분) 이하로 설정되어 있는 경우 [ 취약 ] : Session Timeout이 600초(10분) 이하로 설정되지 않은 경우 EOF BAR # Session Timeout 설정 확인 CHECK=$(cat /etc/profile | grep TMOUT | awk -F= '{print $2}') if [[ $CHECK -ge 600 || -z $CHECK ]] ; then # -ge >= WARN Session Timeout이 600초 이하로 설정되어 있지 않습니다. else OK Session..

① 공부/Shell, Batch

Unix : U-53(하) 계정 관리 > 사용자 shell 점검

취약점 분석 스크립트 #!/bin/bash # log파일로 해당 진단 내용 파일 생성 . function.sh TMP1=`SCRIPTNAME`.log > $TMP1 BAR CODE [ U-53 ] 사용자 shell 점검 cat > $RESULT [ 양호 ] : 로그인이 필요하지 않은 계정에 /bin/false(/sbin/nologin) 쉘이 부여되어 있는 경우 [ 취약 ] : 로그인이 필요하지 않은 계정에 /bin/false(/sbin/nologin) 쉘이 부여되지 않은 경우 EOF BAR FILE1=/etc/passwd # 불필요한 계정 확인 및 쉘 부여 확인 cat /etc/passwd \ | egrep "^daemon|^bin|^sys|^adm|^listen|^nobody|^nobody4|^noac..

① 공부/Shell, Batch

Unix : U-52(중) 계정 관리 > 동일한 UID 금지

취약점 분석 스크립트 #!/bin/bash . function.sh BAR CODE [ U-52 ] 동일한 UID 금지 cat > $RESULT [ 양호 ] : 동일한 UID로 설정된 사용자 계정이 존재하지 않는 경우 [ 취약 ] : 동일한 UID로 설정된 사용자 계정이 존재하는 경우 EOF BAR # /etc/passwd 파일 내 UID 출력 cat /etc/passwd |awk -F: '{print $3}' > tmp.log cat tmp.log | uniq >tmp2.log # 두 파일 내용 비교 diff tmp.log tmp2.log >> /dev/null 2>&1 if [ $? -eq 0 ]; then OK 동일한 UID로 설정된 사용자 계정이 존재하지 않습니다. else WARN 동일한 UID..

① 공부/Shell, Batch

Unix : U-51(하) 계정 관리 > 계정이 존재하지 않는 GID 금지

취약점 분석 스크립트 #!/bin/bash # log파일로 해당 진단 내용 파일 생성 . function.sh TMP1=`SCRIPTNAME`.log > $TMP1 BAR CODE [ U-51 ] 계정이 존재하지 않는 GID 금지 cat > $RESULT [ 양호 ] : 시스템 관리나 운용에 불필요한 그룹이 삭제 되어있는 경우 [ 취약 ] : 시스템 관리나 운용에 불필요한 그룹이 존재할 경우 EOF BAR FILE1=/etc/group FILE2=/etc/passwd awk -F: '{print $1}' $FILE2 > tmp.log # 사용자명 추출 TRUEFALSE=1 # 두 파일을 비교하여 불필요한 그룹 존재 확인 for LINE1 in `cat $FILE1` do # 사용자에 대한 그룹 출력 GR..

① 공부/Shell, Batch

Unix : U-50(하) 계정 관리 > 관리자 그룹에 최소한의 계정 포함

취약점 분석 스크립트 #!/bin/bash # log파일로 해당 진단 내용 파일 생성 . function.sh TMP1=`SCRIPTNAME`.log > $TMP1 BAR CODE [ U-50 ] 관리자 그룹에 최소한의 계정 포함 cat > $RESULT [ 양호 ] : 관리자 그룹에 불필요한 계정이 등록되어 있지 않은 경우 [ 취약 ] : 관리자 그룹에 불필요한 계정이 등록되어 있는 경우 EOF BAR echo "[ root 그룹 사용자 목록 ]" > $TMP1 # 관리자 그룹 내 불필요 계정 등록 유무 확인 cat /etc/group | grep root: | awk -F: '{print $4}'>> $TMP1 if [ -z $? ] ; then WARN 관리자 그룹에 불필요한 계정이 등록되어 있습니..

① 공부/Shell, Batch

Unix : U-49(하) 계정 관리 > 불필요한 계정 제거

취약점 분석 스크립트 #!/bin/bash # log파일로 해당 진단 내용 파일 생성 . function.sh TMP1=`SCRIPTNAME`.log > $TMP1 BAR CODE [ U-49 ] 불필요한 계정 제거 cat > $RESULT [ 양호 ] : 불필요한 계정이 존재하지 않는 경우 [ 취약 ] : 불필요한 계정이 존재하는 경우 EOF BAR # 사용하지 않는 Default 계정 점검 echo "[ 사용하지 않는 Default 계정 ]" > $TMP1 cat /etc/passwd | egrep "lp|uucp|nuucp" >> $TMP1 if [ -z $? ] ; then OK 사용하지 않는 Default 계정이 존재하지 않습니다. else WARN 사용하지 않는 Default 계정이 존재합니다..

① 공부/Shell, Batch

Unix : U-48(중) 계정 관리 > 패스워드 최소 사용기간 설정

취약점 분석 스크립트 #!/bin/bash # log파일로 해당 진단 내용 파일 생성 . function.sh TMP1=`SCRIPTNAME`.log > $TMP1 TMP2=$(mktemp) BAR CODE [ U-48 ] 패스워드 최소 사용기간 설정 cat > $RESULT [ 양호 ] : 패스워드 최소 사용기간이 1일 이상 설정되어 있는 경우 [ 취약 ] : 패스워드 최소 사용기간이 설정되어 있지 않는 경우 EOF BAR FILE=/etc/login.defs # 패스워드 최소 사용기간 확인 grep PASS_MIN_DAYS $FILE | egrep -v '^#|^$' >> $TMP2 SET=$(cat $TMP2 | awk '{print $2}') if [ $SET -ge 1 ] ; then OK "패..