Openconnect VPN Nikos Mavrogiannopoulos Security Technologies Red - - PowerPoint PPT Presentation

openconnect vpn
SMART_READER_LITE
LIVE PREVIEW

Openconnect VPN Nikos Mavrogiannopoulos Security Technologies Red - - PowerPoint PPT Presentation

Openconnect VPN Nikos Mavrogiannopoulos Security Technologies Red Hat February, 2016 VPN story The server Future plans VPN story 3/17/13 3 Red Hat VPN story T ask Setup a VPN service to inter-connect router devices


slide-1
SLIDE 1

Openconnect VPN

Nikos Mavrogiannopoulos Security Technologies Red Hat February, 2016

slide-2
SLIDE 2
  • VPN story
  • The server
  • Future plans
slide-3
SLIDE 3

3/17/13 3 Red Hat

VPN story

slide-4
SLIDE 4

3/17/13 4 Red Hat

VPN story

  • T

ask

Setup a VPN service to inter-connect router devices

slide-5
SLIDE 5

3/17/13 5 Red Hat

VPN story

slide-6
SLIDE 6

3/17/13 6 Red Hat

VPN story

slide-7
SLIDE 7

3/17/13 7 Red Hat

VPN story

slide-8
SLIDE 8

3/17/13 8 Red Hat

VPN story

  • Requirements:

Simple setup for users

slide-9
SLIDE 9

3/17/13 9 Red Hat

VPN story

  • Requirements:

Standards based solution

slide-10
SLIDE 10

3/17/13 10 Red Hat

VPN story

  • Requirements:

The administrator should be able to view who is connected on every moment

slide-11
SLIDE 11

3/17/13 11 Red Hat

VPN story

  • Requirements:

The administrator should be able to disconnect and block access to users

slide-12
SLIDE 12

3/17/13 12 Red Hat

VPN story

  • Solution:

Based on OpenVPN and lots of custom scripts

slide-13
SLIDE 13

3/17/13 13 Red Hat

VPN story

  • Solution:

Based on OpenVPN and lots of custom scripts

slide-14
SLIDE 14

3/17/13 14 Red Hat

VPN story

  • Requirements:

Simple setup for users

Standards based solution

The administrator should be able to view who is connected on every moment

The administrator should be able to disconnect and block access to users

Involved configuration files for client setup, TCP/UDP had to be selected by user

slide-15
SLIDE 15

3/17/13 15 Red Hat

VPN story

  • Requirements:

Simple setup for users

Standards based solution

The administrator should be able to view who is connected on every moment

The administrator should be able to disconnect and block access to users

Was using TLS for key exchange; everything else was custom

slide-16
SLIDE 16

3/17/13 16 Red Hat

VPN story

  • Requirements:

Simple setup for users

Standards based solution

The administrator should be able to view who is connected on every moment

The administrator should be able to disconnect and block access to users

No support; lots

  • f custom scripts
slide-17
SLIDE 17

3/17/13 17 Red Hat

VPN story

  • Requirements:

Simple setup for users

Standards based solution

The administrator should be able to view who is connected on every moment

The administrator should be able to disconnect and block access to users

No support

slide-18
SLIDE 18

3/17/13 18 Red Hat

VPN story

  • AnyConnect VPN
slide-19
SLIDE 19

3/17/13 20 Red Hat

VPN story

  • CISCO AnyConnect VPN

A proprietary VPN implementation based on standard protocols

A VPN channel established over an HTTPS session (TLS 1.x)

Supports dual TCP/UDP; UDP via a pre-draft DTLS version

Open-source compatible client → openconnect

  • Implements a compatible protocol we call “Openconnect protocol”
slide-20
SLIDE 20

3/17/13 21 Red Hat

VPN story

  • CISCO AnyConnect VPN

A proprietary VPN implementation based on standard protocols

A VPN channel established over an HTTPS session (TLS 1.x)

Supports dual TCP/UDP; UDP via a pre-draft DTLS version

Open-source compatible client → openconnect

  • Implements a compatible protocol we call “Openconnect protocol”

Standards compliant VPN

slide-21
SLIDE 21

3/17/13 22 Red Hat

History

  • OpenConnect doesn't need any user confjguration

# openconnect server.example.com:443

