policy and firewall_filters

32
Routing Policy and Firewall Filters © 2010 Juniper Networks, Inc. All rights reserved. | www.juniper.net

Upload: rafael-alcazar

Post on 22-Nov-2014

401 views

Category:

Technology


0 download

DESCRIPTION

n7a

TRANSCRIPT

Page 1: Policy and firewall_filters

Routing Policy and Firewall Filters

© 2010 Juniper Networks, Inc. All rights reserved. | www.juniper.net

Page 2: Policy and firewall_filters

What Is Routing Policy?

� Routing policy controls the flow of routing information

to and from the routing table

•Use policy to accept, reject, or modify attributes for routes:

• Received through dynamic routing protocols

• Sent to dynamic routing protocols

• Installed in the forwarding table

© 2010 Juniper Networks, Inc. All rights reserved. www.juniper.net| 2

• Installed in the forwarding table

NeighborsNeighborsNeighborsNeighbors

ProtocolProtocolProtocolProtocol

RoutingRoutingRoutingRouting

TableTableTableTable

ForwardingForwardingForwardingForwarding

TableTableTableTable

NeighborsNeighborsNeighborsNeighbors

ProtocolProtocolProtocolProtocol

ImportImportImportImportRoutesRoutesRoutesRoutes RoutesRoutesRoutesRoutes

PFEPFEPFEPFE

ExportExportExportExport

ExportExportExportExport

Import policies control the route

importation into the routing table.

Export policies control the route

exportation from the routing table.

Page 3: Policy and firewall_filters

Default Routing Policies

ProtocolProtocolProtocolProtocol Import PolicyImport PolicyImport PolicyImport Policy Export PolicyExport PolicyExport PolicyExport Policy

BGP Accept all BGP routes and import into inet.0

Accept all active BGP routes

OSPF Accept all OSPF routes and import into inet.0

Reject everything (protocol

floods by default)

© 2010 Juniper Networks, Inc. All rights reserved. www.juniper.net| 3

into inet.0 floods by default)

IS-IS Accept all IS-IS routes and import into inet.0

Reject everything (protocol

floods by default)

RIP Accept all RIP routes from

explicitly configured neighbors and import into inet.0

Reject everything

Page 4: Policy and firewall_filters

Building Blocks of Routing Policy

term firstterm

match

no match

thenfrom

my-policyA routing policy consists of zero

or more terms; the software

evaluates terms sequentially

until it reaches a terminating

action or end of policy

User-defined policy

and term names

© 2010 Juniper Networks, Inc. All rights reserved. www.juniper.net| 4

no match

no match

term secondterm

from then

term thirdterm

from then

match

match

from statements describe

match conditions

then statements describe

the actions to take if a match with the from statement

occurs

Note: Ordering matters! If you must reorder terms within a policy, consider using the insert CLI command.

Page 5: Policy and firewall_filters

Common Match Criteria

� Common match criteria for routing policy:

•Prefix (route-filter or prefix-list )

•Protocol (OSPF, static, BGP, and so forth)

•Routing protocol attributes:

• OSPF area ID, AS path, and community

© 2010 Juniper Networks, Inc. All rights reserved. www.juniper.net| 5

•Next hop

term firstterm

match

thenfrom

Note: If you omit the from statement, all routes match and will take the specified action

from statements describe

match conditions

Page 6: Policy and firewall_filters

Prefix Lists

� Prefix lists contain a list of prefixes:•Configured under [edit policy-options] hierarchy

•Can be referenced in firewall filters and routing policy terms[edit policy-options]user@host# showprefix-list rfc1918 {

10.0.0.0/8;172.16.0.0/12;

prefix-list matches the prefix exactly

© 2010 Juniper Networks, Inc. All rights reserved. www.juniper.net| 6

172.16.0.0/12;192.168.0.0/16;

}policy-statement policy-1 {

from {prefix-list rfc1918;

}then reject;

}policy-statement policy-2 {

from {prefix-list-filter rfc1918 orlonger reject;

}}

prefix-list-filter allows match types

and actions. Supported match types include exact , longer , and orlonger and are

covered on subsequent slides.

Page 7: Policy and firewall_filters

