A number of users have made inquiries about security and performance issues when running PicLan-IP services (particularly web services) on MultiValue Windows NT host systems such as mv*Base, D3, and Universe. While there are no perfect answers for all configuration questions, this document discusses some approaches that can be used to insure a reliable, secure, and fast configuration.
Most of the discussions of this document concern aspects of implementing a public web site using PicLan-IP as a primary web server. Public sites are particularly vulnerable to security issues, as well as performance issues due to the wide variability of public internet access patterns.
In an attempt to secure the local network, there are five general approaches that can be taken:
With both Windows and Novell networks, you can elect to run standard file and print sharing over IPX instead of TCP/IP as a transport protocol. This effectively thwarts internet hackers from gaining access to file and print sharing resources over a protocol that does not reach them. With Novell networks, the use of IPX is the default. With Windows networks, this configuration requires that you "unbind" the TCP/IP protocol stack from the server components of your Windows 95 and Windows NT systems.
Firewalls are very effective in securing a network, but require a bit of expertise to setup and maintain. The problem with setup and maintenance is not really the firewall itself, but the concept of what a firewall does. A firewall is a packet filter. It is up to the system administrator to determine what must be filtered. If you filter too much, then you may not be able to fully use your internet connection. If you filter too little, then you may be vulnerable to attack.
If you have a workstation directly connected to the internet, that workstation will have a publicly available IP address. "Publicly available" means that the IP address is a part of the global internet's addressing structure and any other computer system on the internet can send data to your workstation and that data will reach it's destination. If you have a workstation behind a NAT box, then the addressing is different. The NAT box has a publicly available internet address assigned to it, but the workstations behind the NAT box have private IP addresses that are not visible to the rest of the internet. These "locally administered" IP addresses still allow workstation users outbound access to internet functions like browsing the web, but disallow outside users reaching in.
Traditional NAT boxes are "one-way". They take a single IP address and let a network use that address for client appellations like web browsers. Some newer NAT boxes also allow "static" NAT table entries that allow you to create single "locally administered" IP addresses that can be reached from the outside. This allows you to place internet servers, like web servers, behind the NAT box.
Proxy servers are probably the most bullet-proof isolation mechanism in that the only communication that occurs through the proxy is regenerated by the proxy server. This means that even mal-formed IP packet attacks will not reach your internal network.
In terms of web security impacting system security, there are several points that you should keep in mind:
HTTP proxy servers can keep local cache content. This allows them to respond to HTTP requests for static pages without even communicating with the actual web server. This environment allows the proxy server to service nearly 100% of the static page content leaving the primary web server open to server dynamic pages. In fact, the current SPECweb96 single-processor benchmark holder for best web server performance is for a web server through a proxy server running on a single system. The web server is Netscape Enterprise server and the proxy server is Novell Border Manager running on NetWare 4.11.
A public example of this approach is www.novell.com which is running a single Pentium-II proxy server driving the entire site with multiple inbound T-3 lines.
The problem with server farms is that they can get out of hand pretty quickly. Not only do you have to deal with multiple systems, you also have the added complexity of running parellel systems and the synchronization issues of your web application that this entails. In general, if you can avoid a server farm, you should. Before creating a group of servers with identical content, you should use the "normal" distribution tactics. Divide the application where it makes sense to divide it. Keep multiple applications off of a single system. This should sound just like the approach used for "normal" MultiValue applications, and it is. The web is just a different view of the same data model.
A public example of this approach is www.microsoft.com with 19 active servers.
{INCLUDE _GEN_FTR.HTM}