SlideShare une entreprise Scribd logo
1  sur  56
Télécharger pour lire hors ligne
Marek Isalski – marek @ faelix.net – @maznu
faelix limited – https://faelix.net/ – @faelix
KEEPING YOUR RACK COOL
WITH ONE "/IP ROUTE RULE"
THE END
QUESTIONS ETC?
NOT SO FAST…
;-)
KEEPING YOUR RACK COOL WITH ONE "/IP ROUTE RULE"
HOW FAELIX ARRIVED AT THIS IDEA
▸ Part 1:
▸ About our network and what we do
▸ Our experience using MikroTik at the provider edge
▸ Part 2:
▸ Zero filter rules! :-)
MIKROTIK AT THE
PROVIDER EDGE
PART 1:
KEEPING YOUR RACK COOL WITH ONE "/IP ROUTE RULE"
ABOUT FAELIX
▸ Mostly-hosting ISP
▸ Security, social issues, environment
▸ Based in Manchester, UK = local footprint
▸ ≈50% of servers in Geneva, CH = excellent energy efficiency
▸ Multi-homed, multi-site, autonomous system: AS41495
EYEBALLS VS CONTENT
SINGLE VS MULTI
MIKROTIK HARDWARE AND ROUTEROS AT THE PROVIDER EDGE
MULTI-HOMED
▸ Organise "transit" from upstream providers
▸ Talk BGP with them, announcements + get sent routing tables
▸ Maybe you get "default only"…
MIKROTIK HARDWARE AND ROUTEROS AT THE PROVIDER EDGE
MULTI-HOMED
▸ Organise "transit" from upstream providers
▸ Talk BGP with them, announcements + get sent routing tables
▸ …or maybe you get "full tables"
▸ >600k IPv4 routes, >30k IPv6 routes
▸ That's a lot of routes!
MIKROTIK HARDWARE AND ROUTEROS AT THE PROVIDER EDGE
OUR MIGRATION TO MIKROTIK ROUTEROS
▸ Quagga + BIRD on servers running Linux solid for >6 years ❤
▸ 2015: we wanted to do an upgrade… 📈
▸ We love the energy efficiency of MikroTik CCR… 💚
▸ No "NSA/GCHQ inside"… 😍
▸ Can we use RouterOS? 🤔
▸ + BIRD on servers running Linux? 🐧
MIKROTIK HARDWARE AND ROUTEROS AT THE PROVIDER EDGE
TWO ROUTING SYSTEMS?
▸ Early version of BIRD segfaulted, withdrew announcements
▸ Quagga kept on running, we did not vanish from DFZ
▸ Are we sure RouterOS BGP is going to cope?
▸ What is support going to be like? Debugging?
MIKROTIK HARDWARE AND ROUTEROS AT THE PROVIDER EDGE
OVERALL EXPERIENCE
▸ Some weird behaviour occasionally…
▸ NTP leap second bug = hard crash
▸ Disable VLAN interface before
changing its physical interface orVID
▸ Support are helpful and fast;
anecdotally, as responsive as the "big
name" vendors
▸ Debugging time = get friendly with
RouterOS command-line
MIKROTIK HARDWARE AND ROUTEROS AT THE PROVIDER EDGE
THE GOOD THE BAD
▸ £700 + 70W routes >10Gbit/s
▸ BGP feels familiar afteryears
of experience of Quagga
▸ Consultants out there if you
need them; training & quals
▸ MikroTik now "go to" choice
for CPE, wireless, etc…
▸ Vendor interop good (beware
of extra options in RouterOS)
▸ Watchdog not good enough,
IPMI-style OOB hard reboot?
▸ BGP converge & FIB is slow on
CCRwith 2M+ routes
▸ Routing filters don't always
work first time (enable/disable)
▸ Switch VLAN setup feels like
raw config of merchant silicon
▸ "RouterOS 7"
MIKROTIK HARDWARE AND ROUTEROS AT THE PROVIDER EDGE
FAELIX'S TIPS
▸ CHR, hardware is economical = no excuses for network lab
▸ Consider leap-frogging RouterOS releases in production
▸ layer-3 > layer-2, MikroTik affordability = dream come true
▸ Full routing tables get into FIB a lot quicker on x86 than on tile
▸ oxidized + syslog = configs in git + logs in one place
▸ snmp + graphite + grafana = netops visibility, cool dashboards
▸ BCP38 + MANRS + abuse-c = be excellent to each other
MIKROTIK HARDWARE AND ROUTEROS AT THE PROVIDER EDGE
PLUGS
▸ http://uknof.org.uk/ = packet pushers of the UK (and beer)
▸ http://netmcr.uk/ = packet pushers of Manchester (and beer)
BEER-TO-PEER NETWORKING
FIREWALLING WITH
ZERO FILTER RULES!
PART 2:
U WOT M8?
you, right now
ZERO FILTER FIREWALLS
ssh
SMTP / IMAP / POP
VOIP
Drupal
WordPress
IPsec
L2TP
ZERO FILTER FIREWALLS
SHIT HAPPENS
▸ Your networkwill get scanned
▸ ssh, DDoS amplification, open proxies…
▸ You might have forgotten something
▸ Is your management network isolated?
▸ Your customers will do things you don't expect
▸ e.g. SNMP or DNS on CPE open to Internet
▸ Software has bugs
That is one big
pile of shit!
omg wtf loadavg bbq
SECURITY IS HARD
every infosec professional ever
ZERO FILTER FIREWALLS
START WITH THE LOW-
HANGING FRUIT…
GOAL:
THE NEXT CROP!
AND WHEN THEY'RE PICKED…
LOGS + DATA
STEP 1:
FAIL2BAN
STEP 2:
WWW
Cat GIF Blog
make DJT
root again!
apache
logs
fail2ban
ZERO FILTER FIREWALLS
FAIL2BAN
▸ Follow log file, if line matches "filter" then performs "action"
▸ Great for blocking brute force (ssh, etc)
▸ MikroTikwiki + forum have examples for RouterOS
▸ Send logs via syslog to a VM for analysis
▸ fail2ban connects to RouterOS with ssh and blocks using:
▸ add new /ip firewall filter (ok)
▸ add new /ip firewall address-list (better)
ZERO FILTER FIREWALLS
FAIL2BAN
▸ Quick, cheap, easy
▸ Make your own or find rules to block
web, VoIP, and other nasty traffic
▸ Attackerwill move on to another
target pretty quickly when DROPped
▸ Next target might still be in your
network, still traffic across your
backbone
▸ Can we put attacking IPs on a
network-wide "naughty step"?
BLOCK AT THE
PROVIDER EDGE
STEP 3:
Edge Router
WWW
Cat GIF Blog
make DJT
root again!
apache
logs
fail2ban
slurry
spreader
AMQP
ROSAPI
ZERO FILTER FIREWALLS
BLOCKING AT THE PROVIDER EDGE
▸ Lots of flows, lots of PPS, lots of attacking addresses
▸ /ip firewall filter uses each set of rules sequentially = O(n)
▸ /ip firewall address-list is a hash-table ≈ O(1)
▸ Using AMQP to get addresses added to block lists on all routers
in three data-centres
▸ We already had RabbitMQ across our network for other
infrastructure needs
FALSE POSITIVES
STEP 4:
WWW
Cat GIF Blog
apache
logs
fail2banslurry
spreader
AMQP
passwords
are hard
Edge Router
ROSAPI
FALSE POSITIVES
STEP 4:
WWW
Cat GIF Blog
apache
logs
fail2banslurry
spreader
AMQP
passwords
are hard
Edge Router
DNAT!
ROSAPI
FALSE POSITIVES
STEP 4:
WWW
Cat GIF Blog
apache
logs
fail2banslurry
spreader
AMQP
passwords
are hard
Edge Router
ROSAPI
ZERO FILTER FIREWALLS
DESTINATION NAT
▸ Send bad traffic to a VM serving the "blocked" message:
▸ /ip firewall nat src-address-list=shitpit action=dst-nat
CONN
TRACK!
tl;dr: ah, crap
ZERO FILTER FIREWALLS
BLOCKING AT THE PROVIDER EDGE
▸ Lots of flows, lots of PPS, lots of attacking addresses
▸ /ip firewall filter uses each set of rules sequentially = O(n)
▸ /ip firewall address-list is a hash-table ≈ O(1)
▸ Using AMQP to get addresses added to block lists on all routers
in three data-centres
▸ We already had RabbitMQ across our network for other
infrastructure needs
ZERO FILTER FIREWALLS
BLOCKING AT THE PROVIDER EDGE
▸ Lots of flows…
▸ …so use a mangle rule so routers only track bad traffic?
▸ No! We want to build something we can understand.
MULTI-
HOMED!
tl;dr: ah, crap2
TRAFFIC HAS MULTIPLE PATHS
IN AND OUT OF OUR NETWORK
PROBLEM:
Edge Router
Edge Router
Edge Router
Edge Router
Edge Router
TRAFFIC HAS MULTIPLE PATHS
IN AND OUT OF OUR NETWORK
PROBLEM:
Edge Router
Edge Router
Edge Router
Edge Router
Edge Router
TRAFFIC HAS MULTIPLE PATHS
IN AND OUT OF OUR NETWORK
PROBLEM:
Edge Router
Edge Router
Edge Router
Edge Router
Edge Router
what is this?
TRAFFIC HAS MULTIPLE PATHS
IN AND OUT OF OUR NETWORK
PROBLEM:
Edge Router
Edge Router
Edge Router
Edge Router
Edge Router
bro, do u even
conntrack?
ZERO FILTER FIREWALLS
WON'T CONNTRACK, CAN'T NAT
▸ Lots of flows
▸ Can't share conntrack across RouterOS devices
▸ Would be nice forVRRP-type HA default gateways?
▸ We don't want to even ifwe could: lots of flows!
▸ And don't want to mangle to ignore good flows…
▸ …and mangle to make return traffic go the right way.
▸ "Are we there yet!?"
KEEPING YOUR RACK COOL WITH ONE "/IP ROUTE RULE"
MULTIPLE ROUTING TABLES
▸ /ip route add gateway=203.0.113.113 routing-mark=shitpit
▸ /ip route rule add routing-mark=shitpit table=shitpit
▸ /ip firewall mangle add chain=prerouting passthrough=yes

