radius dhcp dot1.x (802.1x)

R
2015-05-12 Roberto Innocente inno@sissa.it 1
dot1x radius dhcp correlations
Access technologies
INs and OUTs of dot1x/radius/dhcp
How to get user information
(ip/username bindings)
from dot1x/radius/dhcp
2015-05-12 Roberto Innocente inno@sissa.it 2
RADIUS / DHCP
proven configuration
CISCO NAS
JUNIPER NAS
CISCO NAS
JUNIPER NAS
Cisco
ROUTER
RADIATOR
Radius server
Cisco Network
Registrar
DHCP server
NAS Network Access Server or NAD Network Access Device
Everything worked like a charm with this proprietary
installation ...
2015-05-12 Roberto Innocente inno@sissa.it 3
Radius/DHCP servers
● RADIUS servers :
– FreeRADIUS
– Radiator
– Cisco Prime Access
Registrar
– Cisco ISG
– Microsoft NPS (Network
Policy Server)
– FreeDiameter
– GNU radius
● DHCP servers :
– ISC dhcp server
– Windows dhcp
– FreeRADIUS/dhcp
– Cisco Prime Network Registrar
– Mikrotik
– Cisco ISG
– Cisco DHCP server RADIUS
proxy
– ISC KEA
2015-05-12 Roberto Innocente inno@sissa.it 4
Open source/Freeware ?
Can we do the same with open source/freeware s/w
and different h/w ?
Yes !!!
Answer in next slides ..
2015-05-12 Roberto Innocente inno@sissa.it 5
EAP
(Extensible Authentication Protocol)
● Rfc2284 1998
● Rfc3784 2004
It's a framework for exchanging authentication
messages. The wireless standard 802.11 supports with
EAP 100 different authentication methods.
EAP defines only the message format.
Therefore for every network is defined a way to
encapsulate EAP in layer 2 : 802.1x defines EAPOL
(EAP over LAN), 802.11i accepts it over WLAN.
2015-05-12 Roberto Innocente inno@sissa.it 6
Ieee 802.1x (dot1x)
Today common protocol
used to control network
access in wired or
wireless networks.
Supplicant
Authenticator
Authenticator
server
Internet
EAP
EAP
EAPOL
RADIUS/DIAMETER
2015-05-12 Roberto Innocente inno@sissa.it 7
AuthenticatorSupplicant Authenticator server
New
connection
EAP-Request
Identity
EAP-Response
Identity
RADIUS Access
Request
RADIUS Access
ChallengeEAP Request
EAP
Response
RADIUS Access
Request
RADIUS Access
Accept
EAP Success
2015-05-12 Roberto Innocente inno@sissa.it 8
Reliable UDP
Is it a misnomer ?
By definition UDP is an unreliable
protocol, but with little effort we can
implement over it an old trick : the Stop-
And-Wait protocol.
The sender for max-retries times tries to
:
● Send message
● Wait timeout seconds for a feedback
After max-retries times the sender gives
up, signals a problem and uses a
fallback strategy.
The risk of this protocol is that it can
happen that a message is sent multiple
times.
Therefore is not indicated for
bankomat transactions, but remains
very useful in situation in which you
need to transmit a long term state , like
● The light is on
● The light is off
In which retransmission is not a
problem. RADIUS and DHCP use this
kind of reliable UDP.
2015-05-12 Roberto Innocente inno@sissa.it 9
Reliable UDP/2
Packet
ACK
Timeout
Packet
ACK
Timeout
Packet
Timeout
Packet
ACK
Timeout
Time
Packet
ACK
Timeout
Packet
ACK
Timeout
ACK lost Packet lost Early timeout
2015-05-12 Roberto Innocente inno@sissa.it 10
RADIUS(RFC2865)
Was devised as a protocol to exchange AAA info between a Radius server
and Access Servers :
Authentication : check user supplied credentials against a
table/database (file, mysql, ldap, ..)
Authorization : tells the Access Server the user can/can't access net and
how
Accounting : keeps records of net resources used by users
(connection times, bytes transferred)
In the '90 the Network Access Servers were mostly racks of modems.
Original version developed by Livingstone Ent. Inc. in 1991 then bought by
Alcatel.
Radius is a client/server protocol that uses UDP ports 1812,1813.
2015-05-12 Roberto Innocente inno@sissa.it 11
Radius protocol in a slide
Attribute 1 = User-Name eg AVP=0x010x06inno
Attribute 31 = Calling-Station-ID
16 bytes
Radius uses normally UDP : auth server on port 1812, acct server on
1813
RADIUSClie
nt
Serv
er
Access-
Request
Access-
Challenge
Access-
Reject
Access-
Accept
OR
type valuelength
0 8 16
Authenticator
Code
Packet
identifier
length
AVPs
0 8 16 31
OR
2015-05-12 Roberto Innocente inno@sissa.it 12
RADIUS codes
RADIUS Code in 1st protocol octet :
● Access-Request (=1)
● Access-Accept (=2)
● Access-Reject (=3)
● Accounting-Request (=4)
● Accounting-Response (=5)
Packet Identifier : 1 byte used to match requests and
responses
2015-05-12 Roberto Innocente inno@sissa.it 13
Radius attributes used
Used by NAS sending Requests:
● User-Name
● Password
● Calling-Station-Id : the mac address of the connecting client
Honored when received in an Access-Accept message :
● Acct-Interim-Interval : the interval in second between interim updates
● Tunnel-Private-Group-ID : the vlan assigned
● Tunnel-Type : eg VLAN
● Tunnel-Medium-Type : eg 802 (which includes 802.11)
● Filter-ID : use %d.out and %d.in for interface output acl or interface input acl
2015-05-12 Roberto Innocente inno@sissa.it 14
Radius acct exchanges(RFC2866)
RADIUS
Server
(1813)
RADIUS
client
Accounting-Response
Accounting-Request
acct_status_type=Stop
Accounting-Response
Accounting-Request
acct_status_type=InterimUpd
Accounting-Response
Accounting-Request
acct_status_type=Start
Radius accounting is delivered on a
different port(1813) than
Authentication and Authorization, it
can also usually be delivered on
another host.
Because radius uses UDP, it needs
some error control :
● While UDP is often used without
checksum control, radius requires
it
● For every packet transmitted it
requires a reply : in a TCP situation
the accounting records would not
require any reply, but because of
UDP they do and the NAS
continues to transmit them till it
gets a reply (in radius parlance a
'Response')
2015-05-12 Roberto Innocente inno@sissa.it 15
Radius accounting exchanges
●
Transmitted to the radius-acct port (default=1813) of the server
●
Accounting-Request (Code 4):
–
●
Accounting-Response (Code 5)
● On Unix/Linux radiusd accounting daemon is a son of radiusd authorization
daemon
Accounting Packets When
Acct-Status-Type 1 = Start At network access authorization time
Acct-Status-Type 2 = Stop At disconnect
Acct-Status-Type 3 = Interim-Update When authenticator has news about
client
Acct-Status-Type 7 = Accounting on
Acct-Status-Type 8 = Accounting off
2015-05-12 Roberto Innocente inno@sissa.it 16
Radius Interim-Update(RFC2869)
● Its an accounting packet.
● It was in the past called Alive
● Introduced for ISPs and telecoms to have intermediate steps
in the accounting to avoid that long sessions could encounter
NAS reboots and therefore remain without an accounting-stop
record needed for billing
● When the client sends an Access-Request the server answer
with a requested Interim-Update interval (often 600 secs)
● It was renamed to Interim-Update because now it is also
used to send new info the NAS collects about the client
2015-05-12 Roberto Innocente inno@sissa.it 17
MAB (MAC Authentication Bypass)
Many devices (like printers) dont offer dot1x authentication.
There are 2 way outs : to disable dot1x on the port or to provide a
fall-back mechnism. The 2nd solution is a bit more safe.
Because of this many NAS vendors provide a fall back : if the
device doesn't answer to dot1x requests then the mac (in very
simple format only hex digits, no colons, spaces or dashes) is
encapsulated as username and password in a Radius Access-
Request and sent to the Radius server that if the devices are
known to the server can reply with an Access-accept.
(In new IOSs as password is sent the MD5 of the mac)
In freeradius you simply specify the MACs in a file.
2015-05-12 Roberto Innocente inno@sissa.it 18
MAB and radius Service-Type
Cisco uses the service-type attribute to signal
the type of authentication and sets :
● Service-Type=Framed (signals an 802.1X
authentication)
● Service-Type=Login (signals WebAuth)
● Service-Type=Call-Check (signals MAB)
2015-05-12 Roberto Innocente inno@sissa.it 19
MAB exchanges
Epol : EAP Request
Identity
Any Packet
RADIUS Access-Request
User:001133445566
RADIUS Access-
Accept
Epol : EAP Request
Identity
Epol : EAP Request
Identity
Timeout 30
sec
Timeout 30
sec
Timeout 30
sec
Port Authorized
Port Unauthorized
Printer
MAC
001133445566
2015-05-12 Roberto Innocente inno@sissa.it 20
MAB and radius Service-Type
Cisco uses the service-type attribute to signal the
type of authentication and sets :
● Service-Type=Framed (signals an 802.1X
authentication)
● Service-Type=Login (signals WebAuth)
● Service-Type=Call-Check (signals MAB)
To protect from user logging from captive portals
with MACs of printers :)
2015-05-12 Roberto Innocente inno@sissa.it 21
Radius with backend databases
● FreeRadius SQL module (rlm_sql) :
– rlm_sql_mysql, rlm_sql_oracle, rlm_sql_postgresql
● FreeRadius LDAP module :
– The default correspondences between ldap and freeradius
attributes is in the ldap module
– Radius attributes
● Tunnel-Type from ldap radiusTunnelType
● Tunnel-Medium-Type from ldap radiusTunnelMediumType
● Tunnel-Private-Id-Group from ldap radiusTunnelPrivategroupId
and is generally used to establish VLAN
2015-05-12 Roberto Innocente inno@sissa.it 22
Freeradius
db schema
2015-05-12 Roberto Innocente inno@sissa.it 23
Freeradius db query result
mysql> select username,nasipaddress,nasportid,acctstarttime ,framedipaddress from radacct;
+--------------+------------------+--------------+----------------------------+------------------------+
| username | nasipaddress | nasportid | acctstarttime | framedipaddress |
+--------------+------------------+--------------+----------------------------+------------------------+
| inno |169.254.1.10 | 6002 | 2015-04-30 11:12:34 | 169.254.1.180 |
| inno | 169.254.1.10 | 6001 | 2015-04-30 11:46:15 | 169.254.1.180 |
| radeka |169.254.1.10 | 6002 | 2015-04-30 11:46:15 | 169.254.1.181 |
| ritossa | 169.254.1.10 | 6003 | 2015-04-30 11:46:16 | 169.254.1.182 |
| giunta | 169.254.1.10 | 6004 | 2015-04-30 11:46:16 | 169.254.1.183 |
+--------------+------------------+-------------+-----------------------------+------------------------+
5 rows in set (0.03 sec)
2015-05-12 Roberto Innocente inno@sissa.it 24
freeRadius : normalizing mac
addresses
MAC client addresses are presented in the most various forms:
001122334455 , 00-11-22-33-44-55,0011.2233.4455, 001122.334455,00:11:22:33:44:55
Can anyway, in a very simple way, be normalized to a common format : eg.
001122334455
(the same format used by MAB, but an RFC propends for the - format)
For freeradius in the file /etc/raddb/sites-enabled/default at the beginning of the section
authorize add:
rewrite_calling_station_id
The same at the beginning of section accounting. Calling-Station-ID is the radius
attribute used to transmit the mac of the client.
In the file /etc/raddb/policy.d/canonicalization you can modify the procedure
rewrite_calling_station_id to follow your tastes.
….. DEMO ….
2015-05-12 Roberto Innocente inno@sissa.it 25
Radius high availability
RADIUS
Server 1
RADIUS
Server 2
MySql
Cluster 1
RADIUS
Server 1
MySql
Cluster 2
haproxy
haproxy
haproxy
haproxy
MySql cluster
2015-05-12 Roberto Innocente inno@sissa.it 26
Host configuration
Today computers to be able to communicate need at least these information :
● An IP address they can use as their own address
● An IP netmask (because today computers are on subnets or CIDR)
● The IP address of a router (to reach computers outside their subnet)
● The IP address of a name server (to reach computers by name)
Historically these protocols were used for these purpose and each
superseeded the previous :
● RARP (Reverse ARP)
● BOOTP (Bootstrap protocol)
● DHCP (Dynamic Host Configuration Protocol)
2015-05-12 Roberto Innocente inno@sissa.it 27
Dhcp
0
s
1
s
68 6
7
Dhcp request
SI
P
1
s
6
7
6
8
Dhcp reply
Client Port 68
Server port 67
Client IP address
0s
Server IP
address 1s
Client Port 68
Server port 67
Client IP address
1s
Server IP
address SIP
DHCP Client DHCP Server
C
I
P
S
I
P
C
P
S
P
S
I
P
C
I
P
S
P
C
P
UDP From 0.0.0.0.68 to
255.255.255.255.67
UDP From SIP.67 to
255.255.255.255.68
2015-05-12 Roberto Innocente inno@sissa.it 28
Relay Agents
● With the evolution of networks it was clear it is an overkill to keep some services
(therefore hosts and ip-addresses) available on every subnet
● Not only : in many cases the discover of such services required to use broadcasting
(not funny in large networks)
● Therefore it was introduced the concept of a Relay Agent : something that doesnt need
to have an ip address but that can collect packets for some services and dispatch them
to servers he knows and back.
● This mechanism is usually called on routers and switches ip helper address
● E.g. every broadcast packet for port 67 (bootps), is not broadcasted on the LAN, but is
delivered as a unicast to a DHCP server, that the NAS knows . Other ports can be
dispatched too.
● Cisco :
– Ip helper-address address
– Ip forward protocol udp 67
2015-05-12 Roberto Innocente inno@sissa.it 29
0
s
1
s
68 6
7
Dhcp request
..
2.
2
..
1.
1
6
7
67 Dhcp ack
Client Port 68
Client IP address
0s
Server IP
address 1s
Server port 67
Client IP address
1s
Server IP
address SIP
DHCP Client
1.?
DHCP Server
2.2
UDP From 0.0.0.0.68 to
255.255.255.255.67
UDP From SIP.67 to
255.255.255.255.67
0
s
1
s
68 6
7
Dhcp request ..
1.
1
..
2.
2
6
7
6
7
Dhcp request
..
1.1 1
s
6
8
6
7
Dhcp ack
Switch/Router
1.1 2.1
Client listen only on port 68, relay agent only on 67 and server also only on 67.
Therefore answer to a relay is different that answer to a client because it has to be
from port 67 to port 67.
S D S D
R S r s
C T c t
Dhcp with relay agent
2015-05-12 Roberto Innocente inno@sissa.it 30
DHCP protocol in 2 slides
● Normally uses UDP
( tcp allowed) :
– Client port 68
(bootpc)
– Server port 67
(bootps)
● To remember the
phases : remember
D.O.R.A.
Client
Server
DISCOVER
OFFER
REQUEST
ACK
L
2015-05-12 Roberto Innocente inno@sissa.it 31
DHCP packets
DHCP request / ack :
Options
DHCP request/ack :
OPTIONS
2015-05-12 Roberto Innocente inno@sissa.it 32
DHCP
● OP=1,Opt 53=1
Discover
● OP=1,Opt 53=3
Request
● OP=1,Opt 53=8 Inform
● OP=2,Opt 53=2 Offer
● OP=2,Opt 53=5,6 ACK
or NAK
● Cip client ip address
● Chaddr client mac
address
● Yip your IP
address(0.0.0.0)
● Giaddr Gateway IP
address
● Siaddr Server IP address
REQUESTS
ANSWERS ACRONYMS
2015-05-12 Roberto Innocente inno@sissa.it 33
DHCP LEASEQUERY
At the beginning was introduced to give the possibility to the NAS to recover the ongoing
sessions trough queries to the DHCP server
● A new dhcp request msg (RFC4388 Feb 2006 - RFC6188 ):
– OP=1, Opt 53=10 Leasequery
● Possible answers:
– OP=2,Opt 53=11 Lease unassigned
– OP=2,Opt 53=12 Lease unknown
– OP=2,Opt 53=13 Lease active
● The DHCP server collects many info about the clients, this info can now be queried by eg an access
server to recover its database after a reboot, or by other nodes needing that information
● ISC DHCP implements Leaseque
…........... DEMO …...................
2015-05-12 Roberto Innocente inno@sissa.it 34
ISC DHCP OMAPI
OMAPI (Object Mangement API)
A programming layer designed to control remote
application and querying their state.
A thin API over it is called dhcpctl :
dhcpctl_initialiaze();
dhcpctl_connect (&connection, "127.0.0.1", 7911, 0);
dhcpctl_new_object (&lease, connection, "lease");
memset (&ipaddrstring, 0, sizeof ipaddrstring);
inet_pton(AF_INET, "10.0.0.101", &convaddr);
omapi_data_string_new (&ipaddrstring, 4, MDL);
memcpy(ipaddrstring->value, &convaddr.s_addr, 4);
dhcpctl_set_value (lease, ipaddrstring, "ip-address");
dhcpctl_open_object (lease, connection, 0);
dhcpctl_wait_for_completion (lease, &waitstatus);
D
H
C
P
O
M
A
P
I
d
h
c
p
c
t
l
ISC
DHCP
Server
UDP
TCP
Default
server
port 7911
….. DEMO ….
D
H
C
P
O
M
A
P
I
d
h
c
p
c
t
l
ISC
DHCP
client
2015-05-12 Roberto Innocente inno@sissa.it 35
ISC DHCP failover
● From 4.3 isc dhcp supports failover as per rfc draft-ietf-
dhc-failover-12.txt : the protocol went from a 13 pages
document for v 1 to a 144 pages for v 12
● Failover protocol allows 2 server to share a common
address pool of which about ½ will be assigned to each
(in case of failure of 1 server the other will continue to
use its ½ of the pool free)
● If you set the server in state partner-down then it will
try to get back also the ½ pool assigned to the other
(you can so this using omshell)
2015-05-12 Roberto Innocente inno@sissa.it 36
Mess of states
in draft 12 dhcp failover
2015-05-12 Roberto Innocente inno@sissa.it 37
Dhcp high availability
DHCP
Server 1
DHCP
Server 2
LDAP
server1
LDAP
serverq
2015-05-12 Roberto Innocente inno@sissa.it 38
ISC KEA
Is a new (started 2010) DHCP server under
development in C++.
It uses a mysql/postgres database backend for
leases and this is a great advancement versus
the standard ISC DHCP server.
The new configuration file uses JSON syntax.
2015-05-12 Roberto Innocente inno@sissa.it 39
ISC KEA dhcp server
Mysql schema
for KEA db
2015-05-12 Roberto Innocente inno@sissa.it 40
DHCP spoofing
● Initial DHCP discover packets are broadcasted at
layer 2 over the broadcast domain ( usually LAN or
VLAN), because the client at that point knows
nothing about network configuration
● Whoever is on that subnet can then listen to it and
try to reply like if it is a legitimate server
● They can then kidnap the client assigning a network
and ip address and themselves as default gateway,
performing a man in the middle attack
2015-05-12 Roberto Innocente inno@sissa.it 41
DHCP option 82/1 (RFC3046)
   
