{"id":900,"date":"2024-05-21T03:31:26","date_gmt":"2024-05-21T00:31:26","guid":{"rendered":"https:\/\/www.fibacloud.com\/content\/?p=900"},"modified":"2026-10-06T02:29:27","modified_gmt":"2026-10-05T23:29:27","slug":"what-is-a-firewall-how-to-protect-servers-and-applications","status":"publish","type":"post","link":"https:\/\/www.fibacloud.com\/content\/security\/what-is-a-firewall-how-to-protect-servers-and-applications\/","title":{"rendered":"What is a Firewall? How to Protect Servers and Applications"},"content":{"rendered":"<div class=\"fc-resource-revision\" data-fc-editorial=\"20261006\">\n<p class=\"fc-article-summary\">A firewall controls which network traffic may pass under a defined policy. It can evaluate source, destination, protocol, port and, depending on the product, connection state or application information. It establishes an access boundary but does not replace software updates, user authentication or application authorization.<\/p>\n<figure class=\"fc-editorial-figure\"><img loading=\"lazy\" src=\"\/community\/assets\/resource-renewal-20261006\/firewall-en-v2.svg\" width=\"960\" height=\"440\"  decoding=\"async\" alt=\"Traffic passes source, destination, protocol and port policy before reaching a service. Being able to reach the service does not grant application privileges. Outbound rules and return traffic also need consideration.\"><figcaption>A firewall creates an access boundary and complements authentication, patching and other controls.<br \/><a class=\"fc-diagram-open\" href=\"\/community\/assets\/resource-renewal-20261006\/firewall-en-v2.svg\">Enlarge illustration \u2192<\/a><\/figcaption><\/figure>\n<h2>Distinguish the protection layers<\/h2>\n<p>A cloud firewall can apply policy at the resources or network boundaries supported by the service. A host firewall works in the server\u2019s own network stack. Both can be used, but an allowance at one layer does not override a denial at another. Troubleshooting requires examining the complete traffic path.<\/p>\n<p>A web application firewall performs a different job, inspecting application-layer information such as HTTP requests. Closing a network port and identifying a malicious web request are not the same task. A WAF also does not eliminate the need for secure application code and authorization. Document what each selected product actually controls.<\/p>\n<h2>Give each rule a business purpose<\/h2>\n<p>Start by specifying which client needs access to which service, over which protocol and port. Separate administration, user traffic and service-to-service communication. Instead of exposing management ports to the entire internet, consider suitable private networking or a controlled administrative access path.<\/p>\n<p>Record an owner and reason for each rule. Temporary permissions need an expiry or review point. Review broad address ranges and permissions for retired services regularly. Least privilege means defining the communication that is necessary and limiting additional access, rather than accumulating exceptions indefinitely.<\/p>\n<h2>Understand state and rule evaluation<\/h2>\n<p>A stateful firewall can evaluate return traffic as part of an established connection, according to its implementation. Stateless filtering may require explicit policy in both directions. Check connection tracking, default behavior and rule precedence in the selected product\u2019s documentation. Do not assume every firewall evaluates a rule set in the same order.<\/p>\n<p>An IPv4 policy may not provide equivalent IPv6 coverage. Check the addresses on which the server is actually reachable. Outbound access also matters: update services, DNS, time synchronization and application dependencies can fail if egress is restricted without a dependency inventory.<\/p>\n<h2>Change policy without losing control<\/h2>\n<ol>\n<li>Record current rules and working services, and prepare a recovery method.<\/li>\n<li>Verify an independent console or access path if the management session is interrupted.<\/li>\n<li>Test a narrowly scoped change in a non-production environment or controlled resource.<\/li>\n<li>Check both allowed connections and connections that should be denied.<\/li>\n<li>Validate persistence after restart and confirm useful logging.<\/li>\n<\/ol>\n<p>Flushing every rule or disabling a production firewall is an unnecessarily broad troubleshooting change. First identify where traffic is rejected, whether the service listens on the expected address, and whether the return path works. This produces a more precise diagnosis while preserving the intended access boundary.<\/p>\n<h2>Use logs in context<\/h2>\n<p>Denied-traffic logs can reveal misconfiguration or unexpected access attempts. A denial is not automatically evidence of an attack, and an allowed connection is not proof of a safe application interaction. Consider the cost of high-volume logging and the handling of any sensitive data it contains. Correlating network events with application and system monitoring produces more useful evidence.<\/p>\n<p>Policy must evolve with the application. New services, removed machines and staff access changes all require review. Rules that are written once and forgotten can create both unnecessary exposure and difficult-to-explain connectivity failures.<\/p>\n<h2>Frequently asked questions<\/h2>\n<dl>\n<dt><strong>Does allowing a port authorize every application action?<\/strong><\/dt>\n<dd>\n<p>No. Network reachability is separate from application authentication and authorization. Both need to work correctly.<\/p>\n<\/dd>\n<dt><strong>Does a cloud firewall make host rules unnecessary?<\/strong><\/dt>\n<dd>\n<p>That depends on the architecture. The layers can protect different boundaries; define their scope and how they work together.<\/p>\n<\/dd>\n<\/dl>\n<h2>Your next step<\/h2>\n<p>Evaluate <a href=\"\/products\/cloud-firewall\">cloud firewall<\/a> and <a href=\"\/products\/vpc\">private networking<\/a> against the required access paths. If traffic passes through a proxy, also review trusted-header handling in the <a href=\"https:\/\/www.fibacloud.com\/content\/networking\/what-is-a-load-balancer-how-load-balancers-work\/\">load balancer guide<\/a>.<\/p>\n<h2>Sources<\/h2>\n<ol>\n<li><a href=\"https:\/\/nvlpubs.nist.gov\/nistpubs\/Legacy\/SP\/nistspecialpublication800-41r1.pdf\" rel=\"noopener\" target=\"_blank\">NIST SP 800-41 Revision 1 \u2014 Guidelines on Firewalls and Firewall Policy<\/a><\/li>\n<li><a href=\"https:\/\/documentation.ubuntu.com\/server\/how-to\/security\/firewalls\/\" rel=\"noopener\" target=\"_blank\">Ubuntu Server \u2014 Firewalls<\/a><\/li>\n<li><a href=\"https:\/\/wiki.nftables.org\/wiki-nftables\/index.php\/Connection_Tracking_System\" rel=\"noopener\" target=\"_blank\">nftables \u2014 Connection Tracking System<\/a><\/li>\n<\/ol>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>A firewall controls which network traffic may pass under a defined policy. It can evaluate source, destination, protocol, port and, depending on the product, connection state or application information. It establishes an access boundary but does not replace software updates, user authentication or application authorization. A firewall creates an access boundary and complements authentication, patching [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":946,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[31,24,25,26,30],"tags":[111,112,113],"class_list":["post-900","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-security","category-cloud-consulting-services","category-cloud-overviews","category-compute","category-networking","tag-firewall","tag-network-security","tag-server-protection"],"_links":{"self":[{"href":"https:\/\/www.fibacloud.com\/content\/wp-json\/wp\/v2\/posts\/900","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fibacloud.com\/content\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fibacloud.com\/content\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fibacloud.com\/content\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fibacloud.com\/content\/wp-json\/wp\/v2\/comments?post=900"}],"version-history":[{"count":5,"href":"https:\/\/www.fibacloud.com\/content\/wp-json\/wp\/v2\/posts\/900\/revisions"}],"predecessor-version":[{"id":907,"href":"https:\/\/www.fibacloud.com\/content\/wp-json\/wp\/v2\/posts\/900\/revisions\/907"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fibacloud.com\/content\/wp-json\/wp\/v2\/media\/946"}],"wp:attachment":[{"href":"https:\/\/www.fibacloud.com\/content\/wp-json\/wp\/v2\/media?parent=900"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fibacloud.com\/content\/wp-json\/wp\/v2\/categories?post=900"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fibacloud.com\/content\/wp-json\/wp\/v2\/tags?post=900"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}