NEC IXのNAPT service(インターネットからNEC IXへの接続許可)設定

スポンサーリンク

NEC IXのファイアウォールなしのデフォルト設定でもWAN側からtelnetやsshで接続する事ができません。おそらく、ネットワーク初学者が意図せぬセキュリティ事故を起こさないように、デフォルト設定を安全になるように設計したものと推測されます。この動きは、Ciscoのデフォルトの挙動とは異なるため、エンタープライズ担当者から見れば困惑するかもしれません。

もし、WAN側からtelnetやsshで接続したいならば、NAPT serviceと呼ばれる設定を入れます。

NAPT serviceを設定すればインターネットからの侵入が可能になりますので、NAPT serviceはファイアウォールなどのセキュリティ対策とセットで検討します

設定まとめ

コマンド一覧

NAPT Serviceに関するコマンド一覧は以下の通りです。

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-GigaEthernet0.0)# ip napt service telnet <addr>
Router(config-GigaEthernet0.0)# ip napt service telnet <addr> <port_num> [tcp <port_num>]
Router(config-GigaEthernet0.0)# ip napt service ssh <addr>
Router(config-GigaEthernet0.0)# ip napt service ssh <addr> <port_num> [tcp <port_num>]
Router(config-GigaEthernet0.0)# ip napt service http <addr>
Router(config-GigaEthernet0.0)# ip napt service http <addr> <port_num> [tcp <port_num>]

napt service

NEC IXシリーズは、NAPTを設定したWAN側のインターフェースはtelnet, ssh, httpなどによる接続が拒否されます。もし、WAN側からのメンテナンスが行いたいならば、以下のような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>

もし、接続を許可するポート番号を変更しセキュリティを向上させたいならば、以下のようにポート番号を指定します。

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

例えば、WAN側のIPアドレス200.0.0.1に対してtcp10023で接続された通信を、NEC IXでtcp23でlistenしているtelnetdに転送させる場合の設定ならば以下のようになります。

ip napt service telnet 200.0.0.1 10023 tcp 23

各サーバのポート変更

以下のコマンドでtelnet, ssh, httpなどが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>

このようなポート番号変更をする場合は、NAPT serviceの設定が複雑になる事に注意ください。やや複雑な設定ですが、例えばLAN側からtcp8000で、WAN側からはtcp25761でHTTPをListenするような状況を考えます。このような場合は以下のような設定になります。

http-server ip port 8000
!
interface GigaEthernet0.0
  ip napt enable
  ip napt service http 200.0.0.1 25761 tcp 8000

セキュリティ設定

NAPT serviceを設定すればインターネットからの侵入が可能になりますので、NAPT serviceはファイアウォールなどのセキュリティ対策とセットで検討します

以下のコマンドでtelnet, ssh, httpに対して接続可能なホストを制限する事ができます。

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

この方法以外にもWAN側のインターフェースに対してアクセス制御する方法もあります。設定方法は「NEC IXのACL(ファイアウォール)設定」を参照ください。

動作確認

動作確認の構成

以下の環境で動作確認を行います。検証の都合上、実際のインターネットではなく擬似的なインターネットを使用します。

+-----------------+   +-----------------+
| Rocky Linux 8.4 |   | Rocky Linux 8.4 |
|      host200    |   |      host201    |
+-------+---------+   +-------+---------+
   eth0 | .200           eth0 | .201
        |                     |
        +-----------+---------+
                    |
                    |
                    | 200.0.0.0/24
                    | 
              Gi0.0 | .1
          +---------+-------+ 
          |   NEC IX 2015   | 
          |       R1        |
          +---------+-------+
              Gi1.0 | .254
                    |
                    | 192.168.1.0/24
                    |
             ens192 | .dhcp
          +---------+-------+
          | Rocky Linux 8.4 |
          |      host100    |
          +-----------------+

初期設定

IX2015の初期設定は以下の通りとします。設定はIPアドレスのみです。

R1 : NEC IX 2015
Current configuration : 741 bytes

! NEC Portable Internetwork Core Operating System Software
! IX Series IX2105 (magellan-sec) Software, Version 8.10.11, RELEASE SOFTWARE
! Compiled Aug 02-Fri-2013 13:57:45 JST #2
! Current time Nov 20-Sat-2021 14:28:04 JST
!
!
hostname Router
timezone +09 00
!
!
!
!
!
!
!
!
!
logging buffered 131072
logging subsystem all warn
logging timestamp datetime
!
!       
!
!
!
!
!
!
!
!
!
!
telnet-server ip enable
!
!
!
!
!
!
!
!
!
device GigaEthernet0
!
device GigaEthernet1
!
interface GigaEthernet0.0
  ip address 200.0.0.1/24
  no shutdown
