sshd 데몬을 실행할 때 사용할 수 있는 옵션 중 다음과 같은 옵션들은 암호 설정 및 실행 방식 조정에 관련되어 있으며, 특히 보안 정책 준수나 테스트 환경에서 유용하게 사용됩니다.


✅ -D 옵션

  • 설명: sshd를 **포그라운드(foreground)**에서 실행함.
  • 용도:
    • 디버깅 시 로그를 콘솔로 직접 확인할 수 있음.
    • systemd나 docker, chroot 환경 등에서 유용.
  • 예시:
  • bash
    /usr/sbin/sshd -D

✅ -oCiphers

  • 설명: 사용할 **대칭키 암호화 알고리즘(예: AES, ChaCha20 등)**을 지정.
  • 예시:
  • bash
    -oCiphers=aes256-ctr,chacha20-poly1305@openssh.com

✅ -oMACs

  • 설명: 데이터 무결성 검증용 MAC (Message Authentication Code) 알고리즘 목록 지정.
  • 예시:
  • bash
    -oMACs=hmac-sha2-256,hmac-sha2-512

✅ -oGSSAPIKexAlgorithms

  • 설명: GSSAPI (Kerberos 등)를 사용하는 경우의 키 교환 알고리즘 목록 지정.
  • 보통 GSSAPI를 사용하는 기업 환경에서만 사용됨.
  • 예시:
  • bash
    -oGSSAPIKexAlgorithms=gss-gex-sha1-,gss-group1-sha1-

✅ -oKexAlgorithms

  • 설명: SSH 연결 시 사용할 키 교환(Kex, Key Exchange) 알고리즘 목록 지정.
  • 보안에 민감한 환경에서 오래된 알고리즘 차단 시 사용.
  • 예시:
  • bash
    -oKexAlgorithms=curve25519-sha256,ecdh-sha2-nistp521

✅ -oHostKeyAlgorithms

  • 설명: SSH 서버가 사용하는 호스트 키 알고리즘 목록 지정 (클라이언트가 검증함).
  • 예시:
  • bash
    -oHostKeyAlgorithms=ssh-ed25519,ecdsa-sha2-nistp256

✅ -oPubkeyAcceptedKeyTypes

  • 설명: 클라이언트가 인증할 때 사용할 수 있는 공개키 타입을 제한.
  • 보안상 약한 공개키(예: DSA)를 막기 위해 사용.
  • 예시:
  • bash
    -oPubkeyAcceptedKeyTypes=ssh-ed25519,ecdsa-sha2-nistp256

✅ -oCASignatureAlgorithms

  • 설명: CA가 서명한 인증서의 서명 알고리즘을 제한.
  • SSH CA(Certificate Authority)를 사용하는 환경에서 허용할 서명 알고리즘 지정.
  • 예시:
  • bash
    -oCASignatureAlgorithms=ssh-ed25519,ecdsa-sha2-nistp384

-D, -oCiphers, -oMACs, -oKexAlgorithms 등 옵션을 사용하고 있다고 해서 “root 계정의 원격터미널 접속 차단 설정이 적용되었다”고 판단할 수 없습니다. → 즉, 불합격(취약) 판단입니다.

📌 왜냐하면?

  • -D, -oCiphers, -oMACs, -oKexAlgorithms 등의 옵션은 SSH 보안 설정(암호화, 키교환, 무결성 검증 등)에 관한 설정이지, root 계정의 원격 접속 허용 여부와는 무관합니다.
  • root 계정의 SSH 접속 차단 여부는 반드시 /etc/ssh/sshd_config 파일의 아래 항목으로 점검해야 합니다:또는이 항목이 없거나 yes 또는 생략(기본값: 일부 시스템에서는 yes) 상태라면, root 계정 원격 접속이 허용된 상태이므로 취약입니다.
  • bash
    PermitRootLogin prohibit-password
  • bash
    PermitRootLogin no

✅ 점검 기준 요약:

점검 항목 설명 상태
22번 포트 사용 여부 Well-known 포트 사용 문제 아님 (권장되지 않지만 취약 조건 아님)
sshd 실행 시 -o 관련 보안 옵션 암호화/알고리즘 강화를 위한 설정 긍정적이지만 root 차단 여부와 무관
/etc/ssh/sshd_config의 PermitRootLogin 설정 no 또는 prohibit-password일 때만 양호 핵심 점검 항목
SSH 서비스 실행 여부 실행 중 (sshd 활성화) 문제 아님
 

✅ 조치 권장:

/etc/ssh/sshd_config 파일을 열고 다음 항목이 명시적으로 존재하는지 확인하세요:

bash
PermitRootLogin no

변경 후에는 SSH 서비스를 반드시 재시작해야 반영됩니다:

bash
sudo systemctl restart sshd

🔐 보안 참고:

암호 알고리즘을 강화하는 -o 옵션 사용은 보안 수준을 높이는 측면에서 양호하지만, root 로그인 제한과는 별개의 이슈입니다. 두 가지는 각각 독립적으로 점검해야 합니다.