Zorp and KZorp: Integrating Packet Filtering and Userspace proxying



Similar documents
Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme. Firewall

ΕΠΛ 674: Εργαστήριο 5 Firewalls

Packet filtering and other firewall functions

Secure Cloud-Ready Data Centers Juniper Networks

Security perimeter. Internet. - Access control, monitoring and management. Differentiate between insiders and outsiders - Different types of outsiders

Proxy Server, Network Address Translator, Firewall. Proxy Server

CS 665: Computer System Security. Network Security. Usage environment. Sources of vulnerabilities. Information Assurance Module

CSCE 465 Computer & Network Security

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

ΕΠΛ 475: Εργαστήριο 9 Firewalls Τοίχοι πυρασφάλειας. University of Cyprus Department of Computer Science

INTRODUCTION TO FIREWALL SECURITY

Firewalls. Ahmad Almulhem March 10, 2012

Move over, TMG! Replacing TMG with Sophos UTM

Chapter 11 Cloud Application Development

DMZ Network Visibility with Wireshark June 15, 2010

How To Protect Your Network From Attack

12. Firewalls Content

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

What would you like to protect?

Configuration Guide BES12. Version 12.2

Configuration Guide. BlackBerry Enterprise Service 12. Version 12.0

Security in IPv6. Basic Security Requirements and Techniques. Confidentiality. Integrity

Appendix A: Configuring Firewalls for a VPN Server Running Windows Server 2003

Network Security Topologies. Chapter 11

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

This presentation describes the IBM Tivoli Monitoring 6.1 Firewall Implementation: KDE Gateway Component.

FIREWALLS & NETWORK SECURITY with Intrusion Detection and VPNs, 2 nd ed. Chapter 5 Firewall Planning and Design

Configuration Guide BES12. Version 12.1

Security Technology: Firewalls and VPNs

Computer Networks. Secure Systems

Networking for Caribbean Development

NEFSIS DEDICATED SERVER

Simple security is better security Or: How complexity became the biggest security threat

Network Configuration Settings

Fortigate Features & Demo

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

Multi-Homing Security Gateway

Gigabit SSL VPN Security Router

Recommended IP Telephony Architecture

Networking Basics and Network Security

How to configure SSL proxying in Zorp 6

Firewall Configuration. Firewall Configuration. Solution Firewall Principles

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

Architecture. The DMZ is a portion of a network that separates a purely internal network from an external network.

How to configure SSL proxying in Zorp 3 F5

Figure 41-1 IP Filter Rules

JK0-022 CompTIA Academic/E2C Security+ Certification Exam CompTIA

White Paper Copyright 2011 Nomadix, Inc. All Rights Reserved. Thursday, January 05, 2012

Internet Firewall CSIS Internet Firewall. Spring 2012 CSIS net13 1. Firewalls. Stateless Packet Filtering

Firewall Defaults, Public Server Rule, and Secondary WAN IP Address

Protecting and controlling Virtual LANs by Linux router-firewall

SFWR ENG 4C03 Class Project Firewall Design Principals Arash Kamyab March 04, 2004

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

Chapter 6 Configuring the SSL VPN Tunnel Client and Port Forwarding

CMPT 471 Networking II

Chapter 12. Security Policy Life Cycle. Network Security 8/19/2010. Network Security

Document No. FO1101 Issue Date: Work Group: FibreOP Technical Team October 31, 2013 FINAL:

8. Firewall Design & Implementation

Corporate VPN Using Mikrotik Cloud Feature. By SOUMIL GUPTA BHAYA Mikortik Certified Trainer

Thingsquare Technology

Firewalls. Securing Networks. Chapter 3 Part 1 of 4 CA M S Mehta, FCA

Chapter 3 LAN Configuration

5.0 Network Architecture. 5.1 Internet vs. Intranet 5.2 NAT 5.3 Mobile Network

How To - Configure Virtual Host using FQDN How To Configure Virtual Host using FQDN

Information Technology Career Cluster Introduction to Cybersecurity Course Number:

CompTIA Exam N CompTIA Network+ certification Version: 5.1 [ Total Questions: 1146 ]

Owner of the content within this article is Written by Marc Grote

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

Repeater. BrowserStack Local. browserstack.com 1. BrowserStack Local makes a REST call using the user s access key to browserstack.

Firewall and Router Policy

7 Network Security. 7.1 Introduction 7.2 Improving the Security 7.3 Internet Security Framework. 7.5 Absolute Security?

Architecture and Data Flow Overview. BlackBerry Enterprise Service Version: Quick Reference

Lecture 17 - Network Security

Configuration Example

Firewalls. Network Security. Firewalls Defined. Firewalls

Load Balancing and Sessions. C. Kopparapu, Load Balancing Servers, Firewalls and Caches. Wiley, 2002.

Chapter 8 Network Security

Cisco PIX vs. Checkpoint Firewall

A D M I N I S T R A T O R V 1. 0