Central
LAN
DHCP
server
Circuit
Access
Unit
Circuit
Access
Unit
LAN
LAN
LAN
HOST
HOST
HOST
HOST
HOST
circ
circuit
circuit
MODEM
circuit
MODEM
MODEM
Relay Agent
Relay Agent
Not having a router at the edge saves from
assigning a LIS
(Logical Internet Subnet) for each premise and
is quite less expensive too ..
HOST
2015-05-12 Roberto Innocente inno@sissa.it 42
DHCP option Relay agent information
aka option 82 (RFC3046)
With the evolution of the access networks it became common to have an high speed
modem connect in a LAN multiple customer premises and multiple hosts per site. It is
useful in such a situation to use DHCP to configure these hosts. This public use of
DHCP poses anyway some security and scaling problems.
●
Therefore a special DHCP option was introduced in RFC3046 (Jan 2001) according
to which the relay agent that passes dhcp packets to servers inserts in the dhcp
packet an option with other information (that allows to identify the path from where it
came). The server eventually uses that information to use specific pools of addresses
and sends it back in its replies. This option is then removed again by the relay agent
when it passes the replies to the clients. The clients are not supposed to ever receive
or send this dhcp option 82.
2015-05-12 Roberto Innocente inno@sissa.it 43
Option 82/1 (RFC3046)
2015-05-12 Roberto Innocente inno@sissa.it 44
Option 82/3 (RFC3046)
The option 82 information is made up of a sequence of suboptions.
● Agent Circuit ID (suboption 1)—An ASCII string that identifies the
interface on which a client DHCP packet is received.
● Agent Remote ID (suboption 2)—An ASCII string assigned by the relay
agent that securely identifies the client.
● …..
Cisco commands:
Juniper commands :
● set dhcp relay agent sub-option circuit-id …....
● set dhcp relay agent sub-option remote-id …..
2015-05-12 Roberto Innocente inno@sissa.it 45
DHCP snooping/1
Probably you know what means to snoop ..
Introduces some security for DHCP. The switch snoops all dhcp
packets on client ports and checks them for being appropriate.
● Divides ports between trusted and untrusted
● Untrusted ports can only pass DHCP
discover/request/inform
● Only trusted ports can pass other DHCP traffic:
offer/ack/nack
● If a DHCP offer will be heard on an untrusted port the port
will be shutdown
2015-05-12 Roberto Innocente inno@sissa.it 46
DHCP snooping/2
● Device sends a DHCP discover, from an untrusted port, the switch
forwards it to the server
● Servers sends a DHCP offer from a trusted port, the switch forwards it
to the device trough the connecting port
● Device sends a DHCP request, from an untrusted port, switch forwards
it to the server and puts a reservation inside its db for the ip/mac pair
● Server sends back a DHCP ACK from a trusted port, the switch
forwards it to the device and inserts it in its ip/mac database the entry
● A DHCP release causes the switch to delete the entry in its db, the
same an expiry of the lease
2015-05-12 Roberto Innocente inno@sissa.it 47
DHCP snooping configuration/1
● Cisco:
– Ip dhcp snooping # on all the switch
– # after this all ports are now untrusted and dhcp server pkt not
fw
– Ip dhcp snooping vlan 51-55 #on vlan 51-55
– Int gi3/47
● Ip dhcp snooping trust
● Ip dhcp snooping limit rate 100
– show ip dhcp snooping binding
2015-05-12 Roberto Innocente inno@sissa.it 48
DHCP snooping binding database
● Router# show ip dhcp snoop bind
●
MacAddress IpAddress Lease(sec) Type VLAN Interface
● ------------------ --------------- ---------- ------------- ---- --------------------
●
00:01:00:01:00:05 1.1.1.2 49810 dhcp-snooping 512 GigabitEthernet1/1
● 00:01:00:01:00:02 1.1.1.3 49810 dhcp-snooping 512 GigabitEthernet1/1
●
00:01:00:01:00:04 1.1.1.4 49810 dhcp-snooping 1536
GigabitEthernet1/1
● 00:01:00:01:00:03 1.1.1.5 49810 dhcp-snooping 1024
GigabitEthernet1/1
● 00:01:00:01:00:01 1.1.1.6 49810 dhcp-snooping 1
GigabitEthernet1/1
●
Router# clear ip dhcp snoop bind
2015-05-12 Roberto Innocente inno@sissa.it 49
DHCP snooping and Radius
● Sound implementation of DHCP snooping demands that a
Radius Interim-Update packet is sent to the Radius
server as soon as new information is known about a client
● Therefore as soon as an ip address is bounded into the
snooping database the Radius server is informed of that
sending the ip address as a Framed-IP-Address
Attribute-Value-Pair
● This is inserted in the freeradius utmp database and
appears on radwho command output after the Location
field
…... DEMO …..
2015-05-12 Roberto Innocente inno@sissa.it 50
Dhcp snooping and interim-update
for alcatel
On the left the radius attributes
sent on an Interim-Update by
alcatel switches when the switch
comes to know the IP address of
the client and dhcp snooping is
enabled and 802.1x accounting
is enabled too. Note the vendor
specific attribute :
Alcatel-Lucent-Client-IP-Addr
versus the usual
Framed-IP-address
– User Name
– NAS-IP-Address
– NAS-Port
– Acct-Session
– Acct-Authentic (to be 1 -radius- for
802.1x users)
– Acct-Terminal-Cause (currently not
supported)
– Alcatel-Lucent-Auth-Group (VlanId)
– Alcatel-Lucent-Slot-Port
– Alcatel-Lucent-Client-IP-Addr
– Alcatel-Lucent-Group-Desc (vlan
name)
2015-05-12 Roberto Innocente inno@sissa.it 51
Alcatel 802.1x parameters
Switch sends up to max-req
EAP Request-Identity to the
supplicant every tx-period
seconds. The supplicant is
polled during a supp-timeout
period before giving up for a
quiet-period seconds.
The polling of the supplicant is
retried retry times.
● Aaa radius server
● Aaa authentication 802.1x rad1 rad2
● Vlan port 3/18 802.1x enable
● 802.1x 3/18 quiet-period 50 tx-
period 25 supp-timeout 25
● 802.1x 3/18 max-req 3
● 802.1x 3/18 supp-polling retry 10
● 802.1x reauthentication
● 802.1x reauthentication re-
authperiod 25
2015-05-12 Roberto Innocente inno@sissa.it 52
ISC DHCP server opt 82
● Supports partially option 82, in particular
doesnt support radius attributes
● I patched a 4.3.2 isc dhcp server in such a
way that it supports them.
● It keeps the radius attributes in the lease
database, so that it can restart with them and it
replies with the attributes to the NAS on replies,
to leasequery clients and to omapi clients
2015-05-12 Roberto Innocente inno@sissa.it 53
Snooping and Option 82 using
802.1x
RFC4014 Remote Authentication
Dial-In User Service (RADIUS)
Attributes Suboption for the
Dynamic Host Configuration
Protocol (DHCP) Feb 2005
A new suboption ( 7=radius-
attributes) of dhcp option 82 is
defined :
SubOpt Len RADIUS attributes
code
+-------+-----+------+------+------+------+--...-+------
| 7 | N | o1 | o2 | o3 | o4 | | oN |
+-------+-----+------+------+------+------+--...-+------
The radius attributes :
# Attribute
--- ---------
1 User-Name (RFC 2865 [3])
6 Service-Type (RFC 2865)
26 Vendor-Specific (RFC 2865)
27 Session-Timeout (RFC 2865)
88 Framed-Pool (RFC 2869)
100 Framed-IPv6-Pool (RFC 3162 [7])
Can be inserted by the dhcp relay agent in an
option 82, suboption 7 (radius-attributes)
An option 82 capable dhcp server stores these
attibutes in its leases and send them back in
answers
….. DEMO lease structure…..
….. DEMO leasequery…..
2015-05-12 Roberto Innocente inno@sissa.it 54
Option 82 suboption 7
(radius-attributes)
● Radius attributes are stored in the way they are stored in the
radius packets(different from the way option or suboptions
are stored in dhcp packets ) as AVP(Attribute Value Pair) :
– TLV (Type, Length, Value) but here length comprises the 2
header bytes so that for example User-Name='inno' is packed as :
● 0x010x06inno
● And the complete 7 suboption becomes :
– 0x070x060x010x06inno
● All radius attributes should be stored in 1 suboption 7
2015-05-12 Roberto Innocente inno@sissa.it 55
Ways to get ip/username bindings
DHCP
Server
with opt 82
support
RADIUS
server
SWITCH
Dhcp snooping
syslog
Option 82
with radius-
attributes
rfc4014
RADIUS
Interim-
Update
Lease update with
omapi
Sends Interim-
Update
Dhcp
leasequery
(1)
(2)
(3)
(4)
(5)
Dhcp omapi
Query db over the net
SQLQuery db over the net
2015-05-12 Roberto Innocente inno@sissa.it 56
Lab setup for Hands on sessions
RADIUS
Server
169.254.1.10
DHCP
Server
169.254.1.11
Client
169.254.1.12
1 de 56

