본문 바로가기

리눅스

시스템 보안 체크 스크립트 / etc/securetty, pts, tty, shell 메타문자

  • /etc/securetty : 루트가 로그인 가능한 터미널 장치

- pts : Pseduo TTY Slave - 네트워크를 통해 원격접속을 했을 때 열리는 터미널

- tty : TeleTYpewriter - 콘솔이나 터미널을 의미

  • grep `pts : pts 로 시작하는 것을 찾기 

KISA 보안취약점 및 침해사고 대응/ 주요정보통신기반시설 기술적 취약점 분석 평가 가이드 

 

색 표현 

ANSI(미국표준협회) Escape Sequence(ESC) : \033

 

 

#!/bin/bash

. 27.function.sh

BAR
CODE [U-01] root 계정 원격 접속 제한
cat << EOF >> $RESULT
[양호]: 원격 서비스를 사용하지 않거나 사용 시 직접 접속을 차단한 경우.
[취약]: root 직접 접속을 허용하고 원격 서비스를 사용하는 경우.
EOF
BAR

SERVICE1=telnet.socket
systemctl is-active $SERVICE1 >/dev/null 2>&1

if [ $? = 0 ]; then
    INFO "텔넷 서비스가 활성화 되어있습니다."
    VALUE1=$(cat /etc/securetty | grep "^pts" | wc -l)
    if [ $VALUE1 != 0 ] ; then
        WARN "root 직접 접속을 허용하고 원격 서비스를 사용하는 경우."
    else 
        OK "원격 서비스를 사용하지 않거나 사용 시 직접 접속을 차단한 경우."
    fi    
else
    OK "텔넷 서비스가 비활성화 되어있습니다."
fi

SERVICE2=sshd.service
systemctl is-active $SERVICE2 >/dev/null 2>&1
if [ $? = 0 ]; then
    INFO "SSH 서비스가 활성화 되어있습니다."
    VALUE2=$(cat /etc/ssh/sshd_config | grep 'PermitRootLogin yes' | awk {'print $2'})
    if [ $VALUE2 == "yes" ] ; then
        WARN "root 직접 접속을 허용하고 원격 서비스를 사용하는 경우."
    else 
        OK "원격 서비스를 사용하지 않거나 사용 시 직접 접속을 차단한 경우."
    fi    
else
    OK "SSH 서비스가 비활성화 되어있습니다."
fi

cat $RESULT

 

 

 

 

참조 : https://blog.naver.com/lunarispars/221491991449

 

[ 리눅스 마스터 ] shell 총정리, 기본스크립트 작성, 쉘 스크립트 작성 실습 ( 연산 / 명령어정리 /

[ shell ] +) prompt ( ui - <userinterface> ) -> shell (해석) -> kernel (자원관리자 - 메...

blog.naver.com