1. 침입차단시스템 (방화벽, Firewall)
1) 방화벽 개념
조직의 보안 정책에 따라 인가된 네트워크 서비스에 대한 접근을 허가하고 인가되지 않은 서비스를 수행하는 트래픽을 차단함으로써 효율적인 보안 서비스를 제공한다.
Access Control List(ACL)를 통해 네트워크에 전송되는 트래픽에 대한 보안 정책을 설정한다.
서비스 제어, 방향 제어, 사용자 제어, 행위 제어를 수행한다.
2) 방화벽 기능
접근통제: 내부로 접근하는 패킷 중 공개된 서버, 호스트를 제외한 패킷은 패킷 필터링을 이용하여 통제해야 한다.
사용자 인증: 트래픽에 대한 사용자들의 신분을 증명하는 기능이 필요하다.
감사 및 로그 기능: 트래픽에 대한 접속 정보 등 네트워크 사용에 따른 통계 정보를 기록하는 감사 및 로그 기능이 있어야 한다.
프라이버시 보호: 내부 네트워크 정보 유출 발지, 이중 DNS, Froxy 기능을 재공하여 정보의 노출을 막아야한다.
서비스 통제: 안전하지 않거나 위험성이 존재하는 서비스를 필터링 하여 내부 호스트가 가지고 있는 취약점을 감소 시켜야한다.
데이터 암호화: VPN을 활용하여 방화벽 외부로 보내는 패킷을 암호화 한다.
3) 방화벽의 장단점
장점 | 단점 |
취약한 서비스 보호 기능 | 제한된 서비스 제공 |
호스트 시스템 접근제어 가능 | 우회하는 트래픽은 제어 불가 |
로그와 통계자료 유지 | 악의적인 내부 사용자의 공격을 막을 수 없음 |
내부 네트워크의 모든 자원에 일관된 보안 정책 적용 가능 | 바이러스 및 새로운 형태의 위험에 대한 방어 곤란 |
4) 방화벽 운영 정책
Deny All 정책(Whitelist): 모든 트래픽을 먼저 차단하고 허용해야 할 트래픽만을 선별적으로 허용하는 방식이다. (외부→내부)
Permit All 정책(Blacklist): 모든 트래픽을 허용하고 특정 트래픽만을 선별적으로 차단하는 방식이다. (내부→외부)
2. 패킷 필터링 침입 차단 시스템
1) 개념
라우터에 패킷 필터링 기능은 추가한 것으로 스크리닝 라우터 혹은 패킷 필터링 라우터라고 부른다.
IP, 포트, 세션 기반으로 동작한다.
패킷 필터링 방식에는 IP 주소를 이용한 패킷 필터링 방식, 서비스를 이용한 필터링 방법이 존재한다.
장점
동작방식이 간단하여 구현하기 쉽고 확장성이 높다.
IP, 포트 기반으로만 동작하기 때문에 고속 처리가 가능하다.
응용 프로그램에 독립적이다.
단점
패킷에서 헤더정보 이외에는 조사하지 않기 때문에 서비스별로 정교한 제어가 불가능 하다.
spoofing, 패킷 단편화, 세션 하이재킹, 재전송 공격 등 보안 공격에 취약하다.
연결 상태를 추적하지 않음
3. 스테이트풀 패킷 검사 침입차단 시스템 (상태기반 검사 방화벽)
1) 개념
패킷필터링 침입차단시스템과 마찬가지로 동일한 패킷 정보를 검토하지만 TCP 연결에 관한 정보를 기록한다.
TCP 순서번호를 추적해서 순서번호를 이용한 세션 하이재킹을 방어한다.
통신 채널을 추적하는 상태 테이블을 관리한다.
2) 작동 원리
① 데이터 링크 계층에서 SYN 패킷을 전송 받으면 접근제어 정책에 의해 상태 테이블에 남겨 접근 허용여부 결정한다.
② 접근이 금지된 패킷일 경우 로그를 저장하고 전송을 수행하지 않고 허용된 패킷은 네트워크 계층으로 전송한다.
③ SYN 패킷이 아닐 경우 상태 테이블의 패킷정보 여부를 검사하고 존재하면 네트워크 계층으로 전송, 패킷 정보가 존재하지 않을 경우 접근제어 정책에 따라 전송여부 결정한다.
3) 장단점
패킷 필터링 방화벽과 동일한 성능을 수행하고 패킷 상태에 대한 보안성을 높인다.
네트워크 계층 이하에서 동작하는 Stateful Packet Inspector 모듈을 통하여 전체 계층에 대한 상태를 조사하고 투명성을 제공한다.
연결 요청의 첫 패킷 헤더가 공격당할 경우에는 잘못된 상태 테이블을 구성하게된다.
4. NAT (Network Address Translation)
사설 주소와 범용 주소를 매핑 시키고 가상 사설 네트워크를 지원하는 기술이다.
외부 네트워크에서 내부 네트워크 IP주소를 알 수 없으므로 보안 효과가 있다.
Static NAT: 내부 사설 IP 주소와 외부 공인 IP 주소를 1:1 매핑한다.
Dynamic NAT: 여러개의 사설 IP 주소와 여러개의 공인 IP 주소를 동적으로 N:M 매핑한다.
PAT(Port Address Translation): 내부에서 1개의 공인 IP로 여러 서비스를 제공할 경우 포트기반으로 매핑한다.
5. 프록시 방화벽 (Proxy Firewall)
1) 개념
침입차단 시스템 호스트에서 실행되는 게이트웨이 방식으로 application이나 서버 프로그램으로서 침입차단 시스템에서 사용되는 배스천 호스트에 설치되어 운영된다.
2) 베스천 호스트 (Bastion Host)
침입차단 S/W가 설치되어 내 외부 네트워크 사이에서 게이트웨이 역할을 수행하며 철저한 보안 방어기능이 구축되어 있는 컴퓨터 시스템이다.
내부 네트워크 사용자의 주요 접속점으로 인터넷에 노출되어 공격에 취약하므로 불필요한 사용자 계정, 중요하지 않은 파일은 삭제하고 운영해야한다.
2.1) 베스천호스트 설계와 구축
단순한 구조: 단순할 수록 호스트 보안 정책을 쉽게 구성할 수 있다.
비상 대비책 강구: 단일 실패지점이기 때문에 손상될 경우의 대비책을 마련해 둔다.
로그 백업 기능: 게이트웨이 역할을 수행하기 때문에 로그 관리를 위해 백업을 진행한다.
장점
스크리닝라우터 방식보다 안전하다.
정보 지향적인 공격을 방어할 수 있다.
각종 기록 정보 생성 및 관리가 쉽다
단점
Bestion Host가 단일 실패 지점이 된다.
로그인 정보가 유출되면 내부 네트워크 보호가 불가능 하다.
3) 응용프로그램 수준 프록시 방화벽 (Application Level Proxy)
패킷을 응용프로그램 계층까지 검사한다.
응용 서비스마다 각각 다른 응용 게이트웨이를 구현하여 안전하게 내부 네트워크를 보호할 수 있다.
이전 방식은 시스템 인증만 수행 하지만 해당 방식은 기록 및 감사 추적이 가능하고 강력한 인증 서비스를 제공한다.
L7까지 확인하기 때문에 높은 대역폭 혹은 실시간 응용프로그램에 일반적으로 적합하지 않다.
새로운 네트워크 응용프로그램과 프로토콜 지원에 제한적이다.
Transparent Proxy: 서비스 요청 헤더 부분에 Proxy 서버 종류, Client IP를 함께 포함한다.
Anonymous Proxy: 역추적하기 어렵게 하기 위해Proxy 서버 종류만 나타내고 실제 Client IP는 포함시키지 않는다.
High anonymous: Client IP와 Proxy 서버 종류 둘다 표시되지 않는다.
4) 회선 레벨 게이트웨이 (circuit-level gateway)
클라이언트/서버 환경에서 이용되는 프록시 접속 프로토콜인 SOCKS을 사용한다.
응용계층 게이트웨이는 내부 서버 보호를 목적으로 하지만 해당 방식은 내부 네트워크에 있는 호스트를 보호화는 목적으로 사용한다.
내부에서 외부로 트래픽을 전송할 경우 IP주소를 서킷 레벨 게이트 웨이 주소로 변환하여 전송하기 때문에 내부 IP가 노출되지 않는다.
응용 트래픽에 대한 조사가 필요 없으므로 응용 게이트웨이 방화벽에 비해 처리속도가 빠르다.
응용프로그램 수준 방화벽이 제공하는 깊은 검사 능력을 제공하지 않는다.
6. 침입 차단 시스템의 종류
1) 스크리닝 라우터 구조
라우터를 이용해 각 인터페이스에 들어오고 나가는 패킷을 필터링하여 내부 서버로의 접근을 가려내는 역할을 한다.
연결에 대한 요청이 입력되면 IP, TCP/UDP의 패킷의 헤더를 분석하여 송신지/목적지 주소와 포트번호, 제어필드의 내용을 분석하고 패킷 필터 규칙에 적용하여 트래픽 통과유무를 결정한다.
장점
구조가 간단하고 장비 추가비용 소요가 없다.
네트워크 계층에서 동작하고 클라이언트와 서버에 변화가 없다.
네트워크 계층, 트랜스포트 계층에 대한 트래픽을 분석할 수 있다.
단점
세부적인 규칙 설정이 어려다
인증기능 수행 불가능하고 내부 구조 숨기기 어렵다.
실패한 접속에 대한 로깅을 지원하지 않고 규칙 검증 어렵다.
2) 이중 네트워크 호스트 구조 (Dual-Homed Host Architecture)
내, 외부에 각각 1개씩 두개의 인터페이스를 가지는 장비를 의미한다.
외부에서 내부로 갈 수 없는 베스천 호스트 방식인 라우팅 기능이 없는 방화벽을 설치한다.
장점
스크리닝 라우터 방식보다 안전하다.
정보 지향적인 공격 방어가 가능하다.
관리, 설치, 유지보수 용이하다.
단점
서비스가 증가할수록 프록시 소프트웨어 가격 상승한다.
사용자 정보 입력이 필요하고 단일 실패지점이 된다.
3) 스크린드 호스트 게이트웨이 구조 (Screened Host Gateway)
듀얼 홈드 호스트 구조와 스크리닝 라우터가 합쳐진 형태로 외부에 스크리닝 라우터를 설치하고 내부에 배스천호스트를 설치하는구조이다.
장점
다른 방화벽에 있는 모든 장점이 있으며 융통성도 뛰어나다.
스크리닝 라우터과 배스천호스트에서 방어하기 때문에 2단계 방어가 가능하다.
단점
서버 속도가 느리고, 배스천호스트 침해 시 내부 네트워크를 보호할 수 없다.
내부자에 의해 스크린 라우터의 라우팅 테이블이 변경되면 외부 트래픽이 배스천호스트로 입력되지 않고 곧바로 내부 네트워크로 진입하여 내부 네트워크 방어가 불가능하다.
4) 스크린드 서브넷 구조 (Screened Subnet Architecture)
3중 방어 체계를 가지며 인터넷과 내부 네트워크 사이에 DMZ를 구성하는 구조이다.
DMZ에 메일, 웹,이메일, DNS 서버를 구성하고 내부에 DB서버 등 중요한 서버를 구성한다.
장점
DMZ와 같은 보안층을 가지고 있어 매우 안전하고, 융통성 또한 뛰어나다.
단점
다른 방화벽에 비해 설치/관리가 어렵고 구축비용 높고 서비스 속도가 낮다.
7. iptables
1) iptables 개념
리눅스 커널에 내장된 netfilter 기능을 관리, rule 기반의 패킷 필터링 기능 제공한다.
기존 연결을 가장하여 접근할 경우 상태 목록과 비교 후 접근 또는 거부 수행하는 상태 추적 기능을 제공한다.
iptables [TABLE명] [CHAIN명] [RULE설정] [TARGET지정]
2) 테이블 지정
옵션: iptables -t [테이블명]
테이블에는 패킷필터링하는 기능을 제공하는 filter테이블과 NAT 기능을 제공하는 nat테이블이 존재한다. (default 값은 filter)
3) 룰을 설정할 체인 지정
append [-A]: 해당 체인의 제일 마지막에 룰을 추가한다.
insert [-I]: 해당 체인의 첫 행에 룰을 추가하고, 행 번호 지정 시 특정 행에 룰을 추가한다.
delete[-D]: 행 번호를 지정하여 특정 위치의 룰을 삭제한다.
flush [-F]: 해당 체인의 모든 룰을 삭제한다.
default [-P]: 해당 체인의 default 정책을 설정한다.
filter 테이블의 체인에는 INPUT, OUTPUT, FORWARD 체인이 있다.
4) 룰 설정
[-p]: 프로토콜 지정
[-s]: 출발지 IP 지정
[-d]: 목적지 IP 지정
[--sport]: 출발지 Port 지정
[--dport]: 목적지 Port 지정
[-i]: 패킷이 들어오는 인터페이스 지정
[-o]: 패킷이 나가는 인터페이스 지정
5) 타겟 지정
[-j] : 룰에 매칭될 때 적용할 정책 또는 타겟 체인을 지정한다.
정책에는 ACCEPT(허용), DROP(차단, 응답 없음), REJECT(차단, 응답), LOG(로깅)이 존재한다.
DROP 시에는 차단과 함께 아무런 응답을 하지 않지만 REJECT의 경우 ICMP에러 응답을 전송한다.
6) iptables 사용 예시
Q1. 출발지 주소가 192.18.159.31인 모든 접속포트 차단
iptables -A INPUT -s 192.18.159.31 -j DROP
Q2. 출발지 주소가 192.18.159.131인 icmp 프로토콜을 거부하는 규칙을 추가
iptables -A INPUT -S 192.168.159.131 -p icmp -j DROP
Q3. 목적지 포트가 23번인 tcp 프로토콜 패킷을 거부하는 규칙을 추가
iptables -A INPUT --dport 23 -p tcp -j DROP
Q4. 목적지 포트가 80번인 tcp 프로토콜 패킷을 받아들이는 규칙을 추가
iptables -A INPUT --dport -p tcp -j ACCEPT
Q5. 목적지 포트번호가 1023번 이하의 모든 포트인 tcp 프로토콜 패킷을 거부하는 규칙 추가
iptables -A INPUT --dport :1023 -p tcp -j DROP
'Certification Study > 정보보안기사' 카테고리의 다른 글
[정보보안기사] 30. 최신 네트워크 보안기술 (0) | 2020.03.25 |
---|---|
[정보보안기사] 29. VPN(Virtual Private Network) 개념 (1) | 2020.02.18 |
[정보보안기사] 27. IDS/IPS (1) | 2020.02.17 |
[정보보안기사] 26. 네트워크 스캐닝 (0) | 2020.02.16 |
[정보보안기사] 26. Dos, DDos 공격 및 방어 (2) | 2020.02.16 |
공부&일상 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요! 질문은 언제나 환영입니다😊