Route Filters

� Route filters match individual routes within a policy:•You can specify multiple route filters within a single term•Not reusable—term-specific[edit policy-options]user@host# show policy-statement policy-1 {

term reject-rfc1918-prefixes {from {

© 2010 Juniper Networks, Inc. All rights reserved. www.juniper.net| 7

from {route-filter 172.16.0.0/12 orlonger;route-filter 192.168.0.0/16 orlonger;route-filter 10.0.0.0/8 orlonger;

}then reject;

}}

Note: Various match types are supported. We

discuss the match types on subsequent slides.

Page 8: Policy and firewall_filters

Match Types (1 of 3)

� exact :•Match the specified prefix and mask exactly

� orlonger :

from route-filter 192.168.0.0/16 exact ;

© 2010 Juniper Networks, Inc. All rights reserved. www.juniper.net| 8

� orlonger :

•Match the specified prefix and mask exactly and all routes that are subsets of the prefix and that have longer masks

from route-filter 192.168.0.0/16 orlonger ;

Page 9: Policy and firewall_filters

Match Types (2 of 3)

� longer :

•Match routes that are subsets of the prefix and that have longer masks;

•Do not match the specified prefix and mask

from route-filter 192.168.0.0/16 longer ;

© 2010 Juniper Networks, Inc. All rights reserved. www.juniper.net| 9

� upto :

•Match specified prefix and mask exactly and any routes that are subsets of the specified prefix and that have a mask no longer than the second value specified

from route-filter 192.168.0.0/16 upto /24 ;

Page 10: Policy and firewall_filters

Match Types (3 of 3)

� prefix -length -range :

•Match routes that are subsets of the specified prefix and that have a mask between the two values (inclusive match)

� through :

from route-filter 192.168.0.0/16 prefix-length-range /20-/24 ;

© 2010 Juniper Networks, Inc. All rights reserved. www.juniper.net| 10

� through :

•Match first and second specified prefixes and masks exactly and all prefixes directly between the two prefixes

from route-filter 192.168.0.0/16 through 192.168.16.0/20 ;

Page 11: Policy and firewall_filters

Match Type Summary

� Given a starting prefix of 192.168/16, what matches with each option?

192.168/16192.168/16192.168/16192.168/16

192.168/16192.168/16192.168/16192.168/16

192.168/16192.168/16192.168/16192.168/16

© 2010 Juniper Networks, Inc. All rights reserved. www.juniper.net| 11

exact…

orlonger (down to /32)… …

longer (down to /32)

through

192.168/16192.168/16192.168/16192.168/16

192.168/16192.168/16192.168/16192.168/16

/x

/y

prefix-length-range /x-/y

192.168/16192.168/16192.168/16192.168/16

upto

Page 12: Policy and firewall_filters

Common Actions

� Common actions in routing policy:

•Terminating actions:• accept

• reject

•Flow control:• next term

© 2010 Juniper Networks, Inc. All rights reserved. www.juniper.net| 12

• next term

• next policy

•Modifying attributes:• community (add, delete, and set)

• preferenceterm firstterm

match

thenfrom

then statements describe

the actions to take if a match with the from statement occurs

Page 13: Policy and firewall_filters

Implementing Routing Policy (1 of 2)

� Definition of routing policy is always under the [edit policy -options] hierarchy:

[edit policy-options]user@host# showpolicy-statement my-policy {

term accept-local-route {from {

protocol local;interface ge - 0/0/0;

term firstterm

thenfrom

my-policy

© 2010 Juniper Networks, Inc. All rights reserved. www.juniper.net| 13

interface ge - 0/0/0;}then accept;

}term accept-some-static-routes {

from {protocol static;route-filter 172.18.1.0/24 exact;route-filter 172.18.2.0/24 exact;

}then accept;

}term accept-rip-routes {

from protocol rip;then accept;

}}

match

no match

no match

then

term secondterm

from then

term thirdterm

from then

from

match

match

Page 14: Policy and firewall_filters

Implementing Routing Policy (2 of 2)

� You can apply routing policies as import or export

policies at different levels (protocol dependent)

