INTERNET FIREWALL
description
Transcript of INTERNET FIREWALL
04/22/23 Internet Firewall 2
차 례
왜 인터넷 방화벽 (firewall) 인가 ?
방화벽 시스템의 구성요소 이중 네트웍 호스트 구조 (dual-homed host architecture) 스크린 호스트 구조 (screened host architecture) 스크린 서브넷 구조 (screen subnet architecture)
각 방식의 방화벽 시스템 패킷 필터링 시스템 프락시 시스템
04/22/23 Internet Firewall 3
왜 인터넷 방화벽인가 ?
무엇을 보호하려고 하는가 ? 데이터
비밀성 (secrecy), 무결성 (integrity), 가용성 (availability) 자원 개인의 명성
무엇에 대항해서 싸울 것인가 ? 공격유형
침입 서비스 부인 정보도난
공격자의 유형 폭주족 파괴자 근거지 확보자 (score keeper) 스파이
어리석음과 돌발 사고
04/22/23 Internet Firewall 4
왜 인터넷 방화벽인가 ?
어떻게 사이트를 보호할 것인가 ? 보안 조치를 하지 않는 경우 은폐를 통한 보안 호스트 보안 네트웍 보안
인터넷 방화벽이란 무엇인가 ? 인터넷 보안 시스템에서 가장 널리 쓰이는 방법
양간의 모든 통신 감시 , 불법 접근 방지 내부 네트웍은 네트웍 침입이나 해킹으로부터 보호 외부에서는 네트웍 전면에 있는 firewall 만 보이고 , 그 뒤에 놓인 내부 네트웍은 보이지
않는다 .
Internet내부
Network
Firewall Systems
04/22/23 Internet Firewall 5
왜 인터넷 방화벽인가 ?
Firewall 은 무슨 일을 할 수 있는가 ? 보안 결정에 있어서 초점이 된다 . 보안 정책을 강화할 수 있다 . 인터넷 액티비티를 효율적으로 로그 할 수 있다 . 노출을 제한한다 .
Firewall 이 할 수 없는 것은 무엇인가 ? 악의적인 내부 사용자로부터 시스템을 보호할 수 없다 자신을 통해 나가지 않는 접속으로부터 시스템을 보호할 수는 없다 . 완전히 새로운 위협에 대해서는 방어할 수 없다 . 바이러스를 방어할 수 없다 .
04/22/23 Internet Firewall 6
방화벽 구조 (Firewall Architecture)
이중 네트웍 호스트 구조 (dual-homed host architecture)
최소 두개의 네트웍 인터페이스를 가진 이중 네트웍 호스트 컴퓨터를 중심으로 구성 인터넷으로부터 IP 패킷은 내부 네트웍으로 직접 전달되지 않는다 .
이중 네트웍 호스트를 통해서만 가능 -> IP 트래픽 완전히 차단
Internet
내부 네트웍
이중 네트웍 호스트Firewall
04/22/23 Internet Firewall 7
방화벽 구조 (Firewall Architecture)
스크린 호스트 구조 (screened host architecture) 분리된 라우터 사용 내부 네트웍에 연결되어 있는 호스트로부터 서비스 제공 최초 보안은 패킷 필터링에 의해 제공 베이스쳔 호스트는 내부 네트웍에 자리잡는다 .
높은 수준의 호스트 보안 필요 특정 유형의 접속만 허용 스크린 라우터에 있는 패킷 필터링은 오직 베이스쳔 호스트만을 접속할 수
있도록 설정
04/22/23 Internet Firewall 8
방화벽 구조 (Firewall Architecture)
스크린 호스트 구조 (screened host architecture)
Internet
내부 네트웍
스크린 라우터
베이스쳔 호스트
Firewall
04/22/23 Internet Firewall 9
방화벽 구조 (Firewall Architecture)
스크린 서브넷 구조 (Screened subnet architecture) 경계선 네트웍 (perimeter network) 추가 경계선 네트웍에서 베이스쳔 호스트를 격리시킴으로써 베이스쳔 호스트에 대한
침입의 영향을 줄 일 수 있다 . 구성요소
경계선 네트웍 부가적 보안 계층 내부 트래픽 안전
베이스쳔 호스트 외부 세계로 들어오는 접속을 위한 주요 접촉점 Outbound 서비스 처리 프락시 서버 역할
특정 프로토콜 (HTTP / FTP) 을 위해 프락시 서버 SW 실행 , 자체 프락시 기능이 있는 프로토콜 (SMTP) 을 위한 표준 서버 실행
내부 라우터 패팃 필터링 수행 베이스쳔 호스트와 내부 네트웍 사이에서 내부 라우터가 허용하는 서비스는 인터넷과 내부 라우터가
허용하는 서비스와 동일할 필요는 없다 . SMTP, DNS 등의 실제 필요한 서비스만 허용하도록 제한
외부 라우터 경계선 네트웍의 컴퓨터 보호 내부 라우터에 있는 규칙의 복사본 사용
04/22/23 Internet Firewall 10
방화벽 구조 (Firewall Architecture)
스크린 서브넷 구조 (Screened subnet architecture)
Internet
내부 네트웍
외부 라우터
베이스쳔 호스트
경계선 네트웍
내부 라우터
Firewall
04/22/23 Internet Firewall 11
변형된 방화벽 구조
여러 개의 베이스쳔 호스트를 사용하는 것이 좋다 Performance, redundancy, 데이터 혹은 서버를 분리할 필요성
내부 라우터와 외부 라우터를 병합하는 것이 좋다 베이스쳔 호스트와 외부 라우터를 병합하는 것이 좋다
이중 네트웍 컴퓨터 사용 , 스크린 서브넷 파이어월 구조 베이스쳔 호스트와 내부 라우터를 병합하는 것은 위험하다
스크린 호스트 파이어월 구조 여러 개의 내부 라우터를 사용하는 것은 위험하다
내부 라우터 설정이 어렵다 경계션 네트웍과 내부 라우터 분리
Redundancy, performance 향상 여러 개의 외부 라우터를 사용하는 것은 좋다 여러 개의 경계선 네트웍을 갖는 것은 좋다 이중 네트웍 호스트와 스크린 서브넷을 사용하는 것은 좋다
04/22/23 Internet Firewall 12
패킷 필터링 시스템 (Packet Filtering System) 가장 기본적인 형태 데이터 출발 주소 , 목적주소 , 사용중인 세션과 애플리케이션 프로토콜로
데이터 전송을 통제 ( 허용 / 거부 ) 패킷 필터링 라우터 설정 패킷 pass/drop
logging action ICMP 오류 코드 회신
패킷을 보낸 컴퓨터에게 패킷을 다시금 보내려는 시도를 하지 말라고 경고
주소에 의한 필터링 패킷의 출발지 / 목적지 주소에 기반해서 패킷의 흐름을 제어
서비스에 의한 필터링 아웃바운드 Telnet 서비스 인바운드 Telnet 서비스
방화벽 시스템 (Firewall Systems)
Firewall
클라이언트 서버
내부 외부
04/22/23 Internet Firewall 13
방화벽 시스템 패킷 필터링 시스템 (cont..)
패킷 필터링 구축 예제 인바운드 / 아웃바운드 SMTP 를 허용 , 그 외 모든 것 거부
규칙 방향 출발지 주소 목적지 주소 프로토콜 목적지 포트 액션ABCDE
InOutOutInEither
ExternalInternalInternalExternalAny
InternalExternalExternalInternalAny
TCPTCPTCPTCPAny
25>102325>1023Any
PermitPermitPermitPermitDeny
• 규칙 A 와 B 는 인바운드 SMTP 접속을 허용한다• 규칙 C 와 D 는 아웃바운드 SMTP 접속을 허용한다• 규칙 E 는 그밖에 실패한 모든 것에 적용되는 디폴트 규칙이다 .
InternetSTMT 클라이언트
TCP 1234
192.168.3.4
STMT 서버
TCP 25
172.16.1.1
Firewall
①
②
규칙 방향 출발지 주소 목적지 주소 프로토콜 목적지 포트 액션12
InOut
192.168.3.4172.16.1.1
172.16.1.1192.168.3.4
TCPTCP
251234
Permit(A)Permit(B)
• 규칙 A 는 송신자의 SMTP 클라이언트에서 SMTP 서버로 들어오는 것을 허용한다 (1)• 규칙 B 는 서버로부터 송신자의 클라이언트로 회신되는 응답을 허용한다 (2)
인바운드 SMTP
04/22/23 Internet Firewall 14
방화벽 시스템 패킷 필터링 시스템 (cont..)
규칙 방향 출발지 주소 목적지 주소 프로토콜 목적지 포트 액션34
InOut
172.16.1.1192.168.3.4
192.168.3.4172.16.1.1
TCPTCP
251357
Permit(C)Permit(D)
• 규칙 C 는 SMTP 클라이언트에서 SMTP 서버로 나가는 패킷을 허용한다 (3)• 규칙 D 는 서버로부터 클라이언트로 회신되는 응답을 허용한다 (4)
InternetSTMT 클라이언트
TCP 1234
192.168.3.4
STMT 서버
TCP 25
172.16.1.1
Firewall
④
③
아웃바운드 SMTP
Internet공격자
TCP 5150
10.1.2.3
X11 서버TCP 6000
172.16.3.4
Firewall
⑤
⑥
인바운드 SMTP
규칙 방향 출발지 주소 목적지 주소 프로토콜 목적지 포트 액션56
InOut
10.1.2.3172.16.3.4
172.16.3.410.1.2.3
TCPTCP
60005150
Permit(D)Permit(B)
• 규칙 A 와 B 는 인바운드 SMTP 접속을 허용하는 정책을 처리한다• 규칙 C 와 B 는 아웃바운드 SMTP 접속을 허용하는 정책을 처리한다• 규칙 B 와 D 는 함께 양끝이 모두 1023 번 이상의 포트를 사용하는 경우에 모든 접속을 허용한다 . 의도하지 않은 결과
04/22/23 Internet Firewall 15
방화벽 시스템 패킷 필터링 시스템 (cont..)
출발지 포트 추가규칙 방향 출발지 주소 목적지 주소 프로토콜 출발지 포트 목적지 포트 액션ABCDE
InOutOutInEither
ExternalInternalInternalExternalAny
InternalExternalExternalInternalAny
TCPTCPTCPTCPAny
>102325>102325Any
25>102325>1023Any
PermitPermitPermitPermitDeny
규칙 방향 출발지 주소 목적지 주소 프로토콜 출발지 포트 목적지 포트 액션12
InOut
192.168.3.4172.16.1.1
172.16.1.1192.168.3.4
TCPTCP
123425
251234
Permit(A)Permit(B)
34
InOut
172.16.1.1192.168.3.4
192.168.3.4172.16.1.1
TCPTCP
135725
251357
Permit(C)Permit(D)
56
InOut
10.1.2.3172.16.3.4
172.16.3.410.1.2.3
TCPTCP
51506000
60005150
Deny (E)Deny (E)
04/22/23 Internet Firewall 16
방화벽 시스템 패킷 필터링 시스템 (cont..)
Internet공격자
TCP 25
10.1.2.3
X11 서버TCP 6000
172.16.3.4
Firewall
⑦
⑧
인바운드 SMTP
규칙 방향 출발지 주소 목적지 주소 프로토콜 출발지 포트 목적지 포트 액션78
InOut
10.1.2.3172.16.3.4
172.16.3.410.1.2.3
TCPTCP
256000
600025
Permit(D)Permit(C)
규칙 방향 출발지 주소 목적지 주소 프로토콜 출발지 포트 목적지 포트 ACK셋 액션7 In 10.1.2.3 172.16.3.4 TCP 25 6000 No Deny(E)
규칙 방향 출발지 주소 목적지 주소 프로토콜 출발지 포트 목적지 포트 ACK 셋 액션ABCDE
InOutOutInEither
ExternalInternalInternalExternalAny
InternalExternalExternalInternalAny
TCPTCPTCPTCPAny
>102325>102325Any
25>102325>1023Any
AnyYesAnyYesAny
PermitPermitPermitPermitDeny
• ACK 비트 추가
• 패킷이 내부로부터 시작된 접속의 일부일 경우에만 SMTP 라고 여긴다 .
04/22/23 Internet Firewall 17
방화벽 시스템
프락시 시스템 프락싱은 모든 호스트에게 인터넷에 대한 액세스를 제공하는 것처럼 하면서
하나의 호스트 혹은 소수의 호스트에게 인터넷 액세스를 제공한다 . 사용자와 이중 네트웍 호스트 사이의 상호 작용을 자동화해서 사용자의
실패를 막아준다 사용자들이 이중 네트웍 호스트에 로그인하는 것을 피하고 , 통제된
소프트웨어를 통해 접속이 이루어지도록 함으로써 미비한 보안의 문제 해결한다
클라이언트
사용자
실제 서버
외부 호스트
프락시 서버
베이스쳔 호스트
사용자의 환영
실 제 서버의환영
- 착각을 하고 있는 접속- 실제 접속
04/22/23 Internet Firewall 18
방화벽 시스템 프락시 시스템 (cont..)
장점 프락시 서비스는 사용자가 인터넷 서비스에 ‘직접’ 액세스하는 것을
허용한다 프락시 서비스는 로깅하기에 좋다
단점 프락시 서비스는 프락시되지 않는 서비스 보다 뒤떨어져 있다 프락시 서비스는 각각의 서비스를 뒤해 서로 다른 서비스를 요구한다 프락시 서비스는 보통 클라이언트 , 절차 , 혹은 둘 다 수정을 요구한다 프락시 서비스는 일부 서비스에 작동하지 않는다 프락시 서비스는 프로토콜의 모든 약점으로부터 보호해주지는 않는다
04/22/23 Internet Firewall 19
방화벽 시스템 프락시 시스템 (cont..)
동작 서버 : 환경설정 변경 , 서버 SW 필요
응용계층 프락시와 회로 계층 프락시 ( 일반 프락시와 전용 프락시 ) Sendmail: Store-and-Forward, 하이브리드 프락시 게이트웨이
지능형 프락시 서버 CERN HTTP : 데이터 캐시
클라언트 맞춤형 (custom) 클라이언트 소프트웨어
특정 플랫폼에서 사용 , 사용자 지원 SW WWW 클라이언트 프로그램
SOCKS 맞춤형 사용 절차
FTP 서버 접속
04/22/23 Internet Firewall 20
방화벽 시스템 프락시 시스템 (cont..)
SOCKS 패키지 사용 사례 맞춤형 클라이언트를 필요로 하는 프락시 시스템 유형 무료 , 인터넷 표준 프락시 패키지 , 대중성 TCP 기반 클라이언트에서만 동작 구성 요소
SOCKS 서버 : UNIX 시스템 기반 UNIX 컴퓨터를 위한 SOCKS 클라이언트 라이브러리 FTP 와 Telnet 처럼 몇 개의 표준 UNIX 클라이언트 프로그램의 SOCKS 화된 버전
SOCKS베이스쳔
Telnet 서버
Telnet 클라이언트
HTTP 서버
HTTP 클라이언트
인터넷
04/22/23 Internet Firewall 21
방화벽 시스템 프락시 시스템 (cont..)
SOCKS 패키시 사용 사례 (cont..) 클라이언트 프로그램 변경하기 위해 표준 네트웍 함수에 대한 모든 호출을
SOCKS 버전에 대한 호출로 대체
그리고 나서 , 재컴파일하고 프로그램을 SOCKS 클라이언트 라이브러리로 링크
클라이언트 컴퓨터는 어떠한 SOCKS 서버와 접촉할지 알아야 한다 UNIX, /etc/socks.conf
사용자에 의한 액세스를 제어하고자 할 경우 클라이언트 컴퓨터는 SOCKS로 하여금 접속 포트를 제어하고 있는 사용자가 누구인가를 식별할 수 있는 identd 를 실행해야 한다
표준 네트웍 함수 SOCKS 버전connect()getsockname()bind()accept()listen()slelect()
Rconnect()Rgesockname()Rbind()Raccept()Rlisten()Rselect()
프로그램의 makefile 의 “ CFLAGS=“ 행에 다음 추가
-Dconnect = Rconnect
-Dgetsockname=Rgetsockname
-Dbind = Rbind
-Daccept = Raccept
-Dlisten = Rlisten
-Dselect = Rselect
04/22/23 Internet Firewall 22
방화벽 시스템 프락시 시스템 (cont..)
TIS 인터넷 파이어월 툴킷 사용 사례 Trusted Information System 에서 만든 무료 TIS FWTK 공통적인 인터넷 서비스를 위한 개별적인 프락시 제공 공통적인 환경설정 파일을 조그맣고 분리된 프로그램이 사용 퉁앙 통제 , 안전한 지능형 프락시 제공
telnet-gw
베이스쳔
Telnet 서버
Telnet 클라이언트
HTTP 서버
HTTP 클라이언트
인터넷
http-gw
04/22/23 Internet Firewall 23
방화벽 시스템 프락시 시스템 (cont..)
TIS 인터넷 파이어월 툴킷 사용 사례 (cont..) TIS FWTK 에서 FTP 프락싱
수정된 클라이언트 프로그램 (ftp-gw) 이나 수정된 사용자 절차를 사용해서 FTP 프락싱 제공
전용 FTP 프락시이기 때문에 특별한 FTP 명령에 대한 로깅 , 거부 , 여분의 사용자 인증 제공
TIS FWTK 에서 Telnet 과 rlogin 프락싱 수정된 사용자 절차만 사용 사용자는 Telnet/rlogin 을 통해 프락시 호스트에 접속 , 프락시 호스트를 위한 “ logi
n” 프롬프트를 얻는 대신에 사용자들이 접속하고자 하는 호스트를 지정할 수 있는 허용하는 프락시 프로그램으로 부터 프롬프트를 얻는다
TIS FWTK 에서 일반 프락싱 Plug-gw 제공
클라이언트에 대한 수정을 필요로 하지 않으면서 제한된 범위의 프로토콜을 지원 , 제한된 범위의 사용 허용
자신이 수신한 출발지 / 목적지 주소검사 , 적절한 포트에서 다른 호스트에 대한 접속 생성 다른 TIS FWTK 프락시
http-gw 프로그램을 통해 HTTP 와 Gopher 를 프락싱 X-gw 는 X 게이트웨이
04/22/23 Internet Firewall 24
참고 문헌
Building Internet Firewalls, D.Grent Chapman & Dlizabetb D. Zwicky 저 , O’REILLY
http://www.dpc.or.kr/
http://ns.parhae.co.kr