F5IRULES - F5IRULES: F5 Networks Developing iRules for BIG-IP

This course provides networking professionals a functional understanding of iRules development. The course builds on the foundation of the Administering BIG-IP or Configuring LTM course, demonstrating how to logically plan and write iRules to help monitor and manage common tasks involved with processing traffic on the BIG-IP system. Extensive course labs consist of writing, applying and evaluating the effect of iRules on local traffic. This hands-on course includes lectures, labs, and discussions.

Student Testimonials

Instructor did a great job, from experience this subject can be a bit dry to teach but he was able to keep it very engaging and made it much easier to focus. Student
Excellent presentation skills, subject matter knowledge, and command of the environment. Student
Instructor was outstanding. Knowledgeable, presented well, and class timing was perfect. Student

Click here to print this page »

Prerequisites


Administering BIG-IP or Configuring BIG-IP LTM: Local Traffic Manager or hold the F5 Certified BIG-IP Administrator certification..

Detailed Class Syllabus


Lesson 1 : Setting Up the BIG-IP System


Introducing the BIG-IP System
Initially Setting Up the BIG-IP System
Archiving the BIG-IP System Configuration
Leveraging F5 Support Resources and Tools

Lesson 2 : Getting Started with iRules


Customizing Application Delivery with iRules
Triggering an iRule
Leveraging the DevCentral Ecosystem
Creating and Deploying iRules

Lesson 3 : Exploring iRule Elements


Introducing iRule Constructs
Understanding iRule Events and Event Context
Working with iRule Commands
Logging from an iRule Using SYSLOG-NG (LOG Command)
Working with User-Defined Variables
Working with Operators and Data Types
Working with Conditional Control Structures (IF and SWITCH)
Incorporating Best Practices in iRules

Lesson 4 : Developing and Troubleshooting iRules


Mastering Whitespace and Special Symbols
Grouping Strings
Developing and Troubleshooting Tips
Using Fiddler to Test and Troubleshoot iRules

Lesson 5 : Optimizing iRule Execution


Understanding the Need for Efficiency
Measure iRule Runtime Efficiency Using Timing Statistics
Modularizing iRules for Administrative Efficiency
Using Procedures to Modularize Code
Optimizing Logging
Using High-Speed Logging Commands in an iRule
Implementing Other Efficiencies
Using Looping Control Structures (WHILE, FOR, FOREACH Commands)

Lesson 6 : Securing Web Applications with iRules


Integrating iRules into Web Application Defense
Mitigating HTTP Version Attacks
Mitigating Path Traversal Attacks
Using iRules to Defends Against Cross-Site Request Forgery (CSRF)
Mitigating HTTP Method Vulnerabilities
Securing HTTP Cookies with iRules
Adding HTTP Security Headers
Removing Undesirable HTTP Headers

Lesson 7 : Working with Numbers and Strings


Understanding Number Forms and Notation
Working with Strings (STRING and SCAN Commands)
Combining Strings (Adjacent Variables, CONCAT and APPEND Commands)
Using iRule String Parsing Functions (FINDSTR, GETFIELD, and SUBSTR Commands)

Lesson 8 : Processing the HTTP Payload


Reviewing HTTP Headers and Commands
Accessing and Manipulating HTTP Headers (HTTP::header Commands)
Other HTTP commands (HTTP::host, HTTP::status, HTTP::is_keepalive, HTTP::method, HTTP::version, HTTP::redirect, HTTP::respond, HTTP::uri)
Parsing the HTTP URI (URI::path, URI::basename, URI::query)
Parsing Cookies with HTTP::cookie
Selectively Compressing HTTP Data (COMPRESS Command)

Lesson 9 : Working with iFiles and Data Groups


Working with iFiles
Introducing Data Groups
Working with Old Format Data Groups (MATCHCLASS, FINDCLASS)
Working with New Format Data Groups (CLASS MATCH, CLASS SEARCH)

Lesson 10 : Using iRules with Universal Persistence, Stream, and Statistics Profiles


Implementing Universal Persistence (PERSIST UIE Command)
Working with the Stream Profile (STREAM Command)
Collecting Statistics Using a Statistics Profile (STATS Command)
Collecting Statistics Using iStats (ISTATS Command)

Lesson 11 : Incorporating Advanced Variables


Reviewing the Local Variable Namespace
Working with Arrays (ARRAY Command)
Using Static and Global Variables
Using the Session Table (TABLE Command)
Processing Session Table Subtables
Counting “Things” Using the Session Table