[edit protocols ospf]user@host# showexport my-policy;area 0.0.0.0 {

interface ge - 0/0/1.0;

© 2010 Juniper Networks, Inc. All rights reserved. www.juniper.net| 14

interface ge - 0/0/1.0;interface ge-0/0/2.0;interface ge-0/0/3.0 {

passive;}interface lo0.0;

}

Page 15: Policy and firewall_filters

Routing Policy Flow

� You can chain routing policies together•Evaluation proceeds left to right until the software reaches a terminating action of accept or reject

•The software supports flow-control actions such as next policy

RouteRouteRouteRoute

© 2010 Juniper Networks, Inc. All rights reserved. www.juniper.net| 15

AcceptAcceptAcceptAccept

or rejector rejector rejector reject

AcceptAcceptAcceptAccept

or rejector rejector rejector reject

AcceptAcceptAcceptAccept

or rejector rejector rejector reject

Policy 1Policy 1Policy 1Policy 1

AcceptAcceptAcceptAccept

or rejector rejector rejector reject

AcceptAcceptAcceptAccept

or rejector rejector rejector reject

AcceptAcceptAcceptAccept

or rejector rejector rejector reject

Policy 2Policy 2Policy 2Policy 2

AcceptAcceptAcceptAccept

or rejector rejector rejector reject

Policy Policy Policy Policy nnnn

AcceptAcceptAcceptAccept

RejectRejectRejectReject

Term CTerm CTerm CTerm C Term CTerm CTerm CTerm C

DefaultDefaultDefaultDefault

policypolicypolicypolicy

Term ATerm ATerm ATerm A

Term BTerm BTerm BTerm B

Term ATerm ATerm ATerm A

Term BTerm BTerm BTerm B

Term ATerm ATerm ATerm A

Page 16: Policy and firewall_filters

Case Study: Objective and Topology

� Advertise the default static route defined on R1 into

OSPF using routing policy:

.1.2

OSPFOSPFOSPFOSPF

Area 0Area 0Area 0Area 0

R1R1R1R1

R2R2R2R2

R4R4R4R4 InternetInternetInternetInternet

© 2010 Juniper Networks, Inc. All rights reserved. www.juniper.net| 16

user@R1> show route protocol static

inet.0: 16 destinations, 16 routes (16 active, 0 ho lddown, 0 hidden)+ = Active Route, - = Last Active, * = Both

0.0.0.0/0 *[Static/5] 00:00:44> to 172.30.25.1 via ge-0/0/1.0

.1.2

172.30.25.0/30172.30.25.0/30172.30.25.0/30172.30.25.0/30R3R3R3R3

Page 17: Policy and firewall_filters

Case Study: Defining the Policy

� Sample routing policy configuration used to advertise

R1’s default static route into OSPF:

[edit policy-options]user@R1# showpolicy-statement default-static {

term accept - default - static {User-defined policy and term names

© 2010 Juniper Networks, Inc. All rights reserved. www.juniper.net| 17

term accept - default - static {from {

protocol static;route-filter 0.0.0.0/0 exact;

}then accept;

}}

Match criteria

Action

Page 18: Policy and firewall_filters

Case Study: Applying the Policy

� Sample application of routing policy used to advertise

R1’s default static route into OSPF:

[edit protocols ospf]user@R1# showexport default-static;area 0.0.0.0 { R1R1R1R1

R2R2R2R2

© 2010 Juniper Networks, Inc. All rights reserved. www.juniper.net| 18

area 0.0.0.0 {interface ge-0/0/2.0;interface ge-0/0/3.0;interface lo0.0;

}

Export default static route from route table to OSPF

OSPFOSPFOSPFOSPF

Area 0Area 0Area 0Area 0

R1R1R1R1

R4R4R4R4

R3R3R3R3

Note: Once you define routing policy and apply it, R1 floods an external LSA for the default static route to all OSPF routers in Area 0.

Page 19: Policy and firewall_filters

Case Study: Monitoring the Results

� Sample verification step to ensure the routing policy

works as expected (capture is taken from R4):

user@R4> show route protocol ospf exact 0/0

inet.0: 12 destinations, 12 routes (12 active, 0 ho lddown, 0 hidden)+ = Active Route, - = Last Active, * = Both

