← 문제 라이브러리
Security 입문 SECURITY-001 · 16분

SSH 허용 대역을 좁힌 뒤 점프 호스트에서만 접속 시간 초과

월요일 오전, 보안 점검에서 "운영 DB 서버의 SSH가 너무 넓게 열려 있다"는 지적을 받아 보안 그룹의 SSH(22) 인바운드를 '사무실 VPN 대역만'으로 좁히는 변경이 배포됐습니다.

검수된 문제IAM무료
시나리오

월요일 오전, 보안 점검에서 "운영 DB 서버의 SSH가 너무 넓게 열려 있다"는 지적을 받아 보안 그룹의 SSH(22) 인바운드를 '사무실 VPN 대역만'으로 좁히는 변경이 배포됐습니다. 오후에 장애 대응 중인 온콜 엔지니어가 평소처럼 점프 호스트(bastion-2)를 거쳐 db-03에 접속하려는데, 한참 멈춰 있다가 시간 초과로 끝납니다. VPN으로 직접 붙은 보안팀은 "우리는 잘 된다, 네트워크 문제 아니냐"고 합니다. 장애 대응이 급한 동료는 "일단 22번을 전체(0.0.0.0/0)로 열자"고 합니다.

단서
[bastion-2]$ ssh -v [email protected]
debug1: Connecting to db-03.internal [10.30.2.13] port 22.
debug1: connect to address 10.30.2.13 port 22: Connection timed out
ssh: connect to host db-03.internal port 22: Connection timed out
[bastion-2]$ ip -4 addr show eth0 | grep inet
    inet 10.40.1.25/24 brd 10.40.1.255 scope global eth0
db 서버 보안 그룹 인바운드 — 이번 변경
(변경 후)
Type  Protocol  Port  Source          Description
SSH   TCP       22    10.8.0.0/16     office-vpn

(삭제된 규칙)
SSH   TCP       22    10.40.1.0/24    bastion-subnet
SSH   TCP       22    0.0.0.0/0       legacy-temp
VPC 플로 로그 (db-03 네트워크 인터페이스)
2 123456789012 eni-0a1b2c3d 10.40.1.25 10.30.2.13 51220 22 6 3 180 1790476800 1790476860 REJECT OK
2 123456789012 eni-0a1b2c3d 10.8.14.7 10.30.2.13 60122 22 6 22 5120 1790476800 1790476860 ACCEPT OK

과제 점프 호스트에서만 접속이 안 되는 원인을 좁히고, 안전하게 되살리는 순서(검증 포함)와 재발 방지책을 적어 보세요.

먼저 볼 것
  • 'Connection timed out'과 'Connection refused'가 가리키는 위치의 차이
  • 되는 사람과 안 되는 사람의 출발지 비교
  • 급할 때도 넓게 열지 않고 필요한 경로만 다시 여는 법
점검 체크리스트
  1. 실패하는 쪽과 성공하는 쪽의 출발지 IP 확인(ip addr, VPN 할당 IP)
  2. 보안 그룹 인바운드 규칙의 변경 전후 비교(삭제된 규칙 포함)
  3. VPC 플로 로그에서 출발지별 ACCEPT/REJECT 확인
  4. 운영에 쓰는 관리 경로 목록(VPN·점프 호스트·배포 러너·모니터링)과 규칙 대조