chap8 - http 완벽가이드 8장

30
Chapter8 통통통 : 통통통통통 , 통통 , 통통통 통통통

Upload: ljh11

Post on 07-Jan-2017

258 views

Category:

Engineering


1 download

TRANSCRIPT

Page 1: Chap8 - HTTP 완벽가이드 8장

Chapter8통합점 : 게이트웨이 , 터널 , 릴레이이준환

Page 2: Chap8 - HTTP 완벽가이드 8장

게이트웨이 : 프로토콜 <-> 애플리케이션간 HTTP 인터페이스

애플리케이션 인터페이스 : 서로 다른 웹 애플리케이션이 통신하는데 사용

터널 : HTTP 커넥션으로 wrapping 한 HTTP 가 아닌 트래픽 전송에 사용

릴레이 : hop by hop 에 단순 HTTP 프락시

Integration Points

Page 3: Chap8 - HTTP 완벽가이드 8장

8.1 리소스 게이트웨이

Page 4: Chap8 - HTTP 완벽가이드 8장

8.1 게이트웨이

Page 5: Chap8 - HTTP 완벽가이드 8장

8.1.1 클라이언트 측 게이트웨이와 서버 측 게이트웨이 HTTP 게이트웨이 NNTP(Network News

Transfer Protocol, 유즈넷 ) HTTP/NNTP 게이트웨이는 HTTP/NNTP 와 같이 ‘ /’ 로 구분

Page 6: Chap8 - HTTP 완벽가이드 8장

8.2 프로토콜 게이트웨이 HTTP/FTP

HTTP(80)접속프로토콜 게이트웨이(reverse proxy)

FTP접속

Page 7: Chap8 - HTTP 완벽가이드 8장

8.2 프로토콜 게이트웨이

Page 8: Chap8 - HTTP 완벽가이드 8장

