Lecture 8a: WWW Proxy Servers and Cookies



Similar documents
Lecture 8a: WWW Proxy Servers and Cookies

The Web: some jargon. User agent for Web is called a browser: Web page: Most Web pages consist of: Server for Web is called Web server:

FAQs for Oracle iplanet Proxy Server 4.0

Network Technologies

12. Firewalls Content

Proxy Server, Network Address Translator, Firewall. Proxy Server

Internet Security Firewalls

A host-based firewall can be used in addition to a network-based firewall to provide multiple layers of protection.

Cookies Overview and HTTP Proxies

The Hyper-Text Transfer Protocol (HTTP)

DATA COMMUNICATOIN NETWORKING

Application Layer: HTTP and the Web. Srinidhi Varadarajan

Proxies. Chapter 4. Network & Security Gildas Avoine

CS 356 Lecture 19 and 20 Firewalls and Intrusion Prevention. Spring 2013

GravityLab Multimedia Inc. Windows Media Authentication Administration Guide

TELE 301 Network Management. Lecture 17: File Transfer & Web Caching

Firewalls. Ahmad Almulhem March 10, 2012

Computer Security CS 426 Lecture 36. CS426 Fall 2010/Lecture 36 1

By Bardia, Patit, and Rozheh

ATS Test Documentation

Interwise Connect. Working with Reverse Proxy Version 7.x

HTTP. Internet Engineering. Fall Bahador Bakhshi CE & IT Department, Amirkabir University of Technology

CS640: Introduction to Computer Networks. Applications FTP: The File Transfer Protocol

Architecture. The DMZ is a portion of a network that separates a purely internal network from an external network.

The Web History (I) The Web History (II)

Evolution of the WWW. Communication in the WWW. WWW, HTML, URL and HTTP. HTTP Abstract Message Format. The Client/Server model is used:

Introduction to Computer Security Benoit Donnet Academic Year

DMZ Network Visibility with Wireshark June 15, 2010

Firewall VPN Router. Quick Installation Guide M73-APO09-380

Figure 41-1 IP Filter Rules

Implementing Reverse Proxy Using Squid. Prepared By Visolve Squid Team

Working With Virtual Hosts on Pramati Server

Chapter 9 Firewalls and Intrusion Prevention Systems

A Guide to New Features in Propalms OneGate 4.0

Internet Security Firewalls

SFWR ENG 4C03 Class Project Firewall Design Principals Arash Kamyab March 04, 2004

Intranet, Extranet, Firewall

Table of Contents. Open-Xchange Authentication & Session Handling. 1.Introduction...3

Configuration Guide BES12. Version 12.2

Configuration Guide. BES12 Cloud

ΕΠΛ 674: Εργαστήριο 5 Firewalls

athenahealth Interface Connectivity SSH Implementation Guide

Configuration Guide BES12. Version 12.3

GoToMyPC Corporate Advanced Firewall Support Features

Cornerstones of Security

Firewalls. Ola Flygt Växjö University, Sweden Firewall Design Principles

Chapter 4: Security of the architecture, and lower layer security (network security) 1

Basic Network Configuration

CSE331: Introduction to Networks and Security. Lecture 12 Fall 2006

Firewalls. CEN 448 Security and Internet Protocols Chapter 20 Firewalls

Internet infrastructure. Prof. dr. ir. André Mariën

<Insert Picture Here> Oracle Web Cache 11g Overview

FortiOS Handbook - Load Balancing VERSION 5.2.2

Load Balancing and Sessions. C. Kopparapu, Load Balancing Servers, Firewalls and Caches. Wiley, 2002.

1 Introduction: Network Applications

Internet Services. Amcom. Support & Troubleshooting Guide

Firewall Defaults, Public Server Rule, and Secondary WAN IP Address

ΕΠΛ 475: Εργαστήριο 9 Firewalls Τοίχοι πυρασφάλειας. University of Cyprus Department of Computer Science

Chapter 6 Virtual Private Networking Using SSL Connections

Chapter 7 Transport-Level Security

Multi-Homing Dual WAN Firewall Router

FortiOS Handbook - WAN Optimization, Web Cache, Explicit Proxy, and WCCP VERSION 5.2.4

