README.ko.md

March 7, 2026 · View on GitHub

ssh-audit-kit

SSH 보안 진단, 하드닝, 리포트를 단일 셸 스크립트로.
스크립트 하나. 명령어 하나. 완벽한 가시성.

English | 한국어 | 日本語 | Deutsch | Français | Español | Português | Italiano

License Bash Deps Single File


ssh-audit-kit이란?

ssh-audit-kit은 SSH 설정, 공격 로그, 방어 시스템, 알고리즘 강도를 분석한 후 점수 기반 리포트(A+~F 등급)와 실행 가능한 개선 권고를 제공합니다. 준비가 되면 단일 명령어로 하드닝을 적용하며, 자동 백업과 롤백 기능을 제공합니다.

주요 기능

  • sshd 설정 분석 -- 메인 설정 파일 + 드롭인 파일을 파싱하여 충돌 및 오버라이드 감지
  • 공격 로그 분석 -- 실패한 시도, 상위 IP, 시도된 사용자명, 시간 패턴 (최근 7일)
  • fail2ban 상태 -- jail 활동, 차단된 IP, 설정 현황
  • ssh-audit 연동 -- 알고리즘 강도, 취약 암호 감지
  • OpenSSH CVE 점검 -- CVE-2024-6387 (regreSSHion), CVE-2023-48795 (Terrapin)
  • 보안 점수 산정 -- 5개 카테고리에 걸쳐 100점 만점 척도, A+~F 등급 부여
  • 자동 하드닝 -- 백업과 롤백을 포함한 안전한 단일 명령 하드닝
  • JSON 출력 -- 자동화를 위한 기계 판독 가능 리포트

빠른 시작

curl -fsSL https://raw.githubusercontent.com/deep-on/ssh-audit-kit/main/ssh-audit-kit.sh -o ssh-audit-kit
chmod +x ssh-audit-kit

./ssh-audit-kit check          # security checks (read-only)
./ssh-audit-kit report         # scored report
./ssh-audit-kit report --json  # JSON output
sudo ./ssh-audit-kit harden    # apply hardening

리포트 예시

╔══════════════════════════════════════════════════╗
║           ssh-audit-kit  v1.0.0                  ║
║           SSH Security Report                    ║
╚══════════════════════════════════════════════════╝

System: Ubuntu 22.04 | OpenSSH 8.9p1

── Authentication Security ─────────────── [28/30]
  ✔ PasswordAuthentication no
  ✔ PermitRootLogin no
  ✔ PubkeyAuthentication yes
  ✔ MaxAuthTries 3
  △ KbdInteractiveAuthentication not explicitly set

── Network Security ────────────────────── [20/20]
  ✔ Non-standard port (51022)
  ✔ AllowTcpForwarding no
  ✔ X11Forwarding no
  ✔ Compression no

── Algorithm Strength ──────────────────── [20/20]
  ✔ No weak algorithms detected
  ✔ ssh-audit: 0 fail, 0 warn

── Defense System ──────────────────────── [15/15]
  ✔ fail2ban active (sshd jail enabled)
  ✔ MaxStartups 10:30:100
  ✔ MaxAuthTries 3

── Logging & Monitoring ────────────────── [13/15]
  ✔ LogLevel VERBOSE
  △ No remote logging configured

══════════════════════════════════════════════════
  Score: 96/100    Grade: A+
  "Excellent SSH security configuration"
══════════════════════════════════════════════════

점수 체계

카테고리최대 점수점검 항목
인증30키 인증, root 로그인, 빈 비밀번호, 접근 제한
네트워크20포트, 포워딩, 압축
알고리즘 강도20ssh-audit를 통한 취약 암호/MAC/KEX 점검
방어15fail2ban, MaxStartups, 클라이언트 연결 유지 설정
로깅15LogLevel, 로그 접근성, 공격 분석
등급점수설명
A+95-100우수
A85-94양호
B70-84보통, 일부 개선 권장
C50-69미흡, 개선 필요
D30-49취약, 즉각 조치 필요
F0-29심각, 긴급 조치 필요

하드닝

ssh-audit-kit harden/etc/ssh/sshd_config.d/hardening.conf에 작성합니다 (메인 설정 파일은 수정하지 않음):

  • 비밀번호 인증, root 로그인, 포워딩, 압축을 비활성화
  • 엄격한 세션 제한과 클라이언트 연결 유지 타임아웃 설정
  • 적용 전 sshd -t로 검증
  • 검증 실패 시 자동 롤백
  • 변경 전 타임스탬프가 포함된 백업 생성

요구 사항

  • Bash 4.0+
  • OpenSSH 서버 (sshd)
  • 선택 사항: ssh-audit -- 알고리즘 분석용
  • 선택 사항: fail2ban -- 방어 상태 확인용

지원 시스템

  • Ubuntu 20.04 / 22.04 / 24.04
  • Debian 11 / 12
  • RHEL / CentOS / Rocky / Alma 8 / 9

라이선스

MIT