Ticket #39850

SSH_MSG_DISCONNECTのDescriptionにCP932文字列を送る

Open Date: 2019-12-17 10:15 Last Update: 2019-12-17 23:16

Reporter:
Owner:
(None)
Type:
Status:
Open
Component:
MileStone:
(None)
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
None
File:
None
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 (パスワード認証時)

参考

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
Comment

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

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

2019-12-17 23:16 Updated by: None
Comment

この部分はプロトコル上

  • [サーバ](なんかの理由で認証失敗したから)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

Edit

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