A firewall is a set of related programs, located at a network gateway server,
that protects the resources of a private network from users from other
networks. (The term also implies the security policy that is used with the
programs.) An enterprise with an intranet that allows its workers access to
the wider Internet installs a firewall to prevent outsiders from accessing its
own private data resources and for controlling what outside resources its
own users have access to.
Basically, a firewall, working closely with a router program, examines each
network packet to determine whether to forward it toward its destination. A
firewall also includes or works with a proxy server that makes network
requests on behalf of workstation users. A firewall is often installed in a
specially designated computer separate from the rest of the network so that
no incoming request can get directly at private network resources.

There are a number of firewall screening methods. A simple one is to screen
requests to make sure they come from acceptable (previously identified)
domain name and Internet Protocol addresses. For mobile users, firewalls
allow remote access in to the private network by the use of secure logon
procedures and authentication certificates.

A number of companies make firewall products. Features include logging
and reporting, automatic alarms at given thresholds of attack, and a
graphical user interface for controlling the firewall.

Computer security borrows this term from firefighting, where it originated. In
firefighting, a firewall is a barrier established to prevent the spread of fire.