ICTSC2025 本戦 問題解説: [9263] SSH48
問題文
地下アイドルグループ「SSH48」の自主ライブ配信が今夜に迫る。
チケットは完売、ファンたちはすでに画面の前で待機している。そんな最高潮の雰囲気をぶち壊したのは、ファンを名乗る自称エンジニアの「善意」だった。
「推しのサーバが攻撃されてたら嫌じゃないですか。ちょっとセキュリティ強化しておきました!」
結果として配信インフラへのSSHは完全に沈黙。なにもかもが止まっている。
メンバーから「秘密鍵だけは絶対に変えないでください、これ握手会で直接もらったやつなんで」という謎の要望も飛んできた。意味はよくわからないが、とにかくそういうことらしい。
ライブは中止にできない。あなたはこの「愛が重すぎるファンの置き土産」を夜が訪れる前に片付けなければならない。
ネットワーク図

制約
9263-client1から9263-serverへ10.200.0.2を介しての SSH は/home/user/.ssh/id_ed25519を使うこと- Password Authentication を使用してはならない
9263-client1の鍵を変更してはならないuser@9263-client1:~/.ssh$ sha256sum /home/user/.ssh/id_ed25519 0633a2d891ff62bf84408e9662c4ccdffffdb3846f37a82e2cead5483d76fc9b /home/user/.ssh/id_ed25519
初期状態
- 自分のクライアントから
9263-server(192.168.63.2)へ SSH が出来る 9263-client1から9263-serverへ10.200.0.2を介して SSH が出来ない
終了状態
9263-client1から.ssh/id_ed25519を用いて9263-serverへ10.200.0.2を介して SSH が出来る
接続情報
| ホスト名 | IPアドレス | ユーザ | パスワード |
|---|---|---|---|
| 9263-client1 | 192.168.63.1 | user | ictsc2025 |
| 9263-server | 192.168.63.2 | user | ictsc2025 |
解説
本問題は、SSHの設定に関する問題であり、以下の4点が原因で 9263-client1 から 9263-server への SSH 接続ができない状態になっていました。
- 9263-client1 の
/etc/ssh/ssh_known_hostsに存在する 9263-server のホスト鍵が誤っている。 - 9263-server の
/etc/ssh/sshd_configにおいて 9263-client1 からの公開鍵認証が無効化されている。 - 9263-server の
/etc/ssh/sshd_configにおいて MaxAuthTries が 2 に設定されているため、接続試行回数が制限されている。 - 9263-server の AuthorizedKeysFile に接続で使用したい秘密鍵に対応する公開鍵が存在しない。
解決方法
- 9263-client1 の
/etc/ssh/ssh_known_hostsから 9263-server のホスト鍵を削除する。 - 9263-server の
/etc/ssh/sshd_configにおいて 9263-client1 からの公開鍵認証を有効化する。 - 9263-server の
/etc/ssh/sshd_configにおいて MaxAuthTries を 6 に設定する、または-iオプションを使用して秘密鍵を指定して接続する。 - 9263-server の AuthorizedKeysFile に接続で使用したい秘密鍵に対応する公開鍵を追加する。
採点基準
- 正しい公開鍵を配置出来ている(20点)
/etc/ssh/ssh_known_hostsを正しく修正出来ている or~/.ssh/known_hostsに公開鍵を追加できている(20点)- 鍵を
-iで指定できている or MaxAuthTries の回数を増やして鍵が発見されるようにしている(20点) - Pubkey を yes するか match の条件を変更している(20点)
- 制約に違反せずに疎通出来ている(20点)
講評
今回の問題は、SSHの設定に関する問題であり、SSHの基本的な知識と設定方法を理解していることが求められました。
~/.ssh/known_hosts ではなく /etc/ssh/ssh_known_hosts でもホスト鍵の管理が行われていることや、SSHの接続試行回数の制限など、SSHに関する基本的な知識が必要でした。
また、SSHの設定ファイルである /etc/ssh/sshd_config の内容を理解し、適切に修正することが求められました。
ほとんどのチームが正しくトラブルシューティングして、SSHの設定を修正することができていました。
しかし、レポートへの記載が不十分なチームも多く、レポートのみでは再現性のあるトラブルシューティングが困難なチームもあったため減点をすることもありました。