任务单 #39850

SSH_MSG_DISCONNECTのDescriptionにCP932文字列を送る

开放日期: 2019-12-17 10:15 最后更新: 2019-12-17 23:16

报告人:
属主:
(无)
类型:
状态:
开启
组件:
里程碑:
(无)
优先:
5 - Medium
严重性:
5 - Medium
处理结果:
文件:
Vote
Score: 0
No votes
0.0% (0/0)
0.0% (0/0)

Details

問題

LanguageUI で Japanese.lng を使用している時、切断時に送る SSH_MSG_DISCONNECT メッセージの Description に日本語(CP932)の文字列を送っている。

RFC 4253 では Description は UTF-8 と決められている。

対処案

  • UTF-8 に変換して送信する
  • メッセージの地域化を行わず、常に英語(US-ASCIIのみ)で送る

サーバ側でのログの文字化けを考慮すると後者がいいか。

備考

他のメッセージで同様の問題が無いか確認する。

該当するのは以下ぐらい?

  • SSH_MSG_USERAUTH_REQUEST の username
  • SSH_MSG_USERAUTH_REQUEST の password (パスワード認証時)

参考

任务单历史 (3/3 Histories)

2019-12-17 10:15 Updated by: doda
  • New Ticket "SSH_MSG_DISCONNECTのDescriptionにCP932文字列を送る" created
2019-12-17 21:17 Updated by: None
评论

サーバ側でのログの文字化けを考慮すると後者がいいか。

文字化けの可能性だけではなく、SSHクライアントのユーザが選んだ(読みたい)言語をサーバ管理者が読めるとは限らないので、後者がよいと思います。

2019-12-17 23:16 Updated by: None
评论

この部分はプロトコル上

  • [サーバ](なんかの理由で認証失敗したから)SSH2_MSG_USERAUTH_FAILURE を送信
  • [クライアント]SSH2_MSG_USERAUTH_FAILURE を受信したから SSH2_MSG_DISCONNECT「認証失敗したわ」を送信
  • [サーバ]SSH2_MSG_DISCONNECT「認証失敗したわ」を受信したからログに記録して切断

となるので、メッセージが読めたとしてもクライアントが原因で切れたように見えて、実のところサーバが認証失敗を送ったために切れています。認証が失敗した原因はサーバ側で sshd を -vvv とかで立ち上げて、SSH2_MSG_USERAUTH_FAILURE を送る前の所を見ないとわかりづらいです。

Attachment File List

No attachments

编辑

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » 登录名