1. コマンド一覧

このシナリオで重要なコマンド一覧は以下の通りです。

Router(config-GigaEthernet0.0)# ip napt service <service> <addr> [<port>]
Router(config)# telnet-server ip port <port_num>
Router(config)# ssh-server ip port <port_num>
Router(config)# http-server ip port <port_num>
Router(config)# telnet-server ip access-list <acl>
Router(config)# ssh-server ip access-list <acl>
Router(config)# http-server ip access-list <acl>
Router(config-GigaEthernet0.0)# ip filter <acl> <seq> in

2. 仕様説明

2.1. napt service

NEC IXシリーズは、naptを設定したOutside I/Fからの遠隔操作は許可されません。 もし、Outside側からのメンテナンスが行いたいならば、以下のようなip napt serviceを定義する必要があります。

Router(config-GigaEthernet0.0)# ip napt service telnet <addr>
Router(config-GigaEthernet0.0)# ip napt service ssh <addr>
Router(config-GigaEthernet0.0)# ip napt service http <addr>

もし、接続を許可するポート番号を変更しセキュリティを向上させたいならば、以下のようにポート番号を指定します。 但し、ポート変更はnmapのようなポートスキャンに対して無力であり、気休め程度の対策にしかならない事に注意して下さい

Router(config-GigaEthernet0.0)# ip napt service telnet <addr> <port_num>
Router(config-GigaEthernet0.0)# ip napt service ssh <addr> <port_num>
Router(config-GigaEthernet0.0)# ip napt service http <addr> <port_num>

2.2. 各サーバのポート変更

もしnaptで許可するポート番号を変更するのならば、同時にtelnet等のサーバがlistenするポート番号も併せて変更して下さい。

Router(config)# telnet-server ip port <port_num>
Router(config)# ssh-server ip port <port_num>
Router(config)# http-server ip port <port_num>

2.3. セキュリティ設定

napt serviceによって外部からの接続を許可するのは非常に危険な事です。 もし接続を許可するのならば、接続を制限するセキュリティ設定と同時に検討しましょう。

もし送信元制御が可能ならば、以下のようなコマンドでtelnetサーバに接続可能なホストを制限する事ができます。 sshサーバ, httpサーバもほぼ同様の設定です。

Router(config)# http-server ip access-list <acl>
Router(config)# ssh-server ip access-list <acl>
Router(config)# http-server ip access-list <acl>

I/Fに対してACLを設定する方法でもセキュリティを担保する事ができます。 但し、インターフェース単位の制御は正常な通信まで拒否してしまうリスクがある事を念頭に置いて下さい。 もし、要件が不明確なネットワークをメンテナンスするのでしたら、このアクセス制御方法はお勧めできません。

Router(config-GigaEthernet0.0)# ip filter <acl> <seq> in

3. 動作確認環境

以下の構成で動作確認を行います。


            ::100    ::254           .254     ::200
 +---------+ .100     .254 +--------+.254      .200 +---------+
 | Host100 +---------------+ IX2215 +---------------+ Host200 |
 +---------+          G1.0 +--------+ G0.0          +---------+
            192.168.0.0/24           150.0.0.0/24
            2001::/64                2001:150::/64
 [Host100]
route add 150.0.0.0 mask 255.255.255.0 192.168.0.254

 [IX2215]
ip route 0.0.0.0/0 150.0.0.254
!
interface GigaEthernet1.0
  ip address 192.168.0.254/24
  ipv6 address 2001::254/64
  no shutdown
!
interface GigaEthernet0.0
  ip address 150.0.0.254/24
  ipv6 address 2001:150::254/64
  no shutdown
!
username cisco password plain cisco
telnet-server ip enable

初期設定の全文は以下を参照下さい。

4. napt service

4.1. napt service有効化

Outside Interfaceに対して以下のコマンドを入力します。 するとインターネット側からのtelnet接続を受け付けるようになります。

interface GigaEthernet0.0
 ip napt service telnet 150.0.0.254

4.2. 疎通確認 デフォルトのポート番号

Host200からルータへのtelnet接続が可能である事を確認します。

C:\Users\host200>telnet 150.0.0.254

cisco
Password:
NEC Portable Internetwork Core Operating System Software
Copyright Notices:
Copyright (c) NEC Corporation 2001-2012. All rights reserved.
Copyright (c) 1985-1998 OpenROUTE Networks, Inc.
Copyright (c) 1984-1987, 1989 J. Noel Chiappa.
R254#

4.3. napt service ポート番号変更