Recomendados

Radius Protocol por
Radius ProtocolRadius Protocol
Radius ProtocolNetwax Lab
1.9K visualizações9 slides
VPLS Fundamental por
VPLS FundamentalVPLS Fundamental
VPLS FundamentalReza Farahani
2.2K visualizações40 slides
VRRP (virtual router redundancy protocol) por
VRRP (virtual router redundancy protocol)VRRP (virtual router redundancy protocol)
VRRP (virtual router redundancy protocol)Netwax Lab
3.3K visualizações15 slides
SSH - Secure Shell por
SSH - Secure ShellSSH - Secure Shell
SSH - Secure ShellPeter R. Egli
8.1K visualizações20 slides
RADIUS por
RADIUSRADIUS
RADIUSamogh_ubale
6.7K visualizações24 slides
Telnet & SSH por
Telnet & SSHTelnet & SSH
Telnet & SSH NetProtocol Xpert
2.7K visualizações5 slides

Mais conteúdo relacionado

Mais procurados

Advanced HTTP Caching por
Advanced HTTP CachingAdvanced HTTP Caching
Advanced HTTP CachingMartin Breest
724 visualizações47 slides
Ospf por
OspfOspf
OspfAlp isik
3.6K visualizações115 slides
Introduction to SSH por
Introduction to SSHIntroduction to SSH
Introduction to SSHHemant Shah
27.2K visualizações65 slides
MPLS Layer 3 VPN por
MPLS Layer 3 VPN MPLS Layer 3 VPN
MPLS Layer 3 VPN NetProtocol Xpert
2K visualizações22 slides
VPN (virtual private network) por
VPN (virtual private network) VPN (virtual private network)
VPN (virtual private network) Netwax Lab
3.1K visualizações14 slides
Providing Local DNS with pfSense - pfSense Hangout August 2016 por
Providing Local DNS with pfSense - pfSense Hangout August 2016Providing Local DNS with pfSense - pfSense Hangout August 2016
Providing Local DNS with pfSense - pfSense Hangout August 2016Netgate
22.3K visualizações19 slides

