Liea
'리눅스' 태그의 글 목록 (3 Page)

리눅스

① 공부/Shell, Batch

Unix : U-59(하) 파일 및 디렉터리 관리 > 숨겨진 파일 및 디렉토리 검색 및 제거

취약점 분석 스크립트 #!/bin/bash . function.sh BAR CODE [ U-59 ] 숨겨진 파일 및 디렉토리 검색 및 제거 cat > $RESULT [ 양호 ] : 불필요하거나 의심스러운 숨겨진 파일 및 디렉터리를 삭제한 경우 [ 취약 ] : 불필요하거나 의심스러운 숨겨진 파일 및 디렉터리를 방치한 경우 EOF BAR # 파일 및 디렉터리 파일 점검 find / -type f -name '.*' >> U-59_FILE.txt find / -type d -name '.*' >> U-59_DIR.txt INFO U-59_FILE.txt, U-59_DIR.txt 파일을 확인해야 합니다. cat $RESULT echo; - 스크립트 실행 결과

① 공부/Shell, Batch

Unix : U-58(중) 파일 및 디렉터리 관리 > 홈디렉토리로 지정한 디렉토리의 존재 관리

취약점 분석 스크립트 #!/bin/bash # log파일로 해당 진단 내용 파일 생성 . function.sh TMP1=`SCRIPTNAME`.log > $TMP1 BAR CODE [ U-58 ] 홈 디렉터리로 지정한 디렉토리의 존재 관리 cat > $RESULT [ 양호 ] : 홈 디렉터리가 존재하지 않는 계정이 발견되지 않는 경우 [ 취약 ] : 홈 디렉터리가 존재하지 않는 계정이 발견된 경우 EOF BAR INFO $TMP1 파일을 확인하여 검토해야 합니다. FILE=/etc/passwd # 사용자와 홈 디렉터리 출력 cat $FILE | awk -F: '{print $1,$6}' >> $TMP1 cat $RESULT echo; - 스크립트 실행 결과

① 공부/Shell, Batch

Unix : U-57(중) 파일 및 디렉터리 관리 > 홈디렉토리 소유자 및 권한 설정

취약점 분석 스크립트 #!/bin/bash # log파일로 해당 진단 내용 파일 생성 . function.sh TMP1=`SCRIPTNAME`.log > $TMP1 BAR CODE [ U-57 ] 홈 디렉터리 소유자 및 권한 설정 cat > $RESULT [ 양호 ] : 홈 디렉터리 소유자가 해당 계정이고, 타 사용자 쓰기 권한이 제거된 경우 [ 취약 ] : 홈 디렉터리 소유자가 해당 계정이 아니고, 타 사용자 쓰기 권한이 부여된 경우 EOF BAR FILE=/etc/passwd # 홈 디렉터리 소유자 확인 HOME=`cat /etc/passwd | grep 'sh$' | awk -F: '{print $6}'` ls -ald $HOME | while read VAR do # 소유자 확인 CHECK1=`e..

① 공부/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..