Ticket #39850

SSH_MSG_DISCONNECTのDescriptionにCP932文字列を送る

Eröffnet am: 2019-12-17 10:15 Letztes Update: 2019-12-17 23:16

Auswertung:
Verantwortlicher:
(Keine)
Typ:
Status:
Offen
Komponente:
Meilenstein:
(Keine)
Priorität:
5 - Mittel
Schweregrad:
5 - Mittel
Lösung:
Keine
Datei:
Keine
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-Verlauf (3/3 Historien)

2019-12-17 10:15 Aktualisiert von: doda
  • New Ticket "SSH_MSG_DISCONNECTのDescriptionにCP932文字列を送る" created
2019-12-17 21:17 Aktualisiert von: None
Kommentar

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

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

2019-12-17 23:16 Aktualisiert von: None
Kommentar

この部分はプロトコル上

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

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

Dateianhangliste

Keine Anhänge

Bearbeiten

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