IPv6 security for sites (based on my GridKa School talk) David Kelsey (STFC-RAL) HEPiX IPv6 WG, CERN 16 Sep 2015 IPv6 security pros/cons • Advantages of a new design – Security: important part of the IPv6 initial design • Down-sides – – – – – Lack of maturity New vulnerabilities and attack vectors Need IPv6-compliant monitoring and tools Lack of education and experience Problems of transition – dual-stack, tunnels • BUT - Many threats/attacks happen at layers above/below the network layer – And are therefore exactly the same as in IPv4 – Malware, phishing, buffer overflows, cross-site scripting, DDoS etc etc 16 Sep 2015 IPv6 Security (Kelsey) 2 Immediate IPv6 concerns • IPv6 may be on by default (and not controlled or monitored) • End systems have multiple addresses • Searching logs will not always work – Formatting when writing the logs is still broken – Same address but different formats (drop zero or not) • What is wrong with tunnels? – Site may not be in control – Tunnels traverse the IPv4 perimeter firewall and NAT gateways • Reputation-based (IP address) web protection does not fully exist for IPv6 16 Sep 2015 IPv6 Security (Kelsey) 3 IPsec • Was first developed in 1995 for IPv4 internet layer – SSL and TLS operate at Application Layer • A framework of standards – End to end authentication, data integrity and privacy (encryption) • Can be used site to site (gateway to gateway) – As a Virtual Private Network (VPN) • Or host to host • All major aspects are same in IPv6 as IPv4 • Does not fully support protection for multicast traffic – Key management is one-to-one • No longer mandatory (rfc6434 – MUST -> SHOULD) 16 Sep 2015 IPv6 Security (Kelsey) 4 IPv6 problems in IPv4-only world • Turned on by default on many Operating Systems – Windows Vista was the first • Rogue router advertisements – Badly configured or malicious • Tunnels turned on (by default, by bad config.) • IPv6 and tunnels can bypass firewalls – Must filter IPv6 traffic and tunnels 16 Sep 2015 IPv6 Security (Kelsey) 5 IPv6 deployment risks • The attacker community can make good use of IPv6 – They are IPv6 experts – E.g. for tunneling leaked info out from compromised systems • Vulnerabilities present in IPv6, including day zero issues inherent in any new or revised system – 224 CVE entries with keyword “IPv6” since 2002 – 29 in 2015 • Complexity added by dual IPv4/IPv6 operations • Immaturity of IPv6 security products and processes • Lack of vendor support. 16 Sep 2015 IPv6 Security (Kelsey) 6 NAT and IPv6 • NAT has been essential to preserve the IPv4 address space • Many concerns about lack of NAT in IPv6 • IPv4 address/port translation is not the main protection of the end systems • It is the stateful firewall that protects! 16 Sep 2015 IPv6 Security (Kelsey) 7 Some IPv6 protocol attacks 16 Sep 2015 IPv6 Security (Kelsey) 8 Extension Header vulnerabilities • Routing Header Type 0 – Source Routing • Lots of security issues with RH0 – – – – Destination address in packet is replaced at every Layer 3 hop Difficult for firewalls to determine the actual destination and compare with policy Can be used for DoS traffic amplification RH0 depracated (rfc5095) • Fragmentation issues – Upper-layer info may be in second packet (and not inspected by firewall) – IPv6 standard defines every link to have MTU of at least 1280 bytes • Smaller fragments should be suspicious • Hop-by-hop extension header also dangerous • Solutions include – Filter on allowed and expected EH 16 Sep 2015 IPv6 Security (Kelsey) 9 Newer RFCs on Headers • rfc6564 - A Uniform Format for IPv6 Extension Headers (April 2012) • rfc7045 - Transmission and Processing of IPv6 Extension Headers (Dec 2013 – B Carpenter) • rfc7112 - Implications of Oversized IPv6 Header Chains (Jan 2014) 16 Sep 2015 IPv6 Security (Kelsey) 10 Neighbor Discovery Protocol • NDP authenticates neither the requestor or responder – Spoofing is possible • SLAAC, NDP and DAD include protection mechanisms – – – – Source address for RA and NS messages must be unspecified (::) Hop limit must be 255 (the maximum) RA and NA messages must be rejected if hop limit is not 255 This prevents a remote attacker sending forged RA or NA messages • scope is always local 16 Sep 2015 IPv6 Security (Kelsey) 11 Secure Neighbor Discovery • Secure Neighbor Discovery (SEND) (rfc3971) – – – – Uses Cryptographically Generated Addresses (rfc3972) SEND has a pair of public/private keys per IPv6 node ND is extended with more options Interface identifier is crypto generated based on current IPv6 prefix/public key – Signatures are generated and checked to authenticate nodes • Not many implementations • How are keys generated/managed? • How many actually use this? 16 Sep 2015 IPv6 Security (Kelsey) 12 Rogue RA • No authentication mechanism built into SLAAC • Malicious host can send rogue RA and pretend to be a router – Can capture or drop packets • Badly configured systems too 16 Sep 2015 IPv6 Security (Kelsey) 13 Detecting rogue RA messages • Use generic IDS with customised signatures – RA whose source MAC or IP is not in a configured list • Lots of manual configuration! • Use tool NDPMon – And check against XML config file – also monitor all NS and NA – To check when NA contradicts a previous one • Intelligent switches – known RA source • Cisco RA Guard • Rafixd (and ramond) – Detect all rogue RA messages and immediately transmit another forged RA with lifetime 0 seconds (to clear the rogue info on all nodes) 16 Sep 2015 IPv6 Security (Kelsey) 14 DAD • Duplicate Address Detection – Host checks whether its address is already in use – Sends NS asking for resolution of its own address – An attacker can launch a DoS attack by pretending to own all IPv6 addresses on the LAN 16 Sep 2015 IPv6 Security (Kelsey) 15 ICMPv6 • Internet Control Message Protocol (rfc4443) • An important component of IPv6 • Redefines ICMPv4 with additions and changes – Ping, destination unreachable, neighbor discovery, path MTU discovery – Error messages (message number 1 to 127) – Informational messages (128 to 255) • Essential to establish strict ICMP filtering policies – Define ICMPv6 messages that can/cannot pass between the site and the internet • E.g. PMTU and ND • Rfc4890 “Recommendation for Filtering ICMPv6 Messages in Firewalls” – Each site needs to consider carefully! 16 Sep 2015 IPv6 Security (Kelsey) 16 Issues for Sites 16 Sep 2015 IPv6 Security (Kelsey) 17 NIST 800-119 quote • The deployment of IPv6 reinforces the basic security lessons learned with IPv4. These security practices include defense in depth, diversity, patching, configuration management, access control, and system and network administrator best practices. Good security practices remain unchanged with the deployment of IPv6. Good security practices will reduce exposure and recovery time in case of a security event. 16 Sep 2015 IPv6 Security (Kelsey) 18 Critical Security Controls for Effective Cyber Defense http://www.sans.org/critical-security-controls/ (© SANS, CC-BY-ND) Top 20 Critical Security Controls (Version 5) 1: Inventory of Authorized and Unauthorized Devices 2: Inventory of Authorized and Unauthorized Software 3: Secure Configurations for Hardware and Software on Mobile Devices, Laptops, Workstations, and Servers 4: Continuous Vulnerability Assessment and Remediation 5: Malware Defenses 6: Application Software Security 7: Wireless Access Control 8: Data Recovery Capability 9: Security Skills Assessment and Appropriate Training to Fill Gaps 16 Sep 2015 10: Secure Configurations for Network Devices such as Firewalls, Routers, and Switches 11: Limitation and Control of Network Ports, Protocols, and Services 12: Controlled Use of Administrative Privileges 13: Boundary Defense 14: Maintenance, Monitoring, and Analysis of Audit Logs 15: Controlled Access Based on the Need to Know 16: Account Monitoring and Control 17: Data Protection 18: Incident Response and Management 19: Secure Network Engineering 20: Penetration Tests and Red Team Exercises IPv6 Security (Kelsey) 19 ISSeG: Top 12 Recommendations EU FP6 Project – partners: CERN, FZK (now KIT), STFC (Integrated Site Security for Grids) http://isseg-training.web.cern.ch/ISSeG-training/Recommendations/Top-Recommendations.htm R0 : Perform a site security risk assessment R1 : Create and review your information security policy R8 : Encourage information security awareness, education and training R14 : Separate your development, test, and operational facilities R16 : Install and regularly update malicious code detection and repair software for example anti-virus R18 : Establish backup and restore policies and procedures R23 : Enable audit logging of user activities, exceptions and security events R26 : Restrict and control the allocation of privileges R28 : Enforce good practices in the selection and use of passwords R29 : Ensure that unattended equipment is appropriately protected R36 : Establish a CSIRT and incident response procedures R39 : Protect your confidential and sensitive data Copyright (c) Members of the ISSeG Collaboration 2008 16 Sep 2015 IPv6 Security (Kelsey) 20 UK Jisc advice • Technical Security for e-Infrastructures (Nov 2014) • Considers the Cyber-Security Council’s Top 20 controls • General, not IPv6 • https://community.jisc.ac.uk/groups/uk-einfrastructure-security-access-managementwg/ 16 Sep 2015 IPv6 Security (Kelsey) 21 IPv6 issues for security/network teams • • • • • • • • • • Control IPv6 if not using it Use Dual-stack and avoid use of tunnels wherever possible Drop packets containing RH Type 0 and unknown option headers Deny packets that do not follow rules for extension headers Filter IPv6 packets that enter and leave your network Restrict who can send messages to multicast group addresses Create an Address management plan Create a Security Policy for IPv6 (same as IPv4) Block unnecessary ICMPv6 Protect against LAN RA, ND and DHCP attacks – Use SEND and authenticated DHCPv6 (is this useful?) – NDPMON and RAFIXD on critical segments • Check/modify all security monitoring, logging and parsing tools 16 Sep 2015 IPv6 Security (Kelsey) 22 Issues for Sys Admins 16 Sep 2015 IPv6 Security (Kelsey) 23 IPv6 issues for sys admins • Follow best practice security guidance – System hardening as in IPv4, see for example – https://access.redhat.com/documentation/enUS/Red_Hat_Enterprise_Linux/6/pdf/Security_Guide/Red_Hat_Enterprise_Linu x-6-Security_Guide-en-US.pdf – Specific advice on IPv6 hardening, see for example – https://www.ernw.de/download/ERNW_Guide_to_Securely_Configure_Linux_ Servers_For_IPv6_v1_0.pdf • Check for processes listening on open ports – # netstat, lsof • Review neighbour cache for unauthorised systems – # ip -6 neigh show • Check for undesired tunnel interfaces – # ip -6 tunnel show, # route –A inet6 IPv6 Security (Kelsey) 16 Sep 2015 24 Sys admins (2) • Ensure not unintentionally forwarding IPv6 packets – /proc/sys/net/ipv6/conf/*/forwarding files – Or net.ipv6.conf.*.forwarding sysctl • Use OS embedded IPv6 capable stateful firewall – filter based on EH and ICMPv6 message type • Ip6tables (can we provide advice?) • IPv6 aware intrusion detection – E.g. Snort, Suricata, Bro – https://www.sans.org/reading-room/whitepapers/detection/ipv6open-source-ids-35957 • Use IPsec between critical servers to secure communications? 16 Sep 2015 IPv6 Security (Kelsey) 25 More Information? 16 Sep 2015 IPv6 Security (Kelsey) 26 More information • Many IETF RFC documents on IPv6 – Especially RFC4942 (IPv6 Transition/Coexistence Security Considerations) • IPv6 Security – Protection measures for the next Internet Protocol, Scott Hogg and Eric Vyncke, Cisco Press (2009) • NIST Guidelines for the Security Deployment of IPv6 (NIST SP800-119) http://csrc.nist.gov/publications/nistpubs/800-119/sp800-119.pdf • Internet Society – top 10 IPv6 security myths https://www.internetsociety.org/deploy360/blog/tag/ipv6-security-myths/ • Operational Security Considerations for IPv6 Networks (Sep 2015!) https://tools.ietf.org/html/draft-ietf-opsec-v6-07 16 Sep 2015 IPv6 Security (Kelsey) 27 Questions? 16 Sep 2015 IPv6 Security (Kelsey) 28