!
interface GigaEthernet1.0
  ip address 192.168.1.254/24
  no shutdown
!
interface Loopback0.0
  no ip address
!
interface Null0.0
  no ip address

動作確認 (1) デフォルトの挙動確認

WAN側にNAPTの設定を投入します。

[R1:IX2015]
interface GigaEthernet0.0
  ip napt enable 

NEC IXを、telnet, ssh, httpアクセスが可能な状態にします。

[R1:IX2015]
telnet-server ip enable
ssh-server ip enable
http-server ip enable
!
pki private-key generate rsa
http-server username admin

WAN側に位置するhost200からの疎通を確認します。ping, telnet, ssh, httpいずれも応答がありません。NEC IXはNAPTを有効にするとWAN側からの接続に対して応答しない仕様になります。

正確に言えばNAPTを有効にした場合のみping, telnetなどに応答しなくなります。

[host200:RockyLinux8.4]
[root@rocky200 ~]# ping -c 3 200.0.0.1
PING 200.0.0.1 (200.0.0.1) 56(84) bytes of data.

--- 200.0.0.1 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2078ms

[root@rocky200 ~]# 
[root@rocky200 ~]# 
[root@rocky200 ~]# 
[root@rocky200 ~]# telnet 200.0.0.1
Trying 200.0.0.1...
^C
[root@rocky200 ~]# 
[root@rocky200 ~]# 
[root@rocky200 ~]# 
[root@rocky200 ~]# ssh 200.0.0.1 -l admin
ssh: connect to host 200.0.0.1 port 22: Connection timed out
[root@rocky200 ~]# 
[root@rocky200 ~]# 
[root@rocky200 ~]# 
[root@rocky200 ~]# curl -I http://200.0.0.1
curl: (7) Failed to connect to 200.0.0.1 port 80: Connection timed out
[root@rocky200 ~]# 

動作確認 (2) NATP serviceの設定

WAN側のインターフェースがping, telnetなどに応答するようにするには、NAPT serviceを設定します。

[R1:IX2015]
interface GigaEthernet0.0
  ip napt service ping 200.0.0.1
  ip napt service telnet 200.0.0.1
  ip napt service ssh 200.0.0.1 
  ip napt service http 200.0.0.1

NTPT serviceの設定投入後、WAN側からのping, telnet, ssh, httpに応答するようになった事を確認します。

[host200:RockyLinux8.4]
[root@rocky200 ~]# ping -c 3 200.0.0.1
PING 200.0.0.1 (200.0.0.1) 56(84) bytes of data.
64 bytes from 200.0.0.1: icmp_seq=1 ttl=64 time=0.268 ms
64 bytes from 200.0.0.1: icmp_seq=2 ttl=64 time=0.343 ms
64 bytes from 200.0.0.1: icmp_seq=3 ttl=64 time=0.322 ms

--- 200.0.0.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2044ms
rtt min/avg/max/mdev = 0.268/0.311/0.343/0.031 ms
[root@rocky200 ~]# 
[root@rocky200 ~]# 
[root@rocky200 ~]# telnet 200.0.0.1
Trying 200.0.0.1...
Connected to 200.0.0.1.
Escape character is '^]'.


NEC Portable Internetwork Core Operating System Software
Copyright Notices:
Copyright (c) NEC Corporation 2001-2013. All rights reserved.
Copyright (c) 1985-1998 OpenROUTE Networks, Inc.
Copyright (c) 1984-1987, 1989 J. Noel Chiappa.
Router# exit
Connection closed by foreign host.
[root@rocky200 ~]# 
[root@rocky200 ~]# 
[root@rocky200 ~]# 
[root@rocky200 ~]# ssh 200.0.0.1 -l admin
^C
[root@rocky200 ~]# ssh 200.0.0.1 -l admin
Warning: Permanently added '200.0.0.1' (RSA) to the list of known hosts.

