ICTSC2025 本戦 問題解説: [1847] Access Denied
問題文
概要
あなたは、ある企業の情報システム部に所属するネットワーク担当者である。
社内ネットワークでは、各ネットワーク機器の管理トラフィックを集約するため、ALAXALA AX2430S を管理ネットワーク専用スイッチ(以下、mgmt スイッチ)として利用している。
最近、管理ネットワークのセキュリティ向上を目的として、上司により管理アクセスに関する設定の見直しが行われ、いくつかの設定変更が実施された。
しかし、その設定変更後、管理端末から AX2430S に SSH 接続ができない状態になっていることが判明した。
現在確認できている状況は以下のとおりである。
-
管理端末から AX2430S への SSH 接続ができない
-
AX2430S 自体は稼働しており、他の管理通信には影響が出ていない
-
直前に管理ネットワークのセキュリティ強化を目的とした設定変更が行われている
前提条件
- 本トラブルは AX2430S 単体で発生している問題とする。
- 管理端末は 192.168.0.0/16 のネットワーク内に存在しており、手元の端末から SSH 接続できれば、管理端末からも SSH 接続可能であるものとみなす。
- AX2430S の接続先アドレスは
192.168.1.2である。 - 作成する報告書には、以下の内容を必ず明確に記載すること。
- 解決に至るまでの作業手順および過程
- どのような手順で調査・作業を実施したのかを、具体的かつ詳細に記載すること
- トラブルの原因
- 変更したコンフィグの内容
- 実際に実施した物理作業の内容の詳細
- 解決に至るまでの作業手順および過程
- 本環境では互換性の観点から、OpenSSH 10系より以前(OpenSSH_9.9p2など)の利用を推奨します。
制約
- 既存の配線の変更は行ってはならない。
- AX2430S 以外の機器の設定を変更することを禁止する。
- 本戦ルールに従い、RJ-45 シリアルコンソールケーブル以外のケーブルの持ち込みおよび使用は禁止とする。
- LAN ケーブルかしめコーナーで作成したケーブルおよび配布されたアダプタの使用は認める。
- 問題環境の再展開は行えない。
- 機器を再起動しても解決した内容が維持されなければならない。
初期状態
- AX2430S に SSH でアクセスできない状態である。
終了状態
- AX2430S に SSH でアクセスできる状態になっていること。
解説
本問題には、大きく三つの要素があります。
- ACL による SSH アクセス拒否
- コンソール接続環境(変換アダプタ)
- SSH アルゴリズムの非互換
ACL設定のミス
まず、SSH が拒否されている直接的な原因は ACL です。
初期状態では以下の設定が入っています:
ip access-list extended mgmt-access
deny tcp any any eq 22
permit ip any any
この設定では、
- TCP/22(SSH)はすべて拒否
- それ以外の通信は許可
となっており、SSH 接続は必ず失敗します。
管理ネットワーク(192.168.0.0/16)からの SSH のみ許可するには、以下のように設定する必要があります:
ip access-list extended mgmt-access
5 permit tcp 192.168.0.0 0.0.255.255 any eq ssh
10 deny tcp any any eq ssh
20 permit ip any any
ACL は 上から順に評価されるため、
- 先に許可を書く
- その後に拒否を書く
という順序が重要です。
コンソール接続環境(変換アダプタ)
ACL を修正するためには、まず機器へログインする必要があります。
今回は制約上、RJ45のコンソールケーブルしか持ち込むことができなかったため、
配布されていたRJ45–DB9変換アダプタ作成キットを用いて、アダプタを作成し、接続する必要がありました。
Cisco 対応のコンソールケーブルで DB9 ポートを持つ機器に接続する場合は次のようなストレート結線を行うことで接続することができる。
RJ45 Pin1 (Cisco RTS): 青 → DB9 Pin7
RJ45 Pin2 (Cisco DTR): 橙 → DB9 Pin4
RJ45 Pin3 (Cisco TXD): 黒 → DB9 Pin3
RJ45 Pin4 (Cisco GND): 赤 → DB9 Pin5
RJ45 Pin5 (Cisco GND): 緑 → 切断
RJ45 Pin6 (Cisco RXD): 黄 → DB9 Pin2
RJ45 Pin7 (Cisco DSR): 茶 → DB9 Pin6
RJ45 Pin8 (Cisco CTS): 白 → DB9 Pin8
SSH アルゴリズムの非互換
今回使用しているスイッチ(AX2430S)は古いSSH実装を使用しており、次のような古いアルゴリズムしかサポートしていません。
- 鍵交換アルゴリズム:diffie-hellman-group14-sha1
- ホスト鍵アルゴリズム:ssh-dss
一方、最近のSSHクライアント(OpenSSH)はセキュリティ強化のため、これらの古いアルゴリズムをデフォルトで無効化しています。理由は次の通りです。
- SHA-1 は衝突攻撃のリスクがあり安全性が低い
- DSA(ssh-dss) は鍵長が小さく、現在では安全と見なされていない
そのため、クライアントは通常これらの方式を使おうとしません。しかし、接続先の機器がそれらしか対応していない場合は、クライアント側で明示的に「これらのアルゴリズムを使用してもよい」と指定する必要があります。
この指定を行っているのがコマンド内のオプションです。
- -oKexAlgorithms=+diffie-hellman-group14-sha1
- 鍵交換アルゴリズムとして diffie-hellman-group14-sha1 を許可する
- -oHostKeyAlgorithms=+ssh-dss
- サーバーのホスト鍵アルゴリズムとして ssh-dss を許可する
つまり、このコマンドは古いネットワーク機器が使用している旧式のSSH暗号方式に、クライアント側を合わせるための設定です。
通常の最新サーバーでは必要ありませんが、古いスイッチやルーターに接続する場合にはこのような指定が必要になることがあります。
$ ssh \
-oKexAlgorithms=+diffie-hellman-group14-sha1 \
-oHostKeyAlgorithms=+ssh-dss \
192.168.1.2 -l user
蛇足ですが、問題文において「本環境では互換性の観点から、OpenSSH 10系より以前(OpenSSH_9.9p2など)の利用を推奨します」とした理由は、OpenSSH 10系では ssh-dss が使用できなくなったためです。
採点基準
- ALAXALA AX2430S に SSH 接続可能になっている: 100点
講評
15チーム中13チームが正解となりました。
本問題は、
- ACL の読解と評価順序の理解
- 物理層(コンソール接続)の対応力
- レガシー機器におけるプロトコル互換性の知識
といった、実務で頻出するトラブル対応力が問われる問題でした。