筆者について
FreeBSDを通じてOSSにささかな貢献を。
- 日本xrdpユーザ会発起人
- xrdp developer
- FreeBSD developer
OSS活動をご支援いただける方を募集しています
2018-07-31 SoftEther VPN でRADIUS認証時に送信される Attribute
■ SoftEther VPN でRADIUS認証時に送信される Attribute
SoftEther VPN でRADIUS認証を使用する際、RADIUSサーバに送られるAttributeを調査したのでメモ。
本当はソースコードを参照するべきかもしれないが、とりあえずパケットキャプチャして調査。IPsec over L2TP で接続した場合の結果。
AVP: l=6 t=User-Name(1): username
AVP: l=34 t=User-Password(2): Encrypted
AVP: l=22 t=NAS-Identifier(32): SoftEther VPN Server
AVP: l=6 t=Service-Type(6): Framed(2)
AVP: l=6 t=NAS-Port-Type(61): Virtual(5)
AVP: l=6 t=Tunnel-Type(64) Tag=0x00: PPTP(1)
AVP: l=6 t=Tunnel-Medium-Type(65) Tag=0x00: IP(1)
AVP: l=5 t=Called-Station-Id(30): rad
AVP: l=14 t=Calling-Station-Id(31): (VPN接続元IPアドレス)
AVP: l=14 t=Tunnel-Client-Endpoint(66): (VPN接続元IPアドレス)
SoftEtherはVPN接続時、@suffix をつけることによって接続先の仮想ハブを制御することができるので
username@hub
というフォーマットでユーザ名が与えられたら、@ で分割して username
を User-Name
に、
hub
を Called-Station-Id
にセットしたRADIUSサーバに送信する。
本来のユーザ名に@を含む、メールアドレス形式のような場合は username@example.com@hub
とするとRADIUSサーバに送信されるユーザ名は username@example.com
で Called-Station-Id
が hub
となる。
NAS-Identifier
と Called-Station-Id
の組み合わせを見ると、いろいろ細かく制御できるかもしれない。
802.1X で Wi-Fi の認証を行う場合
余談として、802.1X で Wi-Fi の認証を行う場合は Called-Station-Id
にAPのMACアドレスと、接続しようとしているSSIDをセットして送信する。SSIDごとに接続できるユーザを制御したいという場合、このあたりを見れば良さそう。
まともなAPの場合、RADIUS認証のAttributeはRFC3580準拠で送信しているはず。
AVP: l=6 t=User-Name(1): username
AVP: l=6 t=NAS-IP-Address(4): 192.168.0.24
AVP: l=6 t=NAS-Port(5): 0
AVP: l=23 t=Called-Station-Id(30): 00-00-00-00-00-00:SSID
AVP: l=19 t=Calling-Station-Id(31): 01-01-01-01-01-01
AVP: l=6 t=Framed-MTU(12): 1400
AVP: l=6 t=NAS-Port-Type(61): Wireless-802.11(19)
AVP: l=23 t=Connect-Info(77): CONNECT 0Mbps 802.11a
AVP: l=96 t=EAP-Message(79) Last Segment[1]
AVP: l=18 t=State(24): 7e1b872e76259ebf56d52794715f8ebb
AVP: l=18 t=Message-Authenticator(80): 9040a06e011eaeb51518a6fa683f0293