A physical firewall is a wall made of brick, steel, or other inflammable material that prevents the spread of a fire in a building. In computing, a firewall serves a similar purpose. It acts as a barrier between a trusted system or network and outside connections, such as the Internet. However, a computer firewall is more of a filter than a wall, allowing trusted data to flow through it.
A firewall can be created using either hardware or software. Many businesses and organizations protect their internal networks using hardware firewalls. A single or double firewall may be used to create a demilitarized zone (DMZ), which prevents untrusted data from ever reaching the LAN. Software firewalls are more common for individual users and can be custom configured via a software interface. Both Windows and OS X include built-in firewalls, but more advanced firewall utilities can be installed with Internet security software.
Firewalls can be configured in several different ways. For example, a basic firewall may allow traffic from all IP addresses except those flagged in a blacklist. A more secure firewall might only allow traffic from systems or IP addresses listed in a whitelist. Most firewalls use a combination of rules to filter traffic, such as blocking known threats while allowing incoming traffic from trusted sources. A firewall can also restrict outgoing traffic to prevent spam or hacking attempts.
Network administrators often custom configure hardware and software firewalls. While custom settings may be important for a company network, software firewalls designed for consumers typically include basic default settings that are sufficient for most users. For example, in OS X, simply setting the firewall to "On" in the "Security & Privacy" System Preference prevents unauthorized applications and services from accepting incoming connections. Some firewalls even "learn" over time and dynamically develop their own filtering rules. This helps them become more adept at blocking unwanted connections without any manual customization.