diff options
Diffstat (limited to 'other/openssh-2.1.1p4/README.Ylonen')
| -rw-r--r-- | other/openssh-2.1.1p4/README.Ylonen | 567 |
1 files changed, 0 insertions, 567 deletions
diff --git a/other/openssh-2.1.1p4/README.Ylonen b/other/openssh-2.1.1p4/README.Ylonen deleted file mode 100644 index 38987b9..0000000 --- a/other/openssh-2.1.1p4/README.Ylonen +++ /dev/null | |||
| @@ -1,567 +0,0 @@ | |||
| 1 | |||
| 2 | [ Please note that this file has not been updated for OpenSSH and | ||
| 3 | covers the ssh-1.2.12 release from Dec 1995 only. ] | ||
| 4 | |||
| 5 | Ssh (Secure Shell) is a program to log into another computer over a | ||
| 6 | network, to execute commands in a remote machine, and to move files | ||
| 7 | from one machine to another. It provides strong authentication and | ||
| 8 | secure communications over insecure channels. It is inteded as a | ||
| 9 | replacement for rlogin, rsh, rcp, and rdist. | ||
| 10 | |||
| 11 | See the file INSTALL for installation instructions. See COPYING for | ||
| 12 | license terms and other legal issues. See RFC for a description of | ||
| 13 | the protocol. There is a WWW page for ssh; see http://www.cs.hut.fi/ssh. | ||
| 14 | |||
| 15 | This file has been updated to match ssh-1.2.12. | ||
| 16 | |||
| 17 | |||
| 18 | FEATURES | ||
| 19 | |||
| 20 | o Strong authentication. Closes several security holes (e.g., IP, | ||
| 21 | routing, and DNS spoofing). New authentication methods: .rhosts | ||
| 22 | together with RSA based host authentication, and pure RSA | ||
| 23 | authentication. | ||
| 24 | |||
| 25 | o Improved privacy. All communications are automatically and | ||
| 26 | transparently encrypted. RSA is used for key exchange, and a | ||
| 27 | conventional cipher (normally IDEA, DES, or triple-DES) for | ||
| 28 | encrypting the session. Encryption is started before | ||
| 29 | authentication, and no passwords or other information is | ||
| 30 | transmitted in the clear. Encryption is also used to protect | ||
| 31 | against spoofed packets. | ||
| 32 | |||
| 33 | o Secure X11 sessions. The program automatically sets DISPLAY on | ||
| 34 | the server machine, and forwards any X11 connections over the | ||
| 35 | secure channel. Fake Xauthority information is automatically | ||
| 36 | generated and forwarded to the remote machine; the local client | ||
| 37 | automatically examines incoming X11 connections and replaces the | ||
| 38 | fake authorization data with the real data (never telling the | ||
| 39 | remote machine the real information). | ||
| 40 | |||
| 41 | o Arbitrary TCP/IP ports can be redirected through the encrypted channel | ||
| 42 | in both directions (e.g., for e-cash transactions). | ||
| 43 | |||
| 44 | o No retraining needed for normal users; everything happens | ||
| 45 | automatically, and old .rhosts files will work with strong | ||
| 46 | authentication if administration installs host key files. | ||
| 47 | |||
| 48 | o Never trusts the network. Minimal trust on the remote side of | ||
| 49 | the connection. Minimal trust on domain name servers. Pure RSA | ||
| 50 | authentication never trusts anything but the private key. | ||
| 51 | |||
| 52 | o Client RSA-authenticates the server machine in the beginning of | ||
| 53 | every connection to prevent trojan horses (by routing or DNS | ||
| 54 | spoofing) and man-in-the-middle attacks, and the server | ||
| 55 | RSA-authenticates the client machine before accepting .rhosts or | ||
| 56 | /etc/hosts.equiv authentication (to prevent DNS, routing, or | ||
| 57 | IP-spoofing). | ||
| 58 | |||
| 59 | o Host authentication key distribution can be centrally by the | ||
| 60 | administration, automatically when the first connection is made | ||
| 61 | to a machine (the key obtained on the first connection will be | ||
| 62 | recorded and used for authentication in the future), or manually | ||
| 63 | by each user for his/her own use. The central and per-user host | ||
| 64 | key repositories are both used and complement each other. Host | ||
| 65 | keys can be generated centrally or automatically when the software | ||
| 66 | is installed. Host authentication keys are typically 1024 bits. | ||
| 67 | |||
| 68 | o Any user can create any number of user authentication RSA keys for | ||
| 69 | his/her own use. Each user has a file which lists the RSA public | ||
| 70 | keys for which proof of possession of the corresponding private | ||
| 71 | key is accepted as authentication. User authentication keys are | ||
| 72 | typically 1024 bits. | ||
| 73 | |||
| 74 | o The server program has its own server RSA key which is | ||
| 75 | automatically regenerated every hour. This key is never saved in | ||
| 76 | any file. Exchanged session keys are encrypted using both the | ||
| 77 | server key and the server host key. The purpose of the separate | ||
| 78 | server key is to make it impossible to decipher a captured session by | ||
| 79 | breaking into the server machine at a later time; one hour from | ||
| 80 | the connection even the server machine cannot decipher the session | ||
| 81 | key. The key regeneration interval is configurable. The server | ||
| 82 | key is normally 768 bits. | ||
| 83 | |||
| 84 | o An authentication agent, running in the user's laptop or local | ||
| 85 | workstation, can be used to hold the user's RSA authentication | ||
| 86 | keys. Ssh automatically forwards the connection to the | ||
| 87 | authentication agent over any connections, and there is no need to | ||
| 88 | store the RSA authentication keys on any machine in the network | ||
| 89 | (except the user's own local machine). The authentication | ||
| 90 | protocols never reveal the keys; they can only be used to verify | ||
| 91 | that the user's agent has a certain key. Eventually the agent | ||
| 92 | could rely on a smart card to perform all authentication | ||
| 93 | computations. | ||
| 94 | |||
| 95 | o The software can be installed and used (with restricted | ||
| 96 | functionality) even without root privileges. | ||
| 97 | |||
| 98 | o The client is customizable in system-wide and per-user | ||
| 99 | configuration files. Most aspects of the client's operation can | ||
| 100 | be configured. Different options can be specified on a per-host basis. | ||
| 101 | |||
| 102 | o Automatically executes conventional rsh (after displaying a | ||
| 103 | warning) if the server machine is not running sshd. | ||
| 104 | |||
| 105 | o Optional compression of all data with gzip (including forwarded X11 | ||
| 106 | and TCP/IP port data), which may result in significant speedups on | ||
| 107 | slow connections. | ||
| 108 | |||
| 109 | o Complete replacement for rlogin, rsh, and rcp. | ||
| 110 | |||
| 111 | |||
| 112 | WHY TO USE SECURE SHELL | ||
| 113 | |||
| 114 | Currently, almost all communications in computer networks are done | ||
| 115 | without encryption. As a consequence, anyone who has access to any | ||
| 116 | machine connected to the network can listen in on any communication. | ||
| 117 | This is being done by hackers, curious administrators, employers, | ||
| 118 | criminals, industrial spies, and governments. Some networks leak off | ||
| 119 | enough electromagnetic radiation that data may be captured even from a | ||
| 120 | distance. | ||
| 121 | |||
| 122 | When you log in, your password goes in the network in plain | ||
| 123 | text. Thus, any listener can then use your account to do any evil he | ||
| 124 | likes. Many incidents have been encountered worldwide where crackers | ||
| 125 | have started programs on workstations without the owners knowledge | ||
| 126 | just to listen to the network and collect passwords. Programs for | ||
| 127 | doing this are available on the Internet, or can be built by a | ||
| 128 | competent programmer in a few hours. | ||
| 129 | |||
| 130 | Any information that you type or is printed on your screen can be | ||
| 131 | monitored, recorded, and analyzed. For example, an intruder who has | ||
| 132 | penetrated a host connected to a major network can start a program | ||
| 133 | that listens to all data flowing in the network, and whenever it | ||
| 134 | encounters a 16-digit string, it checks if it is a valid credit card | ||
| 135 | number (using the check digit), and saves the number plus any | ||
| 136 | surrounding text (to catch expiration date and holder) in a file. | ||
| 137 | When the intruder has collected a few thousand credit card numbers, he | ||
| 138 | makes smallish mail-order purchases from a few thousand stores around | ||
| 139 | the world, and disappears when the goods arrive but before anyone | ||
| 140 | suspects anything. | ||
| 141 | |||
| 142 | Businesses have trade secrets, patent applications in preparation, | ||
| 143 | pricing information, subcontractor information, client data, personnel | ||
| 144 | data, financial information, etc. Currently, anyone with access to | ||
| 145 | the network (any machine on the network) can listen to anything that | ||
| 146 | goes in the network, without any regard to normal access restrictions. | ||
| 147 | |||
| 148 | Many companies are not aware that information can so easily be | ||
| 149 | recovered from the network. They trust that their data is safe | ||
| 150 | since nobody is supposed to know that there is sensitive information | ||
| 151 | in the network, or because so much other data is transferred in the | ||
| 152 | network. This is not a safe policy. | ||
| 153 | |||
| 154 | Individual persons also have confidential information, such as | ||
| 155 | diaries, love letters, health care documents, information about their | ||
| 156 | personal interests and habits, professional data, job applications, | ||
| 157 | tax reports, political documents, unpublished manuscripts, etc. | ||
| 158 | |||
| 159 | One should also be aware that economical intelligence and industrial | ||
| 160 | espionage has recently become a major priority of the intelligence | ||
| 161 | agencies of major governments. President Clinton recently assigned | ||
| 162 | economical espionage as the primary task of the CIA, and the French | ||
| 163 | have repeatedly been publicly boasting about their achievements on | ||
| 164 | this field. | ||
| 165 | |||
| 166 | |||
| 167 | There is also another frightening aspect about the poor security of | ||
| 168 | communications. Computer storage and analysis capability has | ||
| 169 | increased so much that it is feasible for governments, major | ||
| 170 | companies, and criminal organizations to automatically analyze, | ||
| 171 | identify, classify, and file information about millions of people over | ||
| 172 | the years. Because most of the work can be automated, the cost of | ||
| 173 | collecting this information is getting very low. | ||
| 174 | |||
| 175 | Government agencies may be able to monitor major communication | ||
| 176 | systems, telephones, fax, computer networks, etc., and passively | ||
| 177 | collect huge amounts of information about all people with any | ||
| 178 | significant position in the society. Most of this information is not | ||
| 179 | sensitive, and many people would say there is no harm in someone | ||
| 180 | getting that information. However, the information starts to get | ||
| 181 | sensitive when someone has enough of it. You may not mind someone | ||
| 182 | knowing what you bought from the shop one random day, but you might | ||
| 183 | not like someone knowing every small thing you have bought in the last | ||
| 184 | ten years. | ||
| 185 | |||
| 186 | If the government some day starts to move into a more totalitarian | ||
| 187 | direction (one should remember that Nazi Germany was created by | ||
| 188 | democratic elections), there is considerable danger of an ultimate | ||
| 189 | totalitarian state. With enough information (the automatically | ||
| 190 | collected records of an individual can be manually analyzed when the | ||
| 191 | person becomes interesting), one can form a very detailed picture of | ||
| 192 | the individual's interests, opinions, beliefs, habits, friends, | ||
| 193 | lovers, weaknesses, etc. This information can be used to 1) locate | ||
| 194 | any persons who might oppose the new system 2) use deception to | ||
| 195 | disturb any organizations which might rise against the government 3) | ||
| 196 | eliminate difficult individuals without anyone understanding what | ||
| 197 | happened. Additionally, if the government can monitor communications | ||
| 198 | too effectively, it becomes too easy to locate and eliminate any | ||
| 199 | persons distributing information contrary to the official truth. | ||
| 200 | |||
| 201 | Fighting crime and terrorism are often used as grounds for domestic | ||
| 202 | surveillance and restricting encryption. These are good goals, but | ||
| 203 | there is considerable danger that the surveillance data starts to get | ||
| 204 | used for questionable purposes. I find that it is better to tolerate | ||
| 205 | a small amount of crime in the society than to let the society become | ||
| 206 | fully controlled. I am in favor of a fairly strong state, but the | ||
| 207 | state must never get so strong that people become unable to spread | ||
| 208 | contra-offical information and unable to overturn the government if it | ||
| 209 | is bad. The danger is that when you notice that the government is | ||
| 210 | too powerful, it is too late. Also, the real power may not be where | ||
| 211 | the official government is. | ||
| 212 | |||
| 213 | For these reasons (privacy, protecting trade secrets, and making it | ||
| 214 | more difficult to create a totalitarian state), I think that strong | ||
| 215 | cryptography should be integrated to the tools we use every day. | ||
| 216 | Using it causes no harm (except for those who wish to monitor | ||
| 217 | everything), but not using it can cause huge problems. If the society | ||
| 218 | changes in undesirable ways, then it will be to late to start | ||
| 219 | encrypting. | ||
| 220 | |||
| 221 | Encryption has had a "military" or "classified" flavor to it. There | ||
| 222 | are no longer any grounds for this. The military can and will use its | ||
| 223 | own encryption; that is no excuse to prevent the civilians from | ||
| 224 | protecting their privacy and secrets. Information on strong | ||
| 225 | encryption is available in every major bookstore, scientific library, | ||
| 226 | and patent office around the world, and strong encryption software is | ||
| 227 | available in every country on the Internet. | ||
| 228 | |||
| 229 | Some people would like to make it illegal to use encryption, or to | ||
| 230 | force people to use encryption that governments can break. This | ||
| 231 | approach offers no protection if the government turns bad. Also, the | ||
| 232 | "bad guys" will be using true strong encryption anyway. Good | ||
| 233 | encryption techniques are too widely known to make them disappear. | ||
| 234 | Thus, any "key escrow encryption" or other restrictions will only help | ||
| 235 | monitor ordinary people and petty criminals. It does not help against | ||
| 236 | powerful criminals, terrorists, or espionage, because they will know | ||
| 237 | how to use strong encryption anyway. (One source for internationally | ||
| 238 | available encryption software is http://www.cs.hut.fi/crypto.) | ||
| 239 | |||
| 240 | |||
| 241 | OVERVIEW OF SECURE SHELL | ||
| 242 | |||
| 243 | The software consists of a number of programs. | ||
| 244 | |||
| 245 | sshd Server program run on the server machine. This | ||
| 246 | listens for connections from client machines, and | ||
| 247 | whenever it receives a connection, it performs | ||
| 248 | authentication and starts serving the client. | ||
| 249 | |||
| 250 | ssh This is the client program used to log into another | ||
| 251 | machine or to execute commands on the other machine. | ||
| 252 | "slogin" is another name for this program. | ||
| 253 | |||
| 254 | scp Securely copies files from one machine to another. | ||
| 255 | |||
| 256 | ssh-keygen Used to create RSA keys (host keys and user | ||
| 257 | authentication keys). | ||
| 258 | |||
| 259 | ssh-agent Authentication agent. This can be used to hold RSA | ||
| 260 | keys for authentication. | ||
| 261 | |||
| 262 | ssh-add Used to register new keys with the agent. | ||
| 263 | |||
| 264 | make-ssh-known-hosts | ||
| 265 | Used to create the /etc/ssh_known_hosts file. | ||
| 266 | |||
| 267 | |||
| 268 | Ssh is the program users normally use. It is started as | ||
| 269 | |||
| 270 | ssh host | ||
| 271 | |||
| 272 | or | ||
| 273 | |||
| 274 | ssh host command | ||
| 275 | |||
| 276 | The first form opens a new shell on the remote machine (after | ||
| 277 | authentication). The latter form executes the command on the remote | ||
| 278 | machine. | ||
| 279 | |||
| 280 | When started, the ssh connects sshd on the server machine, verifies | ||
| 281 | that the server machine really is the machine it wanted to connect, | ||
| 282 | exchanges encryption keys (in a manner which prevents an outside | ||
| 283 | listener from getting the keys), performs authentication using .rhosts | ||
| 284 | and /etc/hosts.equiv, RSA authentication, or conventional password | ||
| 285 | based authentication. The server then (normally) allocates a | ||
| 286 | pseudo-terminal and starts an interactive shell or user program. | ||
| 287 | |||
| 288 | The TERM environment variable (describing the type of the user's | ||
| 289 | terminal) is passed from the client side to the remote side. Also, | ||
| 290 | terminal modes will be copied from the client side to the remote side | ||
| 291 | to preserve user preferences (e.g., the erase character). | ||
| 292 | |||
| 293 | If the DISPLAY variable is set on the client side, the server will | ||
| 294 | create a dummy X server and set DISPLAY accordingly. Any connections | ||
| 295 | to the dummy X server will be forwarded through the secure channel, | ||
| 296 | and will be made to the real X server from the client side. An | ||
| 297 | arbitrary number of X programs can be started during the session, and | ||
| 298 | starting them does not require anything special from the user. (Note | ||
| 299 | that the user must not manually set DISPLAY, because then it would | ||
| 300 | connect directly to the real display instead of going through the | ||
| 301 | encrypted channel). This behavior can be disabled in the | ||
| 302 | configuration file or by giving the -x option to the client. | ||
| 303 | |||
| 304 | Arbitrary IP ports can be forwarded over the secure channel. The | ||
| 305 | program then creates a port on one side, and whenever a connection is | ||
| 306 | opened to this port, it will be passed over the secure channel, and a | ||
| 307 | connection will be made from the other side to a specified host:port | ||
| 308 | pair. Arbitrary IP forwarding must always be explicitly requested, | ||
| 309 | and cannot be used to forward privileged ports (unless the user is | ||
| 310 | root). It is possible to specify automatic forwards in a per-user | ||
| 311 | configuration file, for example to make electronic cash systems work | ||
| 312 | securely. | ||
| 313 | |||
| 314 | If there is an authentication agent on the client side, connection to | ||
| 315 | it will be automatically forwarded to the server side. | ||
| 316 | |||
| 317 | For more infomation, see the manual pages ssh(1), sshd(8), scp(1), | ||
| 318 | ssh-keygen(1), ssh-agent(1), ssh-add(1), and make-ssh-known-hosts(1) | ||
| 319 | included in this distribution. | ||
| 320 | |||
| 321 | |||
| 322 | X11 CONNECTION FORWARDING | ||
| 323 | |||
| 324 | X11 forwarding serves two purposes: it is a convenience to the user | ||
| 325 | because there is no need to set the DISPLAY variable, and it provides | ||
| 326 | encrypted X11 connections. I cannot think of any other easy way to | ||
| 327 | make X11 connections encrypted; modifying the X server, clients or | ||
| 328 | libraries would require special work for each machine, vendor and | ||
| 329 | application. Widely used IP-level encryption does not seem likely for | ||
| 330 | several years. Thus what we have left is faking an X server on the | ||
| 331 | same machine where the clients are run, and forwarding the connections | ||
| 332 | to a real X server over the secure channel. | ||
| 333 | |||
| 334 | X11 forwarding works as follows. The client extracts Xauthority | ||
| 335 | information for the server. It then creates random authorization | ||
| 336 | data, and sends the random data to the server. The server allocates | ||
| 337 | an X11 display number, and stores the (fake) Xauthority data for this | ||
| 338 | display. Whenever an X11 connection is opened, the server forwards | ||
| 339 | the connection over the secure channel to the client, and the client | ||
| 340 | parses the first packet of the X11 protocol, substitutes real | ||
| 341 | authentication data for the fake data (if the fake data matched), and | ||
| 342 | forwards the connection to the real X server. | ||
| 343 | |||
| 344 | If the display does not have Xauthority data, the server will create a | ||
| 345 | unix domain socket in /tmp/.X11-unix, and use the unix domain socket | ||
| 346 | as the display. No authentication information is forwarded in this | ||
| 347 | case. X11 connections are again forwarded over the secure channel. | ||
| 348 | To the X server the connections appear to come from the client | ||
| 349 | machine, and the server must have connections allowed from the local | ||
| 350 | machine. Using authentication data is always recommended because not | ||
| 351 | using it makes the display insecure. If XDM is used, it automatically | ||
| 352 | generates the authentication data. | ||
| 353 | |||
| 354 | One should be careful not to use "xin" or "xstart" or other similar | ||
| 355 | scripts that explicitly set DISPLAY to start X sessions in a remote | ||
| 356 | machine, because the connection will then not go over the secure | ||
| 357 | channel. The recommended way to start a shell in a remote machine is | ||
| 358 | |||
| 359 | xterm -e ssh host & | ||
| 360 | |||
| 361 | and the recommended way to execute an X11 application in a remote | ||
| 362 | machine is | ||
| 363 | |||
| 364 | ssh -n host emacs & | ||
| 365 | |||
| 366 | If you need to type a password/passphrase for the remote machine, | ||
| 367 | |||
| 368 | ssh -f host emacs | ||
| 369 | |||
| 370 | may be useful. | ||
| 371 | |||
| 372 | |||
| 373 | |||
| 374 | RSA AUTHENTICATION | ||
| 375 | |||
| 376 | RSA authentication is based on public key cryptograpy. The idea is | ||
| 377 | that there are two encryption keys, one for encryption and another for | ||
| 378 | decryption. It is not possible (on human timescale) to derive the | ||
| 379 | decryption key from the encryption key. The encryption key is called | ||
| 380 | the public key, because it can be given to anyone and it is not | ||
| 381 | secret. The decryption key, on the other hand, is secret, and is | ||
| 382 | called the private key. | ||
| 383 | |||
| 384 | RSA authentication is based on the impossibility of deriving the | ||
| 385 | private key from the public key. The public key is stored on the | ||
| 386 | server machine in the user's $HOME/.ssh/authorized_keys file. The | ||
| 387 | private key is only kept on the user's local machine, laptop, or other | ||
| 388 | secure storage. Then the user tries to log in, the client tells the | ||
| 389 | server the public key that the user wishes to use for authentication. | ||
| 390 | The server then checks if this public key is admissible. If so, it | ||
| 391 | generates a 256 bit random number, encrypts it with the public key, | ||
| 392 | and sends the value to the client. The client then decrypts the | ||
| 393 | number with its private key, computes a 128 bit MD5 checksum from the | ||
| 394 | resulting data, and sends the checksum back to the server. (Only a | ||
| 395 | checksum is sent to prevent chosen-plaintext attacks against RSA.) | ||
| 396 | The server checks computes a checksum from the correct data, | ||
| 397 | and compares the checksums. Authentication is accepted if the | ||
| 398 | checksums match. (Theoretically this indicates that the client | ||
| 399 | only probably knows the correct key, but for all practical purposes | ||
| 400 | there is no doubt.) | ||
| 401 | |||
| 402 | The RSA private key can be protected with a passphrase. The | ||
| 403 | passphrase can be any string; it is hashed with MD5 to produce an | ||
| 404 | encryption key for IDEA, which is used to encrypt the private part of | ||
| 405 | the key file. With passphrase, authorization requires access to the key | ||
| 406 | file and the passphrase. Without passphrase, authorization only | ||
| 407 | depends on possession of the key file. | ||
| 408 | |||
| 409 | RSA authentication is the most secure form of authentication supported | ||
| 410 | by this software. It does not rely on the network, routers, domain | ||
| 411 | name servers, or the client machine. The only thing that matters is | ||
| 412 | access to the private key. | ||
| 413 | |||
| 414 | All this, of course, depends on the security of the RSA algorithm | ||
| 415 | itself. RSA has been widely known since about 1978, and no effective | ||
| 416 | methods for breaking it are known if it is used properly. Care has | ||
| 417 | been taken to avoid the well-known pitfalls. Breaking RSA is widely | ||
| 418 | believed to be equivalent to factoring, which is a very hard | ||
| 419 | mathematical problem that has received considerable public research. | ||
| 420 | So far, no effective methods are known for numbers bigger than about | ||
| 421 | 512 bits. However, as computer speeds and factoring methods are | ||
| 422 | increasing, 512 bits can no longer be considered secure. The | ||
| 423 | factoring work is exponential, and 768 or 1024 bits are widely | ||
| 424 | considered to be secure in the near future. | ||
| 425 | |||
| 426 | |||
| 427 | RHOSTS AUTHENTICATION | ||
| 428 | |||
| 429 | Conventional .rhosts and hosts.equiv based authentication mechanisms | ||
| 430 | are fundamentally insecure due to IP, DNS (domain name server) and | ||
| 431 | routing spoofing attacks. Additionally this authentication method | ||
| 432 | relies on the integrity of the client machine. These weaknesses is | ||
| 433 | tolerable, and been known and exploited for a long time. | ||
| 434 | |||
| 435 | Ssh provides an improved version of these types of authentication, | ||
| 436 | because they are very convenient for the user (and allow easy | ||
| 437 | transition from rsh and rlogin). It permits these types of | ||
| 438 | authentication, but additionally requires that the client host be | ||
| 439 | authenticated using RSA. | ||
| 440 | |||
| 441 | The server has a list of host keys stored in /etc/ssh_known_host, and | ||
| 442 | additionally each user has host keys in $HOME/.ssh/known_hosts. Ssh | ||
| 443 | uses the name servers to obtain the canonical name of the client host, | ||
| 444 | looks for its public key in its known host files, and requires the | ||
| 445 | client to prove that it knows the private host key. This prevents IP | ||
| 446 | and routing spoofing attacks (as long as the client machine private | ||
| 447 | host key has not been compromized), but is still vulnerable to DNS | ||
| 448 | attacks (to a limited extent), and relies on the integrity of the | ||
| 449 | client machine as to who is requesting to log in. This prevents | ||
| 450 | outsiders from attacking, but does not protect against very powerful | ||
| 451 | attackers. If maximal security is desired, only RSA authentication | ||
| 452 | should be used. | ||
| 453 | |||
| 454 | It is possible to enable conventional .rhosts and /etc/hosts.equiv | ||
| 455 | authentication (without host authentication) at compile time by giving | ||
| 456 | the option --with-rhosts to configure. However, this is not | ||
| 457 | recommended, and is not done by default. | ||
| 458 | |||
| 459 | These weaknesses are present in rsh and rlogin. No improvement in | ||
| 460 | security will be obtained unless rlogin and rsh are completely | ||
| 461 | disabled (commented out in /etc/inetd.conf). This is highly | ||
| 462 | recommended. | ||
| 463 | |||
| 464 | |||
| 465 | WEAKEST LINKS IN SECURITY | ||
| 466 | |||
| 467 | One should understand that while this software may provide | ||
| 468 | cryptographically secure communications, it may be easy to | ||
| 469 | monitor the communications at their endpoints. | ||
| 470 | |||
| 471 | Basically, anyone with root access on the local machine on which you | ||
| 472 | are running the software may be able to do anything. Anyone with root | ||
| 473 | access on the server machine may be able to monitor your | ||
| 474 | communications, and a very talented root user might even be able to | ||
| 475 | send his/her own requests to your authentication agent. | ||
| 476 | |||
| 477 | One should also be aware that computers send out electromagnetic | ||
| 478 | radition that can sometimes be picked up hundreds of meters away. | ||
| 479 | Your keyboard is particularly easy to listen to. The image on your | ||
| 480 | monitor might also be seen on another monitor in a van parked behind | ||
| 481 | your house. | ||
| 482 | |||
| 483 | Beware that unwanted visitors might come to your home or office and | ||
| 484 | use your machine while you are away. They might also make | ||
| 485 | modifications or install bugs in your hardware or software. | ||
| 486 | |||
| 487 | Beware that the most effective way for someone to decrypt your data | ||
| 488 | may be with a rubber hose. | ||
| 489 | |||
| 490 | |||
| 491 | LEGAL ISSUES | ||
| 492 | |||
| 493 | As far as I am concerned, anyone is permitted to use this software | ||
| 494 | freely. However, see the file COPYING for detailed copying, | ||
| 495 | licensing, and distribution information. | ||
| 496 | |||
| 497 | In some countries, particularly France, Russia, Iraq, and Pakistan, | ||
| 498 | it may be illegal to use any encryption at all without a special | ||
| 499 | permit, and the rumor has it that you cannot get a permit for any | ||
| 500 | strong encryption. | ||
| 501 | |||
| 502 | This software may be freely imported into the United States; however, | ||
| 503 | the United States Government may consider re-exporting it a criminal | ||
| 504 | offence. | ||
| 505 | |||
| 506 | Note that any information and cryptographic algorithms used in this | ||
| 507 | software are publicly available on the Internet and at any major | ||
| 508 | bookstore, scientific library, or patent office worldwide. | ||
| 509 | |||
| 510 | THERE IS NO WARRANTY FOR THIS PROGRAM. Please consult the file | ||
| 511 | COPYING for more information. | ||
| 512 | |||
| 513 | |||
| 514 | MAILING LISTS AND OTHER INFORMATION | ||
| 515 | |||
| 516 | There is a mailing list for ossh. It is ossh@sics.se. If you would | ||
| 517 | like to join, send a message to majordomo@sics.se with "subscribe | ||
| 518 | ssh" in body. | ||
| 519 | |||
| 520 | The WWW home page for ssh is http://www.cs.hut.fi/ssh. It contains an | ||
| 521 | archive of the mailing list, and detailed information about new | ||
| 522 | releases, mailing lists, and other relevant issues. | ||
| 523 | |||
| 524 | Bug reports should be sent to ossh-bugs@sics.se. | ||
| 525 | |||
| 526 | |||
| 527 | ABOUT THE AUTHOR | ||
| 528 | |||
| 529 | This software was written by Tatu Ylonen <ylo@cs.hut.fi>. I work as a | ||
| 530 | researcher at Helsinki University of Technology, Finland. For more | ||
| 531 | information, see http://www.cs.hut.fi/~ylo/. My PGP public key is | ||
| 532 | available via finger from ylo@cs.hut.fi and from the key servers. I | ||
| 533 | prefer PGP encrypted mail. | ||
| 534 | |||
| 535 | The author can be contacted via ordinary mail at | ||
| 536 | Tatu Ylonen | ||
| 537 | Helsinki University of Technology | ||
| 538 | Otakaari 1 | ||
| 539 | FIN-02150 ESPOO | ||
| 540 | Finland | ||
| 541 | |||
| 542 | Fax. +358-0-4513293 | ||
| 543 | |||
| 544 | |||
| 545 | ACKNOWLEDGEMENTS | ||
| 546 | |||
| 547 | I thank Tero Kivinen, Timo Rinne, Janne Snabb, and Heikki Suonsivu for | ||
| 548 | their help and comments in the design, implementation and porting of | ||
| 549 | this software. I also thank numerous contributors, including but not | ||
| 550 | limited to Walker Aumann, Jurgen Botz, Hans-Werner Braun, Stephane | ||
| 551 | Bortzmeyer, Adrian Colley, Michael Cooper, David Dombek, Jerome | ||
| 552 | Etienne, Bill Fithen, Mark Fullmer, Bert Gijsbers, Andreas Gustafsson, | ||
| 553 | Michael Henits, Steve Johnson, Thomas Koenig, Felix Leitner, Gunnar | ||
| 554 | Lindberg, Andrew Macpherson, Marc Martinec, Paul Mauvais, Donald | ||
| 555 | McKillican, Leon Mlakar, Robert Muchsel, Mark Treacy, Bryan | ||
| 556 | O'Sullivan, Mikael Suokas, Ollivier Robert, Jakob Schlyter, Tomasz | ||
| 557 | Surmacz, Alvar Vinacua, Petri Virkkula, Michael Warfield, and | ||
| 558 | Cristophe Wolfhugel. | ||
| 559 | |||
| 560 | Thanks also go to Philip Zimmermann, whose PGP software and the | ||
| 561 | associated legal battle provided inspiration, motivation, and many | ||
| 562 | useful techniques, and to Bruce Schneier whose book Applied | ||
| 563 | Cryptography has done a great service in widely distributing knowledge | ||
| 564 | about cryptographic methods. | ||
| 565 | |||
| 566 | |||
| 567 | Copyright (c) 1995 Tatu Ylonen, Espoo, Finland. | ||