NEC Portable Internetwork Core Operating System Software
Copyright Notices:
Copyright (c) NEC Corporation 2001-2013. All rights reserved.
Copyright (c) 1985-1998 OpenROUTE Networks, Inc.
Copyright (c) 1984-1987, 1989 J. Noel Chiappa.
Router# exit
Connection to 200.0.0.1 closed.
[root@rocky200 ~]# 
[root@rocky200 ~]# 
[root@rocky200 ~]# 
[root@rocky200 ~]# curl -I http://200.0.0.1
HTTP/1.1 302 Found
Cache-Control: no-cache
Connection: close
Date: Sat, 20 Nov 2021 05:52:10 GMT
Location: /guest_top.html
Server: IX Series IX2105 (magellan-sec) Software, Version 8.10.11, RELEASE SOFTWARE
Allow: GET, HEAD, POST
Content-Length: 0
Content-Type: text/html; charset=EUC-JP

[root@rocky200 ~]# 

動作確認 (3) ACLの併用

NAPT serviceを設定する場合は、インターネットに対してtelnet, ssh, httpが公開されてしまいます。そのため、併せてセキュリティ対策を検討する必要があります。

以下に示すのはサービスに対するACLの適用例です。下記以外にもインターフェースに対してACLを設定する対策方法もあります。インターフェースに対する設定例は「NEC IXのACL(ファイアウォール)設定」を参照ください。

telnet, ssh, httpはACLを併用する事ができ、特定のホストのみアクセスを許容できます。以下HTTPをhost201のみに許容する設定例を示します。

[R1:IX2015]
ip access-list web_filter permit ip src 200.0.0.201/32 dest any
http-server ip access-list web_filter

host200からのアクセスは許容されないものの、host201からのアクセスは許容される事を確認します。

[host200:RockyLinux8.4]
[root@rocky200 ~]# curl -I http://200.0.0.1
curl: (7) Failed to connect to 200.0.0.1 port 80: Connection refused
[root@rocky200 ~]# 

[host201:RockyLinux8.4]
[root@rocky201 ~]# curl -I http://200.0.0.1
HTTP/1.1 302 Found
Cache-Control: no-cache
Connection: close
Date: Sat, 20 Nov 2021 06:06:25 GMT
Location: /guest_top.html
Server: IX Series IX2105 (magellan-sec) Software, Version 8.10.11, RELEASE SOFTWARE
Allow: GET, HEAD, POST
Content-Length: 0
Content-Type: text/html; charset=EUC-JP

[root@rocky201 ~]# 

動作確認 (4) ポート番号の変更 (1)

セキュリティ対策として、telnet, ssh, httpのポート番号を変更する事もできます。ただし、ポートスキャンに対して無力であり、運用複雑化とリスク低減が見合わないため個人的にはお勧めしない設定です。

お勧めできない設定ですが、政治上の理由によりポート番号を変更せざるを得ない方向けに、ポート番号の変更方法を示します。以下のコマンドでWAN側インターフェースに対してListenするポート番号を変更できます。

[R1:IX2015]
interface GigaEthernet0.0 
  ip napt service http 200.0.0.1 8000
  ip napt service ssh 200.0.0.1 10022

変更後のポート番号でアクセス可能である事を確認します。

[host201:RockyLinux8.4]
[root@rocky201 ~]# curl -I http://200.0.0.1:8000/
HTTP/1.1 302 Found
Cache-Control: no-cache
Connection: close
Date: Sat, 20 Nov 2021 06:21:26 GMT
Location: /guest_top.html
Server: IX Series IX2105 (magellan-sec) Software, Version 8.10.11, RELEASE SOFTWARE
Allow: GET, HEAD, POST
Content-Length: 0
Content-Type: text/html; charset=EUC-JP

[root@rocky201 ~]# 
[root@rocky201 ~]# 
[root@rocky201 ~]# ssh -p 10022 200.0.0.1
Warning: Permanently added '[200.0.0.1]:10022' (RSA) to the list of known hosts.

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

動作確認 (5) ポート番号の変更 (2)

NEC IXがLAN側に対してListenするポート番号を変更する場合は、NATP serviceの設定は注意が必要です。HTTPをtcp8888でListenし、SSHをtcp12222でListenする状況を考えます。

[R1:IX2015]
http-server ip port 8888
ssh-server ip port 12222

このような場合ならば、前述のNATP serviceの設定は以下のように変更する必要があります。WAN側でtcp8000で受信した通信をNEC IXでtcp8888でListenしているhttpdに転送し、WAN側で10022で受信した通信をNEC IXでtcp12222でListenしているsshdに転送します。

[R1:IX2015]
interface GigaEthernet0.0 
  ip napt service http 200.0.0.1 8000 tcp 8888
  ip napt service ssh 200.0.0.1 10022 tcp 12222
タイトルとURLをコピーしました