동적 IP를 사용하는 Amazon EC2 보안 그룹 인바운드 규칙 말합니다 . 내가 얻지

EC2 보안 그룹의 잠재적 문제로 보이는 사항에 대한 설명을 찾고 있습니다.

리눅스 인스턴스에 연결하기 위해 보안 그룹을 설정하고 있습니다. HTTP 및 HTTPS 액세스에 대한 “어디서나”규칙을 만들었습니다.

SSH 규칙의 경우 Amazon 자습서에서는 공개 IP 주소에 대한 인바운드 액세스를 제한 해야한다고 말합니다 .

  1. 내가 얻지 못하는 것은 공용 IP 주소가 동적 인 경우 보안 또는 작동 방법입니다.

  2. 내 IP 주소는 동적이므로 ISP가 퍼블릭 IP를 변경하고 더 이상 인스턴스에 ssh 할 수없는 경우 어떻게됩니까?

사용중인 설치 안내서 링크 : http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/get-set-up-for-amazon-ec2.html ( ‘보안 그룹 만들기’의 7 단계 나에게 문제가있는 것 같다)



답변

내가 얻지 못하는 것은 공용 IP 주소가 동적 인 경우 보안 또는 작동 방법입니다.

이 솔루션은 IP가 자주 변경되지 않거나 짧은 시간 동안 만 액세스해야하는 경우 효과적입니다. SSH는 사용자가 제공 한 CIDR 외부의 트래픽에 노출되지 않으므로 추가 보안 계층이 추가됩니다.

특정 CIDR이 작동하지 않으면 ISP가 사용할 가능성이있는 보드 CIDR 범위 이상을 시도해도 여전히 많은 인터넷에서 액세스가 제한 될 수 있으며 이는 보안상의 이점입니다.

ISP가 퍼블릭 IP를 변경하고 더 이상 인스턴스에 ssh 할 수없는 경우 어떻게됩니까?

AWS 콘솔에 로그인하거나 CLI를 사용하여 보안 그룹 규칙을 즉시 업데이트 할 수 있습니다.

CLI와 직접 상호 작용하는 스크립트를 작성할 수 있습니다. Port 22 rule현재 IP와 비교하여 확인하고 다른 경우 업데이트하는 것만 큼 ​​간단 할 수 있습니다 . 물론 이러한 스크립트를 실행하면 더 많은 보안 문제가 발생할 수 있습니다. 🙂

IP 방화벽이 SSH를 보호하는 가장 좋은 방법입니까?

ssh 트래픽을 실제 신뢰할 수있는 IP 소스로만 제한하는 것이 좋지만, ssh를 안전하게 만드는 것은 개인 키와 합리적인 구성을 사용하는 것입니다.

고려해야 할 주요 항목 :

  • SSH 개인 키에 암호를 추가하십시오
  • SSH에 대한 비밀번호 인증 비활성화
  • SSH에 대한 루트 로그인 비활성화
  • SSH 공개 키에 대한 모든 사용자 계정 감사

무차별 대입 공격과 관련된 ‘소음’을 제거하기 위해 몇 가지 작업을 수행 할 수도 있습니다.

  • 더 높은 포트에서 ssh를 실행하십시오.
  • 실패한 수많은 시도를 동적으로 기록하고 지정된 기간 동안 IP 범위를 차단하는 fail2ban과 같은 소프트웨어를 사용하십시오.

답변

IP 주소로 SSH 서버에 대한 액세스를 제한하는 것이 좋지만 SSH는 보안을 위해 SSH 서버에 의존하지 않습니다. 비밀번호 로그인 ( PasswordAUthentication no) 을 비활성화 하고 개인 키 인증 만 사용하는 경우 개인 키 없이는 아무도 들어갈 수 없습니다. 안전합니다.

즉, 원하지 않는 경우 방화벽 규칙에 대해 걱정할 필요가 없습니다.


답변

ISP가 할당 할 수있는 모든 IP의 수퍼 세트를 나타내는 CIDR 범위를 보안 그룹에 추가 할 수 있습니다.

또는 AWS API를 사용하여 보안 그룹을 동적으로 업데이트하십시오.


답변

이 오래된 질문에 대한 몇 가지 최신 솔루션이 있습니다.

AWS 내부 : AWS Lambda를 사용하여 Amazon CloudFront 및 AWS WAF에 대한 보안 그룹을 자동으로 업데이트하는 방법

동적 소스 (node.js 스크립트)에서 원격 업데이트 : aws-ec2-ssh-secgroup-update node script

동적 소스에서 원격 업데이트 (Python 스크립트) : 특정 포트의 트래픽을 허용하기 위해 현재 공개 IP를 보안 그룹에 자동 추가


답변

aws_ipadd 명령을 사용 하여 AWS 보안 그룹 규칙을 쉽게 업데이트 및 관리하고 변경 될 때마다 퍼블릭 IP를 포트로 화이트리스트에 추가 할 수 있습니다.

$ aws_ipadd my_project_ssh
 Your IP 10.10.1.14/32 and Port 22 is whitelisted successfully.

$ aws_ipadd my_project_ssh
 Modifying existing rule...
 Removing old whitelisted IP '10.10.1.14/32'.
 Whitelisting new IP '10.4.10.16/32'.
 Rule successfully updated!