draft-ietf-secsh-break-03.txt   draft-ietf-secsh-break-04.txt 
Secure Shell Working Group J. Galbraith Secure Shell Working Group J. Galbraith
Internet-Draft VanDyke Software Internet-Draft VanDyke Software
Expires: November 24, 2005 P. Remaker Expires: January 16, 2006 P. Remaker
Cisco Systems, Inc Cisco Systems, Inc
May 23, 2005 July 15, 2005
Secure Shell (SSH) Session Channel Break Extension Secure Shell (SSH) Session Channel Break Extension
draft-ietf-secsh-break-03 draft-ietf-secsh-break-04
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 35 skipping to change at page 1, line 35
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on November 24, 2005. This Internet-Draft will expire on January 16, 2006.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2005). Copyright (C) The Internet Society (2005).
Abstract Abstract
The Session Channel Break Extension provides a means to send a BREAK The Session Channel Break Extension provides a means to send a BREAK
signal over a Secure Shell (SSH) terminal session. signal over a Secure Shell (SSH) terminal session.
skipping to change at page 3, line 20 skipping to change at page 3, line 20
integrity features. SSH is increasingly being used to replace Telnet integrity features. SSH is increasingly being used to replace Telnet
for terminal access applications. for terminal access applications.
A common application of the Telnet protocol is the "Console Server" A common application of the Telnet protocol is the "Console Server"
[7] whereby a Telnet Network Virtual Terminal (NVT) can be connected [7] whereby a Telnet Network Virtual Terminal (NVT) can be connected
to a physical RS-232/V.24 asynchronous port, making the Telnet NVT to a physical RS-232/V.24 asynchronous port, making the Telnet NVT
appear as a locally attached terminal to that port, and making that appear as a locally attached terminal to that port, and making that
physical port appear as a network addressable device. A number of physical port appear as a network addressable device. A number of
major computer equipment vendors provide high level administrative major computer equipment vendors provide high level administrative
functions through an asynchronous serial port and generally expect functions through an asynchronous serial port and generally expect
the attached terminal to be capable of send a BREAK signal. the attached terminal to be capable of sending a BREAK signal.
A BREAK signal is defined as the TxD signal being held in a SPACE A BREAK signal is defined as the TxD signal being held in a SPACE
("0") state for a time greater than a whole character time. In ("0") state for a time greater than a whole character time. In
practice, a BREAK signal is typically 250 to 500 ms in length. practice, a BREAK signal is typically 250 to 500 ms in length.
The Telnet protocol furnishes a means to send a "BREAK" signal, which The Telnet protocol furnishes a means to send a "BREAK" signal, which
RFC0854 [1] defines as a "a signal outside the USASCII set which is RFC0854 [1] defines as a "a signal outside the USASCII set which is
currently given local meaning within many systems." [1] Console currently given local meaning within many systems." [1] Console
Server vendors interpret the TELNET BREAK signal as a physical BREAK Server vendors interpret the TELNET BREAK signal as a physical BREAK
signal, which can then allow access to the full range of signal, which can then allow access to the full range of
skipping to change at page 5, line 19 skipping to change at page 5, line 19
byte SSH_MSG_CHANNEL_REQUEST byte SSH_MSG_CHANNEL_REQUEST
uint32 recipient channel uint32 recipient channel
string "break" string "break"
boolean want_reply boolean want_reply
uint32 break-length in milliseconds uint32 break-length in milliseconds
If the BREAK length cannot be controlled by the application receiving If the BREAK length cannot be controlled by the application receiving
this request, the BREAK length parameter SHOULD be ignored and the this request, the BREAK length parameter SHOULD be ignored and the
default BREAK signal length of the chipset or underlying chipset default BREAK signal length of the chipset or underlying chipset
driver SHOULD be sent. driver SHOULD be sent. If no default exists, 500ms can be used as
the BREAK length.
If the application receiving this request can control the BREAK- If the application receiving this request can control the BREAK-
length, the following suggestions are made regarding BREAK duration. length, the following suggestions are made regarding BREAK duration.
If a BREAK duration request of greater than 3000ms is received, it If a BREAK duration request of greater than 3000ms is received, it
SHOULD be processed as a 3000ms BREAK, in order to prevent an SHOULD be intepreted as a request for a 3000ms BREAK. This safeguard
unreasonably long BREAK request causing the port to become prevents an unreasonably long BREAK request from causing a port to
unavailable for as long as 49.7 days while executing the BREAK. become unavailable for as long as 49.7 days while executing the
Applications that require a longer BREAK may choose to ignore this BREAK. Applications that require a longer BREAK may choose to ignore
requirement. If BREAK duration request of less than 500ms, is this suggestion. If BREAK duration request of less than 500ms is
requested a BREAK of 500ms SHOULD be sent since most devices will received, it SHOULD be interpreted as a 500ms BREAK since most
recognize a BREAK of that length. In the event that an application devices will recognize a BREAK of that length. Applications that
needs a shorter BREAK, this suggestion can be ignored. If the BREAK- require a shorter BREAK may choose to ignore this suggestion. If the
length parameter is 0, the BREAK SHOULD be sent as 500ms or the BREAK-length parameter is 0 or not present, the BREAK SHOULD be
default BREAK signal length of the chipset or underlying chipset interpreted as the default BREAK signal length of the chipset or
driver. underlying chipset driver. If no default exists, 500ms can be used
as the BREAK length.
If the SSH connection does not terminate on a physical serial port, If the SSH connection does not terminate on a physical serial port,
the BREAK indication SHOULD be handled in a manner consistent with the BREAK indication SHOULD be handled in a manner consistent with
the general use of BREAK as an attention/interrupt signal; for the general use of BREAK as an attention/interrupt signal; for
instance, a service processor could use some other out-of-band instance, a service processor which requires an out-of-band facility
facility to get the attention of a system it manages. to get the attention of a system it manages.
In a case where an SSH connection cascades to another connection, the In a case where an SSH connection cascades to another connection, the
BREAK SHOULD be passed along the cascaded connection. For example, a BREAK SHOULD be passed along the cascaded connection. For example, a
Telnet session from an SSH shell should carry along an SSH initiated Telnet session from an SSH shell should carry along an SSH initiated
BREAK and an SSH client initiated from a Telnet connection SHOULD BREAK and an SSH client initiated from a Telnet connection SHOULD
pass a BREAK indication from the Telnet connection. pass a BREAK indication from the Telnet connection.
If the 'want_reply' boolean is set, the server MUST reply using an If the 'want_reply' boolean is set, the server MUST reply using an
SSH_MSG_CHANNEL_SUCCESS or SSH_MSG_CHANNEL_FAILURE [5] message. If a SSH_MSG_CHANNEL_SUCCESS or SSH_MSG_CHANNEL_FAILURE [5] message. If a
BREAK of any kind was preformed, SSH_MSG_CHANNEL_SUCCESS MUST be BREAK of any kind was preformed, SSH_MSG_CHANNEL_SUCCESS MUST be
skipping to change at page 7, line 13 skipping to change at page 7, line 13
This operation SHOULD be supported by any general purpose SSH client. This operation SHOULD be supported by any general purpose SSH client.
4. Security Considerations 4. Security Considerations
Many computer systems treat serial consoles as local and secured, and Many computer systems treat serial consoles as local and secured, and
interpret a BREAK signal as an instruction to halt execution of the interpret a BREAK signal as an instruction to halt execution of the
operating system or to enter privileged configuration modes. Because operating system or to enter privileged configuration modes. Because
of this, extra care should be taken to ensure that SSH access to of this, extra care should be taken to ensure that SSH access to
BREAK-enabled ports are limited to users with appropriate privileges BREAK-enabled ports are limited to users with appropriate privileges
to execute such functions. Alternatively, support for the BREAK to execute such functions. Alternatively, support for the BREAK
facility MAY be implemented configurable or a per port or per server facility MAY be implemented as configurable on a per-port or per-
basis. server basis.
Implementations that literally interpret the BREAK length parameter Implementations that literally interpret the BREAK length parameter
without imposing the suggested BREAK time limit may cause a denial of without imposing the suggested BREAK time limit may cause a denial of
service to or unexpected results from attached devices receiving the service to or unexpected results from attached devices receiving the
very long BREAK signal. very long BREAK signal.
5. IANA Considerations 5. IANA Considerations
IANA is requested to assign the Connection Protocol Channel Request IANA is requested to assign the Connection Protocol Channel Request
Name "break" in accordance with [6]. Name "break" in accordance with [6].
 End of changes. 

This html diff was produced by rfcdiff 1.25, available from http://www.levkowetz.com/ietf/tools/rfcdiff/