Ingress Filtering / Egress Filtering

Ingress Filtering / Egress FilteringIP Spoofing을 막기 위한 네트워크 차원의 기본 보안 기법이다. 핵심은 “들어오는 패킷과 나가는 패킷의 출발지 IP가 정상적인가를 검사한다”는 것이다.

먼저 Ingress Filtering부터 보자. Ingress는 “들어오는 것”을 의미한다. 즉, 외부에서 내부 네트워크로 들어오는 패킷을 검사하는 필터링이다. 이때 확인하는 것은 패킷의 출발지 IP 주소다. 예를 들어 외부에서 들어오는 패킷인데, 출발지 IP가 내부 네트워크 대역이라면 정상적이지 않다. 이런 패킷은 출발지 IP를 위조한(IP Spoofing) 패킷일 가능성이 높기 때문에 차단한다. Ingress Filtering은 “외부에서 내부 주소를 사칭하는 공격”을 막는 데 목적이 있다.

다음은 Egress Filtering이다. Egress는 “나가는 것”을 의미한다. 즉, 내부 네트워크에서 외부로 나가는 패킷을 검사한다. 내부 시스템이 외부로 패킷을 보낼 때, 그 패킷의 출발지 IP가 정말 내부에서 할당된 IP인지를 확인한다. 만약 내부에서 나가는데 출발지 IP가 외부 주소라면, 이는 내부 시스템이 IP Spoofing을 시도하고 있다는 의미일 수 있다. Egress Filtering은 내부가 공격의 발원지가 되는 것을 막기 위한 장치다.

두 필터링을 비교하면 목적이 분명히 갈린다.
Ingress Filtering은 외부 → 내부 방향에서 위조된 출발지 IP를 차단한다.
Egress Filtering은 내부 → 외부 방향에서 위조된 출발지 IP를 차단한다.

이 기법들이 중요한 이유는, IP Spoofing 기반 공격 대부분이 라우터나 방화벽 단계에서 막히면 성립 자체가 불가능해지기 때문이다. Smurf 공격, SYN Flood, 반사·증폭 공격은 모두 출발지 IP 위조가 핵심이기 때문에, Ingress/Egress Filtering이 제대로 적용된 네트워크에서는 공격 성공률이 크게 떨어진다.

실무에서 자주 함께 언급되는 개념이 BCP 38이다. BCP 38은 “네트워크 사업자는 Egress Filtering을 적용해, 자신의 네트워크가 IP Spoofing 공격의 출발지가 되지 않도록 해야 한다”는 권고안이다. 즉, Egress Filtering의 대표적인 표준 지침이라고 보면 된다.

Ingress Filtering은 들어오는 패킷의 출발지 IP 검증이다.
Egress Filtering은 나가는 패킷의 출발지 IP 검증이다.
목적은 IP Spoofing 방지다.
Smurf, SYN Flood 같은 공격 대응과 연결된다.