© 2010 Juniper Networks, Inc. All rights reserved. www.juniper.net| 19

0.0.0.0/0 *[OSPF/150] 00:03:33, metric 0, tag 0> to 172.19.3.1 via ge-0/0/2.0

to 172.19.4.1 via ge-0/0/3.0

.1.2

172.30.25.0/30172.30.25.0/30172.30.25.0/30172.30.25.0/30

OSPFOSPFOSPFOSPF

Area 0Area 0Area 0Area 0

R1R1R1R1

R2R2R2R2

R4R4R4R4

R3R3R3R3

InternetInternetInternetInternet

R4 installs external default OSPF route flooded by R1

Page 20: Policy and firewall_filters

What Is a Firewall Filter?

� Firewall filters control the traffic entering and leaving

a networking device in a stateless fashion:

•Processes every packet independently

•Used to filter and monitor network traffic

© 2010 Juniper Networks, Inc. All rights reserved. www.juniper.net| 20

Page 21: Policy and firewall_filters

Building Blocks of Firewall Filters

no match

term firstterm

match

thenfrom

my-filterFirewall filters consist of one or

more terms; the software

evaluates terms sequentially until

it reaches a terminating action

User-defined filter

and term names

© 2010 Juniper Networks, Inc. All rights reserved. www.juniper.net| 21

no match

no match

term secondterm

term Default

match

then statements describe the

actions to take if a match with the from statement occurs

discardDefault action for packets

not explicitly allowed

Note: Ordering matters! If you must reorder terms within a filter, consider using the insert CLI command.

from statements describe

match conditionsthenfrom

Page 22: Policy and firewall_filters

Common Match Criteria

� Can match based on most header fields:

�Match conditions categories include:

•Numeric range

© 2010 Juniper Networks, Inc. All rights reserved. www.juniper.net| 22

•Numeric range

•Address

•Bit field

term firstterm

matchthenfromfrom statements describe

match conditions

Page 23: Policy and firewall_filters

Firewall Filter Actions

� Common actions in firewall filters:

•Terminating actions:• accept

• discard

• Reject

•Flow control:

term firstterm

match

thenfromthen statements describe the

actions to take if a match with the from statement occurs

© 2010 Juniper Networks, Inc. All rights reserved. www.juniper.net| 23

•Flow control:• next term

•Action modifiers:

• count , log , and syslog

• forwarding-class and loss-priority

• Policer

The software discards all traffic not explicitly allowed!

Page 24: Policy and firewall_filters

Implementing Firewall Filters (1 of 2)

� Define firewall filters based on protocol family under the [edit firewall] hierarchy level:

[edit firewall family inet]user@host# showfilter filter-in {

term block-some-packets {from {

source - address {

The software applies family inet filters

only to interfaces

running IPv4 term firstterm

thenfrom

my-policy

© 2010 Juniper Networks, Inc. All rights reserved. www.juniper.net| 24

source - address {10.10.10.0/24;

}}then {

count spoof-in;discard;

}}term accept-others {

then accept;}

}…

If discard is not present

then packets are accepted

match

no match

no match

then

term secondterm

from then

term thirdterm

from then

from

match

match

Page 25: Policy and firewall_filters

Implementing Firewall Filters (2 of 2)

� Apply firewall filters as input or output on an interface

•Protocol family on interface and filter must match:

The software applies firewall

[edit interfaces ge-0/0/1]user@host# showunit 0 {

family inet {filter {

input filter - in;

© 2010 Juniper Networks, Inc. All rights reserved. www.juniper.net| 25

The software applies firewall filters using input and

output statements

input filter - in;output filter-out;

}address 172.30.25.2/30;

}}

InputInputInputInput

InputInputInputInputOutputOutputOutputOutput

OutputOutputOutputOutput

Input firewall filters control

traffic entering an interface

Output firewall filters control

traffic leaving an interface

Tip: To avoid late night drives back to the office, use commit confirmed when activating filters!

Page 26: Policy and firewall_filters

Test Your Knowledge (1 of 2)

� Apply a filter on R1’s ge-0/0/1.0 interface to allow