action=mark-routing new-routing-mark=shitpit

src-address-list=shitpit
▸ /ip firewall address-list add list=shitpit

address=192.0.2.69/32 timeout=1m
/IP ROUTE RULE
STEP 5:
Edge Router
fail2ban
spreader
make DJT
root again!
WWW
Cat GIF Blog
slurry
AMQP
apache
logs
…AND STAY OUT!
STEP 6:
Edge Router
fail2ban
spreader
make DJT
root again!
slurry
AMQP
YOUR NEXT CROP OF
LOW-HANGING FRUIT
STEP 7:
Edge Router
fail2ban
spreader
make DJT
root again!
WWW
Cat GIF Blog
slurry
AMQP
apache
logs
M
O
RE
RULES!
EXTRA CREDIT
STEP 8:
Edge Router
fail2ban
spreader
make DJT
root again!
slurry
AMQP
Edge Router
fail2ban
slurry
spreader
AMQP
make DJT
root again!
DNS RBL
badips.com
fastnetmon
VIPs
snort
KEEPING YOUR RACK COOL WITH ONE "/IP ROUTE RULE"
REFERENCES
▸ fail2ban = tail log files, filter them, perform actions
▸ fastnetmon = DDoS detection with data from /ip traffic-flow
▸ portsentry = am I being portscanned?
▸ mod_security + OWASP = Web Application Firewall
▸ snort = intrusion detection system
▸ GIFs from devopsreactions, securityreactions, honestnetworker
KEEPING YOUR RACK COOL WITH ONE "/IP ROUTE RULE"
CONCLUSION
▸ /ip route add gateway=203.0.113.113 routing-mark=shitpit
▸ /ip route rule add routing-mark=shitpit table=shitpit
▸ /ip firewall mangle add chain=prerouting passthrough=yes