8.2.1 HTTP/*: 서버 측 웹 게이트웨이 HTTP/*: 서버 측 웹 게이트웨이는 FTP 에 커넥션을

맺어서 받은 객체를 HTTP 응답에 실어서 클라이언트에 전송

리버스 프록시와 다른건 ? HTTP/FTP 게이트웨이는 직접 21 번에 붙음 리버스 프록시는 8080 에 붙음

Page 9: Chap8 - HTTP 완벽가이드 8장

8.2.1 HTTP/*: 서버 측 웹 게이트웨이

Page 10: Chap8 - HTTP 완벽가이드 8장

8.2.2 HTTP/HTTPS: 서버 측 보안 게이트웨이

Page 11: Chap8 - HTTP 완벽가이드 8장

8.2.3 HTTPS/HTTP: 클라이언트 측 가속 게이트웨이

Page 12: Chap8 - HTTP 완벽가이드 8장

HTTP/HTTPS vs HTTPS/HTTP

HTTP/HTTPS• 게이트웨이로의 인바운드 패킷 안전을 보장하지

못함 HTTPS/HTTP

• 게이트웨이에 “보안 트래픽 복호화 암호화 하드웨어 내장”

• 그래서 원서버의 부하를 줄여줌• 때문에 HTTPS/HTTP 는 보안 가속 게이트웨이로

부름

Page 13: Chap8 - HTTP 완벽가이드 8장

8.3 리소스 게이트웨이 게이트웨이의 가장 일반적인 형태인 애플리케이션

서버 클라이언트 <-> WAS <-> 애플리케이션 최초의 공용 API = CGI

Page 14: Chap8 - HTTP 완벽가이드 8장

8.3 리소스 게이트웨이

Page 15: Chap8 - HTTP 완벽가이드 8장

8.3 리소스 게이트웨이

Page 16: Chap8 - HTTP 완벽가이드 8장

8.3.1 공용 게이트웨이 인터페이스 (CGI) 2 장 http://www.joes-hardware.com/invento-

rycheck.cgi?item=12731&color=blue 웹서버 뒤에 있는 Database 에 query 를 함

Page 17: Chap8 - HTTP 완벽가이드 8장

8.3.1 공용 게이트웨이 인터페이스 (CGI) CGI 요청마다 프로세스를 만들면 너무 느림 FastCGI 개발되어서 데몬으로 모두 처리

• CGI 요청은 데몬이 모두 처리하고 각 프로세스를 생성

• 각 프로세스가 socket, tcp 로 요청 데이터 처리• 즉 , FastCGI 는 I/O 다중화와 데몬이 요청을

모두 처리하는 방식

Page 18: Chap8 - HTTP 완벽가이드 8장

8.3.2 서버 확장 API

서버 자체의 동작을 바꾸거나 서버의 처리능력을 높이고 싶을땐 ? HTTP 와 직접 연결 가능한 서버 확장 API 사용 REST OPEN API webdav

Page 19: Chap8 - HTTP 완벽가이드 8장

8.4 애플리케이션 인터페이스와 웹 서비스 HTTP 가 애플리케이션을 연결하는 도구로 활용 웹 서비스는 HTTP 위에서 애플리케이션이 정보를

공유하는데 사용하는 새로운 메커니즘 XML -> JSON SOAP -> REST

Page 20: Chap8 - HTTP 완벽가이드 8장

8.5 터널 웹 터널은 HTTP 프로토콜을 지원하지 않는

애플리케이션에 HTTP 애플리케이션을 사용해 접근하는 방법을 제공

HTTP 커넥션으로 HTTP 가 아닌 트래픽 전송 HTTP 위에 다른 프로토콜을 올림

Page 21: Chap8 - HTTP 완벽가이드 8장

8.5 터널 웹 터널은 HTTP 프로토콜을 지원하지 않는

애플리케이션에 HTTP 애플리케이션을 사용해 접근하는 방법을 제공

HTTP 커넥션으로 HTTP 가 아닌 트래픽 전송 HTTP 위에 다른 프로토콜을 올림

Page 22: Chap8 - HTTP 완벽가이드 8장

8.5.1 CONNECT 로 HTTP 터널 커넥션 맺기 CONNECT 메서드 사용해서 TCP 커넥션을 맺음 요청CONNECT home.netscape.com:443 HTTP/1.0User-agent: Mozilla/4.0

응답HTTP/1.0 200 Connection EstablishedProxy-agent: Netscape-Proxy/1.1

Page 23: Chap8 - HTTP 완벽가이드 8장

8.5.1 CONNECT 로 HTTP 터널 커넥션 맺기

Page 24: Chap8 - HTTP 완벽가이드 8장

8.5.3 SSL 터널링

Page 25: Chap8 - HTTP 완벽가이드 8장

8.5.3 SSL 터널링 방화벽이 SSL 은 튕겨냄 HTTP 만 허용 HTTP 터널로 SSL 트래픽을 전송 하지만 사용자가 SSL 터널을 통해 내부로 악의적인

트래픽이 유입될 수 있음

Page 26: Chap8 - HTTP 완벽가이드 8장

8.5.3 SSL 터널링

Page 27: Chap8 - HTTP 완벽가이드 8장

8.5.4 SSL 터널링 vs HTTP/HTTPS 게이트웨이

HTTP/HTTPS• 클라이언트 <-> 게이트웨이는 HTTP 커넥션이라

보안성이 없음• 프락시가 인증을 담당하기 때문에 클라이언트는

원격 서버에 SSL 클라이언트 인증 (X509) 을 할 수 없다 -> 부인방지를 보장 안함 .

• 게이트웨이는 SSL 을 완벽히 지원해야 한다 . SSL 터널링

• SSL 터널링은 프락시에 SSL 구현 X

Page 28: Chap8 - HTTP 완벽가이드 8장

8.5.5 터널 인증 CONNECT 과정에서 TCP 커넥션전에 인증요구를

받아서 Proxy-authorization 으로 인증정보를 받음

Page 29: Chap8 - HTTP 완벽가이드 8장

8.5.6 터널 보안에 대한 고려사항 VPN 프록시 SSH 터널링 잘 알려진 포트만 인바운드 허용

Page 30: Chap8 - HTTP 완벽가이드 8장

8.6 릴레이 IRC Relay

• Glowing Bear

Connection: Keep-Alive 헤더를 해석 못하는 멍청한 프락시때문에 hang 상태가 될 수 있음