HTTP traffic to 172.27.102.100

•Should the filter be applied as an input or output filter?

© 2010 Juniper Networks, Inc. All rights reserved. www.juniper.net| 26

.1.2

172.30.25.0/30172.30.25.0/30172.30.25.0/30172.30.25.0/30

172.27.102.0/24172.27.102.0/24172.27.102.0/24172.27.102.0/24

R1R1R1R1

ge-0/0/1.0.100.100.100.100 .1.1.1.1

MYNETMYNETMYNETMYNET

InternetInternetInternetInternet

Page 27: Policy and firewall_filters

filter web-server {term allow-web-traffic {

from {destination-address {

172.27.102.100/32;}protocol tcp;

Test Your Knowledge (2 of 2)

�Which inbound traffic does the router permit?

Applied as an input filter

© 2010 Juniper Networks, Inc. All rights reserved. www.juniper.net| 27

protocol tcp;port http;

}then accept;

}term deny-other-web-traffic {

from {protocol tcp;port http;

}then {

discard;}

}}

.2

172.27.102.0/24172.27.102.0/24172.27.102.0/24172.27.102.0/24

R1R1R1R1ge-0/0/1.0.100.100.100.100 .1.1.1.1

MYNETMYNETMYNETMYNET

Page 28: Policy and firewall_filters

Filtering Local Traffic (1 of 2)

� Apply filters to lo0 interface to filter local traffic

•Filter must account for routing and management protocols

Routing Engine Routing Engine Routing Engine Routing Engine

© 2010 Juniper Networks, Inc. All rights reserved. www.juniper.net| 28

Frames/Packets InFrames/Packets InFrames/Packets InFrames/Packets In

Packet Forwarding EnginePacket Forwarding EnginePacket Forwarding EnginePacket Forwarding Engine

Control Plane Control Plane Control Plane Control Plane

Forwarding Plane Forwarding Plane Forwarding Plane Forwarding Plane

CPUCPUCPUCPU

lo0

Page 29: Policy and firewall_filters

filter limit-ssh-access {term ssh-accept {

from {source-prefix-list {

trusted;}protocol tcp;destination-port ssh;

}then accept;

lo0 {unit 0 {

family inet {filter {

input limit-ssh-access;}address 10.255.71.48/32;

}}

}

Filtering Local Traffic (2 of 2)

DefinitionDefinitionDefinitionDefinition ApplicationApplicationApplicationApplication

© 2010 Juniper Networks, Inc. All rights reserved. www.juniper.net| 29

then accept;}term ssh-reject {

from {protocol tcp;destination-port ssh;

}then {

discard;}

}term else-accept {

then accept;}

}

}

Which problems might occur if you omit the else-accept term?

Think About ItThink About ItThink About ItThink About It

Affects incoming traffic

destined to the routing engine!

Page 30: Policy and firewall_filters

Policing

� Policing (rate-limiting) enables you to limit the amount

of traffic that passes into or out of an interface:

•Works with firewall filters to thwart DoS attacks

• Common actions include discard and setting loss-priority level

•Uses average bandwidth and maximum burst size

© 2010 Juniper Networks, Inc. All rights reserved. www.juniper.net| 30

Bit BucketBit BucketBit BucketBit Bucket

Page 31: Policy and firewall_filters

[edit firewall]user@host# showpolicer p1 {

if-exceeding {bandwidth-limit 400k;burst-size-limit 100k;

}then discard;

}family inet {

filter rate-limit-subnet {term match - subnet {

Configuration Example

bandwidth-limit

* In bits per second

* 30,520 bps to 4.29 Gbps

burst-size-limit

* In bytes

* Minimum should = 10

You must apply filter!

Policer defined

© 2010 Juniper Networks, Inc. All rights reserved. www.juniper.net| 31

term match - subnet {from {

source-address {192.100.1.0/24;

}}then {

policer p1;}

}term else-accept {

then accept;}

} }

Note: Filter must account for routing

and management protocols

* Minimum should = 10

times MTU (low speed) or

bandwidth times 3–5

milliseconds (high speed)

Policer referenced

Page 32: Policy and firewall_filters