action=mark-routing new-routing-mark=shitpit

src-address-list=shitpit
▸ /ip firewall address-list add list=shitpit

address=192.0.2.69/32 timeout=1m
e: marek@faelix.net
t: @maznu
w: https://faelix.net/
THANKS FOR LISTENING!
ANY QUESTIONS?

Contenu connexe

Tendances

Best practices for using VPNs for easy network-to-network protection
Best practices for using VPNs for easy network-to-network protectionBest practices for using VPNs for easy network-to-network protection
Best practices for using VPNs for easy network-to-network protectionWestermo Network Technologies
 
Kubernetes networking-made-easy-with-open-v switch
Kubernetes networking-made-easy-with-open-v switchKubernetes networking-made-easy-with-open-v switch
Kubernetes networking-made-easy-with-open-v switchInfraEngineer
 
Cisco CCNA-Router on Stick
Cisco CCNA-Router on StickCisco CCNA-Router on Stick
Cisco CCNA-Router on StickHamed Moghaddam
 
OpenStack DVR_What is DVR?
OpenStack DVR_What is DVR?OpenStack DVR_What is DVR?
OpenStack DVR_What is DVR?Yongyoon Shin
 
Cisco CCNA- NAT Configuration
Cisco CCNA- NAT ConfigurationCisco CCNA- NAT Configuration
Cisco CCNA- NAT ConfigurationHamed Moghaddam
 
Things I wish I had known about IPv6 before I started
Things I wish I had known about IPv6 before I startedThings I wish I had known about IPv6 before I started
Things I wish I had known about IPv6 before I startedFaelix Ltd
 
Morphology of Modern Data Center Networks - YaC 2013
Morphology of Modern Data Center Networks - YaC 2013Morphology of Modern Data Center Networks - YaC 2013
Morphology of Modern Data Center Networks - YaC 2013Cumulus Networks
 
20141102 VyOS 1.1.0 and NIFTY Cloud New Features
20141102 VyOS 1.1.0 and NIFTY Cloud New Features20141102 VyOS 1.1.0 and NIFTY Cloud New Features
20141102 VyOS 1.1.0 and NIFTY Cloud New Features雄也 日下部
 
SF Kubernetes Meetup Lightning Talk
SF Kubernetes Meetup Lightning TalkSF Kubernetes Meetup Lightning Talk
SF Kubernetes Meetup Lightning TalkRomana Project
 
第53回WIT研究会におけるリアルタイム映像配信 -技術編-
第53回WIT研究会におけるリアルタイム映像配信 -技術編-第53回WIT研究会におけるリアルタイム映像配信 -技術編-
第53回WIT研究会におけるリアルタイム映像配信 -技術編-Toshimitsu YAMAGUCHI
 
Installation of pfSense on Soekris 6501
Installation of pfSense on Soekris 6501Installation of pfSense on Soekris 6501
Installation of pfSense on Soekris 6501robertguerra
 
How to Configure NetFlow v5 & v9 on Cisco Routers
How to Configure NetFlow v5 & v9 on Cisco RoutersHow to Configure NetFlow v5 & v9 on Cisco Routers
How to Configure NetFlow v5 & v9 on Cisco RoutersSolarWinds
 
