서버 관리자가 실수하기 쉬운SSH 설정 5가지 알아보기

서버 관리자가 실수하기 쉬운 SSH 설정 5가지
Application Security · KISA

서버 관리자가 실수하기 쉬운
SSH 설정 5가지 알아보기

# sshd_config 진단 & 권고 값 적용 가이드

OWASP A07 · Auth Failures
취약 항목 5 / 5
KISA 가이드 기준

SSH(Secure Shell)는 서버에 원격 접속할 때 쓰는 표준 프로토콜(포트 22)입니다. 설정 파일 /etc/ssh/sshd_config 한 줄 한 줄이 곧 서버의 방어선입니다. 이번 글에서는 KISA 가이드에서 "이 설정이면 취약함"으로 분류하는 대표 5가지 항목을 실제 진단표 형식으로 정리하고, 권고 값으로 수정하는 방법까지 다룹니다.

01

진단표 — 양호 / 취약 판별 및 권고 값

# 현재 값 (sshd_config) 양호 / 취약 권고 수정값
PermitRootLogin yes 취약 no
PasswordAuthentication yes 취약 no
MaxAuthTries 10 취약 3 이하
X11Forwarding yes 취약 no
Banner none 취약 /etc/issue.net
PermitRootLogin

root 직접 원격 로그인 허용 → 브루트포스 1회 성공 시 서버 전체 즉시 장악

PasswordAuthentication

패스워드 인증 허용 → 브루트포스·패스워드 스프레이·크리덴셜 스터핑 공격 노출

MaxAuthTries

로그인 실패 10회 허용 → 자동화 공격 도구가 반복 시도하기에 충분한 횟수

X11Forwarding

서버 대부분에서 불필요. 켜 두면 X11 터널로 GUI 원격 실행 공격면 확대

Banner

법적 경고 배너 없이 접속 허용 → 법적·정책적 고지 누락, 내부자 위협 억지력 상실

02

가장 위험한 항목은?

Most Critical
PermitRootLogin yes

root 계정은 리눅스 서버의 최고 권한 계정입니다. 원격 로그인이 허용될 경우 공격자가 브루트포스 한 번만 성공해도 서버 전체를 즉시 장악할 수 있습니다. 별도의 권한 상승 단계 없이 모든 파일·프로세스·네트워크 설정을 변경·삭제할 수 있으며, 피해 복구가 사실상 불가능한 수준에 이릅니다.

03

수정된 sshd_config 스니펫

/etc/ssh/sshd_config
# ── 5개 항목 권고 값으로 수정 ──────────────────────
PermitRootLogin          no
PasswordAuthentication   no
MaxAuthTries             3
X11Forwarding            no
Banner                   /etc/issue.net

# ── 적용 방법 ──────────────────────────────────────
$ sshd -t                      # 설정 문법 검증
$ systemctl restart sshd       # SSH 데몬 재시작
$ systemctl status sshd        # 서비스 상태 확인
⚠️

PasswordAuthentication 비활성화 전 필수 선행 작업: 반드시 SSH 공개키(SSH Key)를 서버에 먼저 등록해야 합니다. 순서를 지키지 않고 재시작하면 모든 SSH 접속이 차단되어 콘솔 직접 접근이 필요해집니다.

04

경영진 보고 — 2줄 요약

서버 원격 접속 설정 5개 항목 전수 점검 결과, 전 항목에서 취약점이 확인되었습니다.
특히 root 계정 원격 접속 허용이 가장 위험하며, 즉시 차단 조치 및 설정 강화를 권고합니다.
05

취약 항목별 공격 시나리오 & MITRE ATT&CK

취약 설정 실제 공격 시나리오 MITRE ATT&CK
PermitRootLogin yes 브루트포스로 root 직접 탈취 → 서버 전체 장악 T1078
PasswordAuthentication yes 패스워드 스프레이, 크리덴셜 스터핑 T1110
MaxAuthTries 10 자동화 도구로 10회씩 반복 시도 허용 T1110.001
X11Forwarding yes X11 터널로 GUI 앱 원격 실행 T1021
Banner none 법적 경고 없이 접속 → 내부자 위협 억지력 상실
06

Phase 3 연계 포인트

OWASP A07

인증/인가 실패 연결

SSH 설정 취약점은 서버 측 인증 실패로 직결됩니다. 브루트포스 성공 = 계정 탈취 = 세션 하이재킹과 동일 결과.

Phase 3

Security Log Analyzer 연계

/var/log/auth.log 파싱 규칙 추가 → Isolation Forest로 비정상 로그인 패턴 이상 탐지 적용 예정.

Slack Webhook

실시간 위협 알림

MaxAuthTries 초과 이벤트 감지 → Slack Webhook으로 즉시 알림 전송하는 파이프라인 구축 예정.

핵심 요약 Checklist

  • PermitRootLogin → no
  • PasswordAuthentication → no
  • MaxAuthTries → 3 이하
  • X11Forwarding → no
  • Banner → /etc/issue.net
  • SSH Key 등록 먼저
  • sshd -t로 검증 후 재시작
  • auth.log 모니터링