Content deleted Content added
Tag: Reverted |
Rescuing 2 sources and tagging 0 as dead.) #IABot (v2.0.9.5 |
||
(37 intermediate revisions by 28 users not shown) | |||
Line 1:
{{short description|Software or hardware-based network security system}}
In [[computing]], a '''firewall''' is a [[network security]] system that [[Network monitoring|monitors]] and controls incoming and outgoing [[network traffic]] based on
== History ==
The term ''[[firewall (construction)|firewall]]'' originally referred to a wall
Before it was used in real-life computing, the term appeared in
One of the earliest commercially successful firewall and network address translation (NAT) products was the PIX (Private Internet eXchange) Firewall, invented in 1994 by Network Translation Inc., a startup founded and run by John Mayes. The PIX Firewall technology was coded by Brantley Coile as a consultant software developer.<ref>{{Cite web|last=Mayes|first=John|date=2022-11-24|title=NTI - JMA|url=http://www.jma.com/nti.html|access-date=2023-03-04|website=Wikipedia|language=en-US}}</ref> Recognizing the emerging IPv4 address depletion problem, they designed the PIX to enable organizations to securely connect private networks to the public internet using a limited number of registered IP addresses. The innovative PIX solution quickly gained industry acclaim, earning the prestigious "Hot Product of the Year" award from Data Communications Magazine in January 1995. Cisco Systems, seeking to expand into the rapidly growing network security market, subsequently acquired Network Translation Inc. in November 1995 to obtain the rights to the PIX technology. The PIX became one of Cisco's flagship firewall product lines before eventually being succeeded by the Adaptive Security Appliance (ASA) platform introduced in 2005.
== Types of
{{see also||Computer security||Comparison of firewalls}}
Firewalls are categorized as a network-based or a host-based system. Network-based firewalls are positioned between two or more networks, typically between the [[Local area network|local area network (LAN)]] and [[Wide area network|wide area network (WAN)]],<ref>{{Cite web
Line 21:
|archive-url = https://web.archive.org/web/20160521201820/https://www.paloaltonetworks.com/documentation/glossary/what-is-a-firewall
|url-status = dead
}}</ref> their basic function being to control the flow of data between connected networks. They are either a [[software appliance]] running on general-purpose hardware, a [[Computer appliance#Types of appliances|hardware appliance]] running on special-purpose hardware, or a [[virtual appliance]] running on a virtual host controlled by a [[hypervisor]]. Firewall appliances may also offer non-firewall functionality, such as [[DHCP]]<ref>{{Cite web|title = Firewall as a DHCP Server and Client|url = https://paloaltonetworks.com/documentation/70/pan-os/pan-os/networking/firewall-as-a-dhcp-server-and-client.html|website = Palo Alto Networks|access-date = 2016-02-08}}</ref><ref>{{Cite web|title = DHCP|url = http://www.shorewall.net/dhcp.htm|website = www.shorewall.net|access-date = 2016-02-08}}</ref> or [[VPN]]<ref>{{Cite web|title = What is a VPN Firewall? – Definition from Techopedia|url = https://www.
[[File:Firewall.png|thumb|left|An illustration of a network-based firewall within a network]]
=== Packet filter ===
The first reported type of network firewall is called a [[PF (firewall)|packet filter]]
The first paper published on firewall technology was in 1987 when engineers from [[Digital Equipment Corporation]] (DEC) developed filter systems known as packet filter firewalls. At [[Bell Labs|AT&T Bell Labs]], [[William Cheswick|Bill Cheswick]] and [[Steven M. Bellovin|Steve Bellovin]] continued their research in packet filtering and developed a working model for their own company based on their original first-generation architecture.<ref>{{cite web |url=http://www.cs.unm.edu/~treport/tr/02-12/firewall.pdf |title=A History and Survey of Network Firewalls |year=2002 |last1=Ingham |first1=Kenneth |last2=Forrest |first2=Stephanie |page=4 |access-date=2011-11-25 |archive-url=https://web.archive.org/web/20060902171316/http://www.cs.unm.edu/~treport/tr/02-12/firewall.pdf |archive-date=2006-09-02 |url-status=dead }}</ref> In 1992, Steven McCanne and
Van Jacobson released a paper on [[Berkeley Packet Filter|BSD Packet Filter]] (BPF) while at [[Lawrence Berkeley Laboratory]].<ref name="bpf93">{{cite web
| url=http://www.tcpdump.org/papers/bpf-usenix93.pdf
Line 35:
| first2=Van
| last2=Jacobson
| date=1992-12-19
| archive-url=https://web.archive.org/web/20000916155334/http://www.tcpdump.org/papers/bpf-usenix93.pdf
| archive-date=2000-09-16
| url-status=dead}}</ref><ref>{{cite web
| url=https://www.usenix.org/conference/usenix-winter-1993-conference/bsd-packet-filter-new-architecture-user-level-packet
| title=The BSD Packet Filter: A New Architecture for User-level Packet Capture
Line 65 ⟶ 68:
* [[identity management|User identity management]]
* [[Web application firewall]]
* Content inspection and heuristic analysis<ref>{{Cite book |title=Evolution of Firewalls: Toward Securer Network Using Next Generation Firewall
* [[TLS termination proxy|TLS Inspection]]
==== Endpoint specific ====
Line 71 ⟶ 75:
Endpoint-based application firewalls function by determining whether a process should accept any given connection. Application firewalls filter connections by examining the process ID of [[data packets]] against a rule set for the local process involved in the data transmission. Application firewalls accomplish their function by hooking into [[Network socket|socket]] calls to filter the connections between the [[application layer]] and the lower layers. Application firewalls that hook into socket calls are also referred to as socket filters.{{citation needed|date=August 2020}}
== Firewall Policies ==
At the core of a firewall's operation are the policies that govern its decision-making process. These policies, collectively known as firewall rules, are the specific guidelines that determine the traffic allowed or blocked across a network's boundaries.<ref>{{Cite web |title=Policy |url=https://docs.paloaltonetworks.com/pan-os/10-1/pan-os-admin/policy |access-date=2024-11-21 |website=docs.paloaltonetworks.com}}</ref><ref name="auto">{{Cite web |title=Creating Firewall Policy Rules {{!}} Juniper Networks |url=https://www.juniper.net/documentation/us/en/software/nm-apps24.1/junos-space-security-director/topics/task/junos-space-firewall-policy-rule-creating.html |access-date=2024-11-21 |website=www.juniper.net}}</ref>
Firewall rules are based on the evaluation of network packets against predetermined security criteria. A network packet, which carries data across networks, must match certain attributes defined in a rule to be allowed through the firewall. These attributes commonly include:
* '''Direction''': Inbound or outbound traffic
* '''Source''': Where the traffic originates ([[IP address|IP address, range, network]], or zone)
* '''Destination''': Where the traffic is headed ([[IP address|IP address, range, network]], or zone)
* '''Port''': Network ports specific to various services (e.g., port 80 for [[HTTP]])
* '''Protocol''': The type of network protocol (e.g., [[Transmission Control Protocol|TCP]], [[User Datagram Protocol|UDP]], [[Internet Control Message Protocol|ICMP]])
* '''Applications''': L7 inspection or grouping av services.
* '''Action''': Whether to allow, deny, drop, or require further inspection for the traffic
=== Zones ===
Zones are logical segments within a network that group together devices with similar security requirements. By partitioning a network into zones, such as "[[Operational technology|Technical]]", "[[Wide area network|WAN]]", "[[Local area network|LAN]]", "[[Wide area network|Public]]," "[[Private network|Private]]," "[[DMZ (computing)|DMZ]]", and "[[Wireless network|Wireless]]," administrators can enforce policies that control the flow of traffic between them. Each zone has its own level of trust and is governed by specific firewall rules that regulate the ingress and egress of data.
A typical default is to allow all traffic from LAN to WAN, and to drop all traffic from WAN to LAN.
=== Services ===
In networking terms, services are specific functions typically identified by a network port and protocol. Common examples include HTTP/HTTPS (web traffic) on ports 80 and 443, FTP (file transfer) on port 21, and SMTP (email) on port 25. Services are the engines behind the applications users depend on. From a security aspect, controlling access to services is crucial because services are common targets for exploitation. Firewalls employ rules that stipulate which services should be accessible, to whom, and in what context. For example, a firewall might be configured to block incoming FTP requests to prevent unauthorized file uploads but allow outgoing HTTPS requests for web browsing.
=== Applications ===
Applications refer to the software systems that users interact with while on the network. They can range from web browsers and email clients to complex database systems and cloud-based services. In network security, applications are important because different types of traffic can pose varying security risks. Thus, firewall rules can be crafted to identify and control traffic based on the application generating or receiving it. By using application awareness, firewalls can allow, deny, or limit traffic for specific applications according to organizational policies and compliance requirements, thereby mitigating potential threats from vulnerable or undesired applications.
Application can both be a grouping of services, or a [[OSI model|L7 inspection]].
=== USER ID ===
Implementing firewall rules based on IP addresses alone is often insufficient due to the dynamic nature of user ___location and device usage.<ref name="auto"/><ref>{{Cite web |title=User-ID |url=https://docs.paloaltonetworks.com/pan-os/10-1/pan-os-admin/user-id |access-date=2024-11-21 |website=docs.paloaltonetworks.com}}</ref> User ID will be translate to a IP address.
This is where the concept of "User ID" makes a significant impact. User ID allows firewall rules to be crafted based on individual user identities, rather than just fixed source or destination IP addresses. This enhances security by enabling more granular control over who can access certain network resources, regardless of where they are connecting from or what device they are using.
The User ID technology is typically integrated into firewall systems through the use of directory services such as [[Active Directory]], [[Lightweight Directory Access Protocol|LDAP]], [[RADIUS]] or [[TACACS|TACACS+]]. These services link the user's login information to their network activities. By doing this, the firewall can apply rules and policies that correspond to user groups, roles, or individual user accounts instead of purely relying on the network topology.
==== Example of Using User ID in Firewall Rules ====
Consider a school that wants to restrict access to a [[social media]] server from students. They can create a rule in the firewall that utilises User ID information to enforce this policy.
# Directory Service Configuration — First, the firewall must be configured to communicate with the directory service that stores user group memberships. In this case, an [[Active Directory|Active Directory server.]]
# User Identification — The firewall maps network traffic to specific user IDs by interpreting authentication logs. When a user logs on, the firewall associates that login with the user's [[IP address]].
# Define User Groups — Within the firewall's management interface, define user groups based on the directory service. For example, create groups such as "Students".
# Create Firewall Rule:
#* Source: User ID (e.g., Students)
#* Destination: list of [[IP address|IP addresses]]
#* Service/Application: Allowed services (e.g., [[HTTP]], [[HTTPS]])
#* Action: Deny
# Implement Default Allow Rule:
#* Source: [[Local area network|LAN]] zone
#* Destination: [[Wide area network|WAN]] zone
#* Service/Application: Any
#* Action: Allow
With this setup, only users who authenticate and are identified as members of "Students" are denied to access [[social media]] servers. All other traffic, starting from LAN interfaces, will be allowed.
== Configuration ==
Setting up a firewall is a complex and error-prone task. A network may face security issues due to configuration errors.<ref>{{Cite journal|last1=Voronkov|first1=Artem|last2=Iwaya|first2=Leonardo Horn|last3=Martucci|first3=Leonardo A.|last4=Lindskog|first4=Stefan|date=2018-01-12|title=Systematic Literature Review on Usability of Firewall Configuration|url=http://dx.doi.org/10.1145/3130876|journal=ACM Computing Surveys|volume=50|issue=6|pages=1–35|doi=10.1145/3130876|s2cid=6570517|issn=0360-0300|url-access=subscription}}</ref>
Firewall
▲Firewall policy configuration is based on specific network type (e.g., public or private), and can be set up using firewall rules that either block or allow access to prevent potential attacks from hackers or malware.<ref>{{Cite web|url=https://www.fortinet.com/resources/cyberglossary/firewall-configuration|title=What is Firewall Configuration and Why is it Important?|website=Fortinet}}</ref>
== See also ==
Line 144 ⟶ 150:
== External links ==
* [http://docstore.mik.ua/univercd/cc/td/doc/product/iaabu/centri4/user/scf4ch3.htm Evolution of the Firewall Industry] – discusses different architectures, how packets are processed and provides a timeline of the evolution.
* [http://www.cs.unm.edu/~treport/tr/02-12/firewall.pdf A History and Survey of Network Firewalls] {{Webarchive|url=https://web.archive.org/web/20170830035901/http://www.cs.unm.edu/~treport/tr/02-12/firewall.pdf |date=2017-08-30 }} – provides an overview of firewalls at various ISO levels, with references to original papers where early firewall work was reported.
{{Computer security}}
|