ms2 Proxyserver
ms2 Proxyserver
0
By NeonSurge
Rhino9 Publications
Preface-
This documented was not made for people who have been working with Microsoft
Proxy Server since its beta (catapult) days. It is made for individuals who
are curious about the product and security professionals that are curious as
to what Microsoft Proxy Server has to offer. This document is also being
written for individuals have a general idea of what a Proxy Server does, but
wants to know more. This paper goes into discussion of Proxy Server Features
and Architecture, Access Control, Encryption, and Firewall Strategies (which
I have been getting a lot of requests for).
The second part of the documentation goes into Firewall types and
strategies, so if that's the reason you downloaded the documentation, go
straight to page 8 I believe.
Proxy Server can also be used to enhance the performance of your network by
using advanced caching techniques. The can be configured to save local
copies of requested items from the Internet. The next time that item is
requested, it can be retrieved from the cache without having to connect to
the original source. This can save an enormous amount of time and network
bandwidth.
Unlike Proxy Server 1.0, Proxy Server 2.0 includes packet filtering and many
other features that we will be discussing.
* Web Proxy: The web proxy service supports HTTP, FTP, and Gopher for TCP/IP
Clients.
* SOCKS Proxy: The SOCKS Proxy is a cross-platform service that allows for
secure communication in a client/server capacity. This service supports
SOCKS version 4.3a and allows users access to the Internet by means of Proxy
Server. SOCKS extends the functionality provided by the WinSock service to
non-Windows platforms such as Unix or Macintosh.
In conjunction with other products, Proxy Server can provide firewall level
security to prevent access to your internal network.
* Single Contact Point: A Proxy Server will have two network interfaces. One
of these network interfaces will be connected to the external (or
"untrusted") network, the other interface will be connected to your internal
(or "trusted") network. This will better secure your LAN from potential
intruders.
* Packet Layer Filtering: Proxy Server adds dynamic packet filtering to its
list of features. With this feature, you can block or enable reception of
certain packet types. This enables you to have a tremendous amount of
control over your network security.
* Caching Mechanisms: Proxy Server supports both active and passive caching.
These concepts will be explained in better detail further into the document.
* Support for Web Publishing: Proxy Server uses a process known as reverse
proxy to provide security while simultaneously allowing your company to
publish on the Internet. Using another method known as reverse hosting, you
can also support virtual servers through Proxy.
* Be sure that "Enable IP Forwarding" is not checked in your TCP/IP settings. This
could seriously compromise your internal security.
Upon installing the Proxy Server client software, it adds a file named
msplat.txt into the \Mspclnt directory. The msplat.txt file contains the
LAT. This file is regularly updated from the server to ensure that the LAT
the client is using is current.
Some Administrators may not see this as a problem because the LAT is
regularly updated from the server, so any changes the user made to his or
her LAT will be overwritten. However, if the user saves their LAT with the
filename Locallat.txt, the client machine will reference both the msplat.txt
and the locallat.txt to determine if an IP address is local or remote. So,
by using the locallat.txt method, a user can, in theory, permanently bypass
Proxy Server. The locallat.txt file is never overwritten unless the user
does so manually.
* The Web Proxy, Winsock Proxy, and SOCKS Proxy services are installed and
management items are added into the Internet Service Manager.
* Client installation and config files are added to the Msp\Clients folder.
This folder is shared as Mspclnt and by default has the permissions set to
Read for Everyone.
* A WSP Client icon is added to control panel on Win3.X, Win95 and WinNT
clients.
* The winsock.dll file is replace with Remote WinSock for Proxy. The old
winsock file is renamed winsock.dlx.
Joe opens his browser to visit his favorite news site on the net. He types
in the sites IP address which he has memorized because his visits often,
instead of doing his job. The client compares the IP address Joe entered to
the LAT table. Because the IP address is not found on the LAT, it is
considered external. Since the client has determined that the IP address is
external, it knows it must process the request through Proxy Server. The
client hands Joe's request to Proxy Server. Proxy Server then checks the IP
address against the access control applied by the Administrator. The
Administrator has the ability to stop internal employees from visiting
certain sites. Since Joe's request is not on the forbidden list applied by
the Administrator, Proxy Server executes the request. Proxy contacts the
website and requests the document Joe wanted. After Proxy server has
received the information it requested, it stored a copy in its cache for
later use and hands the request to the client machine. The website pops-up
on Joe's browser.
* WinSock Proxy: WinSock Proxy provides proxy services for windows sockets
applications. WinSock Proxy allows winsock applications to function on a LAN
and to operate as if it is directly connected to the Internet. The client
app uses Windows Sockets APIs to communicate with another application
running on an Internet computer. WinSock Proxy intercepts the windows
sockets call and establishes a communication path from the internal
application to the Internet application through the proxy server. The
process is totally transparent to the client. The WinSock Proxy consists of
a service running on Proxy Server and a DLL installed on each client. The
DLL it relies on is the Remote Winsock DLL that replaced the normal
winsock.dll. WinSock Proxy uses a control channel between the client and the
server to manage the ability of Windows Sockets messages to be used
remotely. The control channel is set up when the WinSock Proxy client DLL is
first loaded, and it uses the connectionless UDP protocol. The Winsock Proxy
client and the WinSock Proxy service use a simple ack protocol to add
reliability to the control channel. The control channel uses UDP port 1745
on the proxy server and client computers.
* SOCKS Proxy: Proxy Server supports SOCKS Version 4.3a. Almost all SOCKS
V4.0 client applications can run remotely through SOCKS Proxy. SOCKS is a
protocol that functions as a proxy. It enables hosts on one side of a SOCKS
server to gain full access to hosts on the other side of a SOCKS server,
without requiring direct IP access. (To learn more about SOCKS, visit
http://www.socks.nec.com/index.html).
Understanding components
ISAPI Filter
The ISAPI Filter interface is one of the components of the web proxy
service. The interface provides an extension that the Web server calls
whenever it receives an HTTP request.
The ISAPI Application is the second of the two web proxy components. ISAPI
applications can create dynamic HTML and integrate the web with other
service applications like databases.
Microsoft Proxy Server handles caching in two different ways, Passive and Active
caching.
* Active Caching: Active Caching works with passive caching to optimize the
client performance by increasing the likelihood that a popular will be
available in cache, and up to date. Active caching changes the passive
caching mechanism by having the Proxy Server automatically generate requests
for a set of objects. The objects that are chosen are based on popularity,
TTL, and Server Load.
Windows Sockets
Windows socket is a port of the Berkeley Sockets API that existed on Unix,
with extensions for integration into the Win16 and Win32 application
environments. Windows Sockets also includes support for other transports
such as IPX/SPX and NetBEUI.
131.107.2.200:80
If you are using the WinSock Proxy service, you can control access to the
internet by specifying which port is used by TCP and UDP. You can also grant
or deny, activate or disable certain ports based on your needs.
Proxy Server can control access of external packets into the internal
network by enabling packet filtering on the external interface. Packet
filtering intercepts and evaluates packets from the Internet before they
reach the proxy server. You can configure packet filtering to accept or deny
specific packet types, datagrams, or packet fragments that can pass through
Proxy Server. In addition, you can block packets originating from a specific
Internet host.
Dynamic packet filtering allows for designed ports to automatically open for
transmission, receive, or both. Ports are then closed immediately after
connection has been terminated, thereby minimizing the number of open ports
and the duration of time that a port is open.
Static packet filtering allows manual configuration of which packets are and
are not allowed.
By default, the following Packet settings are enabled on Proxy Server (by
default, ALL packet types are blocked except the ones listed below, known as
Exceptions):
Events that could affect your system may be monitored, and, if they occur,
alerts can be generated. The items listed below are events that will
generate alerts:
When any of the events above occur, an alert is sent to the system log in
the NT Event Viewer, or can be configured to e-mail a pre-defined person.
Filter Information (Action taken and what interface (network adapter) issued
the action)
Encryption Issues
Proxy Server can take full advantage of the authentication and security
features of Internet Information Server and SSL tunneling.
SSL supports data encryption and server authentication. All data sent to and
from the client using SSL is encrypted. If HTTP basic authentication is used
in conjunction with SSL, the user name and password are transmitted after
the client's SSL support encrypts them.
RAS
Proxy Server can take full advantage of Windows NT Remote Access Service
(RAS). Proxy can be configured to dial on demand when an internal client
makes a request that must be satisfied from the external network. The RAS
feature can be configured to only allow connectivity during certain hours.
The Dial-Up Network Scripting tool can aslo be used to automate certain
process using Proxy Server and RAS. For company's who have a standard
constant connection (ISDN, T1, T3) to the Internet, the RAS ability provided
by Proxy Server can be used as a back-up should your constant connection
fail.
IPX/SPX
Microsoft Proxy Server was developed with support for Internet Packet
Exchange/Sequenced Packet Exchange or IPX/SPX. IPX/SPX is a transport
protocol group somewhat similar to TCP/IP.
There are many situations when a client computer may have both IPX/SPX and
TCP/IP protocols installed although the company's internal network may only
use IPX/SPX. Simply disabling aTCP/IP while on the LAN will not get the
IPX/SPX component of the Proxy client software working. You will need to go
into Control Panel, open the Wsp Client icon and check the box that reads
"Force IPX/SPX protocol". This must be done because even though the TCP/IP
protocol was disabled, the WinSock Proxy Client still detects its presence
and will attempt to create a standard IP socket. By enabling the "Force
IPX/SPX Protocol" option, this problem should disappear.
Firewall Strategies
Logical Construction
Firewalls know what traffic to block because they are configured with the
proper information. This information is known as an Access Control Policy.
The proper approach to an access control policy will depend on the goals of
the network security policy and the network administrator.
In the origins of firewalls, there were two types. These two types have now
grown and overlapped each other to the point where distinction is hard. We
will explore the differences between these two types and discuss Firewall
building topologies.
Network level firewalls operate at the IP packet level. Most of these have a
network interface to the trusted network and an interface to the untrusted
network. They filter by examining and comparing packets to their access
control policies or ACL's.
* Bastion Host
* Screened Host
* Screened Subnet
Bastion Host Firewall
Bastion host are probably one of the most common types of firewalls. The
term bastion refers to the old castle structures used in europe, mainly for
draw bridges.
The Bastion host is a computer with atleast one interface to the trusted
network and one to the untrusted network. When access is granted to a host
from the untrusted network by the bastion host, all traffic from that host
is allowed to pass unbothered. In a physical layout, bastion hosts normally
stand directly between the inside and outside networks, with no other
intervention. They are normally used as part of a larger more sophisticated
firewall.
- After an Intruder has gained access, he has direct access to the entire
network.
- Protection is not advanced enough for most network applications.
The physical layout of a Screened subnet is somewhat more difficult, but the result
is a more secure, robust environment. Normally, there is a router with one
connection to the outside network and the other connection to a bastion host. The
bastion host has one connection to the outer most router and one connection to
another bastion host, with an addressable network in the middle. The inner most
bastion host has one connection to the outer most bastion and another connection to
an inside router. The inside router has one connection to the inner bastion host
and the other connection to the inside network. The result of this configuration is
the security components are normally never bogged down with traffic and all
internal IP addresses are hidden from the outside, preventing someone from
"mapping" your internal network.
- The can be two or three times more expensive than other types of firewalls
- Implementation must be done by some type of security professional, as
these types of firewalls are not for the un-initiated.
Application level firewalls are hosts running proxy server software located
between the protected network and the outside network. Keep in mind that
even though Microsofts product is called Proxy Server 2.0, it is actually a
stand alone Bastion Host type of system. Microsoft Proxy Server can also,
single-handedly, disguise your internal network to prevent mapping.
Microsoft Proxy Server 1.0 did not have many of the advanced features
presented in version 2.0. The 1.0 version can definitely be called a true
proxy server, while the 2.0 version is more of a firewall.
Viewed from the client side, a proxy server is an application that services
network resource requests by pretending to be the target source. Viewed from
the network resource side, the proxy server is accessing network resources
by pretending to be the client. Application level firewalls also do not
allow traffic to pass directly between to the two networks. They are also
able to use elaborate logging and auditing features. They tend to provide
more detailed audit reports, but generally, as stand alone security unites,
do not perform that well. Remember that an Application level firewall is
software running on a machine, and if that machine can be attacked effective
and crashed, in effect, youre crashing the firewall.
NeonSurge
The Rhino9 Team.
http://rhino9.abyss.com