2015.7.17 JANOG36 BGP Flowspec Interoperability Test @ Interop Tokyo 2015 Sho...
2015.7.17 JANOG36 BGP Flowspec Interoperability Test @ Interop Tokyo 2015 Sho...2015.7.17 JANOG36 BGP Flowspec Interoperability Test @ Interop Tokyo 2015 Sho...
2015.7.17 JANOG36 BGP Flowspec Interoperability Test @ Interop Tokyo 2015 Sho...Shuichi Ohkubo
 

Tendances (15)

Best practices for using VPNs for easy network-to-network protection
Best practices for using VPNs for easy network-to-network protectionBest practices for using VPNs for easy network-to-network protection
Best practices for using VPNs for easy network-to-network protection
 
Kubernetes networking-made-easy-with-open-v switch
Kubernetes networking-made-easy-with-open-v switchKubernetes networking-made-easy-with-open-v switch
Kubernetes networking-made-easy-with-open-v switch
 
Cisco CCNA-Router on Stick
Cisco CCNA-Router on StickCisco CCNA-Router on Stick
Cisco CCNA-Router on Stick
 
OpenStack DVR_What is DVR?
OpenStack DVR_What is DVR?OpenStack DVR_What is DVR?
OpenStack DVR_What is DVR?
 
Cisco CCNA- NAT Configuration
Cisco CCNA- NAT ConfigurationCisco CCNA- NAT Configuration
Cisco CCNA- NAT Configuration
 
Things I wish I had known about IPv6 before I started
Things I wish I had known about IPv6 before I startedThings I wish I had known about IPv6 before I started
Things I wish I had known about IPv6 before I started
 
Nat
NatNat
Nat
 
Morphology of Modern Data Center Networks - YaC 2013
Morphology of Modern Data Center Networks - YaC 2013Morphology of Modern Data Center Networks - YaC 2013
Morphology of Modern Data Center Networks - YaC 2013
 
Indicaciones nota 4
Indicaciones nota 4Indicaciones nota 4
Indicaciones nota 4
 
20141102 VyOS 1.1.0 and NIFTY Cloud New Features
20141102 VyOS 1.1.0 and NIFTY Cloud New Features20141102 VyOS 1.1.0 and NIFTY Cloud New Features
20141102 VyOS 1.1.0 and NIFTY Cloud New Features
 
SF Kubernetes Meetup Lightning Talk
SF Kubernetes Meetup Lightning TalkSF Kubernetes Meetup Lightning Talk
SF Kubernetes Meetup Lightning Talk
 
第53回WIT研究会におけるリアルタイム映像配信 -技術編-
第53回WIT研究会におけるリアルタイム映像配信 -技術編-第53回WIT研究会におけるリアルタイム映像配信 -技術編-
第53回WIT研究会におけるリアルタイム映像配信 -技術編-
 
Installation of pfSense on Soekris 6501
Installation of pfSense on Soekris 6501Installation of pfSense on Soekris 6501
Installation of pfSense on Soekris 6501
 
How to Configure NetFlow v5 & v9 on Cisco Routers
How to Configure NetFlow v5 & v9 on Cisco RoutersHow to Configure NetFlow v5 & v9 on Cisco Routers
How to Configure NetFlow v5 & v9 on Cisco Routers
 
2015.7.17 JANOG36 BGP Flowspec Interoperability Test @ Interop Tokyo 2015 Sho...
2015.7.17 JANOG36 BGP Flowspec Interoperability Test @ Interop Tokyo 2015 Sho...2015.7.17 JANOG36 BGP Flowspec Interoperability Test @ Interop Tokyo 2015 Sho...
2015.7.17 JANOG36 BGP Flowspec Interoperability Test @ Interop Tokyo 2015 Sho...
 

Similaire à Keeping Your Rack Cool with One IP Route Rule

MikroTik & RouterOS
MikroTik & RouterOSMikroTik & RouterOS
MikroTik & RouterOSFaelix Ltd
 
DoS and DDoS mitigations with eBPF, XDP and DPDK
DoS and DDoS mitigations with eBPF, XDP and DPDKDoS and DDoS mitigations with eBPF, XDP and DPDK
DoS and DDoS mitigations with eBPF, XDP and DPDKMarian Marinov
 
High Availability Architecture for Legacy Stuff - a 10.000 feet overview
High Availability Architecture for Legacy Stuff - a 10.000 feet overviewHigh Availability Architecture for Legacy Stuff - a 10.000 feet overview
High Availability Architecture for Legacy Stuff - a 10.000 feet overviewMarco Amado
 
IPVS for Docker Containers
IPVS for Docker ContainersIPVS for Docker Containers
IPVS for Docker ContainersBob Sokol
 
[En] IPVS for Docker Containers
[En] IPVS for Docker Containers[En] IPVS for Docker Containers
[En] IPVS for Docker ContainersAndrey Sibirev
 
Trying and evaluating the new features of GlusterFS 3.5
Trying and evaluating the new features of GlusterFS 3.5Trying and evaluating the new features of GlusterFS 3.5
Trying and evaluating the new features of GlusterFS 3.5Keisuke Takahashi
 
