onePK を使ってアプリケーションを作る – ACL制御編
前回のブログ投稿時では onePK を使って IP 経路を制御するアプリケーションを作成してみた、という話を書きました。この時点ではまだだったのですが、4 月の初め、ついにシスコから onePK が正式にリリースされました。Cisco.com ID を持っていれば(Cisco.com にログインすれば)、以下のサイトから SDK のダウンロードや API のドキュメント、さらには開発環境の All-in-one VM がダウンロードできます。
https://developer.cisco.com/web/onepk-developer
今回は、アクセス コントロール(ACL)を onePK を使って制御する方法について書きたいと思います。
onePK を使ったアクセス コントロール
ACL を制御できる API は、onePK のポリシー サービス セットの中に含まれています。この API を利用することで、アプリケーションからルータやスイッチの ACL を制御することができます。
一般的に ACL は、config のなかに permit や deny コマンドを記述していきます。このとき、設定の順番が重要になるため、行数が増えてくると手動で管理するのは面倒なことになり、それを柔軟に運用するというのは不可能に近いと言えます。onePK API を利用して ACL の制御プログラムを開発すれば、ACL の制御や管理をアプリケーションから動的に行えるようになります。ACL をバリバリ利用しているユーザにとっては、非常に便利なツールが開発できることになるでしょう。
Transient モードと Persistent モード
onePK の ACL の制御モードには「Transient(一時的)」と「Persistent(恒久的)」の 2つがあります。
- Transient モードでは、config の内容を変更することなく、onePK のプログラムから ACL ポリシーを追加投入できます。onePK から投入された ACL ポリシーは、Config で設定されている ACL よりも優先して評価されますので、例えば config では、Deny any any で設定してあるインターフェイスでも、onePK のプログラムによって必要なトラフィックを通すための permit ポリシーを投入することができます。もちろん反対に、Permit any anyをconfig に設定しておいて、フィルタしたいトラフィックだけを onePK のプログラムから Deny ポリシーを投入するといったことも可能になります。
- Persistent モードでは、Config の ACL 設定が onePK プログラムによって上書きされます。したがって、このモードの場合、show config で実際に適応されている ACL を確認することができます。
Transient モードと Persistent モードには、それぞれ長所と短所があります。Transient モードでは、Config に記載されている ACL と onePK で指示した Dynamic Access-List が併用できるので、非常に柔軟なアクセス コントロールがリアルタイムで実現できます。ベースとなる ACL が変更されないので、Config 管理上は気にしなくていいのが特長です。ただし、これは短所にもなります。ネットワーク機器をリブートすると、onePK から投入した ACL の設定は消えてしまうからです。
運用中に一時的に ACL の変更や追加が必要な場合は Transient モードで、同じ設定がずっと必要であれば Persistent モードで Config に適応、といった使い分けが必要になります。なお、これらのモードを選択についても API が用意されいるので、onePK アプリケーションから切り替えるようにすることができます。
onePK のセキュリティ機能への応用
今まで固定的で運用負担が大きかった ACL を、このようにアプリケーションから動的に変更することができるようになれば、今まで運用上の困難が伴っていたセキュリティ対策や動的なサービスに活用することもできるようになります。
例えばお客様環境に導入されているセキュリティ製品が吐き出すログ情報を自動的に収集して、リアルタイムでフィルタしたいトラフィックを判断し、それを onePK アプリケーションからシスコのルータやスイッチでフィルタ制御するということが可能になります。ここに Transition モードを利用すれば、動的な設定が可能になります。
実は、Transient モードの実装は、従来から Cisco IOS で実装されている Dynamic Access-List の仕組みを利用しています。Dynamic Access-List とは、シスコの IDS で検知した不正トラフィックだけをルータやスイッチなどで動的にフィルタしたり、Web 認証や IEEE802.1x などのユーザ認証時の動的アクセス制御するために利用されているものです。onePK の API を利用すれば、この Dynamic Access-List の仕組みを自由にプログラムできるというわけです。
onePK から投入された ACL 情報は、従来の Dynamic Access-list の確認コマンドの show ip acess-list dynamic というコマンドや、show ip interface コマンドで、interface に適応されている Access-listの情報が確認できます。このあたりも IOS のオペレーションになれている方であれば、違和感は少ないかなと思います。
実際の出力画面は次のようになります。これは、Config には Ethernet0/0.1 インターフェイスに「default-acl」という ACL が設定されている状態で、onePK を利用して別の ACL を適応したときの CLI での確認イメージです。
onep-acl-1 という Dynamic ACL が生成されており、それが Ethernet0/1.1 インターフェイスに適応されていることが確認できます。
このようにアプリケーションから簡単に ACL 制御ができるようになると、ACL に多くのエントリーを追加したくなる方もいらっしゃるかと思います。しかし、設定できる ACL の数には上限があります。その数は従来と同様に各プラットフォームに依存していていますので、その点に留意したうえでご利用ください。
Tags:- #enterprisenetworks
- #intentbasednetworking
- #WiredforWireless
- #クラウド
- #データセンター
- 2017
- 2021年度
- 3gpp
- 5G
- 5G ショーケース
- 5G 重点施策
- 5Gサイバーセキュリティ
- 5Gデモ
- ACI
- API
- APIC
- APIC EM
- APPLE
- Apple iOS
- Architecture
- ARS 9904
- ASR 9000
- ASR 9006
- ASR 9901
- ASR9904
- Best of Show Award
- Buzzword
- BYOD
- Catalyst
- catalyst 9600
- CGN
- Cisco
- Cisco 4451 ISR
- Cisco 8201-32FH
- Cisco ACI
- Cisco AI/ML
- Cisco Aironet 3800
- Cisco APIC Enterprise Module
- Cisco ASR 1009X
- Cisco ASR 9902
- Cisco Catalyst
- Cisco Catalyst 3850
- Cisco Crosswork
- Cisco Data Center Solution Day
- Cisco EPN Day
- Cisco Hierarchical Controller
- Cisco Intelligent Proximity
- Cisco IOS
- Cisco IOS フル活用への道
- Cisco Network Services Orchestrator
- Cisco Nexus
- Cisco NFM(Nexus Fabric Manager)
- Cisco NSO
- Cisco Prime DCNM(Data Center Network Manager)
- Cisco Prime Network
- Cisco Quantum™ Virtualized Packet Core
- Cisco Routed Optical Networking
- Cisco SD-WAN
- Cisco Silicon One
- Cisco Spark
- Cisco Tetration Analytics
- Cisco VTS(Virtual Topology System)
- Cisco Webex
- Cisco Webex Meetings
- Cisco Webex Teams
- CiscoJapan2020BlogRelay
- CiscoSDWAN
- Cloud Days
- Cloud Native
- CMX
- Colin Kincaid
- Collaboration
- CPAK
- Data Center Anywhere
- DC インターコネクト
- Dis-Aggregation
- DNA Center
- Doug Webster
- DWDM
- E-DI
- EEM
- eMBB
- Embedded Event Manager
- EPC
- EPN
- ESP
- Ethernet ファブリック
- Evolved Programmable Network
- FabricPath
- Facebook Wi-Fi
- Firepower
- Flexible NetFlow
- FutureOfIT
- HCO
- HotStage
- HyperFlex
- IBN
- IDC
- IIoT
- Internet for the Future
- Internet of Everything
- Internet of Things
- Internet of Things(IoT)
- InternetofEverything
- Interop
- Interop 2023
- Interop Tokyo
- interop tokyo 2014
- Interop tokyo 2015
- Interop Tokyo 2016
- Interop tokyo 2018
- interop tokyo 2019
- Interop Tokyo 2021
- Interop Tokyo 2023
- INTEROP2021
- Interop21
- Introp
- IoE
- ios
- ios10
- IoT
- IP SLA
- IP ファブリック
- ISR
- IT
- IT の未来
- JANOG48
- Jeff Reed
- jim grubb
- KT(Knowledge Transfer)
- Lab
- Leading Lights
- Level 3
- Lightreading
- LightSpeed Plus
- LISP
- LoRa
- LTE
- M2M
- mGig
- ML
- mMTC
- Multi-Pod
- NaaS
- NCS
- NCS 55A1
- netflow
- NetFusion
- Netrounds
- Network Architecture
- Nexus
- Nexus 7000/7700
- Nexus 7700
- Nexus 9000
- Nexus 9000 スイッチ
- Nexus 92160YC
- NFV
- nms
- nso
- NX-OS
- onePK
- Open vRAN
- openPK
- OpenStack
- PBB-EVPN
- PGW
- programmability
- QvPC
- Remote Leaf
- REST API
- Routed Optical Networking
- Sandbox
- SD-WAN
- SDI
- SDN
- SDN2014
- SDWAN
- Sedona Systems
- Segment Routing over IPv6
- Showcase
- ShowNet
- SHOWNET2021
- ShowNetツアー
- Silicon One
- SNMP Trap
- SP ネットワーク
- SR Hand Off
- SRv6
- Stealthwatch
- Supervisor Engine 6T
- SX20
- Tail-F
- TC
- tco
- Team Space
- Tetration Analytics
- TheatGRID
- ThousandEyes
- Threat Centric Security
- URLLC
- Virtualization
- VM
- VPN
- VXLAN
- VXLAN ファブリック
- WeareCisco
- Web スケール
- Wi-Fi
- Wi-Fi 6
- Wireless
- YANG
- にょロボてぃくす
- アナリティクス
- アプリケーション
- アプリケーション ネットワーキング サービス
- アーキテクチャ
- イノベーション
- インタークラウド
- インテル Xeon プロセッサ
- インテントベース
- インテントベース ネットワーキング
- インフラストラクチャ
- インフラストラクチャ プログラマビリティ
- インフラストラクチャ プログラマビリティ、ネットワーク、ネットワーク プログラマビリティ、SDN、ソフトウェア定義型、IT の未来
- エグゼクティブ
- エンタープライズ ネットワーキング
- エンタープライズネットワーク
- エンドツーエンド
- オーケストレーション
- カスタマー エクスペリエンス
- カスタマーサクセス
- キャリアAS
- クラウド コンピューティング
- クラウドAS
- クラウドネイティブ
- コネクテッドカー
- コラボレーション
- サイバーセキュリティ
- サービス プロバイダー
- サービスプロバイダー
- シスコ
- シスコが考えるサービスプロバイダー エンドツーエンドアーキテクチャ
- スイッチ
- スケジュール済みファブリック
- スマートシティ
- スマート工場
- スモールセル
- セキュリティ
- セグメント ルーティング
- セグメントルーティング
- ソフトウェア定義型
- テクノロジー
- テレフォニー
- テレワーク
- デジタル
- デジタルデバイド
- デジタルトランスフォーメーション
- デジタル変革
- データ
- データセンターネットワーク
- データン
- トレンド
- ネットワーク
- ネットワーク アーキテクチャ
- ネットワーク プログラマビリティ
- ネットワーク、ネットワーク プログラマビリティ
- ネットワークアーキテクチャ
- ネットワークエンジニア
- ネットワークシステム
- ネットワーク仮想化
- ネットワーク保証
- ネットワーク監視
- ネットワーク管理
- ネットワーク自動化
- ハイパーコンバージドインフラ
- ハイパースケール
- ハイブリッドクラウド
- パケット コア
- パケットコア
- パートナーシップ
- ビッグ データ
- ビッグデータ
- ビデオ
- ファブリック
- ブログリレー
- ブース紹介
- プライベートクラウド
- プロアクティブな運用
- プログラマビリティ
- プログラマブル ネットワーク
- プログラマブル ファブリック
- ホワイトペーパー
- マルチクラウド
- マルチテナント
- ミレニアル世代
- モバイル
- モバイル ワーク
- モバイルネットワーク
- モバイル通信事業者
- モビリティ
- ルータ
- ロケーションベースのサービス
- ローカル5G
- ワイヤレス
- 事業戦略
- 事業戦略説明会
- 人工知能(AI)
- 仮想ネットワーク
- 仮想化
- 仮想化パケット コア
- 俊敏性
- 働きがいのある会社
- 働き方改革
- 光伝送装置
- 合併・買収
- 在宅勤務
- 変革のハブ
- 富士通
- 新入社員
- 楽天
- 楽天モバイル
- 機械学習(ML)
- 次世代 IPS
- 注目
- 特集
- 脅威中心型セキュリティ
- 自動設定
- 製品
- 論文コンテスト
- 買収
- 連載:ネットワーク アーキテクチャ考
- 開発
- 開発環境