Chapter 4 Security and Firewall Protection

VPN. Date: 4/15/2004 By: Heena Patel

Security+ Guide to Network Security Fundamentals, Fourth Edition. Chapter 6 Network Security

Lecture 23: Firewalls

Cisco Configuring Commonly Used IP ACLs

REQUIREMENTS AND INSTALLATION OF THE NEFSIS DEDICATED SERVER

World Wide Web. Before WWW

CONTENT of this CHAPTER

Configuring Health Monitoring

Telematics. 14th Tutorial - Proxies, Firewalls, P2P

1. When will an IP process drop a datagram? 2. When will an IP process fragment a datagram? 3. When will a TCP process drop a segment?

Using Foundstone CookieDigger to Analyze Web Session Management

SiteCelerate white paper

Firewalls. Chapter 3

SAP WEB DISPATCHER Helps you to make decisions on Web Dispatcher implementation

FortiOS Handbook WAN Optimization, Web Cache, Explicit Proxy, and WCCP for FortiOS 5.0

Network Security CS 192

Firewall Environments. Name

Security Technology: Firewalls and VPNs

IMPLEMENTATION OF INTELLIGENT FIREWALL TO CHECK INTERNET HACKERS THREAT

Considerations In Developing Firewall Selection Criteria. Adeptech Systems, Inc.

McAfee Web Gateway 7.4.1

CIT 480: Securing Computer Systems. Firewalls

This section contains information intended to help plan for SocialMiner installation and deployment.

DEPLOYMENT GUIDE Version 1.2. Deploying F5 with Oracle E-Business Suite 12

Pass Through Proxy. How-to. Overview:..1 Why PTP?...1

Firewalls CSCI 454/554

CompTIA Exam N CompTIA Network+ certification Version: 5.1 [ Total Questions: 1146 ]

Configuration Guide BES12. Version 12.1

FortiOS Handbook Load Balancing for FortiOS 5.0

BlackBerry Enterprise Service 10. Secure Work Space for ios and Android Version: Security Note

Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme. Firewall

Transcription:

Internet and Intranet Protocols and Applications Lecture 8a: WWW Proxy Servers and Cookies March 12, 2003 Arthur Goldberg Computer Science Department New York University artg@cs.nyu.edu

Terminology Origin Server The Web server that hosts the resource Proxy Server Intermediate server that accepts requests from clients and forwards them to (towards) origin servers, to other proxy servers, or services request from its cache. Acts as server to requesting client, and as client to origin server 3/11/03 2

Web Caches (proxy server) Goal: satisfy client request without involving origin server configure browser: Web accesses via web cache client sends all http requests to web cache if object at web cache, web cache immediately returns object in http response else requests object from origin server, then returns http response to client client client http request http response http request http response Proxy server http request http response http request http response origin server origin server

Why Web Caching? Assume: cache is close to client smaller response time decrease traffic to distant servers link out of institutional/local ISP network is often a bottleneck institutional network public Internet 1.5 Mbps access link 10 Mbps LAN origin servers institutional cache

Web Caching Summary Web proxy Servers store copies of documents retrieved from origin servers Advantages Improve performance (latency reduction, bandwidth conservation) Advanced access control (intermediate requester in firewalled DMZ, authentication & authorization) Advanced filtering (e.g. detect espionage!) Logging and auditing Disadvantages stale (out of date) data

Proxy Server: Basic Operation Accept connection request from client establishes new Socket client_sock Read HTTP request Parse HTTP request reject invalid requests with appropriate response code Connect to (towards) requested server establishes new socket serv_sock Send original HTTP request to server or to next proxy on path to server

Proxy Server: Basic Operation (continued) Read response from Server If time-out server connection, then 504 Gateway Timeout Send response to client If Connection: close header received, close client connection (client_sock) What about server connection (serv_sock)?

HTTP 1.1 Cache Control (Definitions) Freshness of objects: a document is fresh when: it is first retrieved from an origin server. when the origin server is contacted to make up-to-date check when its age does not exceed its freshness lifetime Age of an object time that has elapsed since object was retrieved, or time since last up-to-date check

