Definition of firewall



Similar documents
Track 2 Workshop PacNOG 7 American Samoa. Firewalling and NAT

Linux firewall. Need of firewall Single connection between network Allows restricted traffic between networks Denies un authorized users

How To Set Up An Ip Firewall On Linux With Iptables (For Ubuntu) And Iptable (For Windows)

1:1 NAT in ZeroShell. Requirements. Overview. Network Setup

Firewall. IPTables and its use in a realistic scenario. José Bateira ei10133 Pedro Cunha ei05064 Pedro Grilo ei09137 FEUP MIEIC SSIN

Firewalls, NAT and Intrusion Detection and Prevention Systems (IDS)

Multi-Homing Dual WAN Firewall Router

Firewalls. Chien-Chung Shen

Chapter 7. Firewalls

Firewall VPN Router. Quick Installation Guide M73-APO09-380

CS Computer and Network Security: Firewalls

CSC574 - Computer and Network Security Module: Firewalls

Firewalls. Chapter 3

CS Computer and Network Security: Firewalls

CIT 480: Securing Computer Systems. Firewalls

Linux Firewalls (Ubuntu IPTables) II

Firewalls. Ingress Filtering. Ingress Filtering. Network Security. Firewalls. Access lists Ingress filtering. Egress filtering NAT

Protecting and controlling Virtual LANs by Linux router-firewall

Managing Multiple Internet Connections with Shorewall

TECHNICAL NOTE 01/2006 ENGRESS AND INGRESS FILTERING

+ iptables. packet filtering && firewall

CSE543 - Computer and Network Security Module: Firewalls

Firewalls and VPNs. Principles of Information Security, 5th Edition 1

Linux Firewall Wizardry. By Nemus

Linux Networking: IP Packet Filter Firewalling

How to configure DNAT in order to publish internal services via Internet

Chapter 5. Figure 5-1: Border Firewall. Firewalls. Figure 5-1: Border Firewall. Figure 5-1: Border Firewall. Figure 5-1: Border Firewall

CIT 480: Securing Computer Systems. Firewalls

Firewalls. Ola Flygt Växjö University, Sweden Firewall Design Principles

Network Security. Routing and Firewalls. Radboud University Nijmegen, The Netherlands. Autumn 2014

Chapter 3 Security and Firewall Protection

Load Balancing Trend Micro InterScan Web Gateway

THE HONG KONG POLYTECHNIC UNIVERSITY Department of Electronic and Information Engineering

TECHNICAL NOTES. Security Firewall IP Tables

CIS 433/533 - Computer and Network Security Firewalls

Evaluation guide. Vyatta Quick Evaluation Guide

Introduction to Firewalls

Firewall implementation and testing

Computer Firewalls. The term firewall was originally used with forest fires, as a means to describe the

Topics NS HS12 2 CINS/F1-01

Network security Exercise 9 How to build a wall of fire Linux Netfilter

Virtual private network. Network security protocols VPN VPN. Instead of a dedicated data link Packets securely sent over a shared network Internet VPN

Intro to Linux Kernel Firewall

Computer Security CS 426 Lecture 36. CS426 Fall 2010/Lecture 36 1

Firewalls CSCI 454/554

10.4. Multiple Connections to the Internet

Linux Routers and Community Networks

Module: Firewalls. Professor Patrick McDaniel Spring CMPSC443 - Introduction to Computer and Network Security

Shorewall Documentation

GregSowell.com. Mikrotik Security

Firewalls P+S Linux Router & Firewall 2013

Multi-Homing Security Gateway

Chapter 4 Firewall Protection and Content Filtering

Chapter 4 Firewall Protection and Content Filtering

Netfilter / IPtables

Network Security Exercise 10 How to build a wall of fire

Load Balancing Sophos Web Gateway. Deployment Guide

FIREWALL AND NAT Lecture 7a

Cryptography and network security

Linux: 20 Iptables Examples For New SysAdmins

Firewalls. CEN 448 Security and Internet Protocols Chapter 20 Firewalls

CS5008: Internet Computing

Netfilter. GNU/Linux Kernel version 2.4+ Setting up firewall to allow NIS and NFS traffic. January 2008

DSL-G604T Install Guides

Linux Network Security

Linux MDS Firewall Supplement

CMPT 471 Networking II

Linux Firewall. Linux workshop #2.

About Firewall Protection

Load Balancing McAfee Web Gateway. Deployment Guide

