SSH Hardening 정책 가이드 (운영 서버 기준)¶
운영 서버(Production Server) 에서 SSH 원격 접속 보안을 강화하기 위한
표준 보안 정책 기준을 정의함.
SSH 설정, 인증 방식, 계정 접근 정책을 최소 공격 표면 원칙에 따라 정리함.
기능 설정 방법이 아닌 운영 보안 기준 문서임.
1. 필수 적용 항목 (운영 서버 필수)¶
운영 서버에서는 아래 항목을 반드시 적용해야 함.
단, 다음 두 운영 프로파일을 구분함.
- 외부 노출 SSH 운영 서버: 인터넷 또는 비신뢰 구간에서 직접 접근 가능
- 내부망 전용 관리 서버: firewalld 또는 상위 방화벽으로 특정 내부망/VPN 에서만 SSH 허용
1.1 외부 노출 서버는 공개키 기반 인증만 허용¶
PubkeyAuthentication yes
PasswordAuthentication no
- 패스워드 기반 인증은 무차별 대입 공격에 취약함.
- 외부에 SSH가 노출되는 운영 서버에서는 공개키 인증만 허용함.
예외
SSH가 내부망 전용으로 제한된 관리 서버는 운영 편의상PasswordAuthentication yes를 둘 수 있음.
다만 이 경우에도 root 로그인 금지, source 제한,MaxAuthTries,LoginGraceTime,
AllowUsers,X11Forwarding no,AllowTcpForwarding no같은 보조 통제를 함께 적용함.
1.2 root 계정 SSH 접속 금지¶
PermitRootLogin no
- root 계정은 시스템 전체 권한을 가짐.
- SSH 직접 접속은 공격 성공 시 치명적임.
- 일반 사용자 + sudo 방식만 허용함.
1.3 Fail2ban 적용¶
- 외부에 SSH가 노출된 서버에서는 SSH 무차별 대입 공격 자동 차단 필요.
- 외부 노출 SSH 운영 서버에서는 Fail2ban 적용 필수임.
- 내부망 전용 관리 SSH 서버에서는 우선순위가 낮으며 선택 적용 가능함.
- 설정은 07-Fail2ban 설정 가이드 (SSH / Nginx 최소 보안 기준) 문서 기준으로 진행함.
2. 권장 적용 항목 (운영 서버 강력 권장)¶
필수는 아니지만, 운영 서버에서는 강력히 권장됨.
2.1 SSH 포트 변경¶
Port 2222
- 기본 포트(22)는 스캔 대상이 되기 쉬움.
- 포트 변경으로 자동화 공격 노출 감소.
- 포트 변경 시 SELinux 및 firewalld 정책 연동 필요함.
2.2 인증 시도 제한¶
MaxAuthTries 3
LoginGraceTime 30
- 로그인 시도 횟수 제한.
- 접속 대기 시간 최소화로 공격 성공 가능성 감소.
2.3 불필요한 인증 방식 비활성화¶
ChallengeResponseAuthentication no
UsePAM yes
- 사용하지 않는 인증 방식은 공격 표면이 됨.
- 필요 최소한의 인증만 유지함.
3. 선택 적용 항목 (환경에 따라 적용)¶
보안 수준이 매우 높아야 하거나 내부 정책이 있는 경우 적용함.
3.1 특정 사용자만 SSH 접속 허용¶
AllowUsers adminuser deploy
- 지정된 사용자만 SSH 접속 허용.
- 대규모 서버 환경에서 유용함.
3.2 특정 IP만 SSH 접근 허용¶
- 방화벽(firewalld)과 연동하여 적용.
- 내부망 또는 VPN 환경에서 효과적임.
3.3 SSH 접속 배너 설정¶
Banner /etc/issue.net
- 법적 고지 또는 접근 경고 목적.
- 보안 감사 요구 사항 충족용.
3.4 Legacy 설정 참고: Protocol 2¶
과거에는 SSHv1 차단 목적의 명시 설정으로 아래 항목을 자주 사용했음.
Protocol 2
최신 OpenSSH 환경에서는 보통 이 설정이 실효성이 거의 없음.
- 현대 OpenSSH는 사실상 SSHv2만 사용함.
- SSHv1은 오래전에 폐기되었고 운영 환경에서 사용 대상이 아님.
- 일부 버전에서는
Protocol항목이 무시되거나 경고를 발생시킬 수 있음.
즉, 요즘 운영 기준에서는 Protocol 2를 굳이 명시하지 않아도 동일한 보안 효과를 가짐.
다만 legacy 문서/환경에서는 해당 설정을 볼 수 있으므로 참고 지식으로는 알아둘 가치가 있음.
4. 운영 서버 SSH 보안 기준 요약¶
운영 서버에서는 다음 기준을 만족해야 함.
- 외부 노출 SSH 서버는 공개키 인증만 허용.
- 내부망 전용 관리 서버는 source 제한이 전제된 경우에만 패스워드 인증 예외 가능.
- root SSH 접속 금지.
- 외부 노출 SSH 서버는 Fail2ban 적용.
- 최신 OpenSSH는 SSHv2 기본 사용(별도
Protocol 2설정 불필요). - 패스워드 인증 여부는 서버 노출 형태와 운영 프로파일에 맞게 결정.
이 기준을 만족하지 않는 서버는 해당 운영 프로파일 기준을 충족한 것으로 간주하지 않음.