3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Ciscoルータで検証するIEEE802.1X認証:Per-User ACL 編

3
Last updated at Posted at 2026-10-23

アジェンダ:
01 - はじめに
02 - Per-User ACLの概要
03 - Per-User ACLの設定・確認方法
04 - Per-User ACL:動作フローのキャプチャ

01 - はじめに

前回の記事では、IEEE802.1X認証成功後の制御として、Dynamic VLANによるVLAN自動割り当てについて確認しました。

Dynamic VLANでは、RADIUSから返されるAuthorization(認可)情報を利用して、認証された端末を指定したVLANへ動的に割り当てることができます。

今回は、同じくIEEE802.1X認証後の制御機能であるPer-User ACLについて確認します。

Per-User ACLでは、認証成功時にRADIUSサーバからACL情報を取得し、認証されたユーザや端末の通信制御を動的に適用します。

本シリーズでは、CiscoルータをIEEE802.1XのSupplicantとして動作させ、CLIベースで認証処理を確認する方法を紹介します。

本シリーズの構成
本シリーズでは、IEEE802.1X認証を基本動作から応用機能まで段階的に確認します。

主な内容
第1回 IEEE802.1X基本動作(EAP-MD5認証)
第2回 Dynamic VLANによる認証後のVLAN制御
第3回 Per-User ACLによる認証ユーザ単位のアクセス制御 ★今回の内容

02 - Per-User ACLの概要

Per-User ACLとは
Per-User ACLとは、認証サーバ(RADIUS)からネットワーク機器へACL情報を動的に配布し、認証済みユーザや端末へ適用する機能です。

通常のACLでは、あらかじめスイッチやルータへACL設定を投入しておく必要があります。

例:

interface Gi0/1
 ip access-group USER_ACL in

この場合、ポート単位で固定されたACLが適用されます。
一方、Per-User ACLではIEEE802.1X認証後にRADIUSからACL情報を取得し、認証セッション単位で適用します。

0-1_Per-User_ACL動作イメージ.png

Dynamic VLANとPer-User ACLの違い
Dynamic VLANとPer-User ACLは、どちらもIEEE802.1X認証後のAuthorization機能を利用しますが、制御する対象が異なります。

機能 制御内容
Dynamic VLAN 接続先VLANを変更
Per-User ACL 通信可能な宛先やプロトコルを制御

認証サーバから付与されるACL属性
Per-User ACLでは、Cisco AVPairを利用してACL内容を直接配布します。

属性 用途
Cisco AVPair ACL内容の通知

Per-User ACLで実現できること

Per-User ACLを利用することで、IEEE802.1X認証に成功したユーザや端末ごとに、許可する通信を動的に制御することができます。

通常のACLでは、スイッチのインターフェース単位で事前にACL設定を行う必要がありますが、Per-User ACLではRADIUS認証結果に応じてACLを自動的に適用できます。

これにより、以下のような制御が可能になります。

・認証ユーザごとに異なるアクセス権限を適用
・業務サーバや特定ネットワークへのアクセス制御
・ゲストユーザや未許可端末の通信制限
・利用者単位でのセキュリティポリシー適用

例:

ユーザ 適用ACL アクセス許可
社員 社員用ACL 業務サーバへのアクセス許可
ゲスト ゲスト用ACL インターネットのみ許可
検証端末 制限ACL 必要な通信のみ許可

Dynamic VLANとの併用
Per-User ACLはDynamic VLANと組み合わせて利用することができます。
Dynamic VLANでは、認証結果に応じて接続先VLANを制御します。
一方、Per-User ACLでは、そのVLAN内での通信内容を制御します。

機能 制御内容
Dynamic VLAN どのネットワークに接続させるか
Per-User ACL 接続後にどの通信を許可させるか

03 - Per-User ACLの設定・確認方法

次に以下の基本構成図を元に各機器の設定を実施します。

0-2_Per-User_ACL構成図.png

・C1921-1:Supplicantの設定を実施します。

Cisco1921の設定 [hostname C1921-1]

eap profile EAP
 method md5
!
dot1x system-auth-control
!
dot1x credentials USER01
 username user01
 password password1
!
interface GigabitEthernet0/1
 mac-address 0000.0000.1111
 ip address 10.0.10.101 255.255.255.0
 dot1x pae supplicant
 dot1x credentials USER01
 dot1x supplicant eap profile EAP
!
ip route 10.0.30.0 255.255.255.0 10.0.10.254
!

・C1921-1:Supplicantの状態を確認します。

C1921-1#sh dot1x
Sysauthcontrol              Enabled
Dot1x Protocol Version            3

C1921-1#sh dot1x interface Gi0/1
Dot1x Info for GigabitEthernet0/1
-----------------------------------
PAE                       = SUPPLICANT
StartPeriod               = 30
AuthPeriod                = 30
HeldPeriod                = 60
MaxStart                  = 3
Credentials profile       = USER01
EAP profile               = EAP

