VTYアクセス制御

VTYアクセス制御とは、ルータやスイッチに対するTelnet/SSHのコマンドラインベースのリモートアクセスのアクセス制御です。無制限にVTYアクセスできてしまうのは、セキュリティ上望ましくありません。ログイン時に認証を行いますが、認証だけではなく管理者のホストなど特定のIPアドレスからのみVTYアクセスできるようにするとよりセキュアです。

Telnet/SSHはアプリケーションプロトコルで、拡張アクセスコントロールリストによるパケットフィルタリングを行えば、VTYアクセス制御が可能です。TelnetはTCPポート番号23、SSHはTCPポート番号22を利用するプロトコルです。

拡張アクセスコントロールリストをインタフェースに適用するパケットフィルタでも可能なのですが、もっとシンプルにVTYアクセス制御が可能です。

CiscoのルータやスイッチへのVTYアクセスは、最終的に内部の仮想的なインタフェースであるVTYラインで扱います。インタフェースではなくVTYラインに標準アクセスコントールリストを適用することで、シンプルなVTYアクセス制御ができます。VTYラインで扱うパケットは、その機器へのTelnet/SSHであるはずなので宛先IPアドレスや宛先ポート番号などを気にしなくてかまいません。送信元IPアドレスのみをチェックして、VTYアクセスさせるかどうかを決めればよいだけです。そのため、拡張アクセスコントロールリストではなくもっとシンプルな標準アクセスコントールリストを利用できます。

図 VTYアクセス制御
図 VTYアクセス制御

VTYアクセス制御の設定手順

VTYアクセス制御の設定を行うときの手順は次のとおりです。

  1. VTYアクセスを許可するIPアドレスまたは拒否するIPアドレスを指定した標準アクセスコントロールリストを作成
  2. 作成した標準アクセスコントールリストをVTYラインのインバウンドで適用

標準アクセスコントロールの作成は、「Cisco ACLによるパケットフィルタの設定」で解説しています。VTYラインで標準アクセスコントロールを適用するには、VTYのラインコンフィグレーションモードでaccess-classコマンドを利用します。

VTYライン 標準ACL適用

(config)#line vty 0 4
(config-line)#access-class <ACL-number> in

<ACL-number> : 標準アクセスコントールリスト番号

ライン番号はデフォルトの0~4としています。デフォルト以外のライン番号を利用する場合は、そのライン番号を指定してください。
標準アクセスコントールリストではなく拡張アクセスコントロールリストを適用しても同様の制御はできます。ただ、わざわざ拡張アクセスコントロールリストを適用する意味はありません。
VTYラインのアウトバウンドで適用することでVTYアクセスの踏み台を防止する設定も可能です。

VTYアクセス制御の設定例

管理者のホストのIPアドレスが「192.168.100.100」で、このIPアドレスのみがルータにVTYアクセスできるようにするための設定は、次のように行います。

access-list 1 permit host 192.168.100.100 
!
line vty 0 4
 access-class 1 in

セキュリティの基礎