12. Firewalls Content

Load Balancing Bloxx Web Filter. Deployment Guide

A host-based firewall can be used in addition to a network-based firewall to provide multiple layers of protection.

Assignment 3 Firewalls

How To Configure A Vyatta As A Ds Internet Connection Router/Gateway With A Web Server On A Dspv.Net (Dspv) On A Network With A D

Focus on Security. Keeping the bad guys out

Load Balancing Router. User s Guide

Security Technology: Firewalls and VPNs

Smart Tips. Enabling WAN Load Balancing. Key Features. Network Diagram. Overview. Featured Products. WAN Failover. Enabling WAN Load Balancing Page 1

For extra services running behind your router. What to do after IP change

Firewalls. Test your Firewall knowledge. Test your Firewall knowledge (cont) (March 4, 2015)

We will give some overview of firewalls. Figure 1 explains the position of a firewall. Figure 1: A Firewall

Technical Support Information

Network Security. Tampere Seminar 23rd October Overview Switch Security Firewalls Conclusion

Content Distribution Networks (CDN)

Firewalls. Network Security. Firewalls Defined. Firewalls

Broadband Phone Gateway BPG510 Technical Users Guide

Internet infrastructure. Prof. dr. ir. André Mariën

UIP1868P User Interface Guide

Lab Objectives & Turn In

Worksheet 9. Linux as a router, packet filtering, traffic shaping

Optimisacion del ancho de banda (Introduccion al Firewall de Linux)

Internet Protocol: IP packet headers. vendredi 18 octobre 13

Chapter 4: Security of the architecture, and lower layer security (network security) 1

Transcription:

Internet Firewalls Definitions: firewall, policy, router, gateway, proxy NAT: Network Address Translation Source NAT, Destination NAT, Port forwarding NAT firewall compromise via UPnP/IGD Packet filtering and session spoofing Port knocking IPtables firewalls Shorewall

Definition of firewall A computer networking firewall implements a security policy either: a. in respect of network traffic traversing a router or gateway operating between 2 networks, or b. on a host computer in respect of network traffic between one or more of that host computer's network connections and the host computer itself.

Security Policy A security policy in this context is a decision about network traffic that should be allowed and/or traffic that should be blocked. "The Net treats censorship as damage and routes around it" John Gilmore While VPNs or circumvention proxies can be used to pierce firewalls, school pupils can be disciplined and residents of dictatorships arrested by police for network security policy evasions. For these purposes a firewall is better seen as a line of defence, and not as the entire defence.

Router A router is a device that routes traffic between networks and which operates at the network layer. In practice firewalls must also be able to make accept or reject decisions in respect of routed packets based on information relevant to the transport layer. http://en.wikipedia.org/wiki/network_layer http://en.wikipedia.org/wiki/transport_layer

Gateway 1 A gateway is a device which intercepts and relays network traffic in respect of a particular application, and which proxies this traffic such that the server providing this application sees client traffic as if it were originating and terminating at the gateway. The location of the gateway might be transparent to the client in some cases, or part of the client configuration in other cases. Where a gateway acts as a network firewall, its security influence will be restricted to the application/s which it proxies.

Gateway 2 A router between the client and a proxy which intercepts and redirects client requests for particular applications, (e.g. HTTP based on port 80 or for outgoing SMTP based on port 25) to specific gateways is acting as an integral part of the firewall provided by this redirecting proxy service. Application gateways might have traffic management and network efficiency purposes in addition to security purposes or both. Gateways can be used to implement higher level security policies. For example a school may restrict the web sites its pupils can visit e.g. based on a restricted sites list.

Marcus Ranum's Ultimate Firewall http://www.ranum.com/security/computer_security/papers/a1-firewall/

Network Address Translation Firewalls Strictly speaking this is a routing technique for the purpose of connecting a LAN using unroutable in-house LAN allocatable addresses to the Internet. Due to the shortage of IP version 4 addresses, this approach is increasingly used for internal networks. The security advantage is that the default SNAT configuration of many consumer- grade (i.e. broadband) routers provides an inherent firewall, which blocks server requests from clients on the WAN side of the router to hosts on the LAN side, while allowing all client requests from the LAN side to be serviced from the WAN side.

