Followers

Proxy Server


 Proxy Servers
        Part of an overall Firewall strategy
        Its between the local network and the external network
        Originally used primarily as a caching strategy to minimize outgoing URL requests and increase perceived browser performance
        Primary mission is now to insure anonymity of internal users
        Still used for caching of frequently requested files
        Proxy Servers
        CS-480b
        Dick Steflik
        Also used for content filtering
        Acts as a go-between, submitting your requests to the external network 
        Requests are translated from your IP address to the Proxy’s IP address
        E-mail addresses of internal users are removed from request headers
        Cause an actual break in the flow of communications
        Security Advantages
        Terminates the TCP connection before relaying to target host (in and out)
        Hide internal clients from external network
        Blocking of dangerous URLs
        Filter dangerous content
        Check consistency of retrieved content
        Eliminate need for transport layer routing between networks
        Single point of access, control and logging
        TCP Connection Termination
        Both the outgoing and incoming TCP connections are terminated
        prevents a hacker from hijacking a stale connection on a service that is being proxied
        ex . HTTP page request
        TCP Connection Termination
        Transport layer packets don’t need to be routed because the entire request must be regenerated
        Prevents transport layer exploits
        source routing
        fragmentation
        several DoS attacks
        Since some protocols don’t have proxies available many admins will enable routing              , this alleviates any benefit gained
        Most good proxy servers will allow you to create generic proxies using SOCKS or the redir utility                                                 
        Performance Aspects
        Caching
        By keeping local copies of frequently accessed file the proxy can serve those files back to a requesting browser without going to the external site each time, this dramatically improves the performance seen by the end user
        Only makes sense to implement this at the ISP rather than the small business level because of the number of pages available
        Because of dynamic content many pages are invalidated in the cache right away
        Load balancing
        A proxy can be used in a reverse direction to balance the load amongst a set of identical servers (servers inside the firewall and users outside)
        Used especially with web dynamic content (.asp, .php,.cfm,.jsp)
        Proxy Liabilities
        Single point of failure
        if the proxy dies , no one can get to the external network
        Client software must usually be designed to use a proxy
        Proxies must exist for each service
        Doesn’t protect the OS
        proxies run at the application level
        Usually optimized for performance rather than security
        WINGATE was installed to be easy to configure; opened a winsock proxy to the external interface, which let hackers essentially hijack the machine
        Create a service bottleneck
        solved via parallelism (more proxies, and load balance)
         Transparent / Opaque
        Transparent – both parties (local/remote) are unaware that the connection is being proxied
        Zorp  - application layer proxy is transparent
        Opaque – the local party must configure client software to use the proxy
        client software must be proxy-aware software
        Netscape proxy server is opaque
        With all of the things modern firewalls can do in the area of redirection you could configure the firewall to redirect all http requests to a proxy
        no user configuration required (transparent)
        Circuit Level Proxies
        Since some protocols require a real connection between the client and server, a regular proxy can’t be used
        Windows Media Player, Internet Relay Chat (IRC), or Telnet
        Circuit-level proxy servers were devised to simplify matters.
        Instead of operating at the Application layer, they work as a "shim" between the Application layer and the Transport layer, monitoring TCP handshaking between packets from trusted clients or servers to untrusted hosts, and vice versa. The proxy server is still an intermediary between the two parties, but this time it establishes a virtual circuit between them.
        By using SOCKS (RFC 1928) this can be done
        SOCKS defines a cross-platform standard for accessing circuit-level proxies
        SOCKS  Version 5 also supports both username/password (RFC 1929) and API-based (RFC 1961) authentication. It also supports both public and private key encryption.
        SOCKS 5 is capable of solving this problem by establishing TCP connections and then using these to relay UDP data.
        SOCKS based Proxying
        RFC 1928
        Not a true application layer proxy
        SOCKS protocol provides a framework for developing secure communications by easily integrating other security technologies
        SOCKS includes two components
        SOCKS server
        implemented at the application layer
        SOCKS client
        implemented between the application and transport layers
        The basic purpose of the protocol is to enable hosts on one side of a SOCKS server to gain access to hosts on the other side of a SOCKS Server, without requiring direct IP-reachability.
        Copies packet payloads through the proxy
        Socks Architecture
        Socks Functionality
        GNU ZORP Proxy Firewall Suite
        Protocol Analyzing Firewall
        core framework allows:
         the administrator to fine tune proxy decisions (Python based)
         fully analyze complex protocols with an application-level gateway:
        SSH with several forwarded TCP connections
        SSL with an embedded POP3 protocol).
        FTP, TTP, finger, whois, SSL .
        Usually integrated into the network topology as routers, this means that they have an IP address in all their subnets, and hosts on different subnets use the firewall as their gateway to the outside world.
        Proxy based but uses a packet filter to preprocess the packet stream  and  provide transparency.
        How Zorp Works
        A TCP session is established in the following way:
        client initiates a connection by sending a SYN packet destined to the server
        the firewall behaves as a router between the client and the server, receives the SYN packet on one of its interfaces and consults the packet filter
        the packet filter rulebase is checked whether the given packet is permitted
        if the given connection is to be processed by a proxy, then the packet filter rulebase contains a REDIRECT (ipchains) or TPROXY (iptables) target. Both REDIRECT and TPROXY requires a port parameter which tells the local port of the firewall host where the proxy is listening.
        Zorp accepts the connection, checks its own access control rules and starts the appropriate proxy
        the proxy connects to the server on its own as needed (the server side connection is not necessarily established immediately)
        the proxy mediates protocol requests and responses between the communicating hosts while analyzing the ongoing stream
        Best Practices
        Use a Real Firewall
        Disable Routing
        Secure the Base Operating System
        harden the OS
        Disable External Access
        Disable unneeded Services
Published By
S.G.Godwin Dinesh.MCA
Sr.System Administrator

No comments:

Post a Comment