Encrypting OVN tunnels with IPsec

Slides:



Advertisements
Similar presentations
Encrypting Wireless Data with VPN Techniques
Advertisements

Internet Protocol Security (IP Sec)
Internet Security CSCE 813 IPsec
Internet Security CS457 Seminar Zhao Cheng. Security attacks interruption, interception, modification, fabrication passive attack, active attack.
IPSec: Authentication Header, Encapsulating Security Payload Protocols CSCI 5931 Web Security Edward Murphy.
Information System Security AABFS-Jordan Summer 2006 IP Security Supervisor :Dr. Lo'ai Ali Tawalbeh Done by: Wa’el Musa Hadi.
Internet Protocol Security (IPSec)
What is in Presentation What is IPsec Why is IPsec Important IPsec Protocols IPsec Architecture How to Implement IPsec in linux.
1 Section 10.9 Internet Security Association and Key Management Protocol ISAKMP.
Cosc 4765 SSL/TLS and VPN. SSL and TLS We can apply this generally, but also from a prospective of web services. Multi-layered: –S-http (secure http),
VIRTUAL PRIVATE NETWORK By: Tammy Be Khoa Kieu Stephen Tran Michael Tse.
IPSec IPSec provides the capability to secure communications across a LAN, across private and public wide area networks (WANs) and across the Internet.
Karlstad University IP security Ge Zhang
Module 4 Quiz. 1. Which of the following statements about Network Address Translation (NAT) are true? Each correct answer represents a complete solution.
IPsec Introduction 18.2 Security associations 18.3 Internet Security Association and Key Management Protocol (ISAKMP) 18.4 Internet Key Exchange.
11 SECURING NETWORK COMMUNICATION Chapter 9. Chapter 9: SECURING NETWORK COMMUNICATION2 OVERVIEW  List the major threats to network communications. 
IPSec ● IP Security ● Layer 3 security architecture ● Enables VPN ● Delivers authentication, integrity and secrecy ● Implemented in Linux, Cisco, Windows.
© 2006 Cisco Systems, Inc. All rights reserved. Network Security 2 Module 4: Configuring Site to Site VPN with Pre-shared keys.
IP security Ge Zhang Packet-switched network is not Secure! The protocols were designed in the late 70s to early 80s –Very small network.
Securing Data Transmission and Authentication. Securing Traffic with IPSec IPSec allows us to protect our network from within IPSec secures the IP protocol.
1 Lecture 13 IPsec Internet Protocol Security CIS CIS 5357 Network Security.
Internet Security CSCE 813 IPsec. CSCE813 - Farkas2 TCP/IP Protocol Stack Application Layer Transport Layer Network Layer Data Link Layer.
IPSec – IP Security Protocol By Archis Raje. What is IPSec IP Security – set of extensions developed by IETF to provide privacy and authentication to.
IPSec is a suite of protocols defined by the Internet Engineering Task Force (IETF) to provide security services at the network layer. standard protocol.
K. Salah1 Security Protocols in the Internet IPSec.
Security Data Transmission and Authentication Lesson 9.
IP Security (IPSec) Matt Hermanson. What is IPSec? It is an extension to the Internet Protocol (IP) suite that creates an encrypted and secure conversation.
11 SECURING NETWORK TRAFFIC WITH IPSEC Chapter 6.
IP Security
CSCI 465 Data Communications and Networks Lecture 26
CCSDS IPsec Compatibility Testing
VPNs & IPsec Dr. X Slides adopted by Prof. William Enck, NCSU.
Virtual Private Networks and IPSec
VPNs and IPSec Review VPN concepts Encryption IPSec Lab.
IPsec Problems and Solutions
IPSec Detailed Description and VPN
New Approach to OVS Datapath Performance
Chapter 5 Network Security Protocols in Practice Part I
IPSecurity.
Analysis of secured VoIP services
Network Layer Security Update
Network Security Mechanisms
Version B.00 H7076S Module 3 Slides
CSE 4905 IPsec.
Encryption and Network Security
Chapter 18 IP Security  IP Security (IPSec)
IP Security IP sec IPsec is short for Internet Protocol Security. It was originally created as a part of IPv6, but has been retrofitted into IPv4. It works.
SECURING NETWORK TRAFFIC WITH IPSEC
Internet and Intranet Fundamentals
CSE 4905 IPsec II.
IT443 – Network Security Administration Instructor: Bo Sheng
CCSDS IPsec Compatibility Testing
Internet Security CS457 Seminar Zhao Cheng
UNIT.4 IP Security.
Module 8: Securing Network Traffic by Using IPSec and Certificates
IPSec IPSec is communication security provided at the network layer.
Understand Networking Services
VPNs and IPSec Review VPN concepts Encryption IPSec Lab.
Goals Introduce the Windows Server 2003 family of operating systems
Virtual Private Networks (VPNs)
Security in the Internet: IPSec, SSL/TLS, PGP, VPN, and Firewalls
NET 536 Network Security Lecture 5: IPSec and VPN
Outline Using cryptography in networks IPSec SSL and TLS.
Module 8: Securing Network Traffic by Using IPSec and Certificates
Introduction to Network Security
Virtual Private Networks (VPNs)
Lecture 36.
CSE 5/7349 – February 15th 2006 IPSec.
Lecture 36.
Presentation transcript:

Encrypting OVN tunnels with IPsec Qiuyu Xiao qiuyu.xiao.qyx@gmail.com The University of North Carolina at Chapel Hill Introduce myself in the talk

Motivations Why do we need encryption? VMs compute and communicate sensitive data Financial data Health records Physical network devices (e.g., router, switch) cannot be trusted or might be compromised Traffic across datacenters Router misconfiguration Attackers breaking into internal network Phishing or social engineering attacks on administrators Give an overview here

