네트워크/웹 방화벽

  • 가장 기본적인 네트워크 접근 차단은 방화벽.
  • 방화벽은 물리적인 장비로 존재하기도하고 가상 방화벽(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 같은 웹 기반 위협 감지하고 차단함.
  • 개별 서버 자체도 방화벽 기능 제공. 우분투, 로키, 윈도우 서버 등도 방화벽 기능으로 트래픽 제어 가능.