・C1921-2:Supplicantの設定を実施します。
Cisco1921の設定 [hostname C1921-2]

eap profile EAP
 method md5
!
dot1x system-auth-control
!
dot1x credentials USER02
 username user02
 password password2
!
interface GigabitEthernet0/1
 mac-address 0000.0000.2222
 ip address 10.0.20.101 255.255.255.0
 dot1x pae supplicant
 dot1x credentials USER02
 dot1x supplicant eap profile EAP
!
ip route 10.0.30.0 255.255.255.0 10.0.20.254
!

・C1921-2:Supplicantの状態を確認します。

C1921-2#sh dot1x
Sysauthcontrol              Enabled
Dot1x Protocol Version            3

C1921-2#sh dot1x interface Gi0/1
Dot1x Info for GigabitEthernet0/1
-----------------------------------
PAE                       = SUPPLICANT
StartPeriod               = 30
AuthPeriod                = 30
HeldPeriod                = 60
MaxStart                  = 3
Credentials profile       = USER02
EAP profile               = EAP

・C3560G:Authenticatorの設定を実施します。
C3560Gに設定変更を可能にする為に認可(authorization)設定を追加します。
また認証後に利用するVLAN-IDを有効にします。

Catalyst3560Gの設定 [hostname Cat3560G]

vlan 10,20 
!
aaa new-model
aaa authentication dot1x default group radius
aaa authorization network default group radius
!
radius server RADIUS
 address ipv4 192.168.1.101 auth-port 1812 acct-port 1813
 key cisco
!
dot1x system-auth-control
!
interface GigabitEthernet0/7
 no switchport
 ip address 192.168.1.254 255.255.255.0
!
interface GigabitEthernet0/23
 switchport mode access
 authentication order dot1x
 authentication port-control auto
 dot1x pae authenticator
 shutdown
!
interface GigabitEthernet0/24
 switchport mode access
 authentication order dot1x
 authentication port-control auto
 dot1x pae authenticator
 shutdown
!
interface GigabitEthernet0/25
 no switchport
 ip address 10.0.30.254 255.255.255.0
!
interface Vlan10
 ip address 10.0.10.254 255.255.255.0
!
interface Vlan20
 ip address 10.0.20.254 255.255.255.0
!
ip routing

・CentOS6:Authentication Serverの設定を実施します。

FreeRADIUSの設定
ユーザ毎に割り当てるVLAN-IDとACLを定義しておきます。

NIC設定:/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.101
NETMASK=255.255.255.0

AAAクライアントの設定:/etc/raddb/clients.conf

client 0.0.0.0/0 {
       secret          = cisco
       shortname       = Cat3560G
}

認証ユーザの設定:/etc/raddb/users

user01 Cleartext-Password := "password1"
       Tunnel-Type = VLAN,
       Tunnel-Medium-Type = IEEE-802,
       Tunnel-Private-Group-ID = 10,
       Cisco-AVPair += "ip:inacl#101=permit icmp any host 10.0.30.101",
       Cisco-AVPair += "ip:inacl#101=deny ip any any"

user02 Cleartext-Password := "password2"
       Tunnel-Type = VLAN,
       Tunnel-Medium-Type = IEEE-802,
       Tunnel-Private-Group-ID = 20,
       Cisco-AVPair += "ip:inacl#102=permit tcp any host 10.0.30.101 eq 23",
       Cisco-AVPair += "ip:inacl#102=deny ip any any"

FreeRADIUSの確認:一旦サービスをリスタートしておきます。

[root@localhost raddb]# /etc/init.d/radiusd restart
Stopping radiusd:                                          [  OK  ]
Starting radiusd:                                          [  OK  ]

・C3560G:認証を開始します。
最初にC1921-1との認証から確認します。

Cat3560G(config)#int Gi0/23
Cat3560G(config-if)#no shutdown

IEEE802.1X認証が成功し以下のステータスになります。

Cat3560G#sh authentication sessions

Interface  MAC Address     Method   Domain   Status         Session ID
Gi0/23     0000.0000.1111  dot1x    DATA     Authz Success  C0A801FE000000480034E853

Cat3560G#sh authentication sessions interface g0/23
            Interface:  GigabitEthernet0/23
          MAC Address:  0000.0000.1111
           IP Address:  10.0.10.101
            User-Name:  user01
               Status:  Authz Success
               Domain:  DATA
      Security Policy:  Should Secure
      Security Status:  Unsecure
       Oper host mode:  single-host
     Oper control dir:  both
        Authorized By:  Authentication Server
          Vlan Policy:  10
         Per-User ACL:  permit icmp any host 10.0.30.101
         Per-User ACL:  deny ip any any
      Session timeout:  N/A
         Idle timeout:  N/A
    Common Session ID:  C0A801FE000000480034E853
      Acct Session ID:  0x0000004A
               Handle:  0x7D000049

Runnable methods list:
       Method   State
       dot1x    Authc Success
