📋 취약점 정보

🚨 취약점 개요
root 사용자가 SSH, Telnet 등의 원격 프로토콜을 통해 직접 접속 가능한 상태입니다. 이는 공격자의 무차별 대입 공격(Brute Force Attack)에 매우 취약합니다.

상태 비교

취약한 상태
PermitRootLogin yes
보안 상태
PermitRootLogin no
🚨 보안 위협 분석
⚠️
무차별 대입 공격 (Brute Force) - 공격자가 root 계정에 대해 무제한으로 비밀번호 추측 공격 수행 가능
⚠️
관리자 권한 탈취 - root 비밀번호만 알면 전체 시스템 제어 가능
⚠️
시스템 완전 장악 - 데이터 도용, 파괴, 악성코드 설치 등 모든 악의적 행위 가능
⚠️
감사 추적 우회 - sudo 로그와 달리 root 직접 로그인은 추적이 어려움
📌 점검 대상
파일: /etc/ssh/sshd_config
설정 항목: PermitRootLogin
권장값: no (또는 prohibit-password)

🖥️ 실습 환경

현재 상태: 취약

user@system:~$ sudo cat /etc/ssh/sshd_config | grep PermitRootLogin
#PermitRootLogin prohibit-password
PermitRootLogin yes
⚠️ 현재 상태
root 원격 접속이 허용되어 있습니다. 누구든지 SSH를 통해 root로 로그인 시도가 가능합니다.

목표 상태: 보안

SSH 설정 파일 편집
/etc/ssh/sshd_config 파일에서 PermitRootLogin 항목을 찾아 수정합니다.
$ sudo vi /etc/ssh/sshd_config 혹은 $ sudo nano /etc/ssh/sshd_config
설정 항목 수정
다음 라인을 찾아 수정합니다:
수정 전: PermitRootLogin yes 수정 후: PermitRootLogin no
SSH 서비스 재시작
변경 사항을 적용하기 위해 SSH 서비스를 재시작합니다.
$ sudo systemctl restart sshd 혹은 (구형 시스템) $ sudo service ssh restart $ sudo /etc/init.d/ssh restart
설정 검증
변경이 올바르게 적용되었는지 확인합니다.
$ sudo cat /etc/ssh/sshd_config | grep PermitRootLogin 출력: #PermitRootLogin prohibit-password PermitRootLogin no