Internet Routing Registry & RPKI Tutorial Nurul Islam Roman, APNIC

Slides:



Advertisements
Similar presentations
Protecting Resource Records in APNIC Whois Database Database SIG APNIC-16, Seoul August 2003 Sanjaya
Advertisements

APNIC Internet Routing Registry Routing SIG APNIC-15, Taipei 26 February 2003.
Technical Aspects of Peering Session 4. Overview Peering checklist/requirements Peering step by step Peering arrangements and options Exercises.
Overview of draft-ietf-sidr-roa-format-01.txt Matt Lepinski BBN Technologies.
An Introduction to Routing Security (and RPKI Tools) Geoff Huston May 2013.
BGP.
Border Gateway Protocol Ankit Agarwal Dashang Trivedi Kirti Tiwari.
© J. Liebeherr, All rights reserved 1 Border Gateway Protocol This lecture is largely based on a BGP tutorial by T. Griffin from AT&T Research.
1 Interdomain Routing Protocols. 2 Autonomous Systems An autonomous system (AS) is a region of the Internet that is administered by a single entity and.
APNIC Trial of Certification of IP Addresses and ASes RIPE 52 Plenary George Michaelson Geoff Huston.
APNIC Internet Routing Registry An introduction to the IRR TWNIC Meeting, 3 December 2003 Nurani Nimpuno, APNIC.
1 Using RPSL in Practice Chun Zhang Nov 2, 2000 ECE 697F: Special Topics - Internet Routing.
Internet Routing Registry & RPKI Tutorial Nurul Islam Roman, APNIC.
© 2009 Cisco Systems, Inc. All rights reserved. ROUTE v1.0—6-1 Connecting an Enterprise Network to an ISP Network Considering the Advantages of Using BGP.
RPSL - Practical Tool for ISPs? 14th APNIC Open Policy Meeting Kitakyushu, Japan Andy Linton.
The Resource Public Key Infrastructure Geoff Huston APNIC.
Introduction to BGP 1. Border Gateway Protocol A Routing Protocol used to exchange routing information between different networks – Exterior gateway protocol.
APNIC eLearning: Intro to RPKI 10 December :30 PM AEST Brisbane (UTC+10)
Scaling IXPs Scalable Infrastructure Workshop. Objectives  To explain scaling options within the IXP  To introduce the Internet Routing Registry at.
The APNIC Whois Database Introduction and Usage. whois.apnic.net whois.ripe.netwhois.arin.net Server Unix Client ‘X’ Client Command Prompt / Web Interface.
1 San Diego, California 25 February Securing Routing: RPKI Overview Mark Kosters Chief Technology Officer.
© 2009 Cisco Systems, Inc. All rights reserved. ROUTE v1.0—6-1 Connecting an Enterprise Network to an ISP Network BGP Attributes and Path Selection Process.
Internet Routing Registry & RPKI Tutorial Nurul Islam Roman, APNIC
Routing protocols Basic Routing Routing Information Protocol (RIP) Open Shortest Path First (OSPF)
NATO Advanced Networking Workshop. Ljubljana, 19 September RIPE whois Database RIPE Network Coordination Centre.
Lecture 4: BGP Presentations Lab information H/W update.
Chapter 9. Implementing Scalability Features in Your Internetwork.
APNIC Internet Routing Registry An introduction to the IRR TWNIC Meeting, 3 December 2003 Nurani Nimpuno, APNIC.
BGP operations and security draft-jdurand-bgp-security-02.txt Jerome Durand Gert Doering Ivan Pepelnjak.
BGP4 - Border Gateway Protocol. Autonomous Systems Routers under a single administrative control are grouped into autonomous systems Identified by a 16.
Border Gateway Protocol (BGP) W.lilakiatsakun. BGP Basics (1) BGP is the protocol which is used to make core routing decisions on the Internet It involves.
More on Internet Routing A large portion of this lecture material comes from BGP tutorial given by Philip Smith from Cisco (ftp://ftp- eng.cisco.com/pfs/seminars/APRICOT2004.
1 Madison, Wisconsin 9 September14. 2 Security Overlays on Core Internet Protocols – DNSSEC and RPKI Mark Kosters ARIN Engineering.
APNIC Report RIPE 43 Rhodes, Greece 9-13 September 2002.
1 APNIC Trial of Certification of IP Addresses and ASes RIPE October 2005 Geoff Huston.
Status Report SIDR and Origination Validation Geoff Huston SIDR WG, IETF 71 March 2008.
Securing BGP Bruce Maggs. BGP Primer AT&T /8 Sprint /16 CMU /16 bmm.pc.cs.cmu.edu Autonomous System Number Prefix.
APNIC Internet Routing Registry Tutorial Seoul 19 August 2003.
A S I A P A C I F I C N E T W O R K I N F O R M A T I O N C E N T R E Autonomous System Numbers How to describe Routing Policy.
© 2005 Cisco Systems, Inc. All rights reserved. BGP v3.2—5-1 Customer-to-Provider Connectivity with BGP Connecting a Multihomed Customer to a Single Service.
1 Border Gateway Protocol (BGP) and BGP Security Jeff Gribschaw Sai Thwin ECE 4112 Final Project April 28, 2005.
© 2005 Cisco Systems, Inc. All rights reserved. BGP v3.2—3-1 Route Selection Using Policy Controls Using Multihomed BGP Networks.
BGP Validation Russ White Rule11.us.
AS Numbers - Again Geoff Huston APNIC October 2009
Working at a Small-to-Medium Business or ISP – Chapter 6
CS 3700 Networks and Distributed Systems
Boarder Gateway Protocol (BGP)
Border Gateway Protocol
Securing BGP: The current state of RPKI
BGP 1. BGP Overview 2. Multihoming 3. Configuring BGP.
CS 3700 Networks and Distributed Systems
Routing Policy Specification Language
November 2006 Geoff Huston APNIC
Border Gateway Protocol
Goals of soBGP Verify the origin of advertisements
BGP Best Current Practices
BGP supplement Abhigyan Sharma.
AFRINIC Services Update
APNIC Trial of Certification of IP Addresses and ASes
Cours BGP-MPLS-IPV6-QOS
Some Thoughts on Integrity in Routing
APNIC Trial of Certification of IP Addresses and ASes
RIPE Whois Database Software Recent Changes
Progress Report on Resource Certification
Working at a Small-to-Medium Business or ISP – Chapter 6
COMP/ELEC 429/556 Introduction to Computer Networks
A Proposal to Protect Historical Records in APNIC Whois Database
Computer Networks Protocols
Network Layer: Internet Inter-Domain Routing
By Keessun Fokeerah Member Services(MS) Team
Presentation transcript:

Internet Routing Registry & RPKI Tutorial Nurul Islam Roman, APNIC

Objectives To provide an introduction to the APNIC Routing Registry Explain concepts of the global RR Outline the benefits of the APNIC Routing Registry Discuss Routing Policy Specification Language (RPSL) New Initiative RPKI

Overview What is IRR? Whois DB Recap APNIC database and the IRR Using the Routing Registry Using RPSL in practice Benefit of using IRR

What is IRR?

Prefix Advertise to Internet Ingress prefix from downstream: Option 1: Customer single home and non portable prefix Customer is not APNIC member prefix received from upstream ISP Option 2: Customer single home and portable prefix Customer is APNIC member receive allocation as service provider but no AS number yet Option 3: Customer multihome and non portable prefix Customer is not APNIC member both prefix and ASN received from upstream ISP Option 4: Customer multihome and portable prefix Customer is APNIC member both prefix and ASN received from APNIC

Prefix Filtering BCP [Single home] Option 1: Customer single home and non portable prefix Internet ISP Prefix 3fff:ffff::/32 AS17821 Static 3fff:ffff:dcdc::/48 to customer WAN Interface No LoA Check of Cust prefix upstream NO BGP Static Default to ISP WAN Interface Customer Prefix 3fff:ffff:dcdc::/48 downstream

Prefix Filtering BCP [Single home] Option 2: : Customer single home and portable prefix Internet ISP Prefix 3fff:ffff::/32 AS17821 Static 2001:0DB8::/32 to customer WAN Interface BGP network 2001:0DB8::/32 AS17821 i Check LoA of Cust prefix Static 2001:0DB8::/32 null0 route is required because customer is having a default to upstream and within 2001:0DB8::/32 prefix if there is no destination match on customer router then it will be forwarded to upstream. In upstream there is a static route for 2001:0DB8::/32 to downstream so to it will bounce back to customer router and will create a loop. LoA: Legitimacy of Address upstream NO BGP Static Default to ISP WAN Interface Static 2001:0DB8::/32 null0 Customer Prefix 2001:0DB8::/32 downstream

Prefix Filtering [Multihome] Option 3: Customer multihome and non portable prefix Internet ISP Prefix 3fff:ffff::/32 AS131107 Check LoA of Cust prefix Manual process e-mail to tech-c Automated process route object or RPKI Nearly same filter requirement as other ISP AS17821 eBGP peering with customer WAN interface No LoA Check of Cust prefix Aggregate address is advisable if customer further subnet this 2406:6400:8000::/48 prefix and use it in their iBGP upstream can change upstream can not change AS64500 eBGP peering with both ISP WAN Interface BGP network 3fff:ffff:dcdc::/48 AS64500 i or aggregate address from gateway router Customer Prefix 3fff:ffff:dcdc::/48

Prefix Filtering [Multihome] Option 4: Customer multihome and portable prefix Internet ISP Prefix 3fff:ffff::/32 AS131107 Check LoA of Cust prefix Manual process e-mail to tech-c Automated process route object or RPKI Nearly same filter requirement as other ISP AS17821 Check LoA of Cust prefix Manual process e-mail to tech-c Automated process route object or RPKI upstream can change upstream can change AS64500 eBGP peering with both ISP WAN Interface BGP network 2001:0DB8::/32 AS64500 i or aggregate address from gateway router Customer Prefix 2001:0DB8::/32

What is a Routing Registry? A repository (database) of Internet routing policy information Autonomous Systems exchanges routing information via BGP Exterior routing decisions are based on policy based rules However BGP does not provides a mechanism to publish/communicate the policies themselves RR provides this functionality Routing policy information is expressed in a series of objects Stability and consistency of routing Network operators share information

What is a Routing Registry? ARIN, ArcStar, FGC, Verio, Bconnex, Optus, Telstra, ... RIPE CW RADB Need to add more IRR in this slide Connect APNIC IRR = APNIC RR + RIPE DB + RADB + C&W + ARIN + …

What is Routing Policy? Description of the routing relationship between autonomous systems Who are my BGP peers? Customer, peers, upstream What routes are: Originated by each neighbour? Imported from each neighbour? Exported to each neighbour? Preferred when multiple routes exist? What to do if no route exists? What routes to aggregate?

Representation of Routing Policy AS1 AS2 NET1 NET2 In order for traffic to flow from NET2 to NET1 between AS1 and AS2: AS1 has to announce NET1 to AS2 via BGP And AS2 has to accept this information and use it Resulting in packet flow from NET2 to NET1

Representation of Routing Policy AS1 AS2 NET1 NET2 In order for traffic to flow towards from NET1 to NET2: AS2 must announce NET2 to AS1 And AS1 has to accept this information and use it Resulting in packet flow from NET 1 to NET2

RPSL Routing Policy Specification Language Object oriented language Based on RIPE-181 Structured whois objects Higher level of abstraction than access lists Describes things interesting to routing policy: Routes, AS Numbers … Relationships between BGP peers Management responsibility RFC 2622 RFC 2725 Need to check those RFC for any update. RFC 2650

Routing Policy - Examples Basic concept AS 1 AS 2 “action pref” - the lower the value, the preferred the route aut-num: AS1 … import: from AS2 action pref= 100; accept AS2 export: to AS2 announce AS1 aut-num: AS2 … import: from AS1 action pref=100; accept AS1 export: to AS1 announce AS2

Routing Policy - Examples AS4 AS5 AS 123 AS5 More complex example AS4 gives transit to AS5, AS10 AS4 gives local routes to AS123 AS10

Routing Policy - Examples AS4 AS5 AS 123 AS5 aut-num: AS4 import: from AS123 action pref=100; accept AS123 AS10 import: from AS5 action pref=100; accept AS5 import: from AS10 action pref=100; accept AS10 export: to AS123 announce AS4 export: to AS5 announce AS4 AS10 Not a path export: to AS10 announce AS4 AS5

Routing Policy - Examples transit traffic over link2 AS123 AS4 link3 private link1 AS6 More complex example AS4 and AS6 private link1 AS4 and AS123 main transit link2 backup all traffic over link1 and link3 in event of link2 failure

Routing Policy - Examples transit traffic over link2 AS123 AS4 link3 private link1 AS6 AS representation aut-num: AS4 import: from AS123 action pref=100; accept ANY full routing received import: from AS6 action pref=50; accept AS6 import: from AS6 action pref=200; accept ANY export: to AS6 announce AS4 higher cost for backup route export: to AS123 announce AS4

Whois Database Recap

APNIC Database Public network management database APNIC whois database contains: Internet resource information and contact details APNIC Routing Registry (RR) contains: routing information APNIC RR is part of IRR Distributed databases that mirror each other

Database Object An object is a set of attributes and values Each attribute of an object... Has a value Has a specific syntax Is mandatory or optional Is single- or multi-valued Some attributes ... Are primary (unique) keys Are lookup keys for queries Are inverse keys for queries Object “templates” illustrate this structure

Person Object Example Person objects contain contact information Attributes Values person: address: country: phone: fax-no: e-mail: nic-hdl: mnt-by: changed: source: Test Person ExampleNet Service Provider 2 Pandora St Boxville Wallis and Futuna Islands TC +680-368-0844 +680-367-1797 tperson@example.com TP17-AP MAINT-ENET-TC tperson@example.com 20090731 APNIC

Database Queries None find exact match Flags used for inetnum queries None find exact match - l find one level less specific matches - L find all less specific matches - m find first level more specific matches - M find all More specific matches - x find exact match (if no match, nothing) - d enables use of flags for reverse domains - r turn off recursive lookups

Database Protection Authorisation Authentication “mnt-by” references a mntner object Can be found in all database objects “mnt-by” should be used with every object! Authentication Updates to an object must pass authentication rule specified by its maintainer object

Prerequisite for Updating Objects Create person objects for contacts To provide contact info in other objects Create a mntner object To provide protection of objects Protect your person object

APNIC Database and the IRR

APNIC Database & the IRR APNIC whois Database Two databases in one Public Network Management Database “whois” info about networks & contact persons IP addresses, AS numbers etc Routing Registry contains routing information routing policy, routes, filters, peers etc. APNIC RR is part of the global IRR # database. Customer assignment/sub-allocation, APNIC delegation, Routing policy Server SW ftp://ftp.ripe.net/ripe/dbase/software/ Client SW ftp://ftp.ripe.net/tools/ripe-whois-latest.tar.gz RIPE whois client is using many RIPE-specific flags, and the server can recognise them even if you are using some other *nix client. Usually you need to include all the options between the inverted commas. List of all the RRs in IRR: http://www.irr.net/docs/list.html At the beginning, everyone has to decide which RR to use. It is possible also to run your own RR. For more information, see “Practical usage” slides.

Integration of Whois and IRR Integrated APNIC Whois Database & Internet Routing Registry APNIC Whois IRR IP, ASNs, reverse domains, contacts, maintainers etc routes, routing policy, filters, peers etc inetnum, aut-num, domain, person, role, maintainer route, aut-num, as-set, inet-rtr, peering-set etc. Internet resources & routing information

Inter-related IRR Objects aut-num: AS1 … tech-c: KX17-AP mnt-by: MAINT-EX … route: origin: … mnt-by: MAINT-EX 202.0.16/24 inetnum: 202.0.16.0 - 202.0.16.255 … tech-c: KX17-AP mnt-by: MAINT-EX AS1 person: … nic-hdl: KX17-AP … mntner: MAINT-EX …

Inter-related IRR Objects as-set: AS1:AS-customers members: AS10, AS11 route-set: AS2:RS-routes members: 218.2/20, 202.0.16/20 , AS2 route: 218.2/20 … origin: AS2 … route: 202.0.16/20 … origin: AS2 … aut-num: AS10 … inetnum: 218.2.0.0 - 218.2.15.255 … inetnum: 202.0.16.0-202.0.31.255 … aut-num: AS11 … aut-num: AS2 … aut-num: AS2 …

Hierarchical Authorisation mnt-routes authenticates creation of route objects creation of route objects must pass authentication of mntner referenced in the mnt-routes attribute Format: mnt-routes: <mntner> In: route aut-num inetnum Will wait for update on

Authorisation Mechanism inetnum: 202.137.181.0 – 202.137.196.255 netname: SPARKYNET-TC descr: SparkyNet Service Provider … mnt-by: APNIC-HM mnt-lower: MAINT-SPARKYNET1-TC mnt-routes: MAINT-SPARKYNET2-TC This object can only be modified by APNIC Creation of more specific objects within this range has to pass the authentication of MAINT-SPARKYNET1-TC Creation of route objects matching/within this range has to pass the authentication of MAINT-SPARKYNET2-TC

Creating Route Objects Multiple authentication checks: Originating ASN mntner in the mnt-routes is checked If no mnt-routes, mnt-lower is checked If no mnt-lower, mnt-by is checked AND the address space Exact match & less specific route mnt-routes etc AND the route object mntner itself The mntner in the mnt-by attribute aut-num inetnum route route

Creating Route Objects 4 1 2 route: 202.137.240/20 origin: AS1 IP address range AS number inetnum: 202.137.240.0 – 202.137.255.255 mnt-routes: MAINT-WF-EXNET aut-num: AS1 mnt-routes: MAINT-WF-EXNET maintainer 5 3 mntner: MAINT-WF-EXNET auth: CRYPT-PW klsdfji9234 1. Create route object and submit to APNIC RR database 2. DB checks aut-num obj corresponding to the ASN in route obj 3. Route obj creation must pass auth of mntner specified in aut-num mnt-routes attribute. 4. DB checks inetnum obj matching/encompassing IP range in route obj 5. Route obj creation must pass auth of mntner specified in inetnum mnt-routes attribute.

Using RPSL in practice

Overview Review examples of routing policies expression Peering policies Filtering policies Backup connection Multihoming policies

RPSL - review Purpose of RPSL Allows specification of your routing configuration in the public IRR Allows you to check “Consistency” of policies and announcements Gives opportunities to consider the policies and configuration of others

Address Prefix Range Operator Meanings ^- Exclusive more specifics of the address prefix: E.g. 128.9.0.0/16^- contains all more specifics of 128.9.0.0/16 excluding 128.9.0.0/16 ^+ Inclusive more specific of the address prefix: E.g. 5.0.0.0/8^+ contains all more specifics of 5.0.0.0/8 including 5.0.0.0/8

Address Prefix Operator (cont.) Meanings ^n n = integer, stands for all the length “n” specifics of the address prefix: E.g. 30.0.0.0/8^16 contains all the more specifics of 30.0.0.0/8 which are length of 16 such as 30.9.0.0/16 ^n-m m = integer, stands for all the length “n” to length “m” specifics of the address prefix: E.g. 30.0.0.0/8^24-32 contains all the more specifics of 30.0.0.0/8 which are length of 24 to 32 such as 30.9.9.96/28

AS-path regular expressions A context-independent syntax that can represent a wide variety of character sets and character set orderings These character sets are interpreted according to the current The Open Group Base Specifications (IEEE) Can be used as a policy filter by enclosing the expression in “<“ and “>”.

Filter List- Regular Expression Like Unix regular expressions . Match one character * Match any number of preceding expression + Match at least one of preceding expression ^ Beginning of line $ End of line \ Escape a regular expression character _ Beginning, end, white-space, brace | Or () Brackets to contain expression [ ] Brackets to contain number ranges Source: www.cisco.com

AS-path Regular Expression Operator Meanings <AS3> Route whose AS-path contains AS3 <^AS1> Routes whose AS-path starts with AS1 <AS2$> Routes whose AS-path end with AS2 <^AS1 AS2 AS3$> Routes whose AS-path is exactly “1 2 3” <^AS1 . * AS2$> AS-path starts with AS1 and ends in AS2 with any number ASN in between <^AS3+$> AS-path starts with AS3 and ends in AS3 and AS3 is the first member of the path and AS3 occurs one or more times in the path and no other AS can be present in the path after AS3

AS-path Regular Expression (cont.) Operator Meanings <AS3|AS4> Routes whose AS-path is with AS3 or AS4 <AS3 AS4> Routes whose AS-path with AS3 followed by AS4 RFC2622 P20

Common Peering Policies ISP (Transit provider) Customer Internet AS 1 AS 2 AS 3 AS 4 AS 5 Peering policies of an AS Registered in an aut-num object

Common Peering Policies Policy for AS3 in the AS2 aut-num object aut-num: AS2 as-name: SAMPLE-NET dsescr: Sample AS import: from AS1 accept ANY import: from AS3 accept <^AS3+$> export: to AS3 announce AS2 export: to AS1 announce AS2 AS3 admin-c: TP1-AP tech-c: TP2-AP mtn-by: MAINT-SAMPLE-AP changed: sample@sample.net

Transit Provider Policies ISP (Transit provider) Customer Internet AS 1 AS 2 AS 3 AS 4 AS 5 Peering policies of an AS Registered in an aut-num object

ISP Customer – Transit Provider Policies Policy for AS3 and AS4 in the AS2 aut-num object aut-num: AS2 import: from AS1 accept ANY import: from AS3 accept <^AS3+$> import: from AS4 accept <^AS4+$> export: to AS3 announce ANY export: to AS4 announce ANY export: to AS1 announce AS2 AS3 AS4

AS-set Object Describe the customers of AS2 as-set: AS2:AS-CUSTOMERS members: AS3 AS4 changed: sample@sample.net source: APNIC

Aut-num Object referring as-set Object aut-num: AS2 import: from AS1 accept ANY import: from AS2:AS-CUSTOMERS accept <^AS2:AS-CUSTOMERS+$> export: to AS2:AS-CUSTOMERS announce ANY export: to AS1 announce AS2 AS2:AS-CUSTOMERS aut-num: AS1 import: from AS2 accept <^AS2+AS2:AS-CUSTOMERS+$> export: ………

IRRToolSet Set of tools developed for using the Internet Routing Registry (IRR) Work with Internet routing policies These policies are stored in IRR in the Routing Policy Specification Language (RPSL) The goal of the IRRToolSet is to make routing information more convenient and useful for network engineers Tools for automated router configuration, Routing policy analysis On-going maintenance etc.

IRRToolSet Download: ftp://ftp.isc.org/isc/IRRToolSet/ Installation needs: lex, yacc and C++ compiler root@bofh:~ #wget ftp://ftp.isc.org/isc/IRRToolSet/IRRToolSet- 5.0.1/irrtoolset-5.0.1.tar.gz root@bofh:~ # tar –zxvf irrtoolset-5.0.1.tar.gz root@bofh:~ # cd irrtoolset-5.0.1 root@bofh:~irrtoolset-5.0.1# ./configure root@bofh:~irrtoolset-5.0.1# make root@bofh:~irrtoolset-5.0.1# make install

IRRToolSet root@bofh:~ whois –h whois.apnic.net AS17821 #####snipped###### mp-import: afi any.unicast { from AS-ANY accept ANY AND NOT RS-MARTIANS; } refine { from AS-ANY action pref = 50; accept community.contains(17821:50); from AS-ANY action pref = 30; accept community.contains(17821:70); from AS-ANY action pref = 10; accept community.contains(17821:90); from AS-ANY action pref = 0; accept ANY; } refine afi ipv4.unicast {

IRR Toolset, RPSL: rtconfig(Contd) Cisco Specific @rtconfig set cisco_map_name = <map-name> @rtconfig set cisco_map_first_no = <no> @rtconfig set cisco_map_increment_by = <no> @rtconfig set cisco_prefix_acl_no = <no> @rtconfig set cisco_aspath_acl_no = <no> @rtconfig set cisco_pktfilter_acl_no = <no> @rtconfig set cisco_community_acl_no = <no> @rtconfig set cisco_access_list_no = <no> @rtconfig set cisco_max_preference = <no> @rtconfig networks <ASN-1> @rtconfig inbound_pkt_filter <if-name> <ASN-1> <rtr-1> <ASN- 2> <rtr-2>

IRR Toolset, RPSL: rtconfig(Contd) Junos Specific @rtconfig set junos_policy_name = <policy-name> @rtconfig networks <ASN-1>

IRR Toolset, RPSL: rtconfig Input File(Provision) router bgp 17821 neighbor 103.4.108.54 remote-as 131107 neighbor 103.4.108.54 version 4 ! # X Communication Ltd @RtConfig set cisco_access_list_no = 500 @RtConfig set cisco_map_name = "AS58715-IN" @RtConfig import AS131208 103.4.108.62 AS58715 103.4.108.61 @RtConfig set cisco_access_list_no = 599 @RtConfig set cisco_map_name = "ANY" @RtConfig export AS131208 103.4.108.62 AS58715 103.4.108.61 # xyz Ltd @RtConfig set cisco_access_list_no = 501 @RtConfig set cisco_map_name = "AS58656-IN" @RtConfig import AS131208 103.4.108.94 AS58656 103.4.108.93 @RtConfig export AS131208 103.4.108.94 AS58656 103.4.108.93 end Page 57

Use of RPSL - RtConfig RtConfig part of IRRToolSet Reads policy from IRR (aut-num, route & -set objects) and generates router configuration vendor specific: Cisco, Bay's BCC, Juniper's Junos and Gated/RSd Creates route-map and AS path filters Can also create ingress / egress filters

IRR Toolset, RPSL: Uploading Configuration Various ways to upload configuration: SNMP Write NETCONF XML Based Automated Script using expect

Why use IRR and RtConfig? Benefits of RtConfig Avoid filter errors (typos) Expertise encoded in the tools that generate the policy rather than engineer configuring peering session Filters consistent with documented policy (need to get policy correct though)

New Initiative RPKI

What is RPKI? Resource Public Key Infrastructure (RPKI) A robust security framework for verifying the association between resource holder and their Internet resources Created to address the issues in RFC 4593 “Generic Threats to Routing Protocols” Helps to secure Internet routing by validating routes Proof that prefix announcements are coming from the legitimate holder of the resource

Benefits of RPKI - Routing Similar objective as IRR but in a robust and scalable way Prevents route hijacking A prefix originated by an AS without authorization Reason: malicious intent Prevents mis-origination A prefix that is mistakenly originated by an AS which does not own it Also route leakage Reason: configuration mistake / fat finger

BGP Security (BGPsec) Extension to BGP that provides improved security for BGP routing Currently an IETF Internet draft Implemented via a new optional non-transitive BGP path attribute that contains a digital signature Two things: BGP Prefix Origin Validation (using RPKI) BGP Path Validation Similar efforts in the early days – IDR working group, S-BGP

RPKI Infrastructure  A system to manage the creation and storage of digital certificates and the associated Route Origin Authorization documents Main Components Certificate Authority (CA) Relying Party (RP) Routers with RPKI support

Issuing Party Internet Registries (RIR, NIR, Large LIRs) Acts as a Certificate Authority and issues certificates for customers Provides a web interface to issue ROAs for customer prefixes Publishes the ROA records APNIC RPKI Engine publication Repository rpki.apnic.net MyAPNIC GUI 11

Route Origin Authorization (ROA) A digital object that contains a list of address prefixes and one AS number It is an authority created by a prefix holder to authorize an AS Number to originate one or more specific route advertisements Publish an ROA using MyAPNIC

X.509 Certificate with 3779 Extension •  Resource certificates are based on the X.509 v3 certificate format (RFC 5280) •  Extended by RFC 3779 – binds a list of resources (IP, ASN) to the subject of the certificate •  SIA – Subject Information Access; contains a URI that references the directory X.509 Certificate RFC 3779 Extension SIA Owner's Public Key

Relying Party (RP)

RPKI Components

Router Origin Validation Router must support RPKI Checks an RP cache / validator Validation returns 3 states: Valid = when authorization is found for prefix X Invalid = when authorization is found for prefix X but not from ASN Y Unknown = when no authorization data is found Vendor support: Cisco IOS – solid in 15.2 Cisco IOS/XR – shipped in 4.3.2 Juniper – shipped in 12.2

How to start? Create ROA records in MyAPNIC Build an RP cache Configure your router to use the cache (or a public one) Create BGP policies

How to build RP Cache Download and install from rpki.net Instructions here: https://trac.rpki.net/wiki/doc/RPKI/Installation/UbuntuPacka ges

Configure Router to Use Cache router bgp 17821 … bgp rpki server tcp 10.0.0.3 port 43779 refresh 60 bgp rpki server tcp 147.28.0.84 port 93920 refresh 60 bgp bestpath compare-validation-state {allow- invalid | disallow-not-valid} Or Route-map tools

How does it look in BGP Table r0.sea#sh ip bgp Network Next Hop Metric LocPrf Weight Path * i I198.180.150.0 144.232.9.61 100 0 1239 3927 i *> * I V198.180.152.0 V N198.180.155.0 N 199.238.113.9 129.250.11.41 0 2914 3927 i 0 2914 4128 i 0 2914 22773 i *> N198.180.160.0 5752 i * N 199.238.113.9 129.250.11.41 0 2914 23308 13408 RPKI Lab – Randy Bush 24

Member Services Helpdesk One point of contact for all member enquiries Online chat services Helpdesk hours 9:00 am - 9:00 pm (AU EST, UTC + 10 hrs) ph: +61 7 3858 3188 fax: 61 7 3858 3199 More personalised service Range of languages: Bahasa Indonesia, Bengali, Cantonese, English, Hindi, Mandarin, Thai, etc. Faster response and resolution of queries IP resource applications, status of requests, obtaining help in completing application forms, membership enquiries, billing issues & database enquiries

Thank You 