Cat3560G#sh vlan brief | section VLAN|10|20
VLAN Name                             Status    Ports
10   VLAN0010                         active    Gi0/23
20   VLAN0020                         active

Cat3560G#sh ip access-lists | sec per-user
Extended IP access list GigabitEthernet0/23#IP#640FCB0 (per-user)
    10 permit icmp any host 10.0.30.101
    20 deny ip any any

・C3560G:次にC1921-2の認証を開始し確認します。

Cat3560G(config)#int Gi0/24
Cat3560G(config-if)#no shutdown

IEEE802.1X認証が成功し以下のステータスになります。

Cat3560G#sh authentication sessions

Interface  MAC Address     Method   Domain   Status         Session ID
Gi0/23     0000.0000.1111  dot1x    DATA     Authz Success  C0A801FE000000480034E853
Gi0/24     0000.0000.2222  dot1x    DATA     Authz Success  C0A801FE0000004900368F75

Cat3560G#sh authentication sessions interface Gi0/24
            Interface:  GigabitEthernet0/24
          MAC Address:  0000.0000.2222
           IP Address:  10.0.20.101
            User-Name:  user02
               Status:  Authz Success
               Domain:  DATA
      Security Policy:  Should Secure
      Security Status:  Unsecure
       Oper host mode:  single-host
     Oper control dir:  both
        Authorized By:  Authentication Server
          Vlan Policy:  20
         Per-User ACL:  permit tcp any host 10.0.30.101 eq 23
         Per-User ACL:  deny ip any any
      Session timeout:  N/A
         Idle timeout:  N/A
    Common Session ID:  C0A801FE0000004900368F75
      Acct Session ID:  0x0000004B
               Handle:  0xAA00004A

Runnable methods list:
       Method   State
       dot1x    Authc Success
Cat3560G#sh vlan brief | section VLAN|10|20
VLAN Name                             Status    Ports
10   VLAN0010                         active    Gi0/23
20   VLAN0020                         active    Gi0/24

Cat3560G#sh ip access-lists | section per-user
Extended IP access list GigabitEthernet0/23#IP#640FCB0 (per-user)
    10 permit icmp any host 10.0.30.101
    20 deny ip any any
Extended IP access list GigabitEthernet0/24#IP#640FD68 (per-user)
    10 permit tcp any host 10.0.30.101 eq telnet
    20 deny ip any any

ユーザ毎に別々のVLANとACLが割り当てられていることが確認できます。

次にC1921-1、C1921-2の認証後の確認端末への通信を確認します。

・C1921-1はpingのみ許可されています。

C1921-1#ping 10.0.30.101 source 10.0.10.101
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.30.101, timeout is 2 seconds:
Packet sent with a source address of 10.0.10.101
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/4 ms

C1921-1#telnet 10.0.30.101
Trying 10.0.30.101 ...
% Connection timed out; remote host not responding

・C1921-2はtelnetのみ許可されています。

C1921-2#ping 10.0.30.101 source 10.0.20.101
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.30.101, timeout is 2 seconds:
Packet sent with a source address of 10.0.20.101
.....
Success rate is 0 percent (0/5)

C1921-2#telnet 10.0.30.101
Trying 10.0.30.101 ... Open

上記の結果から認証後のPer-User ACLによるアクセス制御が実施されていることが確認できます。

04 - Per-User ACL:動作フローのキャプチャ

採取したキャプチャーを元に確認します。

・C1921-1認証後:VLAN10と確認端末へのICMPのみ許可されたACLが付与されている状態です。

1_Per-User_ACL_user01.png

・C1921-2認証後:VLAN20と確認端末へのtelnetのみ許可されたACLが付与されている状態です。

2_Per-User_ACL_user02.png

まとめ

本ケースではIEEE802.1X認証後のアクセス制御として、Per-User ACLの動作を確認しました。
RADIUSのAuthorization情報としてACLを取得し、認証ユーザ単位で通信制御を適用できることを確認しました。
また、Dynamic VLANとPer-User ACLを組み合わせることで以下条件によるアクセス制御を実現できます。

Dynamic VLAN → 接続先ネットワークを制御
Per-User ACL → 許可する通信内容を制御

最後に

IEEE802.1X認証は、単純に「接続を許可するための認証機能」ではなく、認証結果を利用してネットワークアクセス制御まで実現できる仕組みです。

RADIUSと連携することで、以下の機能を一元的に管理することができます。

ユーザ・端末の認証
接続先VLANの制御(Dynamic VLAN)
通信制御(Per-User ACL)

また、今回は検証用途として、CiscoルータをSupplicantとして利用しました。
通常はWindows PCなどの端末を利用するIEEE802.1X認証ですが、Cisco IOSのSupplicant機能を利用することで、CLIベースで認証処理やRADIUS連携の動作を確認することができました。

IEEE802.1Xの仕組みを理解する上で、実際のEAPOL・RADIUS通信や認証後の制御動作を確認することは重要です。本シリーズが、IEEE802.1X認証やネットワークアクセス制御を理解する際の参考になれば幸いです。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?