Mais procurados(20)

Advanced HTTP Caching por Martin Breest
Advanced HTTP CachingAdvanced HTTP Caching
Advanced HTTP Caching
Martin Breest724 visualizações
Ospf por Alp isik
OspfOspf
Ospf
Alp isik3.6K visualizações
Introduction to SSH por Hemant Shah
Introduction to SSHIntroduction to SSH
Introduction to SSH
Hemant Shah27.2K visualizações
MPLS Layer 3 VPN por NetProtocol Xpert
MPLS Layer 3 VPN MPLS Layer 3 VPN
MPLS Layer 3 VPN
NetProtocol Xpert2K visualizações
VPN (virtual private network) por Netwax Lab
VPN (virtual private network) VPN (virtual private network)
VPN (virtual private network)
Netwax Lab3.1K visualizações
Providing Local DNS with pfSense - pfSense Hangout August 2016 por Netgate
Providing Local DNS with pfSense - pfSense Hangout August 2016Providing Local DNS with pfSense - pfSense Hangout August 2016
Providing Local DNS with pfSense - pfSense Hangout August 2016
Netgate22.3K visualizações
MPLS Traffic Engineering por APNIC
MPLS Traffic EngineeringMPLS Traffic Engineering
MPLS Traffic Engineering
APNIC1.8K visualizações
An introduction to SSH por nussbauml
An introduction to SSHAn introduction to SSH
An introduction to SSH
nussbauml2K visualizações
VTP(Virtual Trunking Protocol) por Sirine Ibrahim
VTP(Virtual Trunking Protocol)VTP(Virtual Trunking Protocol)
VTP(Virtual Trunking Protocol)
Sirine Ibrahim1K visualizações
Radius vs. Tacacs+ por Netwax Lab
Radius vs. Tacacs+Radius vs. Tacacs+
Radius vs. Tacacs+
Netwax Lab1.7K visualizações
6 pan-os software update & downgrade instruction por Mostafa El Lathy
6 pan-os software update & downgrade instruction6 pan-os software update & downgrade instruction
6 pan-os software update & downgrade instruction
Mostafa El Lathy379 visualizações
Ssh (The Secure Shell) por Mehedi Farazi
Ssh (The Secure Shell)Ssh (The Secure Shell)
Ssh (The Secure Shell)
Mehedi Farazi2.2K visualizações
Ccna ppt1 por AIRTEL
Ccna ppt1Ccna ppt1
Ccna ppt1
AIRTEL 1.9K visualizações
BGP Graceful Shutdown - IOS XR por Bertrand Duvivier
BGP Graceful Shutdown - IOS XR BGP Graceful Shutdown - IOS XR
BGP Graceful Shutdown - IOS XR
Bertrand Duvivier6.4K visualizações
IP Addressing (Subnetting, VLSM, Supernetting) por cuetcse
IP Addressing (Subnetting, VLSM, Supernetting)IP Addressing (Subnetting, VLSM, Supernetting)
IP Addressing (Subnetting, VLSM, Supernetting)
cuetcse3.4K visualizações
Demystifying TrustSec, Identity, NAC and ISE por Cisco Canada
Demystifying TrustSec, Identity, NAC and ISEDemystifying TrustSec, Identity, NAC and ISE
Demystifying TrustSec, Identity, NAC and ISE
Cisco Canada15K visualizações
Introduction to TCP por Pradeep Kumar TS
Introduction to TCPIntroduction to TCP
Introduction to TCP
Pradeep Kumar TS8.9K visualizações
OSPF Basics por Martin Bratina
OSPF BasicsOSPF Basics
OSPF Basics
Martin Bratina9.1K visualizações
Segment Routing: A Tutorial por APNIC
Segment Routing: A TutorialSegment Routing: A Tutorial
Segment Routing: A Tutorial
APNIC17K visualizações
Creating a DMZ - pfSense Hangout January 2016 por Netgate
Creating a DMZ - pfSense Hangout January 2016Creating a DMZ - pfSense Hangout January 2016
Creating a DMZ - pfSense Hangout January 2016
Netgate13.8K visualizações

Similar a radius dhcp dot1.x (802.1x)

AAA & RADIUS Protocols por
AAA & RADIUS ProtocolsAAA & RADIUS Protocols
AAA & RADIUS ProtocolsPeter R. Egli
14.3K visualizações12 slides
Oracle Client Failover - Under The Hood por
Oracle Client Failover - Under The HoodOracle Client Failover - Under The Hood
Oracle Client Failover - Under The HoodLudovico Caldara
1.9K visualizações59 slides
16.) layer 3 (basic tcp ip routing) por
16.) layer 3 (basic tcp ip routing)16.) layer 3 (basic tcp ip routing)
16.) layer 3 (basic tcp ip routing)Jeff Green
510 visualizações26 slides
Computer network por
Computer networkComputer network
Computer networkGaurav Rawat
590 visualizações23 slides
TakeDownCon Rocket City: Bending and Twisting Networks by Paul Coggin por
TakeDownCon Rocket City: Bending and Twisting Networks by Paul CogginTakeDownCon Rocket City: Bending and Twisting Networks by Paul Coggin
TakeDownCon Rocket City: Bending and Twisting Networks by Paul CogginEC-Council
971 visualizações22 slides
Tutorial mikrotik step by step anung muhandanu por
Tutorial mikrotik step by step  anung muhandanu Tutorial mikrotik step by step  anung muhandanu
Tutorial mikrotik step by step anung muhandanu Alessandro De Suoodh
1.5K visualizações16 slides

Similar a radius dhcp dot1.x (802.1x)(20)

AAA & RADIUS Protocols por Peter R. Egli
AAA & RADIUS ProtocolsAAA & RADIUS Protocols
AAA & RADIUS Protocols
Peter R. Egli14.3K visualizações
Oracle Client Failover - Under The Hood por Ludovico Caldara
Oracle Client Failover - Under The HoodOracle Client Failover - Under The Hood
Oracle Client Failover - Under The Hood
Ludovico Caldara1.9K visualizações
16.) layer 3 (basic tcp ip routing) por Jeff Green
16.) layer 3 (basic tcp ip routing)16.) layer 3 (basic tcp ip routing)
16.) layer 3 (basic tcp ip routing)
Jeff Green510 visualizações
Computer network por Gaurav Rawat
Computer networkComputer network
Computer network
Gaurav Rawat590 visualizações
TakeDownCon Rocket City: Bending and Twisting Networks by Paul Coggin por EC-Council
TakeDownCon Rocket City: Bending and Twisting Networks by Paul CogginTakeDownCon Rocket City: Bending and Twisting Networks by Paul Coggin
TakeDownCon Rocket City: Bending and Twisting Networks by Paul Coggin
EC-Council971 visualizações
Tutorial mikrotik step by step anung muhandanu por Alessandro De Suoodh
Tutorial mikrotik step by step  anung muhandanu Tutorial mikrotik step by step  anung muhandanu
Tutorial mikrotik step by step anung muhandanu
Alessandro De Suoodh1.5K visualizações
Mitigating Layer2 Attacks por dkaya
Mitigating Layer2 AttacksMitigating Layer2 Attacks
Mitigating Layer2 Attacks
dkaya4.1K visualizações
Ccna v5-S1-Chapter 7 por Hamza Malik
Ccna v5-S1-Chapter 7Ccna v5-S1-Chapter 7
Ccna v5-S1-Chapter 7
Hamza Malik235 visualizações
Student packet tracer manual v1.1 por milkux
Student packet tracer manual v1.1Student packet tracer manual v1.1
Student packet tracer manual v1.1
milkux1.4K visualizações
Firewalls por hemantag
FirewallsFirewalls
Firewalls
hemantag13 visualizações
security por ahmad amiruddin
securitysecurity
security
ahmad amiruddin1.7K visualizações
Chapter 6r por Kodarsyah .
Chapter 6rChapter 6r
Chapter 6r
Kodarsyah .229 visualizações
Training Day Slides por adam_merritt
Training Day SlidesTraining Day Slides
Training Day Slides
adam_merritt690 visualizações
CCNA RS_NB - Chapter 5 por Irsandi Hasan
CCNA RS_NB - Chapter 5CCNA RS_NB - Chapter 5
CCNA RS_NB - Chapter 5
Irsandi Hasan1.2K visualizações
Firewall por Manikyala Rao
FirewallFirewall
Firewall
Manikyala Rao3.5K visualizações
Tutorial mikrotik step by step por Dewa Ketut Setiawan
Tutorial mikrotik step by stepTutorial mikrotik step by step
Tutorial mikrotik step by step
Dewa Ketut Setiawan346 visualizações
PLNOG15: Practical deployments of Kea, a high performance scalable DHCP - Tom... por PROIDEA
PLNOG15: Practical deployments of Kea, a high performance scalable DHCP - Tom...PLNOG15: Practical deployments of Kea, a high performance scalable DHCP - Tom...
PLNOG15: Practical deployments of Kea, a high performance scalable DHCP - Tom...
PROIDEA377 visualizações
CCNA RS_ITN - Chapter 7 por Irsandi Hasan
CCNA RS_ITN - Chapter 7CCNA RS_ITN - Chapter 7
CCNA RS_ITN - Chapter 7
Irsandi Hasan1.2K visualizações
Wi fi-security-the-details-matter por DESMOND YUEN
Wi fi-security-the-details-matterWi fi-security-the-details-matter
Wi fi-security-the-details-matter
DESMOND YUEN99 visualizações
Linux HTTPS/TCP/IP Stack for the Fast and Secure Web por All Things Open
Linux HTTPS/TCP/IP Stack for the Fast and Secure WebLinux HTTPS/TCP/IP Stack for the Fast and Secure Web
Linux HTTPS/TCP/IP Stack for the Fast and Secure Web
All Things Open424 visualizações

