README.ko.md
March 7, 2026 · View on GitHub
ssh-audit-kit
SSH 보안 진단, 하드닝, 리포트를 단일 셸 스크립트로.
스크립트 하나. 명령어 하나. 완벽한 가시성.
English | 한국어 | 日本語 | Deutsch | Français | Español | Português | Italiano
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 | 포트, 포워딩, 압축 |
| 알고리즘 강도 | 20 | ssh-audit를 통한 취약 암호/MAC/KEX 점검 |
| 방어 | 15 | fail2ban, MaxStartups, 클라이언트 연결 유지 설정 |
| 로깅 | 15 | LogLevel, 로그 접근성, 공격 분석 |
| 등급 | 점수 | 설명 |
|---|---|---|
| A+ | 95-100 | 우수 |
| A | 85-94 | 양호 |
| B | 70-84 | 보통, 일부 개선 권장 |
| C | 50-69 | 미흡, 개선 필요 |
| D | 30-49 | 취약, 즉각 조치 필요 |
| F | 0-29 | 심각, 긴급 조치 필요 |
하드닝
ssh-audit-kit harden은 /etc/ssh/sshd_config.d/hardening.conf에 작성합니다 (메인 설정 파일은 수정하지 않음):
- 비밀번호 인증, root 로그인, 포워딩, 압축을 비활성화
- 엄격한 세션 제한과 클라이언트 연결 유지 타임아웃 설정
- 적용 전
sshd -t로 검증 - 검증 실패 시 자동 롤백
- 변경 전 타임스탬프가 포함된 백업 생성
요구 사항
지원 시스템
- Ubuntu 20.04 / 22.04 / 24.04
- Debian 11 / 12
- RHEL / CentOS / Rocky / Alma 8 / 9