방화벽 규칙은 자신이 일치하는 트래픽을 거부한다. 허용하는 연결의 모든 사용을 거부하지는 않으며, 승인되지 않은 터널에 대한 대부분의 정책은 바로 이 틈에서 실패한다. 오 년 전에 인기 있던 클라이언트의 포트를 막아도 443으로 지나가는 모든 것은 그대로 남고, 자체 경로를 다시 쓸 수 있는 장치에 대해서는 아무 말도 하지 않는다. 권한과 대상 중심으로 통제를 세우고, 그다음 실제로 허용하는 흐름을 읽으십시오.

포트 목록이 정책이 아닌 이유

포트는 전송 계층의 개념이며, 여러 터널 기술은 포트를 전혀 쓰지 않는다. 다른 기술은 통과가 보장되는 포트라서 일반 웹 트래픽과 포트를 의도적으로 공유한다. 따라서 과거의 포트에 맞춘 규칙은 행위 분류가 아니라 몇 가지 구현을 나열할 뿐이다. 노후화에도 약하다. 공급자가 기본값을 바꾸는 순간 목록은 과거를 설명하게 된다.

더 나쁜 것은, 한 포트를 막는 데 성공하면 문제 전체가 해결되었다는 증거로 읽혀, 실제로 중요했을 통제가 미뤄진다는 점이다.

프로토콜 번호와 포트는 서로 다른 이름 공간

GRE에는 IP 프로토콜 번호 47이 할당되어 있다. TCP 포트 47도 UDP 포트 47도 아니며, 포트용으로 작성한 필터는 GRE에 닿지 않는다. ESP와 AH도 같은 성질로 프로토콜 번호 50과 51에 있다. 캡슐화된 트래픽은 허용된 연결 안에 숨을 수도 있어, 분류나 시그니처가 도움이 되지만 그 자체로 용도를 증명하지는 못한다. 신뢰도와 범위는 특정 제품과 릴리스에 속하며 개념에 속하지 않는다.

nft list ruleset | grep -nE 'gre|esp|ah|47|50|51'
cat /proc/net/protocols | head -20
ss -tn state established '( dport = :443 )'

첫 번째 명령은 실제로 작성한 내용을 보여 주고, 두 번째는 스택이 아는 프로토콜 표를 보여 주며, 세 번째는 지금 웹 포트를 쓰는 세션 수를 보여 준다. 어느 것도 그 세션들이 무엇을 위한 것인지 말해 주지 않는다. TLS 가로채기는 별도의 결정이며 신뢰, 프라이버시, 클라이언트 호환성에 각자의 비용이 든다. 특정 대상을 거부하는 전제 조건도 아니고, 터널을 인식한다는 보장도 아니다.

장치가 가진 권한을 통제하십시오

자신의 라우팅 테이블과 필터링을 바꿀 수 있는 장치는 일반 애플리케이션에 없는 능력을 가진다. 가입 허용과 구성 관리는 바로 그 능력을 없애는 수단이며, 터널이 어느 포트를 쓰든 관계없이 작동한다.

이는 승인된 연결이 다른 장치를 위해 전달하는 무제한 허가 대신 선언된 역할을 받는다는 뜻이고, 설치 및 네트워크 관리 권한이 나중에 덧붙이는 것이 아니라 정책의 일부라는 뜻이다.

남은 흐름을 관찰하십시오. 장치 신원, 부여된 역할, 흐름 메타데이터를 연관 짓고, 분류를 판결이 아니라 한계가 있는 증거로 다루십시오.

conntrack -L | awk '{print $1, $4, $5}' | sort | uniq -c | sort -rn | head
ip -br addr show
ip route show default

오래 지속되는 암호화 세션이나 큰 바이트 수는 오용의 증거가 아니다. 백업, 지원 도구, 사이트 간 링크도 똑같아 보인다. 수집은 조사 범위로 한정하고, 찾은 것은 그것을 소유한 프로세스 아래에서 보관하십시오.

예외를 명시하십시오

모든 환경에는 업데이트, 인증, 복구를 위해 계속 도달 가능해야 하는 대상이 있다. 목적과 담당자와 함께 적어 두고, 장애가 날 때마다 발견하는 대신 정기적으로 검토하십시오.

비즈니스가 정말로 광범위한 외부 서비스를 허용한다면, 대상 라벨이 모든 사용을 수용 가능하게 만든다고 가정하지 말고 그 서비스가 제공하는 권한을 평가하십시오.

검토되지 않은 예외는 티켓 번호가 붙은 구멍이다. 이름, 이유, 검토 날짜가 있는 예외는 결정이다.

구호가 아니라 서면 계획으로 수용하십시오

수용에는 두 부분이 있다. 승인된 작업은 계속 성공해야 하고, 특정 금지 사례는 승인된 시험에서 실패해야 한다. 둘 다 변경 전에 작성하고 변경 후에 다시 실행해야 한다.

노트북에서 추가한 경로가 경계에서 완벽하게 작동하던 필터를 무효화할 수 있으므로, 그 검토에 엔드포인트와 정책 변경도 포함하십시오.

산출물은 남은 위험 목록이 알려진, 소유자가 있는 출구 경계다. 포트 몇 개를 닫아 승인되지 않은 VPN 사용이 끝났다고 주장하는 것은 그것이 아니다.

관련 글