DDos, Peering, Automation and more
DDos, Peering, Automation and moreDDos, Peering, Automation and more
DDos, Peering, Automation and moreInternet Society
 
DIY Internet: Snappy, Secure Networking with MinimaLT (JSConf EU 2013)
DIY Internet: Snappy, Secure Networking with MinimaLT (JSConf EU 2013)DIY Internet: Snappy, Secure Networking with MinimaLT (JSConf EU 2013)
DIY Internet: Snappy, Secure Networking with MinimaLT (JSConf EU 2013)Igalia
 
IPv6 enterprise security - The NAT Returns
IPv6 enterprise security - The NAT ReturnsIPv6 enterprise security - The NAT Returns
IPv6 enterprise security - The NAT ReturnsSanjeev Gupta
 
IETF 106 - Default IPv6 Local Only Addressing for Non-Internet Devices
IETF 106 - Default IPv6 Local Only Addressing for Non-Internet DevicesIETF 106 - Default IPv6 Local Only Addressing for Non-Internet Devices
IETF 106 - Default IPv6 Local Only Addressing for Non-Internet DevicesMark Smith
 
Rete di casa e raspberry pi - Home network and Raspberry Pi
Rete di casa e raspberry pi - Home network and Raspberry Pi Rete di casa e raspberry pi - Home network and Raspberry Pi
Rete di casa e raspberry pi - Home network and Raspberry Pi Daniele Albrizio
 
Bastion jump hosts with Teleport
Bastion jump hosts with TeleportBastion jump hosts with Teleport
Bastion jump hosts with TeleportFaelix Ltd
 
Bh fed-03-kaminsky
Bh fed-03-kaminskyBh fed-03-kaminsky
Bh fed-03-kaminskyDan Kaminsky
 
