![]() |
![]() |
|||||||||
|
|
ABOUT Arsys-Europe > SOLUTIONS > CENTURY Software > Technical Articles > Secure Shell the need for security > | |||||||||
|
|
||||||||||
Secure Shell the need for securityDo you think there is a need for computer security? You most certainly should! First, virtually all information is now stored on computers. A small sampling of information a typical business host computer stores would include:
Second, your resources are valuable. An intruder with access to your system can use your drives to store unauthorized information and use your processor time to perform unauthorized work. Third, critical systems are sometimes controlled by computers (for example, power distribution and communications). And fourth, having too little security can be considered a negligent act. Just what is computer security? Generally, security is protecting a computer system's resources and data from anyone who would do things to those resources and data you would not want them to. So, what is a secure computer? A secure computer is a stand-alone machine with absolutely no network connections, with one user, in an underground bunker, with an army of guards protecting it. Anything less and you should have security concerns. The more a computer becomes accessible, either physically or through a network, the more likely that computer will come under attack. Security and the network hostProtecting a network host is probably the most difficult security task you, as a network administrator, has. There are four primary reasons why a network host is so vulnerable:
Compounding your security concerns is your users' need--or demand--for greater convenience, and more convenience means less security. Now, add the Internet to that list. Computers connected to the Internet have doubled every year for nearly a decade, and the trend is showing no sign of slowing down. You have probably already experienced the increasing points of access, more users, and vastly greater geographic coverage brought on by the Internet working with your own network. Your security concerns would be greatly eased if it were not for those large, vulnerable host computers storing proprietary programs and mission-critical data. But, do not be fooled into thinking they will somehow go away within your career lifetime. It is estimated that 80% of all business information is stored on host computers. Because the storage capacity and computational power of large host computers is the most cost-effective way to serve the large number of users who need access to the volumes of data they can store, the number of installed host systems will only increase. And, the majority of multi-user machines with exposure to the outside world through the Internet, and therefore, the majority of machines with serious security needs, are UNIX machines. What do you protect? First, there is physical security. Your computer system needs to be protected from someone just walking away with it. Then there is the "people risk." Trust, education, and training work better for authorized users than software or hardware. Since network computers are designed for access, it seems logical that access is the area where security can have the greatest impact. It also happens that in today's computing environment the convenience of remote access to a host system by employees on an intranet, by business partners on an extranet, and by customers on the Internet is increasing and an area where security is needed most. A system designed to provide services over a network (storing, updating, and distributing information) requires additional capabilities to provide some degree of security. It needs a system to verify that a server is a valid server, that a client machine is a valid client, that a user is a valid user, that data is not modified during transmission, and that data is protected from eavesdropping. Making the connectionIn today's business environment, the most common command-line access to a network host is through a Telnet connection from a PC. Telnet is a terminal emulation program for TCP/IP networks that allows a remote user to login and enter commands through the Telnet program that are executed as if they were entered directly from the host console. This process allows a remote user to control the host and communicate with other hosts on the network. A Telnet connection is a security risk for several reasons. Unlike a modem connection whose telephone numbers can be unpublished and difficult to guess, a computer's Internet address can easily be determined from its hostname. Since a Telnet connection is faster than most dial-up connections, more can be done in less time. A Telnet intruder can be anywhere in the world since there are no incremental (long distance) charges as a deterrent. A Telnet connection can be made over the Internet, which could be difficult to trace so intruders are fairly assured of keeping their anonymity. A Telnet connection also can be intercepted and monitored, or "sniffed," anywhere along the wires making up the network. And, a Telnet connection can be "hijacked," wherein an intruder waits for a user to log in and then takes control of the session, typing in whatever commands he wishes. Connections to a network host also can be made through protocols such as rlogin and rsh. Although similar to telnet, rlogin and rsh are far less secure. rlogin allows a user to connect without typing a username, and sometimes even without typing a password. Once logged in through rlogin, a user can easily jump from one machine to another on the network. rsh allows a user to run a command on a remote machine without logging in. Both rsh and rlogin use the "trusted host" and "trusted user" mechanism which relies on a machine name, a network address, or both. Because the "trusted" mechanism uses names and IP addresses for authentication, it is open to IP spoofing and domain name system attacks. Making the secure connectionHost-access security needs to:
The front-line security for access to a network host is authentication, which is the process of proving identity. There are two types of authentication: 1) person to machine, and 2) machine to machine. Person-to-machine authentication is solved by something you know (e .g., a password), something you have (e.g., a "smart card"), or something you are (e.g., a fingerprint). Machine-to-machine authentication is solved by either weak or cryptographic authentication. Weak authentication relies on a machine name, a network address, or both. Cryptographic authentication relies on a "shared secret," and knowledge of that secret is sufficient to prove identity. Authentication on a UNIX system is done through the user account. The user account usually consists of your identity (user/account name) and a password, which is authentication of identity. One of the main problems with this, as we have already seen, is that an intruder can intercept the data--including user names and passwords--travelling along network wires. Users also can forget their account information, or write it down and lose it, and without proper training and education create account information that is easily guessed. Simple authentication also does not meet all of the host-access security needs. Before moving on to other forms of security, there are two additional criteria that need to be considered: cost and complexity. The cost of security can be financial, administrative, and a loss of convenience, which equates to a loss of productivity. And, security needs to be as simple as possible. Security, as with all systems, becomes more "buggy" the more complex it is, and exploiting system bugs is one of the main routes for system penetration. A firewall could fail based on these last two criteria. Relatively speaking, a firewall is quite complex, and expensive, too, with costs including hardware, software, maintenance, and administration. Additionally, a firewall only protects an intranet from Internet penetration, not from internal threats. And, in many installations if the firewall goes down, the entire system goes down with it. The one technology available today that meets all the needs and criteria mentioned above is cryptography. Cryptography can authenticate identity, protect data and resources, regulate access, be relatively inexpensive, and once set up is quite transparent to users and requires only slightly more attention from network administrators than Telnet. Encryption on a network (including the Internet) can be divided into three main categories:
Transmission encryption, and Secure Shell (SSH) in particular, is becoming the de facto standard for host-access security. SSH was developed as a replacement for Telnet, rlogin, rsh, and rcp. It is a program to log onto another computer over a network, to execute commands in a remote machine, and to move files from one machine to another. SSH also meets all of the established security needs and criteria. Secure Shell needs to be installed on the individual PCs and the Secure Shell Daemon (SSHD) needs to be installed on the UNIX host for SSH to function. (Although some UNIX Operating Systems include the SSHD, some do not. Check the documentation that came with your particular UNIX Operating System.) When logging in through SSH a host-access session is secure from the start. A SSH session begins using public key cryptography to exchange a random session key that is the basis for a private key algorithm. Private key cryptography is where the encryption and decryption keys are the same. Public key cryptography is where the encryption and decryption keys are different. The name "public" comes from the fact that you can make the encryption key public without compromising the integrity of the message or the decryption key. SSH begins a session in the more secure "public key" mode and then switches, without compromising security, to the faster "private key" mode for the remainder of the session. What all this means is that an entire session, including the transfer of usernames and passwords, is encrypted and secure. Not only is the data safe with SSH enabled, computer resources also are secure because even if a SSH session is hijacked, all the intruder can do is force SSH to disconnect , and any data collected is useless and cannot be played back. SSH also uses multiple strong authentication methods to authenticate both the server and client ends of the connection, and SSH uses multiple ciphers for encryption to ensure transmission security. Another benefit of SSH security is that it is virtually transparent to the user. Once host access is established through SSH (rather than telnet, rlogin, or rsh), the user is unaware that anything is different during the session. Having been developed in the open-source environment, SSH also can be very cost effective to implement. There currently are several implementations of the Secure Shell protocol available commercially or as freeware. As of this writing, there is one company of note, Century Software (http://www.centurysoftware.com) that has seamlessly integrated the SSH1 protocol into its TinyTERM line of host -access solutions without increasing the bottom line. Century Software also distributes TinyTERM SSH Server v1.0 for SCO Servers which provides the Secure Shell Daemon for SCO UNIX hosts. |
||||||||||
| TechTip: Starts Minimized - TechTip: Change the Title Bar from the UNIX application - TechTip: Changing Screen Font Size - TechTip: Code Page Setup - TechTip: Configuring TinyTERM to act as a stand-alone file server for your home or office. - TechTip: Correcting License Problems - TechTip: Debug CScript Errors - TechTip: Determining a PC's Physical Location at Login - TechTip: DSL and Cable Modem Compatability - TechTip: Installing Desktop Shortcuts for TinyTERM - TechTip: Launch Another Windows-based Application From Within TinyTERM - TechTip: Map multiple CScript commands to a single key - TechTip: Mapping your Keyboard to Save Time and Money - TechTip: Missing lines, or misaligned characters using SCO ANSI emulation. - TechTip: Port Forwarding. What is it? - TechTip: Port Forwarding with Microsoft Internet Explorer - TechTip: Port Forwarding with Microsoft Outlook - TechTip: Port Forwarding with Microsoft Outlook Express - TechTip: Port Forwarding with the Opera Web Browser - TechTip: Programming the Mouse Button to Copy and Paste Text - TechTip: Resolving A Missing Application Window On TinyTERM Start - TechTip: Resolving an Error - 115 during a NetUtils Installation - TechTip: Resolving License errors from TinyTERM - TechTip: Scripting TinyTERM Events - TechTip: Setting The background color with CScript - TechTip: Stopping the CenLPD service so you can uninstall TinyTERM Plus - TechTip: Term for Linux / Unix Installation. - TechTip: TinyTERM closes after a connection error - TechTip: TinyTERM Support for Code Pages - TechTip: Transparent Printing in v4.2 - TechTip: Troubleshooting Connection Errors - TechTip: Troubleshooting Connection Failure (Error 10065) - TechTip: Troubleshooting Serial Connections - TechTip: Using TinyTERM's Micro Recorder. - TechTip: Wich version of TinyTERM should one use on a particular Microsoft Windows platform? - Terminal Emulation Competitive Analysis - Secure Shell the need for security - TinyTERM detail overview - TinyTERM Suite - TinyTERM Emulation versus TinyTERM Plus - |