서버에서 ICMP를 허용하지 않는 이유는 무엇입니까?


11

EC2 인스턴스에는 기본적으로 ICMP 서비스가 비활성화되어 있습니다. 이유가 완전히 명확하지는 않지만 잠재적 인 보안 위험이있을 수 있다고 생각합니다. 현재 서버를 다시 시작할 때만 에코 응답을 활성화하여 서버가 시작되어 실행 중인지 확인할 수 있지만 일단 온라인 상태가되면 다시 비활성화합니다. 그게 필요 할까? ICMP를 일반적으로 비활성화해야하는 이유는 무엇입니까?

답변:


18

ICMP 는 많은 명령 모음으로 구성됩니다. 이 모든 것을 허용 하지 않으면 네트워크가 이상한 방식으로 중단됩니다.

ICMP를 사용하면 "traceroute"및 "ping"(ICMP 에코 요청)과 같은 기능이 작동합니다. 따라서 해당 부분은 정상적인 진단에 매우 유용합니다. 또한 최신 DNS 서버에서 실제로 더 빠른 쿼리를 위해 다른 컴퓨터를 선택하는 데 도움이되는 DNS 서버 (연결할 수없는 포트)를 실행할 때 피드백에 사용됩니다.

ICMP는 경로 MTU 검색에 사용됩니다. OS가 전송 한 TCP 패킷에서 "DF"(조각화 안 함) 세트 일 가능성이 있습니다. 경로를 따라 무언가가 해당 크기의 패킷을 처리하지 못하는 경우 ICMP "조각 필요"패킷을 다시받을 것으로 예상됩니다. 모든 ICMP 를 차단하면 시스템은 기본적으로 PMTU "블랙홀"을 감지하기 위해 타임 아웃을 사용하고 올바르게 최적화되지 않는 다른 폴백 메커니즘을 사용해야합니다.

대부분의 ICMP를 활성화해야 할 몇 가지 이유가 더있을 것입니다.

이제 귀하의 질문으로 비활성화하는 이유 :

ICMP의 일부 를 비활성화하는 이유 는 다음과 같습니다.

  • ICMP 에코 요청 (일명 핑)을 사용하여 호스트를 공격하기 전에 살아 있는지 여부를 확인한 구식 웜으로부터 보호합니다. 요즘 현대 웜은 어쨌든 시도하여 더 이상 효과적이지 않습니다.
  • 인프라 숨기기 이 작업을 수행하려면 네트워크 가장자리에서 차단하십시오. 모든 단일 컴퓨터에있는 것은 아닙니다. 문제가 발생하고 모든 일반 분석 도구가 실패하면 관리자가 머리에서 머리카락을 모두 당황하게 만듭니다. (이 경우 : Amazon은 클라우드 에지에서이를 차단할 수 있습니다).
  • ICMP를 기반으로하는 서비스 거부 공격. 다른 DOS 공격과 동일하게 처리하십시오. 속도 제한.
  • 유일하게 유효한 것 : 안전하지 않은 네트워크에있는 경우 라우터가 명령을 변경 한 것을 차단하거나 비활성화 할 수 있습니다. 접두사 : 안전한 네트워크에서 서버를 사용하십시오.

ICMP를 차단하는 데 도움이되는 '서버 강화'매뉴얼이 있습니다. 그것들이 잘못되었습니다 (또는 적어도 충분히 상세하지는 않습니다). MAC 필터링 또는 SSID 숨기기를 통한 무선 '보안'과 동일한 범주에 속합니다.


1

ICMP 차단은 몇 가지 이유로 수행되지만 네트워크를 식별하고 프로파일 링하려는 프로브에서 정보를 숨기는 데 주로 사용됩니다. 익스플로잇의 일부로 ICMP 트래픽을 사용하는 라우터 및 공개적으로 액세스 가능한 엔드 시스템에는 여러 가지 유형의 공격이 있습니다.

귀하의 경우에는 더 많은 프로브에 의해 감지되는 에코 응답을 허용 할 수 있습니다. 핑 기반 DDOS 및 스머프 공격과 같은 공격은 요즘 크게 완화됩니다.

http://en.wikipedia.org/wiki/Denial-of-service_attack#ICMP_flood


0

ICMP 요청을 iptables영구적으로 차단하는 대신 사용하여 플러딩을 방지하는 것이 좋습니다 .

iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/minute --limit-burst 100 -j ACCEPT

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.