Introduction to Industrial Control Systems : Pentesting PLCs 101 (BlackHat Eu...
Introduction to Industrial Control Systems : Pentesting PLCs 101 (BlackHat Eu...Introduction to Industrial Control Systems : Pentesting PLCs 101 (BlackHat Eu...
Introduction to Industrial Control Systems : Pentesting PLCs 101 (BlackHat Eu...arnaudsoullie
 
Installation of pfSense on Soekris 6501
Installation of pfSense on Soekris 6501Installation of pfSense on Soekris 6501
Installation of pfSense on Soekris 6501robertguerra
 
Chef on SmartOS
Chef on SmartOSChef on SmartOS
Chef on SmartOSEric Saxby
 
Kamailio with Docker and Kubernetes
Kamailio with Docker and KubernetesKamailio with Docker and Kubernetes
Kamailio with Docker and KubernetesPaolo Visintin
 
Neutron Network Namespaces and IPtables--A Technical Deep Dive
Neutron Network Namespaces and IPtables--A Technical Deep DiveNeutron Network Namespaces and IPtables--A Technical Deep Dive
Neutron Network Namespaces and IPtables--A Technical Deep DiveMirantis
 
OpenStack Havana over IPv6
OpenStack Havana over IPv6OpenStack Havana over IPv6
OpenStack Havana over IPv6Shixiong Shang
 
10. th cncf meetup - Routing microservice-architectures-with-traefik-cncfsk
10. th cncf meetup - Routing microservice-architectures-with-traefik-cncfsk10. th cncf meetup - Routing microservice-architectures-with-traefik-cncfsk
10. th cncf meetup - Routing microservice-architectures-with-traefik-cncfskJuraj Hantak
 

Similaire à Keeping Your Rack Cool with One IP Route Rule (20)

MikroTik & RouterOS
MikroTik & RouterOSMikroTik & RouterOS
MikroTik & RouterOS
 
DoS and DDoS mitigations with eBPF, XDP and DPDK
DoS and DDoS mitigations with eBPF, XDP and DPDKDoS and DDoS mitigations with eBPF, XDP and DPDK
DoS and DDoS mitigations with eBPF, XDP and DPDK
 
High Availability Architecture for Legacy Stuff - a 10.000 feet overview
High Availability Architecture for Legacy Stuff - a 10.000 feet overviewHigh Availability Architecture for Legacy Stuff - a 10.000 feet overview
High Availability Architecture for Legacy Stuff - a 10.000 feet overview
 
IPVS for Docker Containers
IPVS for Docker ContainersIPVS for Docker Containers
IPVS for Docker Containers
 
[En] IPVS for Docker Containers
[En] IPVS for Docker Containers[En] IPVS for Docker Containers
[En] IPVS for Docker Containers
 
Trying and evaluating the new features of GlusterFS 3.5
Trying and evaluating the new features of GlusterFS 3.5Trying and evaluating the new features of GlusterFS 3.5
Trying and evaluating the new features of GlusterFS 3.5
 
DDos, Peering, Automation and more
DDos, Peering, Automation and moreDDos, Peering, Automation and more
DDos, Peering, Automation and more
 
DIY Internet: Snappy, Secure Networking with MinimaLT (JSConf EU 2013)
DIY Internet: Snappy, Secure Networking with MinimaLT (JSConf EU 2013)DIY Internet: Snappy, Secure Networking with MinimaLT (JSConf EU 2013)
DIY Internet: Snappy, Secure Networking with MinimaLT (JSConf EU 2013)
 
IPv6 enterprise security - The NAT Returns
IPv6 enterprise security - The NAT ReturnsIPv6 enterprise security - The NAT Returns
IPv6 enterprise security - The NAT Returns
 
IETF 106 - Default IPv6 Local Only Addressing for Non-Internet Devices
IETF 106 - Default IPv6 Local Only Addressing for Non-Internet DevicesIETF 106 - Default IPv6 Local Only Addressing for Non-Internet Devices
IETF 106 - Default IPv6 Local Only Addressing for Non-Internet Devices
 
Rete di casa e raspberry pi - Home network and Raspberry Pi
Rete di casa e raspberry pi - Home network and Raspberry Pi Rete di casa e raspberry pi - Home network and Raspberry Pi
Rete di casa e raspberry pi - Home network and Raspberry Pi
 
Bastion jump hosts with Teleport
Bastion jump hosts with TeleportBastion jump hosts with Teleport
Bastion jump hosts with Teleport
 
Bh fed-03-kaminsky
Bh fed-03-kaminskyBh fed-03-kaminsky
Bh fed-03-kaminsky
 
Introduction to Industrial Control Systems : Pentesting PLCs 101 (BlackHat Eu...
Introduction to Industrial Control Systems : Pentesting PLCs 101 (BlackHat Eu...Introduction to Industrial Control Systems : Pentesting PLCs 101 (BlackHat Eu...
Introduction to Industrial Control Systems : Pentesting PLCs 101 (BlackHat Eu...
 
Installation of pfSense on Soekris 6501
Installation of pfSense on Soekris 6501Installation of pfSense on Soekris 6501
Installation of pfSense on Soekris 6501
 
Chef on SmartOS
Chef on SmartOSChef on SmartOS
Chef on SmartOS
 
Kamailio with Docker and Kubernetes
Kamailio with Docker and KubernetesKamailio with Docker and Kubernetes
Kamailio with Docker and Kubernetes
 
Neutron Network Namespaces and IPtables--A Technical Deep Dive
Neutron Network Namespaces and IPtables--A Technical Deep DiveNeutron Network Namespaces and IPtables--A Technical Deep Dive
Neutron Network Namespaces and IPtables--A Technical Deep Dive
 
OpenStack Havana over IPv6
OpenStack Havana over IPv6OpenStack Havana over IPv6
OpenStack Havana over IPv6
 
10. th cncf meetup - Routing microservice-architectures-with-traefik-cncfsk
10. th cncf meetup - Routing microservice-architectures-with-traefik-cncfsk10. th cncf meetup - Routing microservice-architectures-with-traefik-cncfsk
10. th cncf meetup - Routing microservice-architectures-with-traefik-cncfsk
 

Dernier

Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhimiss dipika
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书rnrncn29
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Sonam Pathan
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一z xss
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Paul Calvano
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa494f574xmv
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predieusebiomeyer
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书rnrncn29
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Sonam Pathan
 
Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxQ4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxeditsforyah
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书zdzoqco
 
NSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentationNSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentationMarko4394
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作ys8omjxb
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationLinaWolf1
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxDyna Gilbert
 

Dernier (17)

Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhi
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
 
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa
 
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predi
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
 
Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxQ4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptx
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
 
NSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentationNSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentation
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 Documentation
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptx
 

Keeping Your Rack Cool with One IP Route Rule

  • 1. Marek Isalski – marek @ faelix.net – @maznu faelix limited – https://faelix.net/ – @faelix KEEPING YOUR RACK COOL WITH ONE "/IP ROUTE RULE"
  • 4. KEEPING YOUR RACK COOL WITH ONE "/IP ROUTE RULE" HOW FAELIX ARRIVED AT THIS IDEA ▸ Part 1: ▸ About our network and what we do ▸ Our experience using MikroTik at the provider edge ▸ Part 2: ▸ Zero filter rules! :-)
  • 6.
  • 7. KEEPING YOUR RACK COOL WITH ONE "/IP ROUTE RULE" ABOUT FAELIX ▸ Mostly-hosting ISP ▸ Security, social issues, environment ▸ Based in Manchester, UK = local footprint ▸ ≈50% of servers in Geneva, CH = excellent energy efficiency ▸ Multi-homed, multi-site, autonomous system: AS41495
  • 10. MIKROTIK HARDWARE AND ROUTEROS AT THE PROVIDER EDGE MULTI-HOMED ▸ Organise "transit" from upstream providers ▸ Talk BGP with them, announcements + get sent routing tables ▸ Maybe you get "default only"…
  • 11. MIKROTIK HARDWARE AND ROUTEROS AT THE PROVIDER EDGE MULTI-HOMED ▸ Organise "transit" from upstream providers ▸ Talk BGP with them, announcements + get sent routing tables ▸ …or maybe you get "full tables" ▸ >600k IPv4 routes, >30k IPv6 routes ▸ That's a lot of routes!
  • 12. MIKROTIK HARDWARE AND ROUTEROS AT THE PROVIDER EDGE OUR MIGRATION TO MIKROTIK ROUTEROS ▸ Quagga + BIRD on servers running Linux solid for >6 years ❤ ▸ 2015: we wanted to do an upgrade… 📈 ▸ We love the energy efficiency of MikroTik CCR… 💚 ▸ No "NSA/GCHQ inside"… 😍 ▸ Can we use RouterOS? 🤔 ▸ + BIRD on servers running Linux? 🐧
  • 13. MIKROTIK HARDWARE AND ROUTEROS AT THE PROVIDER EDGE TWO ROUTING SYSTEMS? ▸ Early version of BIRD segfaulted, withdrew announcements ▸ Quagga kept on running, we did not vanish from DFZ ▸ Are we sure RouterOS BGP is going to cope? ▸ What is support going to be like? Debugging?
  • 14. MIKROTIK HARDWARE AND ROUTEROS AT THE PROVIDER EDGE OVERALL EXPERIENCE ▸ Some weird behaviour occasionally… ▸ NTP leap second bug = hard crash ▸ Disable VLAN interface before changing its physical interface orVID ▸ Support are helpful and fast; anecdotally, as responsive as the "big name" vendors ▸ Debugging time = get friendly with RouterOS command-line
  • 15. MIKROTIK HARDWARE AND ROUTEROS AT THE PROVIDER EDGE THE GOOD THE BAD ▸ £700 + 70W routes >10Gbit/s ▸ BGP feels familiar afteryears of experience of Quagga ▸ Consultants out there if you need them; training & quals ▸ MikroTik now "go to" choice for CPE, wireless, etc… ▸ Vendor interop good (beware of extra options in RouterOS) ▸ Watchdog not good enough, IPMI-style OOB hard reboot? ▸ BGP converge & FIB is slow on CCRwith 2M+ routes ▸ Routing filters don't always work first time (enable/disable) ▸ Switch VLAN setup feels like raw config of merchant silicon ▸ "RouterOS 7"
  • 16. MIKROTIK HARDWARE AND ROUTEROS AT THE PROVIDER EDGE FAELIX'S TIPS ▸ CHR, hardware is economical = no excuses for network lab ▸ Consider leap-frogging RouterOS releases in production ▸ layer-3 > layer-2, MikroTik affordability = dream come true ▸ Full routing tables get into FIB a lot quicker on x86 than on tile ▸ oxidized + syslog = configs in git + logs in one place ▸ snmp + graphite + grafana = netops visibility, cool dashboards ▸ BCP38 + MANRS + abuse-c = be excellent to each other
  • 17. MIKROTIK HARDWARE AND ROUTEROS AT THE PROVIDER EDGE PLUGS ▸ http://uknof.org.uk/ = packet pushers of the UK (and beer) ▸ http://netmcr.uk/ = packet pushers of Manchester (and beer) BEER-TO-PEER NETWORKING
  • 19. U WOT M8? you, right now ZERO FILTER FIREWALLS
  • 20. ssh SMTP / IMAP / POP VOIP Drupal WordPress IPsec L2TP
  • 21. ZERO FILTER FIREWALLS SHIT HAPPENS ▸ Your networkwill get scanned ▸ ssh, DDoS amplification, open proxies… ▸ You might have forgotten something ▸ Is your management network isolated? ▸ Your customers will do things you don't expect ▸ e.g. SNMP or DNS on CPE open to Internet ▸ Software has bugs
  • 22. That is one big pile of shit!
  • 23.
  • 25. SECURITY IS HARD every infosec professional ever ZERO FILTER FIREWALLS
  • 26. START WITH THE LOW- HANGING FRUIT… GOAL:
  • 27. THE NEXT CROP! AND WHEN THEY'RE PICKED…
  • 29. FAIL2BAN STEP 2: WWW Cat GIF Blog make DJT root again! apache logs fail2ban
  • 30. ZERO FILTER FIREWALLS FAIL2BAN ▸ Follow log file, if line matches "filter" then performs "action" ▸ Great for blocking brute force (ssh, etc) ▸ MikroTikwiki + forum have examples for RouterOS ▸ Send logs via syslog to a VM for analysis ▸ fail2ban connects to RouterOS with ssh and blocks using: ▸ add new /ip firewall filter (ok) ▸ add new /ip firewall address-list (better)
  • 31. ZERO FILTER FIREWALLS FAIL2BAN ▸ Quick, cheap, easy ▸ Make your own or find rules to block web, VoIP, and other nasty traffic ▸ Attackerwill move on to another target pretty quickly when DROPped ▸ Next target might still be in your network, still traffic across your backbone ▸ Can we put attacking IPs on a network-wide "naughty step"?
  • 32. BLOCK AT THE PROVIDER EDGE STEP 3: Edge Router WWW Cat GIF Blog make DJT root again! apache logs fail2ban slurry spreader AMQP ROSAPI
  • 33. ZERO FILTER FIREWALLS BLOCKING AT THE PROVIDER EDGE ▸ Lots of flows, lots of PPS, lots of attacking addresses ▸ /ip firewall filter uses each set of rules sequentially = O(n) ▸ /ip firewall address-list is a hash-table ≈ O(1) ▸ Using AMQP to get addresses added to block lists on all routers in three data-centres ▸ We already had RabbitMQ across our network for other infrastructure needs
  • 34. FALSE POSITIVES STEP 4: WWW Cat GIF Blog apache logs fail2banslurry spreader AMQP passwords are hard Edge Router ROSAPI
  • 35. FALSE POSITIVES STEP 4: WWW Cat GIF Blog apache logs fail2banslurry spreader AMQP passwords are hard Edge Router DNAT! ROSAPI
  • 36. FALSE POSITIVES STEP 4: WWW Cat GIF Blog apache logs fail2banslurry spreader AMQP passwords are hard Edge Router ROSAPI
  • 37. ZERO FILTER FIREWALLS DESTINATION NAT ▸ Send bad traffic to a VM serving the "blocked" message: ▸ /ip firewall nat src-address-list=shitpit action=dst-nat
  • 39. ZERO FILTER FIREWALLS BLOCKING AT THE PROVIDER EDGE ▸ Lots of flows, lots of PPS, lots of attacking addresses ▸ /ip firewall filter uses each set of rules sequentially = O(n) ▸ /ip firewall address-list is a hash-table ≈ O(1) ▸ Using AMQP to get addresses added to block lists on all routers in three data-centres ▸ We already had RabbitMQ across our network for other infrastructure needs
  • 40. ZERO FILTER FIREWALLS BLOCKING AT THE PROVIDER EDGE ▸ Lots of flows… ▸ …so use a mangle rule so routers only track bad traffic? ▸ No! We want to build something we can understand.
  • 42. TRAFFIC HAS MULTIPLE PATHS IN AND OUT OF OUR NETWORK PROBLEM: Edge Router Edge Router Edge Router Edge Router Edge Router
  • 43. TRAFFIC HAS MULTIPLE PATHS IN AND OUT OF OUR NETWORK PROBLEM: Edge Router Edge Router Edge Router Edge Router Edge Router
  • 44. TRAFFIC HAS MULTIPLE PATHS IN AND OUT OF OUR NETWORK PROBLEM: Edge Router Edge Router Edge Router Edge Router Edge Router what is this?
  • 45. TRAFFIC HAS MULTIPLE PATHS IN AND OUT OF OUR NETWORK PROBLEM: Edge Router Edge Router Edge Router Edge Router Edge Router bro, do u even conntrack?
  • 46. ZERO FILTER FIREWALLS WON'T CONNTRACK, CAN'T NAT ▸ Lots of flows ▸ Can't share conntrack across RouterOS devices ▸ Would be nice forVRRP-type HA default gateways? ▸ We don't want to even ifwe could: lots of flows! ▸ And don't want to mangle to ignore good flows… ▸ …and mangle to make return traffic go the right way. ▸ "Are we there yet!?"
  • 47.
  • 48. KEEPING YOUR RACK COOL WITH ONE "/IP ROUTE RULE" MULTIPLE ROUTING TABLES ▸ /ip route add gateway=203.0.113.113 routing-mark=shitpit ▸ /ip route rule add routing-mark=shitpit table=shitpit ▸ /ip firewall mangle add chain=prerouting passthrough=yes
 action=mark-routing new-routing-mark=shitpit
 src-address-list=shitpit ▸ /ip firewall address-list add list=shitpit
 address=192.0.2.69/32 timeout=1m
  • 49. /IP ROUTE RULE STEP 5: Edge Router fail2ban spreader make DJT root again! WWW Cat GIF Blog slurry AMQP apache logs
  • 50. …AND STAY OUT! STEP 6: Edge Router fail2ban spreader make DJT root again! slurry AMQP
  • 51. YOUR NEXT CROP OF LOW-HANGING FRUIT STEP 7: Edge Router fail2ban spreader make DJT root again! WWW Cat GIF Blog slurry AMQP apache logs M O RE RULES!
  • 52. EXTRA CREDIT STEP 8: Edge Router fail2ban spreader make DJT root again! slurry AMQP
  • 53. Edge Router fail2ban slurry spreader AMQP make DJT root again! DNS RBL badips.com fastnetmon VIPs snort
  • 54. KEEPING YOUR RACK COOL WITH ONE "/IP ROUTE RULE" REFERENCES ▸ fail2ban = tail log files, filter them, perform actions ▸ fastnetmon = DDoS detection with data from /ip traffic-flow ▸ portsentry = am I being portscanned? ▸ mod_security + OWASP = Web Application Firewall ▸ snort = intrusion detection system ▸ GIFs from devopsreactions, securityreactions, honestnetworker
  • 55. KEEPING YOUR RACK COOL WITH ONE "/IP ROUTE RULE" CONCLUSION ▸ /ip route add gateway=203.0.113.113 routing-mark=shitpit ▸ /ip route rule add routing-mark=shitpit table=shitpit ▸ /ip firewall mangle add chain=prerouting passthrough=yes
 action=mark-routing new-routing-mark=shitpit
 src-address-list=shitpit ▸ /ip firewall address-list add list=shitpit
 address=192.0.2.69/32 timeout=1m
  • 56. e: marek@faelix.net t: @maznu w: https://faelix.net/ THANKS FOR LISTENING! ANY QUESTIONS?