implementing-network-access-control-with-cisco-ise について
Cisco ISEで企業の有線ネットワークアクセス制御を導入するための、ネットワーク・セキュリティ担当者向けガイドです。802.1X、Active Directory、MAB、端末のコンプライアンス評価、TrustSecによる分割を扱います。
主な機能
- 01Active Directory連携の設定
- 02802.1XとMAB認証の導入
- 03認証・認可ポリシーの定義
- 04端末のコンプライアンス評価
- 05TrustSecセグメンテーションの実装
活用シーン
- 01企業の有線ネットワークに802.1Xを導入
- 02プリンターや電話機にMABアクセスを設定
- 03端末の準拠状況に応じてアクセスを制限
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ mukul975/ anthropic-cybersecurity-skills --skill implementing-network-access-control-with-cisco-iseインストール後、Claude Code で/implementing-network-access-control-with-cisco-iseを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSEreferences/api-reference.mdscripts/agent.py詳細
Cisco ISE によるネットワークアクセス制御の実装
概要
Cisco Identity Services Engine(ISE)は、802.1X 認証、MAC Authentication Bypass(MAB)、ポスチャ評価、ゲストアクセス管理を通じて、ネットワークアクセス制御を一元的に提供します。ISE は RADIUS ポリシーサーバーとして動作し、ネットワーク機器(スイッチ、ワイヤレスコントローラー)からの認証要求を評価して、VLAN 割り当て、ダウンロード可能 ACL(dACL)、セキュリティグループタグ(SGT)を含む認可ポリシーを返します。このスキルでは、Active Directory 連携、MAB フォールバック、ポスチャコンプライアンスの適用、TrustSec セグメンテーションを備えた、エンタープライズ有線 802.1X 認証向けの ISE の導入について説明します。
使用するタイミング
- 環境において、Cisco ISE によるネットワークアクセス制御の機能を導入または設定する場合
- コンプライアンス要件に沿ったセキュリティ統制を確立する場合
- この分野のセキュリティアーキテクチャを構築または改善する場合
- この実装が必要なセキュリティ評価を実施する場合
前提条件
- Cisco ISE 3.1 以降のアプライアンスまたは仮想マシン(本番環境では最低 16 CPU コア、64GB RAM)
- 802.1X をサポートする Cisco スイッチ(Catalyst 9000 シリーズを推奨)
- ユーザーアカウントとコンピューターアカウントを備えた Active Directory ドメイン
- EAP-TLS 証明書ベース認証用の PKI インフラストラクチャ
- ISE ノードおよびネットワーク機器全体で一貫して設定された DNS と NTP
- エンドポイント上のサプリカントソフトウェア(Windows 標準、AnyConnect NAM、または SecureW2)
コアコンセプト
802.1X アーキテクチャ
802.1X フレームワークは 3 つのコンポーネントで構成されます。
| コンポーネント | 役割 | 例 |
|---|---|---|
| サプリカント | ネットワークアクセスを要求するクライアント | Windows 802.1X クライアント、AnyConnect NAM |
| オーセンティケーター | ポートアクセスを制御するネットワーク機器 | Cisco Catalyst スイッチ |
| 認証サーバー | ポリシー判断エンジン | Cisco ISE(RADIUS) |
認証フロー
1. Endpoint connects to switch port
2. Switch sends EAP-Request/Identity to endpoint
3. Endpoint responds with EAP-Response/Identity
4. Switch forwards credentials to ISE via RADIUS Access-Request
5. ISE authenticates against AD/LDAP/internal store
6. ISE evaluates authorization policy
7. ISE returns RADIUS Access-Accept with attributes (VLAN, dACL, SGT)
8. Switch enforces authorization on the port
認証方式
| 方式 | 用途 | セキュリティレベル |
|---|---|---|
| EAP-TLS | 証明書ベース、最高のセキュリティ | 高 |
| PEAP-MSCHAPv2 | AD によるユーザー名/パスワード | 中 |
| EAP-FAST | Cisco 独自、高速な再認証 | 中 |
| MAB | 非 802.1X 機器(プリンター、IP 電話) | 低 |
ワークフロー
ステップ 1: Active Directory 連携用に ISE を設定する
Administration > Identity Management > External Identity Sources > Active Directory に移動します。
- ドメイン名(例:
corp.example.com)を指定して AD 参加ポイントを追加します - ISE のマシンアカウント用にドメイン管理者の資格情報を指定します
- ISE をドメインに参加させます
- 認可ポリシー用の AD グループを選択します。
Domain Users- 一般社員向けの標準アクセスDomain Computers- マシン認証IT-Admins- 特権アクセスBYOD-Users- 個人所有デバイスのアクセス
ステップ 2: ISE でネットワーク機器を設定する
Administration > Network Resources > Network Devices に移動します。
Name: SW-ACCESS-01
IP Address: 10.0.1.1/32
RADIUS Shared Secret: C0mpl3x$3cretKey!
SNMP Settings: v2c, community string
Device Type: Cisco Switches
Location: Building-A-Floor-1
ネットワークデバイスグループの階層を作成します。
Device Type:
├── Cisco Switches
│ ├── Access Layer
│ └── Distribution Layer
└── Wireless Controllers
Location:
├── Building-A
└── Building-B
ステップ 3: 802.1X 用にスイッチを設定する
アクセススイッチに以下の設定を適用します。
! Enable AAA
aaa new-model
aaa authentication dot1x default group radius
aaa authorization network default group radius
aaa accounting dot1x default start-stop group radius
aaa accounting update newinfo periodic 2880
! Configure RADIUS server
radius server ISE-PRIMARY
address ipv4 10.0.5.10 auth-port 1812 acct-port 1813
key 0 C0mpl3x$3cretKey!
automate-tester username radius-test probe-on
radius server ISE-SECONDARY
address ipv4 10.0.5.11 auth-port 1812 acct-port 1813
key 0 C0mpl3x$3cretKey!
automate-tester username radius-test probe-on
aaa group server radius ISE-GROUP
server name ISE-PRIMARY
server name ISE-SECONDARY
deadtime 15
ip radius source-interface Loopback0
! Enable 802.1X globally
dot1x system-auth-control
! Enable RADIUS CoA (Change of Authorization)
aaa server radius dynamic-author
client 10.0.5.10 server-key C0mpl3x$3cretKey!
client 10.0.5.11 server-key C0mpl3x$3cretKey!
! Enable device tracking for IP-to-MAC mapping
device-tracking tracking auto-source
! Configure access port template
interface range GigabitEthernet1/0/1-48
description 802.1X Access Port
switchport mode access
switchport access vlan 100
! Authentication settings
authentication host-mode multi-auth
authentication order dot1x mab
authentication priority dot1x mab
authentication port-control auto
authentication periodic
authentication timer reauthenticate server
authentication timer inactivity server dynamic
authentication violation restrict
! 802.1X settings
dot1x pae authenticator
dot1x timeout tx-period 10
dot1x max-reauth-req 2
! MAB fallback
mab
! Enable spanning-tree portfast (required for timely auth)
spanning-tree portfast
! Apply pre-auth ACL
ip access-group PRE-AUTH-ACL in
! Pre-authentication ACL (allow DHCP, DNS, ISE portal)
ip access-list extended PRE-AUTH-ACL
permit udp any any eq 67
permit udp any any eq 68
permit udp any any eq 53
permit tcp any host 10.0.5.10 eq 8443
permit tcp any host 10.0.5.11 eq 8443
deny ip any any
ステップ 4: ISE の認証ポリシーを設定する
Policy > Policy Sets に移動します。
認証ポリシー:
| ルール名 | 条件 | 許可されるプロトコル | ID ソース |
|---|---|---|---|
| Dot1X-EAP-TLS | Radius:EAP-Type EQUALS EAP-TLS | EAP-TLS | 証明書付き AD |
| Dot1X-PEAP | Radius:EAP-Type EQUALS PEAP | PEAP-MSCHAPv2 | Active Directory |
| MAB | Radius:Service-Type EQUALS Call-Check | MAB Lookup | Internal Endpoints |
| Default | Default | Default | Deny Access |
ステップ 5: ISE 認可ポリシーの設定
認可ポリシー:
| ルール名 | 条件 | 認可プロファイル |
|---|---|---|
| IT-Admin-Wired | AD:Group EQUALS IT-Admins AND Dot1X | VLAN10-FullAccess |
| Employee-Compliant | AD:Group EQUALS Domain Users AND Posture:Compliant | VLAN100-Corporate |
| Employee-NonCompliant | AD:Group EQUALS Domain Users AND Posture:NonCompliant | VLAN200-Remediation |
| Printer-MAB | EndpointIdentityGroup EQUALS Printers | VLAN150-Printers |
| IP-Phone-MAB | EndpointIdentityGroup EQUALS IP-Phones | VLAN50-Voice |
| BYOD-Onboarding | AD:Group EQUALS BYOD-Users AND !Registered | BYOD-Portal-Redirect |
| Guest-Access | GuestEndpointGroup EQUALS GuestEndpoints | VLAN300-Guest |
| Default | Default | DenyAccess |
認可プロファイル:
Profile: VLAN100-Corporate
VLAN: 100
dACL: PERMIT_ALL
SGT: Employees (0x0005)
Reauthentication Timer: 28800
Profile: VLAN200-Remediation
VLAN: 200
dACL: REMEDIATION-ACL (allow only remediation server access)
Web Redirection: Posture Discovery
Reauthentication Timer: 300
Profile: DenyAccess
Access Type: ACCESS_REJECT
ステップ 6: ポスチャ評価の設定
Work Centers > Posture に移動します:
ポスチャ条件:
- Windows Firewall Enabled (Registry check)
- Antivirus Running and Updated (AV compound condition)
- OS Patch Level Current (Windows Update check)
- Disk Encryption Enabled (BitLocker check)
ポスチャ要件:
Requirement: Corporate-Windows-Compliance
OS: Windows All
Conditions: Windows Firewall AND Antivirus AND OS Patches
Remediation: Auto-remediate with AnyConnect ISE Posture Module
ポスチャポリシー:
Rule: Windows-Endpoints
Identity Group: Any
OS: Windows All
Requirement: Corporate-Windows-Compliance
ステップ 7: TrustSec セグメンテーションの設定
SGT ベースのセグメンテーションを有効にします:
! On switch - enable CTS
cts credentials id SW-ACCESS-01 password CtsP@ss
cts role-based enforcement
cts role-based sgt-map 10.0.100.0/24 sgt 5
! Download SGT policy from ISE
cts role-based permissions
ISE TrustSec マトリクス (SGACL):
| 送信元 SGT | 宛先 SGT | ポリシー |
|---|---|---|
| Employees (5) | Servers (10) | Permit_HTTP_HTTPS |
| Employees (5) | PCI_Zone (15) | Deny_All |
| IT-Admins (3) | Servers (10) | Permit_All |
| Guest (7) | Internet (99) | Permit_HTTP_HTTPS |
| Guest (7) | Servers (10) | Deny_All |
トラブルシューティング
# On switch - verify authentication status
show authentication sessions
show authentication sessions interface Gi1/0/1 details
show dot1x all
# Check RADIUS connectivity
test aaa server radius ISE-PRIMARY username testuser password testpass
# On ISE - check live logs
# Navigate to Operations > RADIUS > Live Logs
# Filter by MAC address or username
# Review Authentication Details for failure reason
# Common failure reasons:
# 12514 - EAP-TLS handshake failed (certificate issue)
# 22056 - Subject not found in identity store
# 24408 - User not found in Active Directory
# 24454 - User password expired
ベストプラクティス
- まずモニターモードを使用 - クローズドモードでの強制適用の前に、モニターモード (オープン認証) で展開します
- 低影響モード - 段階的な展開には、事前認証 dACL と併せて
authentication openを使用します - MAB データベース - プリンターや電話機など、既知の MAC アドレスをエンドポイントデータベースにあらかじめ登録します
- プロファイリング - ISE プロファイリングを有効にして、エンドポイントをタイプ別に自動分類します
- CoA サポート - 動的なポリシー更新のために Change of Authorization が設定されていることを確認します
- 高可用性 - PAN フェイルオーバーを備えたプライマリ/セカンダリのノードペアで ISE を展開します
- 証明書基盤 - 最も強力な認証のために、EAP-TLS でマシン証明書を使用します