スイッチでMACアドレス認証を行うためにRadius(FreeRADIUS)の構築を行った。
(前提条件)
・ 動作テストを行ったスイッチは、BUFFALO BS-GS20シリーズ
・ スイッチ側の設定は、マニュアルを参考に適切に設定
FreeRADIUSインストール&証明書の再作成
FreeRADIUSの既定の証明書の期限は、60日となっているので、運用開始後2か月を過ぎて再起動すると起動できないため、証明書の再作成(例では10年)を行う。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
dnf -y install freeradius freeradius-utils cd /etc/raddb/certs make destroycerts vi server.cnf default_days = 3650 vi ca.cnf default_days = 3650 make all chgrp radiusd * make print : Validity Not Before: May 17 23:58:37 2023 GMT Not After : May 14 23:58:37 2033 GMT |
環境設定および起動
ログの出力(/var/log/radius/radius.log)設定
1 2 3 |
auth = yes auth_badpass = yes auth_goodpass = yes |
NAS(MACアドレス認証を行うスイッチ)の定義
・ 対象のスイッチを定義
・ 共通鍵をスイッチ側も合わせて定義)
1 2 3 4 |
client NAS名 { ipaddr = IPアドレス secret = 共有鍵 } |
認証の対象デバイス(PCなどの機器)のMACアドレスを事前に調べて設定する。
・ 例では、000000000000(12桁で、”:”や”-“なし)のMACアドレスを設定
・ 英字が大文字か小文字化かは、機器の仕様による?
BS-GS20シリーズの場合は、英字は小文字で、”:”や”-“なし
1 |
000000000000 Auth-Type:=PAP, Cleartext-Password:="000000000000" |
起動
1 2 |
systemctl enable radiusd systemctl start radiusd |
動作確認
ローカルホストにおけるテスト
1 2 3 4 5 6 7 8 9 10 |
radtest -4 000000000000 000000000000 127.0.0.1 1812 testing123 Sent Access-Request Id 234 from 0.0.0.0:46217 to 127.0.0.1:1812 length 82 User-Name = "000000000000" User-Password = "000000000000" NAS-IP-Address = 192.168.253.1 NAS-Port = 1812 Message-Authenticator = 0x00 Cleartext-Password = "000000000000" Received Access-Accept Id 234 from 127.0.0.1:1812 to 127.0.0.1:46217 length 20 |
実際のNAS(スイッチ)でのテストの実施
・ トラブル時は、ログおよびtcpdump & Wiresharkで調査
・ 出力ファイルをWindowsに転送しWiresharkで確認
1 |
tcpdump -i インターフェース名 -s 0 -w 出力ファイル名.out port 1812 |