POST https://server.example.com/ Attempting to connect to server 127.0.0.1:443 SSL negotiation with server.example.com Connected to HTTPS on server.example.com XML POST enabled Please enter your username Username:test POST https://server.example.com/auth Please enter your password. Password: POST https://server.example.com/auth Got CONNECT response: HTTP/1.1 200 CONNECTED CSTP connected. DPD 90, Keepalive 32400 Connected tun0 as 192.168.1.191, using SSL Established DTLS connection (using GnuTLS). Ciphersuite (DTLS1.2)-(RSA)-(AES-128-GCM).

slide-22
SLIDE 22

3/17/13 23 Red Hat

History

  • OpenConnect doesn't need any user confjguration

# openconnect server.example.com:443

POST https://server.example.com/ Attempting to connect to server 127.0.0.1:443 SSL negotiation with server.example.com Connected to HTTPS on server.example.com XML POST enabled Please enter your username Username:test POST https://server.example.com/auth Please enter your password. Password: POST https://server.example.com/auth Got CONNECT response: HTTP/1.1 200 CONNECTED CSTP connected. DPD 90, Keepalive 32400 Connected tun0 as 192.168.1.191, using SSL Established DTLS connection (using GnuTLS). Ciphersuite (DTLS1.2)-(RSA)-(AES-128-GCM).

Simple user setup

slide-23
SLIDE 23

3/17/13 24 Red Hat

VPN story

  • Requirements:

Simple setup for users

Standards based solution

The administrator should be able to view who is connected on every moment

The administrator should be able to disconnect and block access to users

slide-24
SLIDE 24

3/17/13 25 Red Hat

VPN story

  • Requirements:

Simple setup for users

Standards based solution

The administrator should be able to view who is connected on every moment

The administrator should be able to disconnect and block access to users

The server should isolate users between them

The server should operate under the least possible privilege

slide-25
SLIDE 25

3/17/13 26 Red Hat

The server

slide-26
SLIDE 26

3/17/13 27 Red Hat

The server

  • Openconnect server: started in 2013
  • T
  • day the server interoperates with both openconnect and Anyconnect clients

Is available for Linux and *BSD systems

slide-27
SLIDE 27

3/17/13 28 Red Hat

The server

  • Features:

Supports for password (fjle, PAM, radius), certifjcate or Kerberos authentication

Supports setting resource limits per client or groups of clients (e.g., cgroups, bandwidth)

Processing scales with the number of CPUs

Supports LZS, LZ4 compression

Supports TLS 1.2, DTLS 1.2 and AES-GCM

Supports online user management

slide-28
SLIDE 28

3/17/13 29 Red Hat

The server

  • Features:

Privilege separation between main server and worker processes

  • Isolation of worker processes (using seccomp)

Isolated software security module handles PAM/radius and keys

slide-29
SLIDE 29

3/17/13 30 Red Hat

The server

  • Features:

Privilege separation between main server and worker processes

  • Isolation of worker processes (using seccomp)

Isolated software security module handles PAM/radius and keys

User isolation + Least privilege

slide-30
SLIDE 30

3/17/13 31 Red Hat

The server

  • occtl: Control tool to administer the server and view clients
slide-31
SLIDE 31

3/17/13 32 Red Hat

The server

slide-32
SLIDE 32

3/17/13 33 Red Hat

The server

slide-33
SLIDE 33

3/17/13 34 Red Hat

The server

User overview

slide-34
SLIDE 34

3/17/13 35 Red Hat

The server

slide-35
SLIDE 35

3/17/13 36 Red Hat

The server

slide-36
SLIDE 36

3/17/13 37 Red Hat

The server

User disconnect/block

slide-37
SLIDE 37

3/17/13 38 Red Hat

VPN story

  • Requirements:

Simple setup for users

Standards based solution

The administrator should be able to view who is connected on every moment

The administrator should be able to disconnect and block access to users

The server should isolate users between them

The server should operate under the least possible privilege

slide-38
SLIDE 38

3/17/13 39 Red Hat

Future plans

slide-39
SLIDE 39

3/17/13 40 Red Hat

Future plans

  • Extend and simplify the openconnect protocol

e.g., drop legacy pre-DTLS 1.0 support

Publish and standardize on an SSL/VPN protocol

  • Improve performance by utilizing an in-kernel TLS/DTLS stack
slide-40
SLIDE 40

3/17/13 41 Red Hat

Questions

  • www.infradead.org/openconnect
  • www.infradead.org/ocserv