NAT Firewalls 2 Given the low cost and security benefits of these devices, and the relative insecurity of most consumer PCs, this approach is recommended as the standard means to connect even a single Windows host to a broadband connection, in preference to direct use of a broadband modem which exposes the PC to external server requests and port scans. An NAT firewall is stateful, as it is concerned with maintaining transport layer connections, as well as translating addresses on network layer packets. Knowing which packets to allow through the firewall depends upon whether these are part of a legitimately initiated session.

Source NAT (SNAT) Private IP addresses are reserved in RFC 1918 and use netblocks 192.168.0.0/16, 172.16.0.0/12 and 10.0.0.0/8. To allow servers outside the firewall/router to respond to clients inside, the router must: Translate outgoing IP source packet headers from the internal host addresses to the WAN IP address of the router, so that the session is masqueraded as coming from the NAT firewall. Remember the association between service requests and the internal IP addresses these come from. Forward replies from the client service request by the external server to the client. Enable the client-server session or connection to continue on another port as requested by the external server, forwarding any responses by the server to the client.

Destination NAT (DNAT) DNAT enables servers located inside the firewall protected LAN to be accessed by clients located outside. Here the router must: Translate incoming IP destination packet headers from the firewall/router WAN IP address to the internal address of the server. Remember the association between service requests and the external IP addresses these come from. Forward replies to the client service request by the internal server to the external client. Enable the client-server session or connection to continue on another port as requested by the internal server, forwarding any responses by the client to the server.

Port Address Translation Typical NAT capable firewalls can often usefully change port numbers on SNAT sessions, to enable a server located inside the firewall to provide a particular service, e.g. DNS or SMTP using different or differently-configured server programs to respond to internal LAN requests and to external WAN requests. For example a host might be configured to provide outgoing SMTP service for the LAN on port 25 and incoming SMTP service on port 2525. The firewall will translate the port numbering for DNAT'ed incoming SMTP requests from 25 to 2525 and will also translate outgoing responses on this port intelligently.

NAT firewall compromise via UPnP/IGD The UPnP (Universal Plug and Play) Protocol is intended to enable simple firewall rules to be setup automatically using the Internet Gateway Device service, so that computer users can install more complex services without needing to know anything about these. Unfortunately this protocol isn't authenticated. UPnP assumes LAN requests to be trustworthy. The IGD service can change port forwarding, DNS, WiFi and other configurations on the fly. If a UPnP/IGD user visits a website containing malicious Adobe Flash content this can initiate HTTP requests which will compromise the firewall. An attack of this nature has been reported in connection with BT's Home Hub product.

Packet filtering A packet filtering firewall can operate statelessly based on the legitimacy of the source and destination addresses on IP packets. One problem this solves is IP spoofing. In this kind of attack trust relationships between computers are exploited by sending packets purporting to come from a trusted computer, but where the origin is forged. For a firewall to defeat this attack, packets with origins internal to the network should be blocked if coming from outside (ingress filtering). Packets with origin addresses external to the network should be blocked if coming from the inside (egress filtering). Implementing egress filtering at ISP customer-facing routers helps mitigate DDOS attacks.

Session spoofing Session spoofing involves interpolation of IP packets into a TCP or UDP session presumed to have been initiated between trusted hosts. For example, an attacker can predict when a web server will contact a back end SQL database server based on input to the web server provided by the attacker. For TCP this attack has been made more difficult by making the initial packet numbers within TCP sessions less predictable. Dan Kaminsky's 2008 DNS spoofing attack involves spoofing UDP source addresses and guessing port numbers.

Port Knocking 1 This is a custom technique, which has pros and cons. Those checking their server logs will be aware of automated attempts to "brute force" system logins. This involves guessing popular passwords, typically on a SSH (secure shell) server. The following commands: cd /var/log grep sshd auth.log grep password grep root Showed 209 attempts on the root password - including: Jan 23 21:38:30 copsewood sshd[529]: Failed password for root from ::ffff:82.208.151.245 port 37219

Port Knocking 2 One approach to defeat such attacks is to configure a firewall so that the sshd (secure shell daemon) server program will only allow traffic through the firewall from a particular set of IP addresses. This is going to be too restrictive if you need to fix a server problem when you receive an automated SMS watchdog text message while on holiday and need to use the nearest Internet access point. A more flexible firewall solution is to use a port knocking daemon (PND) which scans firewall logs for a specific and secret sequence of port knocks. When the correct port-knocking sequence is received, the PND will reconfigure the firewall temporarily to allow the IP address from which the knocking pattern was received access to the SSH service port (22)

