수신 SSH 연결에 대한 AWS 아웃바운드 ACL 규칙의 영향

수신 SSH 연결에 대한 AWS 아웃바운드 ACL 규칙의 영향

AWS EC2 인스턴스의 CentOS 7에 요새 SSH 서버를 생성 중입니다. ACL에서 다음 규칙을 사용하면 서버에 정상적으로 연결할 수 있습니다.

참가 규칙

  • 내 클라이언트 IP의 포트 22에서 트래픽을 허용합니다.
  • 다른 모든 트래픽 차단

아웃바운드 규칙

  • 내 클라이언트 IP에 대한 모든 트래픽을 허용합니다.
  • 다른 모든 트래픽 차단

AWS ACL 규칙은 iptables와 대체로 유사합니다. 이는 Amazon의 클라우드 인프라에 구현된 iptable 규칙 세트에 대한 단순화된 웹 인터페이스에 지나지 않습니다.

내가 이해한 바에 따르면 아웃바운드 규칙 세트는 다음에 적용됩니다.어느서버에서 전송된 패킷 - 연결을 시작한 연결 끝과 관계없이.

또한 내 SSH 서버는 클라이언트 시작 연결을 사용할 때 포트 22를 통해서만 SSH 트래픽을 보낸다는 것을 알고 있습니다.

그러나 다음 규칙 세트를 사용하면 더 이상 SSH를 통해 서버에 연결할 수 없습니다.

참가 규칙

  • 내 클라이언트 IP의 포트 22에서 트래픽을 허용합니다.
  • 다른 모든 트래픽 차단

아웃바운드 규칙

  • 포트 22의 트래픽이 내 클라이언트의 IP에 도달하도록 허용
  • 다른 모든 트래픽 차단

트래픽을 차단할 수 있는 다른 모든 AWS 기능은 모든 트래픽을 허용하도록 설정되어 있으며, iptables도 인스턴스 운영 체제에서 모든 트래픽을 허용하도록 설정되어 있습니다.

서버의 아웃바운드 트래픽이 포트 22로 제한되어 있는데 클라이언트가 SSH 연결을 설정할 수 없는 이유는 무엇입니까?

답변1

AWS의 ACL은 상태 비저장 방화벽입니다. 즉, 모든 요청(인바운드 또는 아웃바운드)을 독립적인 연결로 처리합니다. 따라서 클라이언트가 서버의 포트 22에 액세스하도록 허용하려면 양쪽에서 연결을 활성화해야 합니다(서버의 포트 22에 대한 인바운드 + 클라이언트의 임의 [1024-65535] 포트에 대한 아웃바운드).

그러나 "보안 그룹"을 다루는 경우 인바운드 포트 22만 허용하면 됩니다. 이는 보안 그룹이 상태 저장 방화벽이고 인바운드 연결을 추적하기 때문에 클라이언트의 임의 [1024-65535] 포트에 대한 아웃바운드 연결을 명시적으로 허용할 필요가 없기 때문입니다.

관련 정보