Internet Engineering Task Force Tom Killalea INTERNET-DRAFT neart.ie Valid for six months December1998 Security Expectations for Internet Service Providers Status of this Memo This document is an Internet Draft. Internet Drafts are working documents of the Internet Engineering Task Force (IETF), its Areas, and its Working Groups. Note that other groups may also distribute working documents as Internet Drafts. This Internet Draft is a product of the GRIP Working Group of the IETF. Internet Drafts are draft documents valid for a maximum of six months. Internet Drafts may be updated, replaced, or obsoleted by other documents at any time. It is not appropriate to use Internet Drafts as reference material or to cite them other than as a To learn the current status of any Internet Draft, please check the directories on ftp.is.co.za (Africa), nic.nordu.net (Europe), munnari.oz.au (Pacific Rim), ftp.ietf.org (US East Coast), or ftp.isi.edu (US West Coast). Copyright Notice Copyright (C) The Internet Society (1998). All Rights Reserved. Abstract The purpose of this document is to express the general Internet community's expectations of Internet Service Providers (ISPs) with respect to security. It is not the intent of this document to define a set of requirements that would be appropriate for all ISPs, but rather to raise awareness among ISPs of the community's expectations, and to provide the community with a framework for discussion of security expectations with current and prospective service providers. Table of Contents 1 Introduction 1.1 Conventions Used in this Document 2 Incident Response 2.1 ISPs and Security Incident Response Teams (SIRTs) 2.2 Assistance with Inbound Security Incidents 2.3 Assistance with Outbound or Transit Security Incidents 2.4 Notification of Vulnerabilities and Reporting Incidents 2.5 Contact Information 2.6 Communication and Authentication 3 Appropriate Use Policy 3.1 Announcement of Policy 3.2 Sanctions 4 Protection of the Community 4.1 Cooperation 4.2 Data Protection 4.3 Training 4.4 Registry Data Maintenance 5 Network Infrastructure 5.1 Routers 5.2 Switches, Terminal Servers, Modems and other Network Devices 5.3 Anonymous telnet and other unlogged connections 5.4 The Network Operation Centre (NOC) and Network Management 5.5 Physical Security 5.6 Routing Infrastructure 5.7 Ingress Filtering on Source Address 5.8 Egress Filtering on Source Address 5.9 Route Filtering 5.10 Directed Broadcast 6 Systems Infrastructure 6.1 Policy 6.2 System Management 6.3 Backup 6.4 Software Distribution 7 Domain Name Service (DNS) 7.1 DNS Server Management 7.2 Authoritative Domain Name Service 7.3 Resolution Service 8 Email and Mail Services 8.1 Mail Server Administration 8.2 Secure Mail 8.3 Open Mail Relay 8.4 Message Submission 8.5 POP and IMAP Services 9 News Service (NNTP) 9.1 News Server Administration 9.2 Article Submission 9.3 Control Messages 9.4 Newsfeed Filters 10 Web-related Services 10.1 Webhosting Server Administration 10.2 Server Side Programs 10.3 Data and Databases 10.4 Logs and Statistics Reporting 10.5 Push and Streaming Services 10.6 Commerce 10.7 Content Loading and Distributed Authoring 10.8 Search Engines and other tools 11 References 12 Acknowledgements 13 Security Considerations 14 Author's Address 15 Full Copyright Statement 1 Introduction IMPORTANT NOTE: AS A RESULT OF DISCUSSIONS IN THE GRIP WORKING GROUP MEETING AT THE 43RD IETF, THIS IS THE LAST VERSION OF THIS DOCUMENT THAT YOU WILL SEE. IT WILL BE REPLACED BY 3 NEW DOCUMENTS IN JANUARY 1999. - tomk. The purpose of this document is to express the general Internet community's expectations of Internet Service Providers (ISPs) with respect to security. A goal is that customers could have a framework that facilitates the discussion of security with prospective service providers; regrettably, such a discussion rarely takes place today. Additionally, in informing ISPs of what the community hopes and expects of them, a further goal is to encourage ISPs to become proactive in making security not only a priority, but something to which they point with pride when selling their services. Under no circumstances is it the intention of this document to dictate business practices. This document is addressed to Internet service purchasing decision- makers (customers) and to ISPs. It has been argued that vendors begin to care about security only when prompted by customers. I hope that this document will encourage both parties to more readily express how much they care about security, and that discussion between the community and its ISPs will be increased. 1.1 Conventions Used in this Document The key words "REQUIRED", "MUST", "MUST NOT", "SHOULD", "SHOULD NOT", and "MAY" in this document are to be interpreted as described in "Key words for use in RFCs to Indicate Requirement Levels" [RFC2119]. 2 Incident Response A Security Incident Response Team (SIRT) is a team that performs, coordinates, and supports the response to security incidents that involve sites within a defined constituency. The Internet community's expectations of SIRTs are described in "Expectations for Computer Security Incident Response" [RFC2350]. Whether or not an ISP has a SIRT, they should have a well-advertised way to receive and handle reported incidents from their customers. In addition, they should clearly document their capability to respond to reported incidents. 2.1 ISPs and Security Incident Response Teams (SIRTs) Some ISPs have SIRTs. However it should not be assumed that either the ISP's connectivity customers or a site being attacked by a customer of that ISP can automatically avail themselves of the services of the ISP's SIRT. ISP SIRTs are frequently provided as an added-cost service, with the team defining as their constituency only those who specifically subscribe to (and perhaps pay for) Incident Response services. Thus it's important to determine what incident response and security resources are available to you, and define your incident response escalation chain BEFORE an incident occurs. Customers should find out whether their ISP has a SIRT, and if so what the charter, policies and services of that team are. This information is best expressed using the SIRT template as shown in Appendix D of "Expectations for Computer Security Incident Response" [RFC2350]. If the ISP doesn't have a SIRT they should describe what role if any they will take in incident response, and should indicate if there is any SIRT whose constituency would include the customer and to whom incidents could be reported. 2.2 Assistance with Inbound Security Incidents When a security incident targeting one of their connectivity customers occurs ISPs should inform the customer of the attack. The ISP may also provide assistance to - trace the 'apparent' origin of the attack and attempt to determine the veracity of each step in the path (keeping in mind that the source address may be spoofed). In cases where the source address is spoofed the ISP could trace the point at which the bogusly addressed traffic entered the ISP's network. - obtain contact information for the source of the attack using whois [RFC1834 and RFC1835], the DNS [RFC1034 and RFC1035] or relevant common mailbox names [RFC2142]. - collect and protect evidence of the incident and guard against its destruction or unintentional announcement. If the event continues then, at the customer's request, ISPs may also assist by logging in order to further diagnose the problem, or by filtering certain types of traffic. 2.3 Assistance with Outbound or Transit Security Incidents In the case where one of their connectivity customers appears to be the source of a security incident an ISP will frequently be contacted. The ISP may facilitate the administrators at the source and the target of the incident getting in contact with each other, normally by passing contact information for the target to the ISP's customer. An ISP may also be contacted to assist with incidents that traverse their network but use bogus source addresses, such as SYN flooding attacks [CA-96.21.tcp_syn_flooding]. Assistance in this case might consist of using network traces on a hop by hop basis to identify the point at which the bogusly addressed traffic entered the ISP's network. In tracing such incidents it's frequently necessary to coordinate with adjacent ISPs to form a complete chain of response teams along the path of the attack. 2.4 Notification of Vulnerabilities and Reporting of Incidents ISPs should be proactive in notifying customers of security vulnerabilities in the services they provide. In addition, as new vulnerabilities in systems and software are discovered they should indicate whether their services are threatened by these risks. When security incidents occur that affect components of an ISP's infrastructure the ISP should promptly report to their customers - who is coordinating response to the incident - the vulnerability - how service was affected - what is being done to respond to the incident - whether customer data may have been compromised - what is being done to eliminate the vulnerability - the expected schedule for response, assuming it can be predicted 2.5 Contact Information [RFC2142] states that sites (including ISPs) must maintain a mailbox called SECURITY for network security issues, ABUSE for issues relating to inappropriate public behaviour and NOC for issues relating to network infrastructure. It also lists additional mailboxes that are defined for receiving queries and reports relating to specific services. ISPs should consider using common URLs for expanded details on the above (e.g., http://www.ISP-name-here.net/security/). In addition, ISPs have a duty to make sure that their contact information, in Whois, in the routing registry [RFC1786] or in any other repository, is complete, accurate and reachable. 2.6 Communication and Authentication ISPs SHOULD have clear policies and procedures on the sharing of information about a security incident with their customers, with other ISPs or SIRTs, with law enforcement or with the press and general public. ISPs SHOULD also be able to conduct such communication over a secure channel. Note, however, that in some jurisdictions secure channels might not be permitted. 3 Appropriate Use Policy Every ISP should have an Appropriate Use Policy (AUP). Whenever an ISP contracts with a customer to provide connectivity to the Internet that contract should be governed by an AUP. The AUP should be reviewed each time the contract is up for renewal, and in addition the ISP should proactively notify customers as policies are updated. An AUP should clearly identify what customers shall and shall not do on the various components of a system or network, including the type of traffic allowed on the networks. The AUP should be as explicit as possible to avoid ambiguity or misunderstanding. For example, an AUP might prohibit IP spoofing. 3.1 Announcement of Policy In addition to communicating their AUP to their customers ISPs should publish their policy in a public place such as their web site so that the community can be aware of what the ISP considers appropriate and can know what action to expect in the event of inappropriate behaviour. 3.2 Sanctions An AUP should be clear in stating what sanctions will be enforced in the event of inappropriate behaviour, and ISPs should be forthcoming in announcing to the community when such sanctions are imposed. 4 Protection of the Community ISPs play a crucial role in helping to improve the security of the Internet. This and following sections describe a number of issues which, should they be addressed by ISPs in a coordinated and timely way, would have a very positive effect on the security of the network, and would make it much more difficult for the perpetrators to cover their tracks. Later sections cover in some detail issues related to specific services such as ingress filtering and open mail relays. Such issues, if addressed by all the ISPs in a concerted way, could have a very positive effect. 4.1 Cooperation This section is about protecting the community. This requires that we as a community work together to that end. It's worth observing that many of the most significant successes in securing the Internet could not have been achieved by anyone acting alone. Cooperation may be put on legal ground. For example prior to entering into peering agreements ISPs might specify the steps they will take to cooperatively track security incidents that involve both peers. 4.2 Data Protection Many jurisdictions have Data Protection Legislation. Where such legislation applies, ISPs should consider the personal data they hold and, if necessary, register themselves as Data Controllers and be prepared to only use the data in accordance with the terms of the legislation. Given the global nature of the Internet ISPs that are located where no such legislation exists should at least familiarise themselves with the idea of Data Protection by reading a typical Data Protection Act (e.g., [DPR1998]). 4.3 Training It's important that all ISP staff be trained to be security-conscious at all times and to be able to make appropriate use of tools that enhance security. Some issues that they should be particularly aware of include the use of secure channels for confidential information, the risk of attacks that use social engineering, management of data used for authentication, and so on. 4.4 Registry Data Maintenance ISPs are commonly responsible for maintaining the data that is stored in global repositories such as the Internet Routing Registry (IRR) and the APNIC, InterNIC and RIPE databases. Updates to this data should only be possible using strong authentication. ISPs should 'SWIP' (Shared WhoIs Project) the address space that they assign to their customers so that there is more specific contact information for the delegated space. 5 Network Infrastructure ISPs are responsible for managing the network infrastructure of the Internet in such a way that it is - reasonably resistant to known security vulnerabilities - not easily hijacked by attackers for use in subsequent attacks 5.1 Routers Routers are an excellent platform from which to launch a security attack, as well as being attractive targets of themselves. Many routers allow an attacker to do dangerous things such as: - sniff transit traffic - manipulate routing tables to redirect traffic - manipulate interface states to disrupt service - create routing flaps which could potentially cause Denial of Service for large parts of the Internet - create packets with spoofed addresses, and with any desired flags set - initiate ICMP packet storms and other Denial of Service attacks - 'black hole' traffic (e.g., by holding a local route to a null or invalid interface, by holding a local route to an invalid next-hop (one which does not itself have a corresponding route, and does not have a default), or worst yet, by using a dynamic routing protocol to advertise availability of a low-cost route and thus actively drawing traffic toward the black hole) - launder connections to third-party destinations, facilitated by the router's lack of logging Such threats are amplified because of the central part in the networking infrastructure that routers occupy, and the large bandwidth frequently available to them. So access to routers SHOULD be based on one-time passwords or better (e.g., Kerberos) and should be as restricted as possible. Connections to the router should be logged to a different system. If the router supports different levels of authorisation these levels should be used to restrict privileged access to the router. Sessions should be encrypted to prevent sessions or data from being stolen and to avoid replay attacks. Routers should not run the 'small services', which are often enabled by default. These may include bootp, chargen, daytime, discard, echo and finger. 5.2 Switches, Terminal Servers, Modems and other Network Devices ISPs should be similarly vigilant in their configuration of other network devices. Unfortunately many such devices deployed in the field support only minimal authentication, do authorisation on an all-or-nothing basis and do little or no logging. In the past ISPs have been left with no trail to follow after their switches were reconfigured, their terminal servers were used to launch attacks on third parties or their Uninterruptable Power Supplies were shut down. Where possible access to such devices should be restricted only to legitimate network administrators. Network infrastructure devices frequently don't support extensive internal logging because they have no long-term storage, like hosts' hard drives. Many support syslog or SNMP traps however, or at least a short internal event log or debugging mode which can be captured through the console or a through a remote logging session. Router or switch configurations should always be maintained on a file server, so that they can be restored to previous configuration easily and quickly. These backup configurations should obviously be protected so that they cannot be transferred by unauthorised parties, or overwritten with new bogus configurations. 5.3 Anonymous telnet and other unlogged connections There are many network devices ranging from low-end routers to printers that accept telnet connections without prompting for a password. Obviously such devices, many of which don't maintain audit trails, are very popular among attackers who wish to cover their tracks. If ISPs have such devices on their own network they should restrict access to them. In addition, they should encourage their customers to block access to such devices from outside of the customer's network. The use of telnet to manage network elements is strongly discouraged. 5.4 The Network Operation Centre (NOC) and Network Management A NOC is a crucial part of an ISP's infrastructure, and should be operated with appropriate regard to security. A NOC frequently has management control over the configuration information of network devices, and should be vigilant in restricting access to that information. Loading of configuration information into network devices is still frequently done using the TFTP protocol [RFC1350], which not only lacks authentication and uses an insecure channel, but calls for great care in configuration at the server end [CA-91:18.Active.Internet.tftp.Attacks]. A NOC will generally perform a network monitoring function by polling (e.g., with ICMP Echo) a set of network devices periodically. In selecting the set of devices to be polled the crucial role of the devices in 5.2 shouldn't be overlooked. Beyond simple polling a NOC may also use a network management protocol such as SNMP to communicate with network devices. Usually this will be used to 'get' the value of various variables, such as the number of packets received on a particular interface. However the protocol can be used to 'set' variables, perhaps with serious results (e.g., the device can be reconfigured). In any case, SNMPv1 uses only trivial authentication. Where possible SNMP should be used as a read-only tool to 'get' information from remote devices, and the information gotten should be treated as confidential. A further use of SNMP is in trap reporting, whereby a management station is notified when certain exceptions occur. This information should also be considered confidential, and the NOC should take care that such trap reporting cannot of itself become a Denial of Service attack. 5.5 Physical Security The physical security of every installation should be given appropriate consideration. This is particularly so for co-located facilities to which people from different organisations and with different security policies have access. Three types of co-location arrangements are of particular interest: - customers co-locating equipment at an ISP's facility - ISPs co-locating equipment at an external facility with authorised 'remote hands' - ISPs co-locating equipment at an external facility with no authorised physical access The first case is most likely to directly concern the customer. If an ISP has a co-location facility for the hosting of customer-owned equipment many issues arise surrounding customer access to their co- located equipment. Ideally every customer would have a fully enclosed locking 'cage', akin to a small room with walls and ceiling of heavy wire mesh fencing, containing the racks in which their equipment is mounted. Customers are allowed access to their own cage under escort by one of the ISP's employees, or with keys that grant access specifically to their cage. This assignment of separate cages is expensive in terms of space however, so many ISPs compromise by putting all co-located equipment together in a single machine room, and managing the actions of escorted customers very closely. However this may be insufficient to prevent mishaps such as the accidental disconnection of another customer's equipment. If a single machine room is used then the ISP should provide separate locking cabinets for each co-location customer in preference to an open common area. A customer should always be supervised while in the physical presence of any equipment that is not their own, and should not be allowed to touch, photograph, or examine equipment belonging to another customer. Also of concern is layer 2 security of co-located equipment. Customer equipment should not be allowed to share a physical network segment with hosts belonging to anyone else, whether another customer or the ISP themselves. It's common for crackers to exploit weak security or unencrypted remote logins on co-located customer-owned equipment to take control of that equipment and put it into promiscuous listening mode on the local network segment, thereby potentially compromising the privacy and security of any other devices on that segment. When ISPs co-locate network infrastructure components outside of their own premises, such as at peering points or remote POPs, security considerations are extremely important. These locations often play a pivotal role in the network topology, and may be particular targets for attack or vulnerable to accidents. Equipment should ideally be fully enclosed in locking cabinets or cages to limit physical access. If on-site spares are kept, they should likewise be protected from tampering. Whenever possible, security systems and logging card-swipe locks should be employed. Installations should be inspected periodically for the addition of unauthorised equipment which might be used to 'tap' a connection. As with any other facility, hosts should not be attached to transit segments, and hosts should never have unused physical interfaces attached to network segments. 5.6 Routing Infrastructure An ISP's ability to route traffic to the correct destination depends on routing policy as configured in the routing registries [RFC1786]. ISPs should ensure that the registry information that they maintain can only be updated using strong authentication, and that the authority to make updates is appropriately restricted. Due care should also be taken in determining in whose routing announcements you place greater trust when a choice of routes are available to a destination. In the past bogus announcements have resulted in traffic being 'black holed', or worse, hijacked. BGP authentication should be used with routing peers. The internal routing protocol that an ISP uses should be chosen with security in mind. It should not be configured with the assumption that route recalculations are rare and expensive as this would leave the way open for a Denial of Service attack. Routing updates should use the highest level of authentication supported by the internal routing protocol. If more specific routes to parts of the ISP's allocated address space are heard from external peers then the ISP needs to be judicious in deciding whether to accept the announcement. Only ISPs who have allowed their CIDR address allocations to become fragmented (by allowing customers to take addressess with them when they change providers) have to face this decision. 5.7 Ingress Filtering on Source Address The direction of such filtering is from the edge site (customer) to the Internet. Attackers frequently cover their tracks by using forged source addresses. To divert attention from their own site the source address they choose will generally be from an innocent remote site or indeed from those addresses that are allocated for private Internets [RFC1918]. In addition, forged source addresses are frequently used in spoof-based attacks in order to exploit a trust relationship between hosts. To reduce the incidence of attacks that rely on forged source addresses ISPs should do the following. At the boundary router with each of their customers they should proactively filter all traffic coming from the customer that has a source address of something other than the addresses that have been assigned to that customer. For a more detailed discussion of this topic see [RFC2267]. There are (rare) circumstances where ingress filtering is not currently possible, for example on large aggregation routers that cannot take the additional load of applying packet filters. In addition, such filtering can cause difficulty for mobile users. Hence, while the use of this technique to prevent spoofing is strongly encouraged, it may not always be feasible. In these rare cases where ingress filtering at the interface between the customer and the ISP is not possible, the customer should be encouraged to implement ingress filtering within their networks. In general filtering should be done as close to the actual hosts as possible. 5.8 Egress Filtering on Source Address The direction of such filtering is from the Internet to the edge site (customer). There are many applications in widespread use on the Internet today that grant trust to other hosts based only on ip address (e.g., the Berkeley 'r' commands). These are susceptible to IP spoofing, as described in [CA-95.01.IP.spoofing]. In addition, there are vulnerabilities that depend on the misuse of supposedly local addresses, such as 'land' as described in [CA-97.28.Teardrop_Land]. To reduce the exposure of their customers to attacks that rely on forged source addresses ISPs should do the following. At the boundary router with each of their customers they should proactively filter all traffic going to the customer that has a source address of any of the addresses that have been assigned to that customer. The circumstances described in 5.7 in which ingress filtering isn't feasible apply similarly to egress filtering. 5.9 Route Filtering Excessive routing updates can be leveraged by an attacker as a base load on which to build a Denial of Service attack. At the very least they will result in performance degradation. ISPs should filter the routing announcements they hear, for example to ignore routes to addresses allocated for private Internets, to avoid bogus routes and to implement route dampening and aggregation policy. ISPs should implement techniques that reduce the risk of putting excessive load on routing in other parts of the network. These include 'nailed up' routes, aggressive aggregation and route dampening, all of which lower the impact on others when your internal routing changes in a way that isn't relevant to them. 5.10 Directed Broadcast The IP protocol allows for directed broadcast, the sending of a packet across the network to be broadcast on to a specific subnet. Very few practical uses for this feature exist, but several different security attacks (primarily Denial of Service attacks making use of the packet multiplication effect of the broadcast) use it. Therefore, routers connected to a broadcast medium SHOULD NOT be configured to allow directed broadcasts onto that medium. If it is a packet to which the router would respond if received as a unicast, it MAY send a (single) response. If it is not responding (either because it's not appropriate, or because it's been configured not to) it MAY send an ICMP error. It is also appropriate to silently discard such packets. In any case such packets should be counted to detect possible attempts to abuse this feature. 6 Systems Infrastructure The way an ISP manages their systems is crucial to the security and reliability of their network. A breach of their systems may minimally lead to degraded performance or functionality, but could lead to loss of data or the risk of traffic being eavesdropped (thus leading to 'man-in-the-middle' attacks). In general a 'horses for courses' approach to the provision of systems services should be adopted (i.e., separate systems should be used to deliver each distinct service). Apart from the benefits that accrue in terms of easing systems administration it's widely acknowledged that it's much easier to build secure systems if different services (such as mail, news and web-hosting) are kept on separate systems. The services discussed in later sections will all benefit from strong security at a lower layer when IPSec is deployed. 6.1 Policy An ISP's policy with regard to privacy, authentication, accountability, application of security patches, availability and violations reporting should all be of interest to their customers, and should be published in a public place such as the ISP's web site. A more detailed discussion of Security Policy can be found in the Site Security Handbook [RFC2196]. 6.2 System Management All systems that perform critical ISP functions such as mail, news and web-hosting, should be restricted such that access to them is only available to the administrators of those services. That access should be granted only following strong authentication, and should take place over an encrypted link. Only the ports on which those services listen should be reachable from outside of the ISP's systems networks. If the ISP provides login accounts to customers then the systems that support this service should be isolated from the rest of the ISP's systems networks. If applications such as rdist are used for software distribution and synchronisation then they should be used over a secure channel and with strong authentication, for example over Secure Shell (ssh) [SSH1997]. A system should not be attached to transit segments. If reusable passwords are permitted then users should be educated about how to choose and care for a password, and proactive password checks, password aging and password guessers should be employed. 6.3 Backup The importance of backups need not be stressed here. However backups can become the weakest link in a system's security if appropriate care isn't taken of backup media. If backups are done across the network then a secure channel should be used. If volumes are dumped to staging disks during the backup process then access to the images on those staging disks should be as restricted as possible. Backups take on additional significance as audit data following a security incident. Ageing backup media should be destroyed rather than discarded. The customers of a system or service should be informed of what is and is not backed up. Further, if customers have been informed that certain data is not backed up then it should not be backed up. 6.4 Software Distribution ISPs frequently engage in application software distribution. The integrity of the software should be assured by distributing with it a checksum that has been produced with a strong digest function such as SHA-1 [SHA]. 7 Domain Name Service (DNS) The DNS is critical to the daily activities of millions of Internet users. Regrettably applications have frequently placed blind trust in the information contained in the DNS, and in the availability of the DNS. However prior to DNSSEC [RFC2065] the DNS protocol lacked security, while widely used implementations of the DNS protocol contain further severe vulnerabilities [VIX1995]. While this section indicates some methods in which the DNS can be made more trustworthy and reliable it cannot be stressed too strongly that name based authentication is inherently insecure. 7.1 DNS Server Administration In addition to issues raised in section 6 ISPs will need to address the following issues in administering their DNS servers: - Service Monitoring. The service availability (ability to answer queries) should be monitored. - Clock synchronisation. Servers should synchronise their clocks using the NTP protocol [RFC1305] with authentication. At least two NTP servers should be used. 7.2 Authoritative Domain Name Service An Authoritative Server is one that knows the content of a DNS zone from local knowledge, and thus can answer queries about that zone without needing to query other servers. Customers should consider [RFC2182] when choosing secondary DNS servers. ISPs commonly operate as secondary (or slave) servers for their customers, and these servers may provide service for thousands of zones. Regardless of the number of zones, administrators of these servers should familiarise themselves with the Operational Criteria for Root Name Servers [RFC2010] as a basis for deciding how to provide highly available service. In particular they should follow these guidelines: - Recursion should be disabled for queries. - Zone transfer should be restricted. Apart from the significant load presented by zone transfer with resultant exposure to Denial of Service attacks, ISPs should recognise that some of their customers will consider the contents of their zone files to be private. - Performance Monitoring. Key variables such as queries per second and average latency should be monitored. 7.3 Resolution Service ISPs commonly operate DNS resolution service for their customers. In this scenario customers configure their DNS resolver (client) to resolve queries from the ISP's DNS resolution servers. For resolution servers ISPs should follow these guidelines: - Recursion must be enabled for queries. An implication is that ISPs should not use the same servers for resolution service and authoritative DNS service. - Zone transfer should be disallowed. Even though there may be no zones to transfer, allowing zone transfers would expose the servers to Denial of Service attacks. - Performance Monitoring. Key variables such as queries per second and average latency should be monitored. In addition, the hosts generating the highest number of requests should be periodically reported. - Name server software. A name server package should be run that is not vulnerable to server cache poisoning where malicious or misleading data received from a remote name server is cached and is then made available to resolvers that request the cached data. 8 Email and Mail Services Email has been the target of some of the most widely reported security attacks, as well as thousands of juvenile hoaxes and pranks. ISPs have a major role in protecting the community from abuse and in educating their customers in appropriate technologies and in appropriate uses of the technology. 8.1 Mail Server Administration In configuring mail servers ISPs should follow these guidelines: - Mail software. If possible software that uses a separate receiving/sending agent and a processing agent should be used. A goal is that the receiving/sending agent, which interfaces with remote mail servers, can be run with reduced privilege. - Restrict remote message queue starting. On-demand queue runs (to facilitate customers who receive mail at their own domain and don't have permanent connections) should be restricted, preferably using a strong authentication mechanism. Remote message queue starting is implemented using a variety of mechanisms, one of which is the ETRN SMTP service extension as described in [RFC1985]. - Disable VRFY and EXPN. No more should be revealed about local users or delivery mechanisms than is necessary. - Clock synchronisation. Servers should synchronise their clocks using the NTP protocol [RFC1305] with authentication. At least two NTP servers should be used. - Exception Reporting. Exceptional conditions such as repeated authentication failures, mail loops and abnormal queue length should be trapped and reported. - Restrict Access to mail logs. Mail logs should only be readable by system administrators. 8.2 Secure Mail As indicated in 2.6, It's critical that ISPs, and in particular their Security Incident Response personnel, have access to tools that allow them to exchange email securely. 8.3 Open Mail Relay An SMTP mail server is said to be running as an 'open' mail relay if it is willing to accept and relay to non-local destinations mail messages that do not originate locally (i.e., neither the originator nor the recipient address is local). Such open relays are frequently used by 'spammers' to inject their Unsolicited Bulk E-mail (UBE) while hiding their identity. There are only very limited circumstances in which an administrator can make a justifiable case for leaving a mail relay on the Internet completely open. The processes for restricting relaying are well documented. It's regrettable that some major software vendors ship their Message Transfer Agents (MTAs) with relaying open by default. While this is an issue for the whole community, ISPs should be particularly vigilant in disabling open relaying on mail servers that they manage because their high-bandwidth connectivity makes them the preferred injection point for UBE. ISPs should also strongly encourage their customers to disable open relaying on their mail servers. Sanctions for running an open mail relay should be covered in an ISP's AUP. 8.4 Message Submission To facilitate the enforcement of security policy message submission should be done through the MAIL SUBMIT port (587) as proposed in the work in progress called "Message Submission and Relay", rather than through the SMTP port (25). In addition, message submissions should be authenticated using the AUTH SMTP service extension as described in the work in progess called "SMTP Service Extension for Authentication". In this way the SMTP port (25) can be restricted to local delivery only. These two measures not only protect the ISP from serving as a UBE injection point, but also help in tracking accountability for message submission in the case where a customer sends UBE. Furthermore, using the Submit port with SMTP AUTH has additional advantages over IP address-based submission restrictions in that it gives the ISP's customers the flexibility of being able to submit mail even when not connected through the ISP's network (for example, while at work), is more resistant to spoofing, and can be upgraded to newer authentication mechanisms as they become available. The (undocumented) XTND XMIT POP3 extension which allows clients to send mail through the POP3 session rather than using SMTP may also be considered. It also provides a way to support mobile users at sites where open relaying is disabled, and has the benefit of an authenticated connection and a better audit trail. 8.5 POP and IMAP Services ISPs who provide POP or IMAP access to mailboxes to their customers should, at a minimum, support the CRAM-MD5 [RFC2195] or APOP [RFC1939] authentication mechanisms. Support for stronger mechanisms should be considered, as should disabling plaintext (user/password) authentication. 9 News Service (NNTP) As in the case of SMTP, the NNTP protocol [RFC977] used by News suffers from a lack of authentication, so it's trivial to forge news postings. Forgeries can bypass the moderation process, cancel legitimate articles and create havoc for sites that maintain an active file. The lack of encryption in the protocol and the manner in which many news systems are maintained lead to privacy issues in that it's easy for others to detect what newsgroups and articles you are reading. 9.1 News Server Administration In configuring news servers ISPs should follow these guidelines: - News software. A news software package should be run that is not vulnerable to maliciously formed news control messages or buffer overflows. - Disable other services. Given news' propensity to consume all available disk space and CPU cycles it's particularly important that news systems do not perform other services. - Do not interpret batches. If incoming batches of articles are supported they should not be fed to a command interpreter. - Restrict Access to news logs. News logs should only be readable by system administrators. - Authenticate approved headers. If possible support for cryptographic authentication of approved messages should be supported, particularly in the case of group control messages. 9.2 Article Submission As many of the issues relating to open mail relays (8.3) apply to news, ISPs should restrict article submission only to approved customers. Further, the networks from which posting is allowed and the newsgroups to which posting is allowed should be as restricted as possible. 9.3 Control Messages Control messages attempt to cause the news server to take action beyond filing and passing on the article. Certain control messages, because of the ease with which they can be forged, should be handled with care. While it is up to the ISP to decide whether to take action they must at least propagate control messages even if they do not understand them. - 'whogets', 'sendsys', 'version' should be ignored by ISPs. - While 'cancel' messages must be acted on and propagated their sheer volume can sometimes swamp service, and the fact that much of that volume is computer-generated is worrying. - Systems that require the maintenance of an active file should exercise extreme caution in choosing which if any group control messages (checkgroups, newgroup, rmgroup) will be acted upon. 9.4 Newsfeed Filters The most obvious form of security problem with news is 'leakage' of articles which are intended to have only restricted circulation. The flooding algorithm is extremely good at finding any path by which articles can leave a subnet with supposedly restrictive boundaries. Substantial administrative effort is required to ensure that local newsgroups remain local [SPE1994]. ISPs who provide customers with the ability to remotely manipulate their inbound filters should use strong authentication for this service. ISPs should not propagate articles that are excessively crossposted. 10 or more cross-postings is commonly considered to be excessive. ISPs should impose an upper limit on the article size that they will propagate. 10 Web-hosting Services Sites frequently choose to out-source the operation and administration of their site to an ISP, and security is often a prominent motivator for doing so. The hosting of such sites and provision of related services is the subject of this section. Further information on the topic can be found in [GAR1997] and [HUG1995]. 10.1 Webhosting Server Administration In addition to issues raised in section 6 ISPs will need to address the following issues in administering their web-hosting servers: - Service Monitoring. The service availability (ability to answer HTTP requests) should be monitored. - Clock synchronisation. Servers should synchronise their clocks using the NTP protocol [RFC1305] with authentication. At least two NTP servers should be used. - DNS. DNS lookups should not be performed on web clients when they connect because they expose the web servers to DNS-based Denial of Service attacks, and they adversely affect performance. - Process User and Group. The web daemon should be run as a user and group that is set up specifically for that purpose, and that user/group should have minimal privilege. This user should be different from the maintainers of the web content. - DocumentRoot. Everything below this directory should be subject to the strictest scrutiny. If possible chroot should be used to change the HTTP daemon's root directory. - UserDir. Users other than administrators should not be permitted on the server. If users have accounts then the 'UserDir' directive, if permitted, should not access their private accounts. In particular, scripts should not be permitted to be run from their accounts. - Partitioning of Virtual Sites. A single server that hosts multiple sites (virtual domains) SHOULD be set up such that all data, programs and logs for the different sites are partitioned from each other such that no access to the configuration or data of each other's sites is possible. In addition, it should not be possible to access the data or programs of one customer's site using a URL that has the name of another customer's site in it's host part. - Access Control. Restricted access to certain parts of a site should be facilitated using a strong authentication mechanism such as a certificate or a one-time password device. An alternative is to use well-chosen passwords in conjunction with SSL which at least avoids passwords being passed across the network in plaintext. - Security Patches and Service Packs. The stakes in running a web server are particularly high, so administrators should be particularly vigilant in applying security patches and Service Packs as they are released. 10.2 Server Side Programs Server side programs such as those that use the Common Gateway Interface (CGI) or other server side interfaces are important to the flexibility of the web as a communications medium. However that flexibility introduces security risks and a weak program might threaten all of the virtual hosts on the server that runs it. An ISP's policy with regard to what programs it will allow is a good indicator of security policy in general. ISPs should consider the guidelines on server side programs and CGIs: - Security Policy. ISPs should give their customers clear guidelines about how to write secure programs for their hosting environment, and give specific indications about what programming practices will result in a program being rejected. - Program Installation. Customers should not be allowed to install their own programs. All programs and scripts should be submitted to the ISP first to be checked for conformance with security policy. The programs SHOULD be installed such that only the server administrators have permission to modify them. - Process User and Group. Programs should be run as a user and group that is set up specifically for that purpose, and that user/group should have minimal privilege (many sites use 'nobody'). - Display by Browsers. Programs SHOULD never be allowed to be viewed by browsers. One implication of that is that they SHOULD NOT be put under the DocumentRoot. - Partitioning of Virtual Sites. Programs SHOULD NOT be accessible through the site of another customer on the same server, or to the webmaster of that other customer. - User Input. Expressions SHOULD NOT be evaluated based on user input except when used with the equivalent of Perl's tainting features. - Processing Limit. All programs SHOULD have a limit set on real and CPU time, and on the amount of disk space that they can consume. - Paths. All paths SHOULD be full or starting at DocumentRoot, and the PATH variable should be set by the server administrator. 10.3 Data and Databases Data that is written by server-side programs should be considered confidential. To prevent them being read by browsers their permission should be such that they're not readable by the web daemon process. If access to a back-end database is provided then programs that facilitate such access should have the least privilege that is absolutely necessary. Data that relates to state management (cookies) that is stored on the server should be considered confidential and should not be accessible from browsers. 10.4 Logs and Statistics Reporting The logs generated by the web daemon process can be useful from the security viewpoint in providing an audit trail of site activity, however their more common use is for billing and for market and site analysis. These logs should be considered highly confidential. - The only manipulation of them done by the ISP should be that which is necessary to generate billing information and periodically rotate them. - They should be stored outside of DocumentRoot to prevent access by a browser to them. - Access to them, whether in raw or summarised format, should be provided to the customer over a secure channel. 10.5 Push and Streaming Services ISPs frequently provide their customers with the ability to deliver content using protocols other than HTTP. Where such add-on services are provided, both the customer and the ISP should be aware of the security implications of providing such services. 10.6 Commerce Many ISPs set up the means whereby their customers can sell goods and services through their web-hosted sites. Though a server that can exchange information with a browser over SSL is sometimes described as a 'secure server' this term can be misleading, and ISPs that host commerce applications should consider the following: - Encrypted Transactions. Transactions should never be stored on the server in unencrypted form. Public key cryptography may be used such that only the customer can decrypt the transactions. However even when transactions are passed directly to a financial institution and to the customer some part of the transaction will have to be stored by the ISP for audit trail purposes. - Transaction Transfer. If transactions are not processed immediately but instead are transferred to the customer in batches then that transfer should occur over a secure channel such as SSL and only after strong authentication has taken place. Transaction files should be carefully rotated so that every transaction occurs exactly once. - Backups. If transactions are written to backup media then the physical security of the backup media should be assured. 10.7 Content Loading and Distributed Authoring The loading of content onto the ISP's server should happen over a secure channel. If server support for Distributed Authoring tools is enabled, then this should be administered with great care to ensure that strong authentication takes place and that access is given only to the customer's virtual site, and only to that customer's content maintainer. 10.8 Search Engines and other tools ISPs frequently install tools such as search engines, link checkers and so on for use by their customers. Many such tools create a very great processing overhead when run and so running them on-demand should not be allowed to avoid Denial of Service attacks. Search engines should be configured so that their searches are restricted to those parts of a site that are available to all. The output of link checkers should be considered confidential, and should only be available to the content maintainer of the customer's site. 11 References [CA-91:18.Active.Internet.tftp.Attacks] "Active Internet tftp Attacks", ftp://info.cert.org/pub/cert_advisories/ [CA-95.01.IP.spoofing] "IP Spoofing Attacks and Hijacked Terminal Connections", ftp://info.cert.org/pub/cert_advisories/ [CA-96.21.tcp_syn_flooding] "TCP SYN Flooding and IP Spoofing Attacks", ftp://info.cert.org/pub/cert_advisories/ [CA-97.28.Teardrop_Land] "IP Denial-of-Service Attacks", ftp://info.cert.org/pub/cert_advisories/ [DPR1998] The UK "Data Protection Act 1998 (c. 29)", http://www.hmso.gov.uk/acts/acts1998/19980029.htm [GAR1997] Garfinkel, S., "Web Security and Commerce", O'Reilly and Associates, Sebastopol, CA, 1997. [HUG1995] Hughes Jr., L., "Actually Useful Internet Security Techniques", New Riders Publishing, Indianapolis, IN, 1995. [RFC977] Kantor, B and P. Lapsley, "Network News Transfer Protocol", RFC 977, February 1986. [RFC1350] Sollins, K. R., "The TFTP Protocol (revision 2)", STD 33, RFC 1350, July 1992. [RFC1034] Mockapetris, P. V., "Domain names - concepts and facilities", STD 13, RFC 1034, November 1987. [RFC1035] Mockapetris, P. V., "Domain names - implementation and specification", STD 13, RFC 1035, November 1987. [RFC1305] Mills, D., "Network Time Protocol (Version 3) Specification, Implementation", RFC 1305, March 1992. [RFC1786] Bates, T., Gerich, E., Joncheray, L., Jouanigot, J-M., Karrenberg, D., Terpstra, M., and J. Yu, "Representation of IP Routing Policies in a Routing Registry (ripe-81++)", RFC 1786, March 1995. [RFC1834] Gargano, J., and K. Weiss, "Whois and Network Information Lookup Service", RFC 1834, August 1995. [RFC1835] Deutsch, P., Schoultz, R., Faltstrom, P., and C. Weider, "Architecture of the WHOIS++ service", RFC 1835, August 1995. [RFC1918] Rekhter, Y., Moskowitz, B., Karrenberg, D., de Groot, G. J., and E. Lear, "Address Allocation for Private Internets", BCP 5, RFC 1918, February 1996. [RFC1939] Myers, J., and M. Rose, "Post Office Protocol - Version 3", RFC 1939, May 1996. [RFC1985] De Winter, J. "SMTP Service Extension for Remote Message Queue Starting", RFC 1985, August 1996. [RFC2010] Manning, B., and P. Vixie, "Operational Criteria for Root Name Servers", RFC 2010, October 1996. [RFC2065] Eastlake 3rd, D., and C. Kaufman, "Domain Name System Security Extensions", RFC 2065, January 1997. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", RFC 2119, March 1997. [RFC2142] Crocker, D., "Mailbox Names for Common Services, Roles and Functions", RFC 2142, May 1997. [RFC2195] Klensin, J., Catoe, R., and P. Krumviede, "IMAP/POP AUTHorize Extension for Simple Challenge/Response", RFC 2195, September 1997. [RFC2196] Fraser, B., "Site Security Handbook", RFC 2196, September 1997. [RFC2267] Ferguson, P., and D. Senie, "Network Ingress Filtering: Defeating Denial of Service Attacks which employ IP Source Address Spoofing", RFC 2267, January 1998. [RFC2350] Brownlee, N., and E. Guttman, "Expectations for Computer Security Incident Response", RFC 2350, June 1998. [SHA] NIST, FIPS PUB 180-1: Secure Hash Standard, April 1995. [SPE1994] Spencer, H., "News Article Format and Transmission", ftp://ftp.zoo.toronto.edu/pub/news.txt.Z [SSH1997] SSH (secure Shell) Remote Login Program, http://www.cs.hut.fi/ssh/ [VIX1995] Vixie, P., "DNS and BIND Security Issues", ftp://ftp.vix.com/pri/vixie/bindsec.psf, 1995. 12 Acknowledgements I gratefully acknowledge the constructive comments received from Nevil Brownlee, Randy Bush, Bill Cheswick, Barbara Y. Fraser, Randall Gellens, Erik Guttman, Larry J. Hughes Jr., Klaus-Peter Kossakowski, Michael A. Patton, Don Stikvoort and Bill Woodcock. 13 Security Considerations This entire document discusses security issues. 14 Author's Address Tom Killalea 1516 2nd Ave Seattle, WA 98101 USA Phone: +1 206 694-2196 E-Mail: tomk@neart.ie 15 Full Copyright Statement Copyright (C) The Internet Society (1998). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implmentation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organisations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE." This document expires June 20, 1999.