가장 기본적인 네트워크 접근 차단은 방화벽. 방화벽은 물리적인 장비로 존재하기도하고 가상 방화벽(ex, AWS보안 그룹)으로 존재도함.

방화벽은 네트워크 통신을 두 방향으로 제어한다.

  • 인바운트 트래픽: 외부에서 내부로 유입
  • 아웃바운드 트래픽: 내부에서 외부로 유출 기본적으로 인바운드는 필수 트래픽만 허용하고 나머지는 차단할 것 권고. 모든 외부 IP의 모든 포트에 접근 허용하기 보다는 특정 서버 IP의 443 포트만 허용하고 나머지는 차단하는 식으로 노출 최소화 해야함. 또한 접속을 허용할 클라 IP도 가능한 최소 범위로.

다음처럼 세팅할 수 있다.

  • 서비스 API
    • 외부의 모든 IP에서 서버 A IP에 443으로 접근 가능
  • 관리자 API
    • 사내 IP만 서버B IP의 443 포트로 접근 가능 아웃바운드도 필수만 허용하는게 좋은게 해킹되면 해커의 중간 경유지로 쓰일수 있기때문임.

방화벽은 단순 트래픽 제어 외에도, DDos, Port Scan 같은 네트워크 공격을 차단하는 기능도 제공한다.

웹 방화벽(WAF, Web Application Firewall) 쓰면 HTTP/HTTPS 수준에서 발생하는 공격도 방어 가능하다. 웹 방화벽은 SQL 인젝션, XSS 같은 웹 기반 위협 감지하고 차단함.

개별 서버 자체도 방화벽 기능 제공. 우분투, 로키, 윈도우 서버 등도 방화벽 기능으로 트래픽 제어 가능.