Age and Freshness Lifetime (determining an object s age) Cache servers use Date: header in response plus some compensation for latency between response creation and receipt to calculate an initial-age. When Cache server sends this object in a response, it adds elapsed time (since object receipt) and initial-age and sends an Age: header

Age and Freshness Lifetime (determining an Object s Freshness Lifetime) Cache-Control: header contains max-age directive, or Expires: header in response contains date and time the object becomes stale Since both of these values come from server, no latency compensation is needed.

HTTP 1.1 Cache Control Directives (controlling an object s cacheability ) RFC 2616 Section 14.9 Cache-Control: general header is used to specify directives that MUST be obeyed by ALL proxy servers handling the request or response. Directives used in Requests no-cache an end-to-end revalidation should be preformed no-store sensitive information: do not store any part of request or response on disk max-age=<delta-seconds> max age acceptable to client

HTTP 1.1 Cache Control Directives (controlling an object s cacheability ) Directives used in responses public response is cacheable by any cache (proxy or client) private response is cacheable by client only no-cache cache MUST NOT use the response to satisfy a subsequent request (for example, dynamic pages) no-store response may not be written to disk

Cache Architectures Components of a Web proxy cache Network communications Storage mechanism for storing the cache data Mapping mechanism to establish relationship between URLs and their cached copies Format for cached object content and its metadata

Cache Architecture: mapping Direct mapping e.g, map URL to a file system path direct mappings are reversible Hash mapping compute some unique ID could be file name or index to table not reversible Why do we care about reversibility?

Existing Mapping Mechanisms Directly mapping URLs to filesystem CERN httpd used a tree map (like DNS tree!) Easy to implement, but not a good performer long pathnames = long inode search garbage collection requires complete traversal of tree

Existing Mapping Mechanisms Hashing URLs (Netscape Proxy server uses URL hashing) Object location (on disk) based on MD5 hash very fast good distribution of different object types (image, text) across cache disadvantage: cannot compute URLs from hash

Alternative Cache Protocols On-Demand document does not exist in cache unless it has been requested (at least once) by some client On-Command, or Pre-Fetch proxy server automatically retrieves documents (or even entire web sites!) at regular intervals

General Purpose Proxy Servers Transparency users get same response whether connection was direct or to proxy (a non-transparent proxy modifies content in some way) Use is client controlled client programs (e.g., browsers) can be configured to use (or not use) proxy servers. Origin Server is unaware of proxy server Origin Server does not have to process request from proxy differently than from other client Example protocols Ftp, ssh, socks, telnet, SMTP Typical Location Firewalled DMZ

Other Intermediate Systems Firewall General term for hardware, software, or combination used to protect internal network from intruders. Uses packet filtering to enforce generic security policies Uses application level proxy servers to enforce protocol-specific polices Packet filter Control based on something in packet headers (e.g., IP addresses or port numbers) Application level proxy Control based on knowledge of application level protocol (.e.g, SMTP headers or HTTP methods)

HTTP State Management: Cookies We said earlier that HTTP is a stateless protocol We also said that stateful protocols can provide improved performance. This feature is usually established by the idea of a session between client and server. So, cookies enable HTTP sessions

COOKIES (briefly) Cookie protocol - RFC 2109 A cookie is a token given to a client by a server. Server sends Set-cookie: header in response Client associates cookie with issuing server (directory) The token is just a file with a simple format (name/value pairs) Each cookie has a unique name

Client-server interaction: cookies server sends cookie to client in response mst Set-cookie: 1678453 client presents cookie in later requests cookie: 1678453 server matches presentedcookie with server-stored info authentication remembering user preferences, previous choices client usual http request msg usual http response + Set-cookie: # usual http request msg cookie: # usual http response msg usual http request msg cookie: # usual http response msg server cookiespectific action cookiespectific action

Cookies and Proxies HTTP cookies are meant for the end-point entities (client and origin server) Cannot be used for state between proxy and endpoint Why would we need cookies for proxy servers?

A Case for Proxy Cookies A common use of cookies is for authentication - so cookie may contain IP Address of client In a network of load balancing servers, requests between two endpoints may not follow the same route. This would invalidate the client cookie! Proxy cookies might be used to establish proxy credentials. Note: proxy cookies do not exist! Can you think of other approaches?