Top Banner
UTORvpn A Cross Platform Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1
131

UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

Sep 15, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

UTORvpnA Cross Platform

Open Source SSL VPN Implementation

Russell SutherlandUniversity of Toronto

2007-05-18

1

Page 2: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

What is a VPN?

2

Page 3: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

Virtual Private Network

3

Page 4: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

Virtual

4

Page 5: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

5

Page 6: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

Private

6

Page 7: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

7

Page 8: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

(Secure)

8

Page 9: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

9

Page 10: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

Network

10

Page 11: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

11

Page 12: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

VPNs are built using tunnels

12

Page 13: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

13

Page 14: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

14

Page 15: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

Encapsulation is somethingwe are already used to

15

Page 16: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

16

Page 17: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

Data

UDPdata

UDPheader

IP dataIPheader

Frame DataFrameheader

Frametrailer

Application layer

Transport layer

Network layer

Data link layer

17

Page 18: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

Header

Data

Tunnel Information

Header

Data

Data

Header

18

Page 19: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

Layer II encapsulations

19

Page 20: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

PPTP

20

Page 21: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

RFC 2637 [1999]

21

Page 22: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

Point to Point Tunneling Protocol

22

Page 23: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

23

Page 24: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

24

Page 25: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

Easy to configure

25

Page 26: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

ubiquitous

26

Page 27: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

but...

27

Page 28: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

according to:

28

Page 29: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

29

Page 30: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

“Microsoft PPTP is very broken, and there's no real way to fix it without taking the whole thing down and starting over. This isn't just one problem, but six different problems, any one of which breaks the protocol.”

30

Page 31: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

and according to Peter Mueller:

31

Page 32: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

PPTP is known to be a faulty protocol. The designers of the protocol, Microsoft, recommend not to use it due to the inherent risks. Lots of people use PPTP anyway due to ease of use, but that doesn't mean it is any less hazardous. The maintainers of PPTP Client and Poptop recommend using OpenVPN (SSL based) or IPSec instead.

32

Page 33: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

and finally

33

Page 34: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

according to:

34

Page 35: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

35

Page 36: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

PPTPSecuritySucksMoose Rocks

36

Page 37: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

so maybe there is justice in the world

37

Page 38: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

38

Page 39: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

L2TP

39

Page 40: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

Layer 2 Tunneling Protocol

40

Page 41: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

RFC 2661 [1999]

41

Page 42: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

L2TP v3

42

Page 43: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

RFC 3931 [2005]

43

Page 44: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

security added by IPsec

44

Page 45: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

L2TP/IPsec

45

Page 46: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

RFC 3193 [2001]

46

Page 47: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

difficult to set up on M$ clients

47

Page 48: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

Layer III encapsulations

48

Page 49: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

IPsec

49

Page 50: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

Suite of protocols

50

Page 51: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

RFCs 2401–2412 [1998]

51

Page 52: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

Implemented at the kernel level

52

Page 53: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

key exchange daemon

53

Page 54: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

OpenBSD : Kame + isakmpd

54

Page 55: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

OpenBSD 4.0 : added ipsecctl

55

Page 56: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

56

Page 57: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

57

Page 58: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

FreeBSD, NetBSD : Kame + raccoon

58

Page 59: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

Linux : FreeSwan/OpenSwan + pluto

59

Page 60: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

Linux v2.6x: NetKey + isakmpd/raccoon

60

Page 61: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

Many commercial clients

61

Page 62: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

but...

62

Page 63: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

according to:

63

Page 64: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

64

Page 65: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

“Even though the protocol is a disappointment -- our primary complaint is with its complexity -- it is the best IP security protocol available at the moment.”

65

Page 66: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

Layer IV encapsulations

66

Page 67: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

SSL/TLS

67

Page 68: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

Secure Socket Layer

68

Page 69: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

Transport Layer Security Protocol

69

Page 70: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

RFC 2246 [1999]

70

Page 71: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

TLS v1.1

71

Page 72: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

RFC 4346 [2006]

72

Page 73: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

73

Page 74: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

74

Page 75: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

75

Page 76: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

OpenSSL

76

Page 77: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

OpenVPN

77

Page 78: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

78

Page 79: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

according to:

