Firewall Basics
The Main purpose of a Firewall is to filtering packets. For example, if only HTTP (over TCP) is restricted to the incoming traffic, only web-browing is granted to outsiders. Namely, Only packets LABELed themselves as HTTP packets ( by their port address. destined to port 80) are allowed to come through the Firewall. If you ( behind the firewall), PING a website as "www.yahoo.com", you reveive no response. Becasue the PING packet (ICMP protocol) is not allowed to reach ur machine.
Restricting
access in, but not out: Almost all packets (besides
those at the lowest levels which deal with network reachability) are
sent to destination sockets of either UDP or TCP. Typically, packets
from remote hosts will attempt to reach one of what are known as the
well known ports. These ports are monitored by applications which
provide services such as Mail Transfer and Delivery, Usenet News, the
time, Domain Name Service, and various login protocols. It is trivial
for modern routers or firewalls only to allow these types of packets
through to the specific machine that provides a given service. Attempts
to send any other type of packet will not be forwarded. This protects
the internal hosts, but still allows all packets to get
out. Unfortunately this isn't the panacea that it might seem.
An interesting questions is HOW DNS Works? How telnet works? Are all
those two-way communications are haindered by Firewall?
The answer to this problem is :
Let's pretend that you don't
want to let remote users log into your systems unless they use a
secure, encrypting application such as S/Key. However, you are willing
to allow your users to attempt to connect to remote sites with telnet
or ftp. At first glance, this looks simple: you merely restrict remote
connections to one type of packet and allow any type of outgoing
connection. Unfortunately, due to the nature of interactive protocols,
they must negotiate a unique port number to use once a connection is
established. If they didn't, at any given time, there could only be
one of each type of interactive session between any given two
machines. This results in a dilemma: all of a sudden, a remote site is
going to try to send packets destined for a seemingly random
port. Normally, these
packets would be dropped. However, modern
routers and firewalls now support
the ability to dynamically open a
small window for these packets to pass through if packets have been
recently transmitted from an internal host to the external host on the
same port. This allows connections that are initiated internally
to
connect, yet still denies external connection attempts unless they are
desired.
There are times that you may want remote users to have access to items on your network. Some examples are:
Setting up a DMZ is very easy. If you have multiple computers, you can choose to simply place one of the computers between the Internet connection and the firewall. Most of the software firewalls available will allow you to designate a directory on the gateway computer as a DMZ.