Mais de rinnocente

Random Number Generators 2018 por
Random Number Generators 2018Random Number Generators 2018
Random Number Generators 2018rinnocente
939 visualizações164 slides
Docker containers : introduction por
Docker containers : introductionDocker containers : introduction
Docker containers : introductionrinnocente
247 visualizações81 slides
An FPGA for high end Open Networking por
An FPGA for high end Open NetworkingAn FPGA for high end Open Networking
An FPGA for high end Open Networkingrinnocente
401 visualizações42 slides
WiFi placement, can we use Maxwell ? por
WiFi placement, can we use Maxwell ?WiFi placement, can we use Maxwell ?
WiFi placement, can we use Maxwell ?rinnocente
233 visualizações13 slides
TLS, SPF, DKIM, DMARC, authenticated email por
TLS, SPF, DKIM, DMARC, authenticated emailTLS, SPF, DKIM, DMARC, authenticated email
TLS, SPF, DKIM, DMARC, authenticated emailrinnocente
3.7K visualizações40 slides
Fpga computing por
Fpga computingFpga computing
Fpga computingrinnocente
998 visualizações77 slides

Mais de rinnocente(16)

Random Number Generators 2018 por rinnocente
Random Number Generators 2018Random Number Generators 2018
Random Number Generators 2018
rinnocente939 visualizações
Docker containers : introduction por rinnocente
Docker containers : introductionDocker containers : introduction
Docker containers : introduction
rinnocente247 visualizações
An FPGA for high end Open Networking por rinnocente
An FPGA for high end Open NetworkingAn FPGA for high end Open Networking
An FPGA for high end Open Networking
rinnocente401 visualizações
WiFi placement, can we use Maxwell ? por rinnocente
WiFi placement, can we use Maxwell ?WiFi placement, can we use Maxwell ?
WiFi placement, can we use Maxwell ?
rinnocente233 visualizações
TLS, SPF, DKIM, DMARC, authenticated email por rinnocente
TLS, SPF, DKIM, DMARC, authenticated emailTLS, SPF, DKIM, DMARC, authenticated email
TLS, SPF, DKIM, DMARC, authenticated email
rinnocente3.7K visualizações
Fpga computing por rinnocente
Fpga computingFpga computing
Fpga computing
rinnocente998 visualizações
Refreshing computer-skills: markdown, mathjax, jupyter, docker, microkernels por rinnocente
Refreshing computer-skills: markdown, mathjax, jupyter, docker, microkernelsRefreshing computer-skills: markdown, mathjax, jupyter, docker, microkernels
Refreshing computer-skills: markdown, mathjax, jupyter, docker, microkernels
rinnocente295 visualizações
Nodes and Networks for HPC computing por rinnocente
Nodes and Networks for HPC computingNodes and Networks for HPC computing
Nodes and Networks for HPC computing
rinnocente376 visualizações
features of tcp important for the web por rinnocente
features of tcp  important for the webfeatures of tcp  important for the web
features of tcp important for the web
rinnocente241 visualizações
Public key cryptography por rinnocente
Public key cryptography Public key cryptography
Public key cryptography
rinnocente678 visualizações
End nodes in the Multigigabit era por rinnocente
End nodes in the Multigigabit eraEnd nodes in the Multigigabit era
End nodes in the Multigigabit era
rinnocente221 visualizações
Mosix : automatic load balancing and migration por rinnocente
Mosix : automatic load balancing and migration Mosix : automatic load balancing and migration
Mosix : automatic load balancing and migration
rinnocente714 visualizações
Comp architecture : branch prediction por rinnocente
Comp architecture : branch predictionComp architecture : branch prediction
Comp architecture : branch prediction
rinnocente3.6K visualizações
Data mining : rule mining algorithms por rinnocente
Data mining : rule mining algorithmsData mining : rule mining algorithms
Data mining : rule mining algorithms
rinnocente685 visualizações
Ipv6 course por rinnocente
Ipv6  courseIpv6  course
Ipv6 course
rinnocente1.8K visualizações
FPGA/Reconfigurable computing (HPRC) por rinnocente
FPGA/Reconfigurable computing (HPRC)FPGA/Reconfigurable computing (HPRC)
FPGA/Reconfigurable computing (HPRC)
rinnocente1.7K visualizações

Último

DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -... por
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...Deltares
6 visualizações15 slides
HarshithAkkapelli_Presentation.pdf por
HarshithAkkapelli_Presentation.pdfHarshithAkkapelli_Presentation.pdf
HarshithAkkapelli_Presentation.pdfharshithakkapelli
11 visualizações16 slides
Winter '24 Release Chat.pdf por
Winter '24 Release Chat.pdfWinter '24 Release Chat.pdf
Winter '24 Release Chat.pdfmelbourneauuser
9 visualizações20 slides
Unleash The Monkeys por
Unleash The MonkeysUnleash The Monkeys
Unleash The MonkeysJacob Duijzer
7 visualizações28 slides
Advanced API Mocking Techniques por
Advanced API Mocking TechniquesAdvanced API Mocking Techniques
Advanced API Mocking TechniquesDimpy Adhikary
18 visualizações11 slides
A first look at MariaDB 11.x features and ideas on how to use them por
A first look at MariaDB 11.x features and ideas on how to use themA first look at MariaDB 11.x features and ideas on how to use them
A first look at MariaDB 11.x features and ideas on how to use themFederico Razzoli
44 visualizações36 slides

Último(20)

DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -... por Deltares
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
Deltares6 visualizações
HarshithAkkapelli_Presentation.pdf por harshithakkapelli
HarshithAkkapelli_Presentation.pdfHarshithAkkapelli_Presentation.pdf
HarshithAkkapelli_Presentation.pdf
harshithakkapelli11 visualizações
Winter '24 Release Chat.pdf por melbourneauuser
Winter '24 Release Chat.pdfWinter '24 Release Chat.pdf
Winter '24 Release Chat.pdf
melbourneauuser9 visualizações
Unleash The Monkeys por Jacob Duijzer
Unleash The MonkeysUnleash The Monkeys
Unleash The Monkeys
Jacob Duijzer7 visualizações
Advanced API Mocking Techniques por Dimpy Adhikary
Advanced API Mocking TechniquesAdvanced API Mocking Techniques
Advanced API Mocking Techniques
Dimpy Adhikary18 visualizações
A first look at MariaDB 11.x features and ideas on how to use them por Federico Razzoli
A first look at MariaDB 11.x features and ideas on how to use themA first look at MariaDB 11.x features and ideas on how to use them
A first look at MariaDB 11.x features and ideas on how to use them
Federico Razzoli44 visualizações
SAP FOR CONTRACT MANUFACTURING.pdf por Virendra Rai, PMP
SAP FOR CONTRACT MANUFACTURING.pdfSAP FOR CONTRACT MANUFACTURING.pdf
SAP FOR CONTRACT MANUFACTURING.pdf
Virendra Rai, PMP11 visualizações
Consulting for Data Monetization Maximizing the Profit Potential of Your Data... por Flexsin
Consulting for Data Monetization Maximizing the Profit Potential of Your Data...Consulting for Data Monetization Maximizing the Profit Potential of Your Data...
Consulting for Data Monetization Maximizing the Profit Potential of Your Data...
Flexsin 15 visualizações
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx por animuscrm
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
animuscrm11 visualizações
Software testing company in India.pptx por SakshiPatel82
Software testing company in India.pptxSoftware testing company in India.pptx
Software testing company in India.pptx
SakshiPatel827 visualizações
DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM... por Deltares
DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM...DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM...
DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM...
Deltares7 visualizações
Fleet Management Software in India por Fleetable
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India
Fleetable11 visualizações
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t... por Deltares
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...
Deltares9 visualizações
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko... por Deltares
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...
Deltares10 visualizações
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut... por HCLSoftware
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...
HCLSoftware6 visualizações
Roadmap y Novedades de producto por Neo4j
Roadmap y Novedades de productoRoadmap y Novedades de producto
Roadmap y Novedades de producto
Neo4j43 visualizações
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports por Ra'Fat Al-Msie'deen
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug ReportsBushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
Ra'Fat Al-Msie'deen5 visualizações
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema por Deltares
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - GeertsemaDSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema
Deltares12 visualizações
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ... por Donato Onofri
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
Donato Onofri643 visualizações