79

Page 80: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

80

Page 81: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

The OpenVPN

LogoSucksMoose Rocks

81

Page 82: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

http://www.openvpn.net/

82

Page 83: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

multi-platform

83

Page 84: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

84

Page 85: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

economical

85

Page 86: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

free*

86

Page 87: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

* free as is in Dan Langille’s extra lunch boxes

87

Page 88: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

tunnels either layer II or III traffic

88

Page 89: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

requires TUN or TAP devices

89

Page 90: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

NAT, Dynamic IP & firewall friendly

90

Page 91: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

certificate based asymmetric keying

91

Page 92: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

X509/PKI

92

Page 93: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

static symmetric keying

93

Page 94: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

UDP tunnels (standard)

94

Page 95: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

TCP tunnels (optional)

95

Page 96: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

road warrior

96

Page 97: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

host network

97

Page 98: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

branch office to central office

98

Page 99: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

network network

99

Page 100: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

simple configuration

100

Page 101: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

flexibility

101

Page 102: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

bags & bags of options

102

Page 103: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

support for 2X authentication

103

Page 104: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

GUIs for Windows and Mac OS X

104

Page 105: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

Rich suite of system logging

105

Page 106: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

106

Page 107: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

20k staff

107

Page 108: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

10k grad students

108

Page 109: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

Institutional Middle Ware

109

Page 110: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

Authentication : Kerberos

110

Page 111: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

Authorization : LDAP

111

Page 112: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

Identifier : UTORid

112

Page 113: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

VPN access required for remote access

113

Page 114: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

staff & grad students only

114

Page 115: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

> 90% clients are Windows users

115

Page 116: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

Sell the technocrats

116

Page 117: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

Unix + OpenVPN a preferred solution

117

Page 118: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

NSIS to aid Windows install

118

Page 119: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

http://nsis.sourceforge.net/

119

Page 120: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

120

Page 121: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

pf firewall rules!

121

Page 122: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

# pf.conf for vpn.utoronto.ca - UTORvpn server## $Id: pf.conf,v 1.1 2007/05/09 16:51:26 matt Exp matt $

int_if                  = bge0ext_if                  = bge0vpn_if                  = tuninternal_net     = "10.11.12.0/24"protos                  = "{ tcp, udp }"bad_ports               = "{ 42, 67:69, 135, 137:139,\ 161:162, 445, 593,\ 4444 }"# table to hold dynamic list of hosts allowed to bypass # windows port blockingtable <blessed> persisttable <vpn_net> { 10.11.12.192/29 }set skip on lo0scrub in all

122

Page 123: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

# Default is to block everythingblock in log all

# Allow HTTP and HTTPS access from all hostspass  in quick on $ext_if proto tcp \ from any to $ext_if port http keep statepass  in quick on $ext_if proto tcp \ from any to $ext_if port https keep state

# allow all UDP traffic coming in on UTORvpn portspass  in quick on $ext_if proto udp \ from any to $ext_if port 1194:1196 keep statepass  in quick on $ext_if proto udp \ from any to $ext_if port 5000:5001 keep state

123

Page 124: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

# Only allow VPN traffic from good ports or special addresses# allow hosts in <blessed> table to use "bad" portspass  in quick on $vpn_if proto $protos \ from <blessed> to any keep state

# block the bad ports on the tun interfaces# but let everything else throughblock in quick on $vpn_if proto $protos \ from <vpn_net> port $bad_ports to anyblock in quick on $vpn_if proto $protos \ from <vpn_net> to any port $bad_portspass  in on $vpn_if proto $protos \ from <vpn_net> to any keep state

# Allow all outgoing trafficpass  out on $ext_if proto $protos \ from $ext_if to any keep statepass  out on $ext_if proto $protos \ from <vpn_net> to any keep state

124

Page 125: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

Logging tools

125

Page 126: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

126

Page 127: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

127

Page 128: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

128

Page 129: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

129

Page 130: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

130

Page 131: UTORvpn: A Cross-Platform Open Source VPN Implementation...Open Source SSL VPN Implementation Russell Sutherland University of Toronto 2007-05-18 1 What is a VPN? 2 Virtual Private

Mac OS X + Windows Install & Demo

131