セキュリティ対策の観点で、Outsideからのtelnet接続可能なポート番号を1023に変更します。 napt serviceを設定する際にポート番号を指定し、外部から1023番ポートへのアクセスを許可します。

interface GigaEthernet0.0
 ip napt service telnet 150.0.0.254

telnet serverがlistenするポート番号を変更します。

telnet-server ip port 1023

4.4. 疎通確認 ポート番号変更

Host200からルータへのtelnet接続が可能である事を確認します。

C:\Users\host200>telnet 150.0.0.254 1023

cisco
Password:
NEC Portable Internetwork Core Operating System Software
Copyright Notices:
Copyright (c) NEC Corporation 2001-2012. All rights reserved.
Copyright (c) 1985-1998 OpenROUTE Networks, Inc.
Copyright (c) 1984-1987, 1989 J. Noel Chiappa.
R254#

5. telnet serverによるアクセス制御

5.1. アクセスコントロールリストの定義

telnetサーバは送信元に基づいた制御が可能です。 まずは接続を許可するIPアドレスを定義したACLを作成します。

ip access-list SERVER_TELNET permit ip src 192.168.0.0/16 dest any
ip access-list SERVER_TELNET permit ip src 150.0.0.200/32 dest any

5.2. telnet serverによるアクセス制御

telnetサーバに対して、ACLで定義したホストからの接続のみを許可するよう設定します。

telnet-server ip access-list SERVER_TELNET

5.3. 接続許可の確認

host200からルータへの接続が可能である事を確認します。

C:\Users\host200>telnet 150.0.0.254 1023

cisco
Password:
NEC Portable Internetwork Core Operating System Software
Copyright Notices:
Copyright (c) NEC Corporation 2001-2012. All rights reserved.
Copyright (c) 1985-1998 OpenROUTE Networks, Inc.
Copyright (c) 1984-1987, 1989 J. Noel Chiappa.
R254#

5.4. 接続拒否の確認

ACLで定義されていないホストからのアクセスを拒否している事を確認します。 ACLを修正し、host200からの接続を拒否するようにします。

no telnet-server ip access-list SERVER_TELNET
no ip access-list SERVER_TELNET
!
ip access-list SERVER_TELNET permit ip src 192.168.0.0/16 dest any
telnet-server ip access-list SERVER_TELNET

host200からルータへの接続が拒否された事を確認します。

C:\Users\host200>telnet 150.0.0.254 1023
接続中: 150.0.0.254...ホストへ接続できませんでした。 ポート番号 1023:
接続に失敗しました

C:\Users\host200>

6. telnet serverによるアクセス制御

6.1. インターフェースの定義

telnet serverに対するアクセス制御設定を削除します。

no telnet-server ip access-list SERVER_TELNET
no ip access-list SERVER_TELNET

インターフェースに対する制御でもセキュリティを担保する事ができます。 Host200からの接続を許可するACLを定義します。

ip access-list IF_TELNET permit tcp src 150.0.0.200/32 dest any dport eq 1023
ip access-list IF_TELNET deny tcp src any dest any dport eq 1023
ip access-list IF_TELNET permit ip src any dest any

6.2. インターフェースによるアクセス制御

インターフェースに対して、ACLで定義したホストからの接続のみを許可するよう設定します。

interface GigaEthernet0.0
 ip filter IF_TELNET 10 in

6.3. 接続許可の確認

host200からルータへの接続が可能である事を確認します。

C:\Users\host200>telnet 150.0.0.254 1023

cisco
Password:
NEC Portable Internetwork Core Operating System Software
Copyright Notices:
Copyright (c) NEC Corporation 2001-2012. All rights reserved.
Copyright (c) 1985-1998 OpenROUTE Networks, Inc.
Copyright (c) 1984-1987, 1989 J. Noel Chiappa.
R254#

6.4. 接続拒否の確認

ACLで定義されていないホストからのアクセスを拒否している事を確認します。 ACLを修正し、host200からの接続を拒否するようにします。

interface GigaEthernet0.0
 no ip filter IF_TELNET 10 in
 exit
no ip access-list IF_TELNET
!
ip access-list IF_TELNET deny tcp src any dest any dport eq 1023
ip access-list IF_TELNET permit ip src any dest any
interface GigaEthernet0.0
 ip filter IF_TELNET 10 in

host200からルータへの接続が拒否された事を確認します。

C:\Users\host200>telnet 150.0.0.254 1023
接続中: 150.0.0.254...ホストへ接続できませんでした。 ポート番号 1023:
接続に失敗しました

C:\Users\host200>