Reverse Shells Enable Attackers To Operate From Your Network. Richard Hammer August 2006

How To Understand A Firewall

74% 96 Action Items. Compliance

CIS 433/533 - Computer and Network Security Firewalls

CSE331: Introduction to Networks and Security. Lecture 12 Fall 2006

Gateway Security at Stateful Inspection/Application Proxy

SSL VPN. Virtual Private Networks based on Secure Socket Layer. Mario Baldi. Politecnico di Torino. Dipartimento di Automatica e Informatica

Status of Open Source and commercial IPv6 firewall implementations

Firewall Environments. Name

Introduction to Firewalls

Network Access Security. Lesson 10

IBM. Vulnerability scanning and best practices

Configuration Guide BES12. Version 12.3

Industrial Network Security for SCADA, Automation, Process Control and PLC Systems. Contents. 1 An Introduction to Industrial Network Security 1

CS5008: Internet Computing

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

Transcription:

Zorp and KZorp: Integrating Packet Filtering and Userspace proxying Balázs Scheidler <bazsi@balabit.com>

Zorp Has been established in 2000, as the first BalaBit product Code was GPLd right from the start Initial set of proxies and the Zorp Core Transparent Proxying (merged finally in 2008 after a few incarnations) OS integration tools Used as a part of our solutions, and is embedded in our Firewall product We reinforced our open source efforts in 2013 published more of the code and further integration into upstream projects

Trends on Our Internet Internet access is ubiquitous (mobile phones, tablets, WiFi everywhere) Mobile Apps rely on the availability of the Internet (the cloud ) Traditional network boundaries became fuzzy, as we carry our devices around

Consequences IP addresses are not static anymore (CDNs, distributed services, ) Everything talks HTTP, not just browsers, so L7 protocols are not distinctive anymore More & more things talk HTTPS (fortunately!), which is completely opaque to most firewalls Extensions to HTTP like WebSockets & WebRTC The complexity of browsers and apps (that use HTTP) represents an ever growing attack surface

Traditional Firewall Approach Internal & external networks (+ DMZ) Shielding clients/servers at the perimeter Filter based on direction of connection, IP addresses, ports Protect network stacks against implementation errors (synflood, ISN problems, source routing, Xmas, DoS,...)

Challenges To be controlled, user visible services all use HTTP: Chatting on Facebook vs. Google Search vs. Online Banking vs. Windows Update And their IP addresses are changing all the time Direction of the connection is not really relevant anymore Network stacks became much better wrt implementation errors, and their effect is more limited Attacks move higher up in the stack

To provide any meaningful control, a peek into the L7 traffic is needed, sometimes even complete proxying

Use best of Both Worlds! Use hybrids Multiple levels of processing: Packet filtering Circuit level gateways (e.g. synproxy) Protocol aware L7 proxying Application specific (e.g. Facebook) where you need to exert more control

In order to make it usable, it has to be easy to switch between Processing Levels

With iptables/nft... It's a bit difficult Multiple rules/tables to achieve the same effect Iterative evaluation Switching a PF rule to proxying can mean changing a number of rules A bit of a low-level

Making it easy to switch Make it trivial to direct the firewall to do one or the other, without inflicting changes on the ruleset e.g. create a rule for online banking, or Windows Update Make it possible to switch between processing levels based on a runtime decision e.g. SSL certificates, SNI, etc

We wanted to make the service be the focus

Service Conditions, selectors are like in a firewall: IP addresses (ipv4 or ipv6) Ports Interface Zones (set of IP addresses) VPN connection Authentication information...

Key difference: best match, instead of iterative evaluation

Zorp Configuration Model Zones (set of IP addresses, but also DNS names) Service selection based on Best Match Integrating many sources of information into the condition part (interface, IP, ports, VPN, authentication, ) Actions include: Forward via packet filter Forward via Proxy Drop Lookup based instead of iterative

Architecture Policy & customization (Python) Zorp (proxies) kzorpd (userspace integration) KZorp kzorp (best match) Netfilter (conntrack, nat)

Use cases Zones based on DNS name (e.g. a rule for gmail.com, whatever IP that means) Easily add custom rule for online banking, w/o affecting the rest of the ruleset MITM for SSL encrypted HTTPS sessions, fall back to PF (or kernel level proxying) based on SNI API call inspection/alteration: transparently encrypt Google Calendar data

Zorp Features Proxies for a number widespread protocols (HTTP, FTP, ) Transparent at L3, L2 is possible Customizable, programmable from Python Handing over payload to further processing (virus scanning, DLP, etc)

Ongoing Work Separating & generalizing the KZorp component Merging as much of this to the kernel as possible Decouple Zorp from Python, and make that optional Maintaining Zorp in distributions (Debian, OpenWRT)

Questions? Zorp Tutorial http://zorp-gpl-tutorial.readthedocs.org/en/latest/ Zorp Homepage http://bit.ly/1mx4gnw Reach the authors: zorp@lists.balabit.hu Github: http://github.com/balabit