privacy.but 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. \A{privacy} PuTTY privacy considerations
  2. This appendix lists the implications of using PuTTY for your privacy
  3. and personal data.
  4. The short summary: PuTTY never \q{phones home} to us, the developers.
  5. It does store data on your own computer, and it does transmit data
  6. over the network, but in both cases, only as necessary to do its job.
  7. In particular, data is only transmitted over the network to the server
  8. you told PuTTY to connect to.
  9. But if you're concerned about exactly \e{what} information is stored
  10. or transmitted, then here's a more detailed description.
  11. \H{privacy-local}Information that PuTTY stores locally
  12. When you use PuTTY, it stores a small amount of information on your
  13. computer, necessary for doing its own job. This information is stored
  14. in the user account of the user who runs PuTTY, so it is under your
  15. control: you can view it, change it, or delete it.
  16. If you need to delete all of this data, you can use the \c{-cleanup}
  17. command-line option, as described in \k{using-cleanup}.
  18. PuTTY does not transmit your saved session data to any other site.
  19. However, you may need to be aware of the fact that it is stored on
  20. \e{your} computer. (For example, somebody else accessing your computer
  21. might be able to find a list of sites you have connected to, if you
  22. have saved details of them.)
  23. \S{privacy-hostkeys} Host key cache
  24. If you use the SSH protocol, then PuTTY stores a list of the SSH
  25. servers you have connected to, together with their host keys.
  26. This is known as the \q{host key cache}. It is used to detect network
  27. attacks, by notifying you if a server you've connected to before
  28. doesn't look like the same one you thought it was. (See \k{gs-hostkey}
  29. for a basic introduction to host keys.)
  30. The host key cache is optional. An entry is only saved in the host key
  31. cache if you select the \q{Accept} action at one of the PuTTY suite's
  32. host key verification prompts. So if you want to make an SSH
  33. connection without PuTTY saving any trace of where you connected to,
  34. you can press \q{Connect Once} instead of \q{Accept}, which does not
  35. store the host key in the cache.
  36. However, if you do this, PuTTY can't automatically detect the host key
  37. changing in the future, so you should check the key fingerprint
  38. yourself every time you connect. \s{This is vitally important.} If you
  39. don't let PuTTY cache host keys \e{and} don't check them yourself,
  40. then it becomes easy for an attacker to interpose a listener between
  41. you and the server you're connecting to. The entire cryptographic
  42. system of SSH depends on making sure the host key is right.
  43. The host key cache is only used by SSH. No other protocol supported
  44. by PuTTY has any analogue of it.
  45. \S{privacy-savedsessions} Saved sessions
  46. After you set up PuTTY's configuration for a particular network
  47. connection, you can choose to save it as a \q{saved session}, so that
  48. you can make the same connection again later without having to
  49. re-enter all the details.
  50. PuTTY will not do this unless you use the \q{Save} button in its
  51. configuration box. It never saves session configuration automatically.
  52. So if you want to make an SSH connection without leaving any trace of
  53. where you connected to, you should not make a saved session for that
  54. connection. Instead, re-enter the details by hand every time you do
  55. it.
  56. \S{privacy-jumplist} Jump list
  57. On Windows, the operating system provides a feature called a \q{jump
  58. list}. This is a menu that pops up from an application's icon in the
  59. Windows taskbar, and the application can configure entries that appear
  60. in it. Applications typically include menu items to re-launch recently
  61. used documents or configurations.
  62. PuTTY updates its jump list whenever a saved session is loaded, either
  63. to launch it immediately or to load it within the configuration dialog
  64. box. So if you have a collection of saved sessions, the jump list will
  65. contain a record of which ones you have recently used.
  66. An exception is that saved sessions are not included in the jump list
  67. if they are not \q{launchable}, meaning that they actually specify a
  68. host name or serial port to connect to. A non-launchable session can
  69. specify all the other configuration details (such as fonts, window
  70. size, keyboard setup, SSH features, etc), but leave out the hostname.
  71. If you want to avoid leaving any evidence of having made a particular
  72. connection, then make the connection without creating a launchable
  73. saved session for it: either make no saved session at all, or create a
  74. non-launchable one which sets up every detail \e{except} the
  75. destination host name. Then it won't appear in the jump list.
  76. (The saved session itself would also be evidence, of course, as
  77. discussed in the previous section.)
  78. \S{privacy-logfiles} Log files
  79. PuTTY can be configured to save a log file of your entire session to
  80. the computer you run it on. By default it does not do so: the content
  81. of your session is not saved.
  82. See \k{config-logging} for details of the logging features. Some
  83. logging modes store only output sent by the server and printed in
  84. PuTTY's terminal window. Other more thorough modes also store your
  85. input that PuTTY sends \e{to} the server.
  86. If the logging feature is enabled, then by default, PuTTY will avoid
  87. saving data in the log file that it knows to be sensitive, such as
  88. passwords. However, it cannot reliably identify \e{all} passwords. If
  89. you use a password for your initial login to an SSH server, PuTTY
  90. knows that is a password, and will omit it from the log file. But if
  91. after login you type a password into an application on the server,
  92. then PuTTY will not know that \e{that} is a password, so it will
  93. appear in the log file, if PuTTY is writing a type that includes
  94. keyboard input.
  95. PuTTY can also be configured to include all passwords in its log
  96. files, even the ones it would normally leave out. This is intended for
  97. debugging purposes, for example if a server is refusing your password
  98. and you need to check whether the password is being sent correctly. We
  99. do not recommend enabling this option routinely.
  100. \S{privacy-randomseed} Random seed file
  101. PuTTY stores a small file of random bytes under the name
  102. \cq{putty.rnd}, which is reloaded the next time it is run and used to
  103. seed its random number generator. These bytes are meaningless and
  104. random, and do not contain an encrypted version of anything.
  105. \H{privacy-network} Sending information over the network
  106. PuTTY is a communications tool. Its \e{purpose} is to connect to
  107. another computer, over a network or a serial port, and send
  108. information. However it only makes the network connections that its
  109. configuration instructs it to.
  110. \S{privacy-nophonehome} PuTTY only connects to the specified destination host
  111. No PuTTY tool will \q{phone home} to any site under the control of us
  112. (the development team), or to any other site apart from the
  113. destination host or proxy host in its configuration, and any DNS
  114. server that is needed to look up the IP addresses corresponding to
  115. those host names.
  116. No information about your network sessions, and no information from
  117. the computer you run PuTTY on, is collected or recorded by the PuTTY
  118. developers.
  119. Information you provide to PuTTY (via keyboard input, the command
  120. line, or files loaded by the file transfer tools) is sent to the
  121. server that PuTTY's configuration tells it to connect to. It is not
  122. sent anywhere else.
  123. \S{privacy-whatdata} What data is sent to the destination host
  124. When you log in to a server, PuTTY will send your username. If you use
  125. a password to authenticate to the server, PuTTY will send it that
  126. password as well.
  127. (Therefore, the server is told what your password is during login.
  128. This means that if you use the same password on two servers, the
  129. administrator of one could find out your password and log in to your
  130. account on the other.)
  131. If you use an SSH private key to authenticate, PuTTY will send the
  132. \e{public} key, but not the private key. If you typed a passphrase to
  133. decrypt the private key, PuTTY will not send the passphrase either.
  134. (Therefore, it is safer to use the same \e{public key} to authenticate
  135. to two SSH servers. Neither server gains the ability to impersonate
  136. you to the other server. However, if the server maintainers talked to
  137. each other, they would at least be able to find out that your accounts
  138. on the two machines were owned by the same person, if they didn't
  139. already know.)
  140. When PuTTY prompts for a private key passphrase, a small copy of the
  141. PuTTY icon appears to the left of the prompt, to indicate that the
  142. prompt was genuinely from PuTTY. (We call this a \q{trust sigil}.)
  143. That icon never appears next to text sent from the server. So if a
  144. server tries to mimic that prompt to trick you into telling it your
  145. private key passphrase, it won't be able to fake that trust sigil, and
  146. you can tell the difference.
  147. If you're running Pageant, and you haven't configured a specific
  148. public key to authenticate to this server, then PuTTY will try all the
  149. keys in Pageant one after the other, sending each public key to the
  150. server to see if it's acceptable. This can lead to the server finding
  151. out about other public keys you own. However, if you configure PuTTY
  152. to use a specific public key, then it will ignore all the other keys
  153. in Pageant.
  154. Once you have logged in, keystrokes you type in the PuTTY terminal
  155. window, and data you paste in with the mouse, are sent to the
  156. destination host. That is PuTTY's primary job.
  157. The server can request PuTTY to send details of mouse movements in the
  158. terminal window, in order to implement mouse-controlled user
  159. interfaces on the server. If you consider this to be a privacy
  160. intrusion, you can turn off that terminal feature in the Features
  161. configuration panel (\q{Disable xterm-style mouse reporting}, as
  162. described in \k{config-features-mouse}).
  163. \H{privacy-config} Configuration
  164. The operation of a PuTTY network tool is controlled by its
  165. configuration. This configuration is obtained from:
  166. \b the command line used to run the tool
  167. \b settings configured in the GUI before opening a network session
  168. \b optionally, the contents of a saved session, if the command line
  169. or a GUI action instructed PuTTY to load one
  170. \b the special saved session called \q{Default Settings}, which
  171. applies if no other saved session is loaded
  172. \b defaults built in to PuTTY itself.
  173. The defaults built in to PuTTY do not tell it to save log files, or
  174. specify the name of any network site to connect to.
  175. However, if PuTTY has been installed for you by somebody else, such as
  176. an organisation, then that organisation may have provided their own
  177. default configuration. In that situation you may wish to check that
  178. the defaults they have set are compatible with your privacy needs. For
  179. example, an organisation providing your PuTTY configuration might
  180. configure PuTTY to save log files of your sessions, even though
  181. PuTTY's own default is not to do so.
  182. \H{privacy-modified} Modified versions of PuTTY
  183. PuTTY is free software. Its source code is available, so anyone can
  184. make a modified version of it. The modified version can behave
  185. differently from the original in any way it likes.
  186. This list of privacy considerations only applies to the original
  187. version of PuTTY, as distributed by its development team. We cannot
  188. make any promises about the behaviour of modified versions distributed
  189. by other people.