iptables iptables is a networking administration command-line tool on Linux which interfaces to the kernel-provided Netfilter modules. This allows for stateless and stateful firewalls and NAT. It is useful to think of IPtables as being a specialised firewall-creation programming language. Programs in this language are made up of a set of chains, comparable to a subroutine or function in conventional programming. These chains are made up of individual rules and are contained within particular "tables". A chain can be called from another, and can return to its caller.

Iptables chains flow diagram Source: http://dmiessler.com/ images/dm_nf.png

Organisation of tables and chains Any user-defined chains can be added to, and called from the above predefined tables and chains.

Iptables targets Each rule has a target, which defines what happens to the packet. Targets are: ACCEPT, DROP, QUEUE, or RETURN, or a target defined by another user-defined chain to which the packet is passed for further processing. The effect of QUEUE is to allow the packet to be processed by a userspace program, e.g. for the purpose of creating a complex tarpit designed to consume massive remote resources in exchange for trivial local resources when malicious packets are received. RETURN allows processing of the packet to continue in the chain's caller module.

Iptables extended targets REJECT - similar to drop but replying with an error ICMP packet. LOG - host kernel logs the packet. ULOG - logs packet using a socket connection to a userspace program. DNAT - rewrites destination address of packet and optionally port, and causes this rule to be applied to all relevant packets in session. SNAT - rewrites source address of packet and optionally port, and causes this rule to be applied to all relevant packets in session. MASQUERADE - similar to SNAT but suited to dynamic host addresses allocated using DHCP.

Iptables script example #!/bin/bash # iptables script to limit sshd attacks. Have to run this as root on bootup. # whitelist iptables -A INPUT -s home.letsystem.org -p tcp -m \ tcp --dport ssh -j ACCEPT # For outsiders, rate-limit and enjoy iptables -A INPUT -p tcp -m tcp --dport ssh \ -m state --state NEW \ -m recent --hitcount 3 --seconds 180 --update -j DROP iptables -A INPUT -p tcp -m tcp --dport ssh \ -m state --state NEW \ -m recent --set -j ACCEPT

Shorewall This application is for compiling an iptables based firewall. It allows a firewall configuration to be managed through a set of text files. This can be done more easily, but less flexibly than with iptables rules directly. Shorewall enables a multi-homed host to be handled as a set of zones, e.g. a DMZ (demilitarised zone), a LAN and a WAN zone connected to different network interfaces. The following example Shorewall configuration show only the parts of the standard files which were changed. The example is taken from a dual Ethernet card Linux PC used as a broadband router for a home network.

/etc/shorewall/interfaces #ZONE INTERFACE BROADCASTOPTIONS net eth0 detect dhcp,routefilter,norfc1918 loc eth1 detect relevant comments # norfc1918 - This interface should not receive any packets whose # source is in one of the ranges reserved by RFC 1918 # (i.e., private or "non-routable"addresses. If packet mangling is # enabled in shorewall.conf, packets whose destination addresses are # reserved by RFC 1918 are also rejected.

/etc/shorewall/masq # You have a simple masquerading setup where eth0 connects # to a DSL or cable modem and eth1 connects to your local # network with subnet 192.168.0.0/24. # Your entry in the file can be either: # eth0 eth1 # or # eth0 192.168.0.0/24 # #INTERFACE SUBNET ADDRESS eth0 eth1

/etc/shorewall/zones # This file determines your network zones. Columns are: # # ZONE Short name of the zone # DISPLAY Display name of the zone # COMMENTS Comments about the zone # #ZONE DISPLAY COMMENTS net Net Internet loc Local Local networks

/etc/shorewall/policy #This file determines what to do with a new connection # request #SOURCE DEST POLICY LOG LEVEL fw net ACCEPT fw loc ACCEPT loc fw ACCEPT net all DROP info all all REJECT info

/etc/shorewall/rules #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL_PORT PORT(S)_ DEST # # Accept DNS connections from the firewall to the network # ACCEPT fw net tcp 53 ACCEPT fw net udp 53 # # Accept SSH connections from the local network for administration # ACCEPT loc fw tcp 22 # # Accept Ping Ubiquitously # ACCEPT loc fw icmp 8 ACCEPT net fw icmp 8 # # All ICMP are accepted fw->all # ACCEPT net fw tcp 22 - ACCEPT net fw tcp 8888 - ACCEPT net fw tcp 9090 -