RECOMMENDATION FOR SSH/SFTP ACCESS TO WEB HOSTING Generally, the audience for Web Hosting falls into two distinct groups. Content Editors (est. 200) are typically users who manage HTML content, usually using a tool like Adobe Dreamweaver. Content editors are often users with limited technology skills. Developers (est. 50) typically are working on ColdFusion, PHP or Java Web applications and have more advanced needs. Content editors and developers using the current Maple and Gecko Web services use WebDAV for file transmission. The WebDAV protocol uses port 80 or port 443 and is therefore usually allowed through firewalls along with regular Web traffic. There is no formal shell account support for currently users of these services. In the new Web Hosting architecture, content editors and developers will use the SFTP protocol, which has numerous advantages over WebDAV, including wider client support, filesystem-native permissions and much faster file transmission. Select developers will also have shell access to the file and Web servers to allow a greater degree of control over their Web configurations. Allowing SSH and SFTP traffic into the DMZ would require the opening of port 22 in the firewall and/or a VPN requirement for a successful connection. The Web team has evaluated four options to meet the SFTP and shell requirements of our users while maintaining a secure environment. Option 1: Require VPN login for SSH and SFTP Pro Con Audience Impact Minimal likelihood of brute force attacks No DMZ machines exposed over port 22 Additional layer of security inherent in dual login Content Editors/Developers would have to be logged into VPN for every upload Transfer speed constrained by VPN End-user frustration and training Option 2: Require VPN login for SSH; leave SFTP (shell disallowed) open over port 22 into DMZ Pro Con Audience Impact Content Editors not required to log in to VPN DMZ exposure on port 22 limited to single server with shell-disallowed daemon Developers would be required to log into VPN for shell access File server in DMZ exposed over port 22 (w/ shell disallowed) Option 3: Open port 22 into DMZ for both shell and SFTP access using custom two-factor authentication Pro Con Audience Impact Content Editors and Developers not required to log in to VPN Additional authentication challenge from LDAP Minimal retraining and inconvenience File server in DMZ exposed over port 22 (w/ shell disallowed) Web servers in DMZ exposed over port 22 (w/ shell enabled) Maintenance of custom module for logins Option 4: Provide shell users with RSA SecurID fobs; leave SFTP (shell disallowed) open over port 22 into DMZ Pro Con Audience Impact Content Editors and Developers not required to log in to VPN Vendor-supplied and supported High degree of security Expensive; infrastructure doesn’t exist Maintenance infrastructure required for lost or faulty fobs Only usable for shell access; SFTP would still require open firewall port Not compatible with end-user tools Given the desire to offer end-users a convenient experience while maintaining maximum security in the DMZ, the Web and Communications group recommends Option 2. By allowing limited SFTP access to the Web Hosting file server only, the chances of a successful attack are minimal. Requiring VPN access for developers desiring shell access is in-line with current UTS practices for other shell-enabled machines in the DMZ and is a reasonable security measure. COMPROMISE RISK IMPACT IMPACT OF ALLOWING SECURE SHELL ACCESS (SSH [PORT 22]) FOR SFTP ONLY Considerations Using SSH only as a secure file transport opens the possibility of a remote exploit that directly yields privileged access. The exposure is otherwise similar to alternate means of secure file transfer. Assessment The code has been publicly available and widely used for many years, decreasing the likelihood of a new "remote root" exploit. The additional risk of using SFTP over webDAV is small. The portion of code that specifically disables shell access should be open for internal review. IMPACT OF ALLOWING SECURE SHELL ACCESS (SSH [PORT 22]) Considerations Allowing shell access opens the possibility that a compromise without privilege could use a local exploit to gain privileged access. The command-line interface is offered as an auxiliary method of access that will be enabled only for specific users. The Web and Communications team will follow recommendation from the security team with regard to whether VPN will be a prerequisite for shell access into the DMZ. The threat of a command-line must be considered in context. Similar exposure exists in CGI and other integral features of web hosting. The contrast between these is largely in "hardening." Greater hardening of the web programming tools is due to a greater threat: anonymous, remote access. While the notion that command-line access may expose sensitive system information is certainly true, the reality could be that administrators, wary of this possibility, will be appropriately diligent in guarding against the risk instead of demonstrating lax disregard. Assessment Generic, brute force attacks are common but are unlikely to succeed unless weak passwords intersect accounts with common names. Stolen credentials represent no greater risk than the file transfer access unless paired with a local exploit or inappropriate permissions on system data. Existing options to tighten exposure of a shell include using a “restricted” shell and “change root” (or process “jail”), which creates a non-system file hierarchy. The “restricted” shell imposes limitations that are not conducive to developer access. It is intended to disallow execution of all non-prescribed programs and disables navigating the file hierarchy interactively. Although the “change root” capability exists, this feature is meant for service specific not user specific “jails” and would require the creation and maintenance of programmatically instantiated jails. The “change root” functionality has been incorporated into richer facilities such as “containers” or “zones,” but these are better suited for host virtualization. A custom solution would be necessary to achieve the desired combination of permitted and restricted actions, but the development and support effort are high compared to the relative risk. Hardening the system against compromise by disabling unused services and setID programs is advisable to reduce the exposure to local exploits. Users with shell access will not receive extended privileges, so role-based access controls will not apply. Precautions appropriate to the low risk exposure of shell access should be taken. Shell access should not be enabled automatically. System hardening should be done. An automated audit of sensitive permission settings should be performed regularly. Inactive users should have their access disabled. A second challenge is recommended as it may frustrate brute force attacks. Policy should be used to guide affiliated, authorized users. Additional conditions could be imposed on unaffiliated users seeking access to fulfill contracted work. WEB HOSTING SECURITY RISK ASSESSMENT STANDARD AND ADVANCED HOSTING LOSS OF SERVICE Impact The web is our most powerful communication medium. Any outage in Web Hosting disrupts communication and can negatively impact the image of Emory University. Response All but a minor compromise would demand at least an unscheduled maintenance outage and at worse a total service outage. The maximum duration of a total outage would be the greater of (1) the time needed to chose and execute a full restore from backups or (2) the time to identify and patch the vulnerability exercised. THEFT OF INFORMATION Impact Exposure of sensitive information could result in harm -- likely financial -- to individuals, organizational units, or the entire university. If warranted, public disclosure of an information theft would negatively impact the image of Emory University. Response Any compromise would require an assessment of data accessible to the attacker. Public disclosure of the compromise and the type of information exposed may be warranted. CORRUPTION OF INFORMATION Impact Overt changes [vandalism] would negatively impact the image of Emory University and could damage our message. Any malign change could cause a range of harm. Non-visual elements could be modified to propagate attacks (e.g. browser scripting attack). Subtle changes could be used to augment further compromise (e.g. social hacking). Response Any compromise would necessitate checking the integrity of exposed data. Any inappropriate modifications would need to be rolled back by manual edits or restoration from backups. GENERAL PRECAUTIONS Access to privileged accounts must be limited. Access should be recorded in a log and made available for review. The responsibility of the user should be well documented and high profile. Access should be subject to controls to mitigate denial of service. The password policy should be reviewed annually, at least. The integrity of the system and user data should be verifiable and monitored for changes. Retention of data for forensic purposes should be used, as reasonable. USER ACCESS CONSTRAINTS Fine-grained Access User data in the Web Hosting service is restricted on a per directory basis to a list of authorized users. Delegated administration allows users to grant access on an individual basis. Expiration of Rights Expiring modification rights would be advisable, but the irritation to the users could be considerable. Expiration is currently optional and rarely used. No effort has been made to continue this feature. Password Aging Disabling passwords that have not changed for a specific period of time has some value for the organization as a whole, but it would have little impact on Web Hosting. An adversary with stolen credentials is likely to use those credentials in a timely fashion. Network Host Restriction [VPN] Restricting access by host will not scale to the size of the community of content producers using Web Hosting. A Virtual Private Network (VPN) offers no advantage in the cases where the does not require additional credentials or when the adversary has access to the end-user machine (or another with VPN access established). One-time credentials [SecureID] One-time passwords and hardware tokens could provide a high level of assurance that observed credentials are invalid. The obstacles to using either of these include (1) large number of users, (2) user irritation, and (3) integration with a client tool such as Dreamweaver. Effective use would require equal integration into the file transfer service and the web interface. Shell access, if permitted, would have similar rights and should use the same constraints. APPENDIX 1 ATTACK VECTORS Denial of Service: An adversary degrades normal operation without an access compromise. Imposing limits, such as limiting a network connection rate, may allow service to continue and may reduce the impact to other components sharing the targeted system. Remote Exploit: A remote adversary gains access by exploiting a software flaw. Exposure can be reduced by running with minimum privilege and disabling privileged access whenever possible. Some forms of abatement may be available, such as disabling stack execution, mandatory access controls, or “safe” libraries. A code audit may improve risk assessment. Brute Force: A remote adversary gains access using a valid username and password as a result of successive guesses. Hard to guess passwords and mechanisms to throttle successive attempts can thwart an attack. If possible, privileged accounts should be disabled or further restricted. These attacks are usually susceptible to atypical behavior. Stolen Credentials: Valid credentials are observed or captured. One time passwords and temporal authenticators can prevent observed credentials from being reused. Educating users to prevent the exposure of passwords is arguably the most important protection. Local Exploit An adversary with access exploits a system or software flaw to exercise elevated privileges. Most operation environments are built on a large volume of code making the local system hard to secure without impairing functionality. Application isolation and control of program execution is required to narrow the observable system effectively.