radius dhcp dot1.x (802.1x)

  • 1. 2015-05-12 Roberto Innocente inno@sissa.it 1 dot1x radius dhcp correlations Access technologies INs and OUTs of dot1x/radius/dhcp How to get user information (ip/username bindings) from dot1x/radius/dhcp
  • 2. 2015-05-12 Roberto Innocente inno@sissa.it 2 RADIUS / DHCP proven configuration CISCO NAS JUNIPER NAS CISCO NAS JUNIPER NAS Cisco ROUTER RADIATOR Radius server Cisco Network Registrar DHCP server NAS Network Access Server or NAD Network Access Device Everything worked like a charm with this proprietary installation ...
  • 3. 2015-05-12 Roberto Innocente inno@sissa.it 3 Radius/DHCP servers ● RADIUS servers : – FreeRADIUS – Radiator – Cisco Prime Access Registrar – Cisco ISG – Microsoft NPS (Network Policy Server) – FreeDiameter – GNU radius ● DHCP servers : – ISC dhcp server – Windows dhcp – FreeRADIUS/dhcp – Cisco Prime Network Registrar – Mikrotik – Cisco ISG – Cisco DHCP server RADIUS proxy – ISC KEA
  • 4. 2015-05-12 Roberto Innocente inno@sissa.it 4 Open source/Freeware ? Can we do the same with open source/freeware s/w and different h/w ? Yes !!! Answer in next slides ..
  • 5. 2015-05-12 Roberto Innocente inno@sissa.it 5 EAP (Extensible Authentication Protocol) ● Rfc2284 1998 ● Rfc3784 2004 It's a framework for exchanging authentication messages. The wireless standard 802.11 supports with EAP 100 different authentication methods. EAP defines only the message format. Therefore for every network is defined a way to encapsulate EAP in layer 2 : 802.1x defines EAPOL (EAP over LAN), 802.11i accepts it over WLAN.
  • 6. 2015-05-12 Roberto Innocente inno@sissa.it 6 Ieee 802.1x (dot1x) Today common protocol used to control network access in wired or wireless networks. Supplicant Authenticator Authenticator server Internet EAP EAP EAPOL RADIUS/DIAMETER
  • 7. 2015-05-12 Roberto Innocente inno@sissa.it 7 AuthenticatorSupplicant Authenticator server New connection EAP-Request Identity EAP-Response Identity RADIUS Access Request RADIUS Access ChallengeEAP Request EAP Response RADIUS Access Request RADIUS Access Accept EAP Success
  • 8. 2015-05-12 Roberto Innocente inno@sissa.it 8 Reliable UDP Is it a misnomer ? By definition UDP is an unreliable protocol, but with little effort we can implement over it an old trick : the Stop- And-Wait protocol. The sender for max-retries times tries to : ● Send message ● Wait timeout seconds for a feedback After max-retries times the sender gives up, signals a problem and uses a fallback strategy. The risk of this protocol is that it can happen that a message is sent multiple times. Therefore is not indicated for bankomat transactions, but remains very useful in situation in which you need to transmit a long term state , like ● The light is on ● The light is off In which retransmission is not a problem. RADIUS and DHCP use this kind of reliable UDP.
  • 9. 2015-05-12 Roberto Innocente inno@sissa.it 9 Reliable UDP/2 Packet ACK Timeout Packet ACK Timeout Packet Timeout Packet ACK Timeout Time Packet ACK Timeout Packet ACK Timeout ACK lost Packet lost Early timeout
  • 10. 2015-05-12 Roberto Innocente inno@sissa.it 10 RADIUS(RFC2865) Was devised as a protocol to exchange AAA info between a Radius server and Access Servers : Authentication : check user supplied credentials against a table/database (file, mysql, ldap, ..) Authorization : tells the Access Server the user can/can't access net and how Accounting : keeps records of net resources used by users (connection times, bytes transferred) In the '90 the Network Access Servers were mostly racks of modems. Original version developed by Livingstone Ent. Inc. in 1991 then bought by Alcatel. Radius is a client/server protocol that uses UDP ports 1812,1813.
  • 11. 2015-05-12 Roberto Innocente inno@sissa.it 11 Radius protocol in a slide Attribute 1 = User-Name eg AVP=0x010x06inno Attribute 31 = Calling-Station-ID 16 bytes Radius uses normally UDP : auth server on port 1812, acct server on 1813 RADIUSClie nt Serv er Access- Request Access- Challenge Access- Reject Access- Accept OR type valuelength 0 8 16 Authenticator Code Packet identifier length AVPs 0 8 16 31 OR
  • 12. 2015-05-12 Roberto Innocente inno@sissa.it 12 RADIUS codes RADIUS Code in 1st protocol octet : ● Access-Request (=1) ● Access-Accept (=2) ● Access-Reject (=3) ● Accounting-Request (=4) ● Accounting-Response (=5) Packet Identifier : 1 byte used to match requests and responses
  • 13. 2015-05-12 Roberto Innocente inno@sissa.it 13 Radius attributes used Used by NAS sending Requests: ● User-Name ● Password ● Calling-Station-Id : the mac address of the connecting client Honored when received in an Access-Accept message : ● Acct-Interim-Interval : the interval in second between interim updates ● Tunnel-Private-Group-ID : the vlan assigned ● Tunnel-Type : eg VLAN ● Tunnel-Medium-Type : eg 802 (which includes 802.11) ● Filter-ID : use %d.out and %d.in for interface output acl or interface input acl
  • 14. 2015-05-12 Roberto Innocente inno@sissa.it 14 Radius acct exchanges(RFC2866) RADIUS Server (1813) RADIUS client Accounting-Response Accounting-Request acct_status_type=Stop Accounting-Response Accounting-Request acct_status_type=InterimUpd Accounting-Response Accounting-Request acct_status_type=Start Radius accounting is delivered on a different port(1813) than Authentication and Authorization, it can also usually be delivered on another host. Because radius uses UDP, it needs some error control : ● While UDP is often used without checksum control, radius requires it ● For every packet transmitted it requires a reply : in a TCP situation the accounting records would not require any reply, but because of UDP they do and the NAS continues to transmit them till it gets a reply (in radius parlance a 'Response')
  • 15. 2015-05-12 Roberto Innocente inno@sissa.it 15 Radius accounting exchanges ● Transmitted to the radius-acct port (default=1813) of the server ● Accounting-Request (Code 4): – ● Accounting-Response (Code 5) ● On Unix/Linux radiusd accounting daemon is a son of radiusd authorization daemon Accounting Packets When Acct-Status-Type 1 = Start At network access authorization time Acct-Status-Type 2 = Stop At disconnect Acct-Status-Type 3 = Interim-Update When authenticator has news about client Acct-Status-Type 7 = Accounting on Acct-Status-Type 8 = Accounting off
  • 16. 2015-05-12 Roberto Innocente inno@sissa.it 16 Radius Interim-Update(RFC2869) ● Its an accounting packet. ● It was in the past called Alive ● Introduced for ISPs and telecoms to have intermediate steps in the accounting to avoid that long sessions could encounter NAS reboots and therefore remain without an accounting-stop record needed for billing ● When the client sends an Access-Request the server answer with a requested Interim-Update interval (often 600 secs) ● It was renamed to Interim-Update because now it is also used to send new info the NAS collects about the client
  • 17. 2015-05-12 Roberto Innocente inno@sissa.it 17 MAB (MAC Authentication Bypass) Many devices (like printers) dont offer dot1x authentication. There are 2 way outs : to disable dot1x on the port or to provide a fall-back mechnism. The 2nd solution is a bit more safe. Because of this many NAS vendors provide a fall back : if the device doesn't answer to dot1x requests then the mac (in very simple format only hex digits, no colons, spaces or dashes) is encapsulated as username and password in a Radius Access- Request and sent to the Radius server that if the devices are known to the server can reply with an Access-accept. (In new IOSs as password is sent the MD5 of the mac) In freeradius you simply specify the MACs in a file.
  • 18. 2015-05-12 Roberto Innocente inno@sissa.it 18 MAB and radius Service-Type Cisco uses the service-type attribute to signal the type of authentication and sets : ● Service-Type=Framed (signals an 802.1X authentication) ● Service-Type=Login (signals WebAuth) ● Service-Type=Call-Check (signals MAB)
  • 19. 2015-05-12 Roberto Innocente inno@sissa.it 19 MAB exchanges Epol : EAP Request Identity Any Packet RADIUS Access-Request User:001133445566 RADIUS Access- Accept Epol : EAP Request Identity Epol : EAP Request Identity Timeout 30 sec Timeout 30 sec Timeout 30 sec Port Authorized Port Unauthorized Printer MAC 001133445566
  • 20. 2015-05-12 Roberto Innocente inno@sissa.it 20 MAB and radius Service-Type Cisco uses the service-type attribute to signal the type of authentication and sets : ● Service-Type=Framed (signals an 802.1X authentication) ● Service-Type=Login (signals WebAuth) ● Service-Type=Call-Check (signals MAB) To protect from user logging from captive portals with MACs of printers :)
  • 21. 2015-05-12 Roberto Innocente inno@sissa.it 21 Radius with backend databases ● FreeRadius SQL module (rlm_sql) : – rlm_sql_mysql, rlm_sql_oracle, rlm_sql_postgresql ● FreeRadius LDAP module : – The default correspondences between ldap and freeradius attributes is in the ldap module – Radius attributes ● Tunnel-Type from ldap radiusTunnelType ● Tunnel-Medium-Type from ldap radiusTunnelMediumType ● Tunnel-Private-Id-Group from ldap radiusTunnelPrivategroupId and is generally used to establish VLAN
  • 22. 2015-05-12 Roberto Innocente inno@sissa.it 22 Freeradius db schema
  • 23. 2015-05-12 Roberto Innocente inno@sissa.it 23 Freeradius db query result mysql> select username,nasipaddress,nasportid,acctstarttime ,framedipaddress from radacct; +--------------+------------------+--------------+----------------------------+------------------------+ | username | nasipaddress | nasportid | acctstarttime | framedipaddress | +--------------+------------------+--------------+----------------------------+------------------------+ | inno |169.254.1.10 | 6002 | 2015-04-30 11:12:34 | 169.254.1.180 | | inno | 169.254.1.10 | 6001 | 2015-04-30 11:46:15 | 169.254.1.180 | | radeka |169.254.1.10 | 6002 | 2015-04-30 11:46:15 | 169.254.1.181 | | ritossa | 169.254.1.10 | 6003 | 2015-04-30 11:46:16 | 169.254.1.182 | | giunta | 169.254.1.10 | 6004 | 2015-04-30 11:46:16 | 169.254.1.183 | +--------------+------------------+-------------+-----------------------------+------------------------+ 5 rows in set (0.03 sec)
  • 24. 2015-05-12 Roberto Innocente inno@sissa.it 24 freeRadius : normalizing mac addresses MAC client addresses are presented in the most various forms: 001122334455 , 00-11-22-33-44-55,0011.2233.4455, 001122.334455,00:11:22:33:44:55 Can anyway, in a very simple way, be normalized to a common format : eg. 001122334455 (the same format used by MAB, but an RFC propends for the - format) For freeradius in the file /etc/raddb/sites-enabled/default at the beginning of the section authorize add: rewrite_calling_station_id The same at the beginning of section accounting. Calling-Station-ID is the radius attribute used to transmit the mac of the client. In the file /etc/raddb/policy.d/canonicalization you can modify the procedure rewrite_calling_station_id to follow your tastes. ….. DEMO ….
  • 25. 2015-05-12 Roberto Innocente inno@sissa.it 25 Radius high availability RADIUS Server 1 RADIUS Server 2 MySql Cluster 1 RADIUS Server 1 MySql Cluster 2 haproxy haproxy haproxy haproxy MySql cluster
  • 26. 2015-05-12 Roberto Innocente inno@sissa.it 26 Host configuration Today computers to be able to communicate need at least these information : ● An IP address they can use as their own address ● An IP netmask (because today computers are on subnets or CIDR) ● The IP address of a router (to reach computers outside their subnet) ● The IP address of a name server (to reach computers by name) Historically these protocols were used for these purpose and each superseeded the previous : ● RARP (Reverse ARP) ● BOOTP (Bootstrap protocol) ● DHCP (Dynamic Host Configuration Protocol)
  • 27. 2015-05-12 Roberto Innocente inno@sissa.it 27 Dhcp 0 s 1 s 68 6 7 Dhcp request SI P 1 s 6 7 6 8 Dhcp reply Client Port 68 Server port 67 Client IP address 0s Server IP address 1s Client Port 68 Server port 67 Client IP address 1s Server IP address SIP DHCP Client DHCP Server C I P S I P C P S P S I P C I P S P C P UDP From 0.0.0.0.68 to 255.255.255.255.67 UDP From SIP.67 to 255.255.255.255.68
  • 28. 2015-05-12 Roberto Innocente inno@sissa.it 28 Relay Agents ● With the evolution of networks it was clear it is an overkill to keep some services (therefore hosts and ip-addresses) available on every subnet ● Not only : in many cases the discover of such services required to use broadcasting (not funny in large networks) ● Therefore it was introduced the concept of a Relay Agent : something that doesnt need to have an ip address but that can collect packets for some services and dispatch them to servers he knows and back. ● This mechanism is usually called on routers and switches ip helper address ● E.g. every broadcast packet for port 67 (bootps), is not broadcasted on the LAN, but is delivered as a unicast to a DHCP server, that the NAS knows . Other ports can be dispatched too. ● Cisco : – Ip helper-address address – Ip forward protocol udp 67
  • 29. 2015-05-12 Roberto Innocente inno@sissa.it 29 0 s 1 s 68 6 7 Dhcp request .. 2. 2 .. 1. 1 6 7 67 Dhcp ack Client Port 68 Client IP address 0s Server IP address 1s Server port 67 Client IP address 1s Server IP address SIP DHCP Client 1.? DHCP Server 2.2 UDP From 0.0.0.0.68 to 255.255.255.255.67 UDP From SIP.67 to 255.255.255.255.67 0 s 1 s 68 6 7 Dhcp request .. 1. 1 .. 2. 2 6 7 6 7 Dhcp request .. 1.1 1 s 6 8 6 7 Dhcp ack Switch/Router 1.1 2.1 Client listen only on port 68, relay agent only on 67 and server also only on 67. Therefore answer to a relay is different that answer to a client because it has to be from port 67 to port 67. S D S D R S r s C T c t Dhcp with relay agent
  • 30. 2015-05-12 Roberto Innocente inno@sissa.it 30 DHCP protocol in 2 slides ● Normally uses UDP ( tcp allowed) : – Client port 68 (bootpc) – Server port 67 (bootps) ● To remember the phases : remember D.O.R.A. Client Server DISCOVER OFFER REQUEST ACK L
  • 31. 2015-05-12 Roberto Innocente inno@sissa.it 31 DHCP packets DHCP request / ack : Options DHCP request/ack : OPTIONS
  • 32. 2015-05-12 Roberto Innocente inno@sissa.it 32 DHCP ● OP=1,Opt 53=1 Discover ● OP=1,Opt 53=3 Request ● OP=1,Opt 53=8 Inform ● OP=2,Opt 53=2 Offer ● OP=2,Opt 53=5,6 ACK or NAK ● Cip client ip address ● Chaddr client mac address ● Yip your IP address(0.0.0.0) ● Giaddr Gateway IP address ● Siaddr Server IP address REQUESTS ANSWERS ACRONYMS
  • 33. 2015-05-12 Roberto Innocente inno@sissa.it 33 DHCP LEASEQUERY At the beginning was introduced to give the possibility to the NAS to recover the ongoing sessions trough queries to the DHCP server ● A new dhcp request msg (RFC4388 Feb 2006 - RFC6188 ): – OP=1, Opt 53=10 Leasequery ● Possible answers: – OP=2,Opt 53=11 Lease unassigned – OP=2,Opt 53=12 Lease unknown – OP=2,Opt 53=13 Lease active ● The DHCP server collects many info about the clients, this info can now be queried by eg an access server to recover its database after a reboot, or by other nodes needing that information ● ISC DHCP implements Leaseque …........... DEMO …...................
  • 34. 2015-05-12 Roberto Innocente inno@sissa.it 34 ISC DHCP OMAPI OMAPI (Object Mangement API) A programming layer designed to control remote application and querying their state. A thin API over it is called dhcpctl : dhcpctl_initialiaze(); dhcpctl_connect (&connection, "127.0.0.1", 7911, 0); dhcpctl_new_object (&lease, connection, "lease"); memset (&ipaddrstring, 0, sizeof ipaddrstring); inet_pton(AF_INET, "10.0.0.101", &convaddr); omapi_data_string_new (&ipaddrstring, 4, MDL); memcpy(ipaddrstring->value, &convaddr.s_addr, 4); dhcpctl_set_value (lease, ipaddrstring, "ip-address"); dhcpctl_open_object (lease, connection, 0); dhcpctl_wait_for_completion (lease, &waitstatus); D H C P O M A P I d h c p c t l ISC DHCP Server UDP TCP Default server port 7911 ….. DEMO …. D H C P O M A P I d h c p c t l ISC DHCP client
  • 35. 2015-05-12 Roberto Innocente inno@sissa.it 35 ISC DHCP failover ● From 4.3 isc dhcp supports failover as per rfc draft-ietf- dhc-failover-12.txt : the protocol went from a 13 pages document for v 1 to a 144 pages for v 12 ● Failover protocol allows 2 server to share a common address pool of which about ½ will be assigned to each (in case of failure of 1 server the other will continue to use its ½ of the pool free) ● If you set the server in state partner-down then it will try to get back also the ½ pool assigned to the other (you can so this using omshell)
  • 36. 2015-05-12 Roberto Innocente inno@sissa.it 36 Mess of states in draft 12 dhcp failover
  • 37. 2015-05-12 Roberto Innocente inno@sissa.it 37 Dhcp high availability DHCP Server 1 DHCP Server 2 LDAP server1 LDAP serverq
  • 38. 2015-05-12 Roberto Innocente inno@sissa.it 38 ISC KEA Is a new (started 2010) DHCP server under development in C++. It uses a mysql/postgres database backend for leases and this is a great advancement versus the standard ISC DHCP server. The new configuration file uses JSON syntax.
  • 39. 2015-05-12 Roberto Innocente inno@sissa.it 39 ISC KEA dhcp server Mysql schema for KEA db
  • 40. 2015-05-12 Roberto Innocente inno@sissa.it 40 DHCP spoofing ● Initial DHCP discover packets are broadcasted at layer 2 over the broadcast domain ( usually LAN or VLAN), because the client at that point knows nothing about network configuration ● Whoever is on that subnet can then listen to it and try to reply like if it is a legitimate server ● They can then kidnap the client assigning a network and ip address and themselves as default gateway, performing a man in the middle attack
  • 41. 2015-05-12 Roberto Innocente inno@sissa.it 41 DHCP option 82/1 (RFC3046)     Central LAN DHCP server Circuit Access Unit Circuit Access Unit LAN LAN LAN HOST HOST HOST HOST HOST circ circuit circuit MODEM circuit MODEM MODEM Relay Agent Relay Agent Not having a router at the edge saves from assigning a LIS (Logical Internet Subnet) for each premise and is quite less expensive too .. HOST
  • 42. 2015-05-12 Roberto Innocente inno@sissa.it 42 DHCP option Relay agent information aka option 82 (RFC3046) With the evolution of the access networks it became common to have an high speed modem connect in a LAN multiple customer premises and multiple hosts per site. It is useful in such a situation to use DHCP to configure these hosts. This public use of DHCP poses anyway some security and scaling problems. ● Therefore a special DHCP option was introduced in RFC3046 (Jan 2001) according to which the relay agent that passes dhcp packets to servers inserts in the dhcp packet an option with other information (that allows to identify the path from where it came). The server eventually uses that information to use specific pools of addresses and sends it back in its replies. This option is then removed again by the relay agent when it passes the replies to the clients. The clients are not supposed to ever receive or send this dhcp option 82.
  • 43. 2015-05-12 Roberto Innocente inno@sissa.it 43 Option 82/1 (RFC3046)
  • 44. 2015-05-12 Roberto Innocente inno@sissa.it 44 Option 82/3 (RFC3046) The option 82 information is made up of a sequence of suboptions. ● Agent Circuit ID (suboption 1)—An ASCII string that identifies the interface on which a client DHCP packet is received. ● Agent Remote ID (suboption 2)—An ASCII string assigned by the relay agent that securely identifies the client. ● ….. Cisco commands: Juniper commands : ● set dhcp relay agent sub-option circuit-id ….... ● set dhcp relay agent sub-option remote-id …..
  • 45. 2015-05-12 Roberto Innocente inno@sissa.it 45 DHCP snooping/1 Probably you know what means to snoop .. Introduces some security for DHCP. The switch snoops all dhcp packets on client ports and checks them for being appropriate. ● Divides ports between trusted and untrusted ● Untrusted ports can only pass DHCP discover/request/inform ● Only trusted ports can pass other DHCP traffic: offer/ack/nack ● If a DHCP offer will be heard on an untrusted port the port will be shutdown
  • 46. 2015-05-12 Roberto Innocente inno@sissa.it 46 DHCP snooping/2 ● Device sends a DHCP discover, from an untrusted port, the switch forwards it to the server ● Servers sends a DHCP offer from a trusted port, the switch forwards it to the device trough the connecting port ● Device sends a DHCP request, from an untrusted port, switch forwards it to the server and puts a reservation inside its db for the ip/mac pair ● Server sends back a DHCP ACK from a trusted port, the switch forwards it to the device and inserts it in its ip/mac database the entry ● A DHCP release causes the switch to delete the entry in its db, the same an expiry of the lease
  • 47. 2015-05-12 Roberto Innocente inno@sissa.it 47 DHCP snooping configuration/1 ● Cisco: – Ip dhcp snooping # on all the switch – # after this all ports are now untrusted and dhcp server pkt not fw – Ip dhcp snooping vlan 51-55 #on vlan 51-55 – Int gi3/47 ● Ip dhcp snooping trust ● Ip dhcp snooping limit rate 100 – show ip dhcp snooping binding
  • 48. 2015-05-12 Roberto Innocente inno@sissa.it 48 DHCP snooping binding database ● Router# show ip dhcp snoop bind ● MacAddress IpAddress Lease(sec) Type VLAN Interface ● ------------------ --------------- ---------- ------------- ---- -------------------- ● 00:01:00:01:00:05 1.1.1.2 49810 dhcp-snooping 512 GigabitEthernet1/1 ● 00:01:00:01:00:02 1.1.1.3 49810 dhcp-snooping 512 GigabitEthernet1/1 ● 00:01:00:01:00:04 1.1.1.4 49810 dhcp-snooping 1536 GigabitEthernet1/1 ● 00:01:00:01:00:03 1.1.1.5 49810 dhcp-snooping 1024 GigabitEthernet1/1 ● 00:01:00:01:00:01 1.1.1.6 49810 dhcp-snooping 1 GigabitEthernet1/1 ● Router# clear ip dhcp snoop bind
  • 49. 2015-05-12 Roberto Innocente inno@sissa.it 49 DHCP snooping and Radius ● Sound implementation of DHCP snooping demands that a Radius Interim-Update packet is sent to the Radius server as soon as new information is known about a client ● Therefore as soon as an ip address is bounded into the snooping database the Radius server is informed of that sending the ip address as a Framed-IP-Address Attribute-Value-Pair ● This is inserted in the freeradius utmp database and appears on radwho command output after the Location field …... DEMO …..
  • 50. 2015-05-12 Roberto Innocente inno@sissa.it 50 Dhcp snooping and interim-update for alcatel On the left the radius attributes sent on an Interim-Update by alcatel switches when the switch comes to know the IP address of the client and dhcp snooping is enabled and 802.1x accounting is enabled too. Note the vendor specific attribute : Alcatel-Lucent-Client-IP-Addr versus the usual Framed-IP-address – User Name – NAS-IP-Address – NAS-Port – Acct-Session – Acct-Authentic (to be 1 -radius- for 802.1x users) – Acct-Terminal-Cause (currently not supported) – Alcatel-Lucent-Auth-Group (VlanId) – Alcatel-Lucent-Slot-Port – Alcatel-Lucent-Client-IP-Addr – Alcatel-Lucent-Group-Desc (vlan name)
  • 51. 2015-05-12 Roberto Innocente inno@sissa.it 51 Alcatel 802.1x parameters Switch sends up to max-req EAP Request-Identity to the supplicant every tx-period seconds. The supplicant is polled during a supp-timeout period before giving up for a quiet-period seconds. The polling of the supplicant is retried retry times. ● Aaa radius server ● Aaa authentication 802.1x rad1 rad2 ● Vlan port 3/18 802.1x enable ● 802.1x 3/18 quiet-period 50 tx- period 25 supp-timeout 25 ● 802.1x 3/18 max-req 3 ● 802.1x 3/18 supp-polling retry 10 ● 802.1x reauthentication ● 802.1x reauthentication re- authperiod 25
  • 52. 2015-05-12 Roberto Innocente inno@sissa.it 52 ISC DHCP server opt 82 ● Supports partially option 82, in particular doesnt support radius attributes ● I patched a 4.3.2 isc dhcp server in such a way that it supports them. ● It keeps the radius attributes in the lease database, so that it can restart with them and it replies with the attributes to the NAS on replies, to leasequery clients and to omapi clients
  • 53. 2015-05-12 Roberto Innocente inno@sissa.it 53 Snooping and Option 82 using 802.1x RFC4014 Remote Authentication Dial-In User Service (RADIUS) Attributes Suboption for the Dynamic Host Configuration Protocol (DHCP) Feb 2005 A new suboption ( 7=radius- attributes) of dhcp option 82 is defined : SubOpt Len RADIUS attributes code +-------+-----+------+------+------+------+--...-+------ | 7 | N | o1 | o2 | o3 | o4 | | oN | +-------+-----+------+------+------+------+--...-+------ The radius attributes : # Attribute --- --------- 1 User-Name (RFC 2865 [3]) 6 Service-Type (RFC 2865) 26 Vendor-Specific (RFC 2865) 27 Session-Timeout (RFC 2865) 88 Framed-Pool (RFC 2869) 100 Framed-IPv6-Pool (RFC 3162 [7]) Can be inserted by the dhcp relay agent in an option 82, suboption 7 (radius-attributes) An option 82 capable dhcp server stores these attibutes in its leases and send them back in answers ….. DEMO lease structure….. ….. DEMO leasequery…..
  • 54. 2015-05-12 Roberto Innocente inno@sissa.it 54 Option 82 suboption 7 (radius-attributes) ● Radius attributes are stored in the way they are stored in the radius packets(different from the way option or suboptions are stored in dhcp packets ) as AVP(Attribute Value Pair) : – TLV (Type, Length, Value) but here length comprises the 2 header bytes so that for example User-Name='inno' is packed as : ● 0x010x06inno ● And the complete 7 suboption becomes : – 0x070x060x010x06inno ● All radius attributes should be stored in 1 suboption 7
  • 55. 2015-05-12 Roberto Innocente inno@sissa.it 55 Ways to get ip/username bindings DHCP Server with opt 82 support RADIUS server SWITCH Dhcp snooping syslog Option 82 with radius- attributes rfc4014 RADIUS Interim- Update Lease update with omapi Sends Interim- Update Dhcp leasequery (1) (2) (3) (4) (5) Dhcp omapi Query db over the net SQLQuery db over the net
  • 56. 2015-05-12 Roberto Innocente inno@sissa.it 56 Lab setup for Hands on sessions RADIUS Server 169.254.1.10 DHCP Server 169.254.1.11 Client 169.254.1.12