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アドレスのみです。
動作確認 (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