SSH 접속을 안전하게 열어두는 방법

외부에서 서버에 붙어야 하는 경우가 생깁니다. 열어두는 것 자체는 문제가 아니고, 어떻게 열어두느냐가 문제입니다.

문제

기본 설정 그대로 외부에 열어두면 로그가 시도 기록으로 가득 찹니다.

  • 자동화된 로그인 시도가 하루 수천 건
  • 진짜 문제가 로그 속에 묻혀 보이지 않음
  • 퇴사자 계정이 그대로 남아 있음
  • 누가 언제 접속했는지 추적할 수 없음

원인

접근을 허용하는 범위를 정하지 않았기 때문입니다. 포트만 바꾸면 시도 횟수만 줄어들 뿐입니다.

  • 비밀번호 인증을 그대로 둔 상태
  • 최고 관리자 직접 로그인을 허용
  • 접근 가능한 출발지를 제한하지 않음

해결책

네 가지를 같이 적용하면 시도 자체가 거의 사라집니다.

  • 공개키 인증으로 전환하고 비밀번호 인증은 비활성화
  • 최고 관리자 직접 로그인을 막고 일반 계정으로 들어온 뒤 권한 상승
  • 방화벽에서 접속 가능한 출발지 대역을 제한
  • 가능하면 VPN 뒤에 두고 직접 노출은 피함
  • 접속 실패가 반복되면 일정 시간 차단되도록 구성
  • 계정별 마지막 접속 일자를 분기로 점검해 미사용 계정 정리

현장에서 확인할 것

  • 비밀번호 인증이 아직 열려 있는지
  • 최고 관리자 직접 로그인 허용 여부
  • 접속 허용 대역이 제한되어 있는지
  • 사용하지 않는 계정이 남아 있는지

열어두는 순간부터 누가 들어올 수 있는지를 명시적으로 정해두어야 합니다.

Scroll to Top