802.1X and Faucet
Michael Baird
Michael.Baird@ecs.vuw.ac.nz
19-10-2017 FAUCET Conference
802.1X and Faucet Michael Baird Michael.Baird@ecs.vuw.ac.nz - - PowerPoint PPT Presentation
802.1X and Faucet Michael Baird Michael.Baird@ecs.vuw.ac.nz 19-10-2017 FAUCET Conference Outline Introductjon to 802.1X Design Implementatjon Example confjgs/demo Future work 2 Introduction IEEE 802.1X Port-Based
Michael Baird
Michael.Baird@ecs.vuw.ac.nz
19-10-2017 FAUCET Conference
2
3
Supplicant Authentjcator Authentjcatjon Server Client Switch RADIUS Server
4
5
6
7
8
Authentjcator Supplicants Authentjcatjon Server
9
10
11
hostapd Auth_App Faucet
changes (Success, Logofg, …)
(Username, ACL names, …)
12
Eth_src: C Eth_dst: 1X Eth_type: 1X Eth_src: C Eth_dst: H Eth_type: 1X
13
Eth_src: C Eth_dst: B Eth_type: DHCP Eth_src: C Eth_dst: H Eth_type: DHCP
14
Eth_src: H Eth_dst: C Eth_type: 1X Eth_src: H Eth_dst: C Eth_type: 1X
faucet.yaml acls: no_smtp:
dl_src: 00:00:00:00:00:01 dl_type: 0x800 # ipv4 nw_proto: 6 # tcp tcp_dst: 25 # smtp actjons: allow: 0 # drop
dl_src: 00:00:00:00:00:01 dl_type: 0x86dd # ipv6 nw_proto: 6 # tcp tcp_dst: 25 # smtp actjons: allow: 0 # drop
15
faucet.yaml … faucet-1: interfaces: 1: name: network natjve_vlan: 100 2: name: h0 natjve_vlan: 100 acl_in: port_faucet-1_3 3: name: h1 natjve_vlan: 100 acl_in: port_faucet-1_4 4: name: hostapd natjve_vlan: 100
16
17
radius base- acls.yaml rules.yaml faucet faucet- acls.yaml
Defjnes high level ACLs Maps user to high level ACLs dynamic rules + authentjcatjon state + statjc ACLs
base- acls.yaml
Statjc ACLs + marker faucet updates
18
rules.yaml acls: no-smtp: _auth-port_:
_name_: _user-name_ _mac_: _user-mac_ dl_src: _user-mac_ dl_type: 0x800 # ipv4 nw_proto: 6 # tcp tcp_dst: 25 # smtp actjons: allow: 0 # drop port_faucet-1_3:
_name_: _user-name_ _mac_: _user-mac_ dl_dst: _user-mac_ dl_type: 0x800 # ipv4 actjons: allow: 1 # allow
19
MAC address
the port authentjcatjon occurred on.
rules.yaml acls: no-smtp: _auth-port_:
_name_: _user-name_ _mac_: _user-mac_ dl_src: _user-mac_ dl_type: 0x800 # ipv4 nw_proto: 6 # tcp tcp_dst: 25 # smtp actjons: allow: 0 # drop port_faucet-1_3:
_name_: _user-name_ _mac_: _user-mac_ dl_dst: _user-mac_ dl_type: 0x800 # ipv4 actjons: allow: 1 # allow
20
MAC address
the port authentjcatjon occurred on.
rules.yaml acls: block-smtp: &block-smtp
_name_: _user-name_ _mac_: _user-mac_ dl_src: _user-mac_ dl_type: 0x800 # ipv4 nw_proto: 6 # tcp tcp_dst: 25 # smtp actjons: allow: 0 # drop … acls: student: _auth-port_: *block-smtp *block-ssh *allow-all
21
MAC address
the port authentjcatjon occurred on.
22
‘Base-ACLs’
applied.
base-acls.yaml acls: port_faucet-1_4:
dl_type: 0x888e actjons: allow: 1
dl_dst: '44:44:44:44:44:44'
_name_: michael _mac_: ’00:00:00:00:00:01’ dl_dst: ’00:00:00:00:00:01’ dl_type: 0x800 # ipv4 actjons: allow: 1 # allow
actjons: allow: 1
dl_dst: '44:44:44:44:44:44'
23
24
25
31
32
Hostapd htups://github.com/Bairdo/hostapd-d1xf/tree/faucet-tests htups://w1.fj/hostapd/ Auth_App/Faucet htups://github.com/Bairdo/faucet/tree/radius-acls
33
34
35