Motivations IPsec configuration is complicated Many configuration fields Various cryptographic algorithms and parameters Different configuration interfaces from different IKE daemons Verifying security configuration is hard Give an overview here

OVS/OVN IPsec Offer an easy-to-use interface to configure IPsec encryption for tunnel traffic Outer Ethernet Header Outer IP Header Tunnel Header Inner Ethernet Header Inner IP Header Payload IPsec Encryption Outer Ethernet Header Outer IP Header ESP Header Give an overview here Confidentiality Integrity Authenticity

IPsec in Linux IKE daemon IPsec kernel stack IKE protocol User space security policy security association ESP/AH protocol IPsec kernel stack Give an overview here

IPsec in Linux IKE daemon Authentication IKE daemon Negotiates cryptographic algorithms Generates keying material IKE protocol IKE daemon User space Kernel security policy security association ESP/AH protocol IPsec kernel stack

IPsec in Linux IKE daemon Authentication IKE daemon Negotiates cryptographic algorithms Generates keying material Installs security policy and security association IKE protocol IKE daemon User space Kernel security policy security association ESP/AH protocol IPsec kernel stack

IPsec in Linux IKE daemon Authentication IKE daemon Negotiates cryptographic algorithms Generates keying material Installs security policy and security association IKE protocol IKE daemon User space Kernel security policy security association ESP/AH protocol Which traffic to protect IPsec kernel stack

IPsec in Linux IKE daemon Authentication IKE daemon Negotiates cryptographic algorithms Generates keying material Installs security policy and security association IKE protocol IKE daemon User space Kernel security policy security association ESP/AH protocol IPsec kernel stack How to protect the selected traffic

IPsec in Linux IPsec kernel stack Encryption and decryption IKE daemon Checks integrity and authenticity IKE protocol IKE daemon User space Kernel security policy security association ESP/AH protocol IPsec kernel stack

OVS IPsec Tunnel OVS IPsec daemon IKE daemon ovsdb ovs datapath User space Kernel ovs datapath IPsec kernel stack

OVS IPsec Tunnel For example: Configuring IPsec tunnel via ovsdb Using pre-shared key ovsdb OVS IPsec daemon IKE daemon User space Kernel For example: $ ovs-vsctl set interface tun type=geneve \ options:remote_ip=10.33.79.149 \ options:psk=swordfish ovs datapath IPsec kernel stack

OVS IPsec Tunnel For example: Configuring IPsec tunnel via ovsdb Using self-signed certificate ovsdb OVS IPsec daemon IKE daemon User space Kernel For example: $ ovs-vsctl set Open_vSwitch . \ other_config:certificate=/etc/ipsec.d/certs/vm1-cert.pem other_config:private_key=/etc/ipsec.d/certs/vm1-privkey.pem $ ovs-vsctl set interface tun type=geneve \ options:remote_ip=10.33.79.149 \ options:remote_cert=/etc/ipsec.d/certs/vm2-cert.pem ovs datapath IPsec kernel stack

OVS IPsec Tunnel For example: Configuring IPsec tunnel via ovsdb Using CA-signed certificate ovsdb OVS IPsec daemon IKE daemon User space Kernel For example: $ ovs-vsctl set Open_vSwitch . \ other_config:certificate=/etc/ipsec.d/certs/vm1-cert.pem other_config:private_key=/etc/ipsec.d/certs/vm1-privkey.pem other_config:ca_cert=/etc/ipsec.d/cacerts/cacert.pem $ ovs-vsctl set interface tun type=geneve \ options:remote_ip=10.33.79.149 \ options:remote_name=vm2 ovs datapath IPsec kernel stack

OVS IPsec Tunnel Establishing IPsec tunnel OVS IPsec daemon IKE daemon OVS IPsec daemon configures IKE daemon ovsdb OVS IPsec daemon IKE daemon User space Kernel ovs datapath IPsec kernel stack

OVS IPsec Tunnel For example (geneve tunnel): Establishing IPsec tunnel OVS IPsec daemon configures IKE daemon IKE daemon sets up security policy and security association ovsdb OVS IPsec daemon IKE daemon User space Kernel security policy security association For example (geneve tunnel): ovs datapath IPsec kernel stack

OVS IPsec Tunnel IPsec kernel stack OVS IPsec daemon IKE daemon Encryption and decryption Checks integrity and authenticity ovsdb OVS IPsec daemon IKE daemon User space Kernel unencrypted packet ovs datapath IPsec kernel stack encrypted packet

OVN IPsec northbound db ovn-northd southbound db ovn-controller … ovsdb vswitchd ovsdb vswitchd Hypervisor 1 Hypervisor n

OVN IPsec northbound db In each hypervisor, configure ovsdb to use CA-signed certificate for authentication Enable IPsec by configuring northbound database ovn-northd southbound db For example: $ ovn-nbctl set nb_global . ipsec=true ovn-controller ovn-controller … ovsdb vswitchd ovsdb vswitchd Hypervisor 1 Hypervisor n

IPsec Evaluation Environment: StrongSwan 5.3.5, Linux 4.4.0, Intel Xeon 2 GHz, 10 Gbps NIC iperf generates TCP stream (window size: 85KB), which is encrypted in a single core Use a Ipsec

Current Status Compatible with StrongSwan and LibreSwan IKE daemon Packages for Ubuntu and Fedora Tutorials on using OVS/OVN IPsec Need to use OVS out-of-tree kernel module Status of the current project. Both works on LibreSwan and StrongSwan. Fedora and ubuntu packages.

Possible Extensions More flexible tunnel encryption policies: Only encrypting tunnel traffic between certain hypervisors Only encrypting tunnel traffic from certain logical network

Q&A