待辦事項 #39850

SSH_MSG_DISCONNECTのDescriptionにCP932文字列を送る

啟用日期: 2019-12-17 10:15 最後更新: 2019-12-17 23:16

回報者:
負責人:
(無)
類型:
狀態:
開啟
元件:
里程碑:
(無)
優先權:
5 - 中
嚴重程度:
5 - 中
處理結果:
檔案:
Vote
Score: 0
No votes
0.0% (0/0)
0.0% (0/0)

細節

問題

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 (パスワード認証時)

参考

Ticket History (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. » 登入