방화벽(Firewall)
- 외부의 불법침입으로부터 내부의 정보자산을 보호하기 위한 정책/하드웨어/소프트웨어의 집합
- 컴퓨터의 정보보안을 위해 정보통신망 외부→내부, 내부→외부로의 불법 접근을 차단하는 시스템
- Access Control List(ACL)를 이용해 네트워크에 전송되는 트래픽에 대한 보안 정책을 설정함
- 주요기능: 접근제어, 사용자 인증, 감사/로깅, 프록시, 주소변환(NAT), 데이터 암호화 등
NAT(Network Address Translation): 사설 주소와 범용 주소를 매핑 시켜서 가상 사설 네트워크를 지원하는 기술, 외부 네트워크에서 내부 IP 주소를 숨김
Static NAT: [내부 IP 주소:외부 IP 주소] 1:1 맵핑
Dynamic Nat: [내부 IP 주소:외부 IP 주소] N:M 맵핑
PAT(Port Addres Translantion): 하나의 외부 IP 주소를 다수의 내부 IP 주소가 port 번호로 구분하여 사용함
Policy NAT: ACL을 이용, 출발지와 목적지에 따라 주소를 변환함
방화벽의 종류
1. 패킷 필터링 방화벽(Packet Filtering Firewall)
- 1세대 방화벽
- 동작구간: OSI Layer3(네트워크계층), 4(전송계층)
- 내우방/외부망 사이에 존재하여 특정 트래픽을 허용/차단하는 단순한 형태의 방화벽
- 패킷 헤더정보 조사: 발신지 주소와 포트를 검사하여 수신측 주소와 포트에 대한 접속 여부 결정
- 낮은 레이어에서 동작하기 때문에 비교적 속도가 빠르고, 기존 애플리케이션과 연동이 용이함
- 하드웨어에 의존적이지 않으나 강력한 로깅 기능/사용자 인증을 기대하기 어려움
- 연결 상태 추적을 하지 않음
- 패킷 필터링을 사용하는 라우터: 스크리닝 라우터/패킷 필터링 라우터
라우터를 이용한 네트워크 보안 설정
Ingress 필터링: 라우터 외부에서 내부로 유입되는 패킷을 필터링, 인터넷 상에서 사용되지 않는 IP 대역은 공통적으로 필터링 해야함(출발지 IP 주소 유효성 검사)
Egress 필터링: 라우터 내부에서 외부로 나가는 패킷의 소스 ip를 체크하여 필터링, 라우터를 통과해 나가는 패킷 소스 ip는 반드시 라우터와 같은 대역이여야함
Blackhole 필터링: Null 라우팅, 특정한 ip대역에 대해서 Null이라는 가상의 쓰레기 인터페이스로 보냄
Unicast RPF(Reverse Path Forwarding): 인터페이스를 통해 들어오는 패킷의 소스 ip 에 대해 라우팅 테이블을 확인하여 들어온 인터페이스로 다시 나가는지 확인 (패킷 출발지 ip 주소가 위변조 되었는지 확인함)
2. 프록시 방화벽 (Proxy Firewall)
- 2세대 방화벽
- 동작구간: OSI Layer7(어플리케이션계층)
- 클라이언트와 외부 네트워크와의 중개인의 역할을 하며 이상이 없는 패킷을 목적지로 전달
- 패킷 필터링보다 더 높은 수준의 보호 능력 제공
- 패킷 정보를 Application 계층까지 조사
3. 응용 게이트웨이 방식 (Application Gateway)
- 동작구간: OSI Layer7(어플리케이션계층)
- 외부망과 내부망의 완벽한 구분
- 내부의 IP 주소를 숨기는 것이 가능
- 데이터 부분 제어에 따른 높은 로깅 및 감사 기능
4. 서킷 게이트웨이 방식 (Circuit Gateway)
- 동작구간: OSI Layer5(세션계층) ~ 7(어플리케이션계층)
- 공용 Proxy 존재 (서비스별로 존재X)
5. 상태 기반 조사 방식 (Stateful Inspection)
- 3세대 방화벽
- 패킷 필터링 + Apllication Gateway
- 패킷으로부터 받은 전송상태, 연결상태, 다른 application 들과의 관계 검사
- 네트워크 계층에서 패킷을 처리하면서 프로토콜의 상태정보 테이블을 유지하여, 프로토콜의 특성에 따른 변화를 동적으로 대응함 (예로, 내부 사용자가 인터넷으로 ping request를 하면 이에 들어오는 ping reply는 허용하지만 인터넷으로부터 내부자의 request가 존재하지 않은 상태에서 불법적인 ping reply는 허용하지 않음)
- 연결의 시작부터 끝까지의 모든 활동을 모니터링 하여 관리자가 정한 규칙을 기반으로 필터링함
- 모든 통신 레이어에서 부석하므로 모든 채널에 대해서 추적 가능
- UDP, RPC 패킷도 추적 가능
방화벽의 구성방식
1. 스크리닝 라우터 (Screening Router)
- 망과 망 사이에 라우터를 설치하고 라우터에 ACL을 구성함
- 응용 프로그램 환경변화에 무관하게 동작하므로 투명한 구성이 가능
- 라우터에 부하를 줌
- 주로 방화벽 설치가 힘든 중소기업들이 많이 사용함
2. 베스천 호스트 (Bastion Host) / 싱글 홈드 게이트웨이 (Single Homed Gateway)
- OSI Layer 7에서 동작
- 방어 기능을 가진 호스트 시스템
- 인증기능/모니터링/로깅 등 기능 제공
- 베스천 호스트가 공격당하면 내부 네트워크 자원 보호 불가능
3. 듀얼 홈드 게이트웨이 (Dual Homed Gateway)
- 두 개의 네트워크 인터페이스를 가진 베스천 호스트를 이용해 구성
- 논리적으로만 구분하는 베스천 호스트와 달리 물리적으로도 구분이 되어 훨씬 안전함
4. 스크린드 호스트 게이트웨이 (Screened Host Gateway)
- 스크리닝 라우터 + 베스천호스트
- Layer 3, 4에서 스크리닝 라우터 1차 필터링
- Layer 7에서 베스천 호스트가 방어
5. 스크린드 서브넷 게이트웨이 (Screened Subnet Gateway)
- 스크리닝 라우터 2개 사이에 하나의 서브넷(망)을 구성함: DMZ
- 스크리닝 라우터 -> 베스천 호스트 서브넷 -> 스크리닝 라우터 -> 내부망
- 가장 안전하고 비싸며 느리다.
DMZ: 외부에서 서비스 제공 시 내부 자원을 보호하기 위한 네트워크 구간과 외부 네트워크 구간 사이에서 접근 제한을 수행하는 영역, 내부 네트워크 노출을 막기 위해 구성함
기출문제
1. 패킷 필터링 방화벽과 관련하여 다음 물음에 답하시오. (출처 참고)
1) 존재하지 않는 외부 IP를 이용한 Spoofing 공격에 대응하기 위한 패킷필터링 방화벽 기술의 이름과 원리
2) 공격자가 패킷을 소형 단편화하여 tiny fragment 공격을 수행하는 이유
3) Tiny fragment 공격 대응 방법
4) stateful 패킷필터링과 일반 패킷 필터링 방화벽의 차이점
1 답 보기
1) Ingress Filtering
2) 쪼개진 패킷을 재조합하는 기능을 제공하지 않는 방화벽의 경우 이렇게 다수로 쪼개진 패킷을 탐지하거나 차단할 수 없는 약점이 있기 때문
3) 단편화된 패킷을 재조합하는 기능이 있는 방화벽을 사용, Port 번호가 포함되어 있지 않을 정도로 분할된 패킷은 필터링 장비(IDS, IPS)에서 탐지 or 차단
4) 일반 패킷 필터링 방화벽은 지나가는 패킷 헤더안의 IP주소와 Port 주소만을 단순검색하여 통제함. Tiny fragment 와 같은 공격에 취약하나 처리 속도는 빠름.
Stateful 패킷 필터링 방화벽은 동일한 출발지 IP주소, 출발지 포트 번호, 목적지 IP주소, 목적지 포트 번호 상태 등을 갖는 패킷들의 상태를 저장하고 그룹으로 필터링 함으로써 일반 패킷 필터링 방식보다 신뢰성 높고 정교하게 공격을 막을 수 있음. 예를 들어 SYN 요청을 통해 Establish가 되지 않은 상태에서 Establish된 것처럼 조작된 패킷은 차단 가능함.
2. 다음의 (A), (B)에 대해서 각각 기술하시오. (출처 참고)
(A) : Standard 또는 Extended Access-List를 활용하여 라우터 내부로 즉, 사내 네트워크로 유입되는 패킷의 소스 IP주소를 체크하여 허용 또는 거부하도록 하는 것이다.
(B) : 내부에서 라우터 외부로 나가는 패킷의 소스IP주소를 체크하여 허용 또는 거부하도록 하는 것이다.
2 답 보기
(A): ingress 필터링, (B): Egress 필터링
3. 사이트 보안 담당자는 신규 도입된 보안장비(방화벽, IPS, IDS, VPN 등)에 대해 취약점 분석 평가를 실시하고자 한다. 보안장비의 계정관리 측면에서 조치해야할 사항 4가지는?
1) 관리자 계정 - 보안장비에 기본적으로 설정되어 있는 관리자 계정 변경
2) 관리자 계정의 패스워드 - 보안장비에 기본적으로 설정되어 있는 관리자 계정의 패스워드를 변경함
3) 계정별 권한 설정 - 보안장비에 등록된 계정별 권한을 설정
4) 계정 관리 - 보안장비에 등록되어 있는 계정 중 사용하지 않는 계정을 제거 또는 관리
https://itwiki.kr/w/%EB%B0%A9%ED%99%94%EB%B2%BD
https://m.blog.naver.com/dang0616/220609594698
http://itnovice1.blogspot.com/2019/09/blog-post_46.html
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=wnrjsxo&logNo=221066364387
https://blog.naver.com/PostView.naver?blogId=stereok2&logNo=222587717690&parentCategoryNo=&categoryNo=28&viewDate=&isShowPopularPosts=true&from=search (기출1번)
https://tistorysolution.tistory.com/194 (기출2번)
https://information-security.tistory.com/269 (기출3번)
The information about network security principles shared here is very useful. You can take a look at the dinosaur game suggestions to see if it helps.