SlideShare una empresa de Scribd logo
1 de 28
What’s New in
NGINX Plus R10?
1
MORE INFORMATION AT
NGINX.COM
NGINX Plus R9 Recap
● Dynamic modules
○ Load rich modules into NGINX Plus at runtime
● UDP load balancing
○ Load balancing for DNS, RADIUS, and other UDP services
○ Complements existing TCP/HTTP load balancing
● On-the-fly reconfiguration using DNS SRV records
○ Reduce microservices complexity
● NGINX Plus App Pricing
○ “All you can eat” pricing for NGINX Plus
Released: Tuesday April 12, 2016
NGINX Plus R10 New Features
Key new features for improved security, network integration, and scripting
Security:
● ModSecurity Web Application Firewall (WAF)
● Native JWT support for OAuth 2.0 and OpenID Connect
● “Dual-stack” RSA-ECC certificates
Network integration:
● IP transparency
● Direct Server Return (DSR) for UDP apps
Scripting:
● nginScript
Released: Tuesday August 23, 2016
3
ModSecurity WAF
4
Why a Web Application Firewall?
“...even when you understand web security, it is difficult to produce secure code, especially when
working under the pressure so common in today's software development projects.”
– Ivan Ristic, ModSecurity creator
● 50% increase in web application attacks from 2015 to 2016
● 125% increase in DDoS attacks from 2015 to 2016
● Security breaches can be devastating
• Code Spaces – Went out of business after attacker deleted all of its data
• DNC email scandal – Head of DNC, 3 others forced to resign
• iCloud, PlayStation Network, many more
● A WAF is a necessary tool for protecting applications
5
Why ModSecurity?
● Open source (curated by TrustWave)
● Battle tested for over 14 years
● Used by tens of thousands of websites
● 3,000 downloads/month
● Large, enthusiastic community backing
● Easy to find help
6
ModSecurity 101
● Two basic components
• Rules that define malicious behavior
• WAF software that enforces the rules
● Pluggable rule set
• OWASP Core Rule Set (free)
• GotRoot Commercial Rules ($199/year)
• TrustWave Commercial Rules ($495/year)
● Anomaly-based scoring
• Each rule that “fires” contributes to the anomaly score
• Based on the score different actions can happen
■ Log as notice, warning, critical, etc.
■ Drop the request
7
Comprehensive Protection for Critical Apps and Data
Application Servers
● Layer 7 attack protection
● DDoS mitigation
● Real-time blacklists 1
● Sensitive data protection
● Honeypots
● Virtual patching
● Detailed audit logs
● PCI-DSS 6.6 compliance
1 Additional costs may apply
8
NGINX Plus with ModSecurity WAF Details
● R10 release is a ‘preview’ – test, evaluate, feedback, deploy
● Easily installable as a dynamic module
● Fully maintained, built, tested, and packaged per release by our core engineering team
● One number to call for 24x7 support with setup and configuration help
• Includes OWASP Core Rule Set configuration
● Cost: $2,000/year per instance for NGINX Plus Professional and Enterprise customers
9
Why NGINX Plus with ModSecurity WAF?
● Significantly reduce costs
• Over 66% savings in 5-year TCO vs. Imperva
● Combined solution increases operational efficiency
• Application delivery and security in one place
• Imperva is WAF only – no load balancing, caching, etc.
● Gain software flexibility and elasticity
• Deploy in any environment, public or private
• Limited deployment options with Imperva, F5, etc.
● Eliminate vendor lock-in
• Standards-based rules language vs. proprietary rules with Imperva, F5, etc.
11
Native JWT Support
12
NGINX Plus for Authentication
13
Use Case 1: Single Sign-On (SSO)
● Easily add single sign-on to new or existing
applications
● OpenID Connect provider issues JWTs
● Consumer/external – Google, Yahoo!, etc.
• No Facebook
● Enterprise/internal – Okta, OneLogin, Ping
Identity, etc.
14
Use Case 2: API Gateway
● Centralized authentication for APIs
● Client-side application requests JWT
• iPhone/Android-native app
• Browser-based app
● Typically homegrown entity that issues JWTs
• Does not involve OpenID, Google, etc.
● Workflow is identical to SSO
15
Why NGINX Plus for OpenID?
● Improve security by consolidating
keys to one location
● Simplify application logic by offloading
authentication
● Rate limit and track per user rather
than per IP address
● Eliminate vendor lock-in
16
“Dual-Stack” RSA-ECC
Certificates
17
RSA vs. ECC
● Certificates are used for:
○ Users know they are talking to the right website and not a man-in-the-middle
○ Securely exchange information to establish secure communications
● RSA certificates have been industry standard for a long time
● ECC (Elliptic Curve Cryptography) provides same functionality as RSA with over 3x better
performance
● "Dual-stack” means backward compatibility for older devices
○ Configure a server with both RSA and ECC certificates
○ Modern clients automatically use higher-performance, lower-impact ECC certificate
○ Legacy clients are not locked out because NGINX provides them with an RSA cert
18
Network Features
19
● Support for a broader range of application types and deployment models
● IP transparency – Send original client IP address to backend server
● Direct Server Return (DSR) – Server responds directly to client
○ DSR is supported for UDP-based applications
Transparent Proxy Enables IP Transparency and Direct Server Return
20
nginScript
21
MORE INFORMATION AT
NGINX.COM
● Next-generation configuration language for NGINX
● Makes NGINX more powerful and accessible
● Customers can use JavaScript to perform more complex and custom actions than can be
performed with standard NGINX configuration
● JavaScript is a well-known and widely used programming language, especially in the frontend
What Is nginScript?
MORE INFORMATION AT
NGINX.COM
nginScript in NGINX Plus R10
js_include /etc/nginx/functions.js;
server {
listen 80;
location / {
set $transition_window_start 1471971600; # 23-Aug-2016 17:00:00 UTC
set $transition_window_end 1471978800; # 23-Aug-2016 19:00:00 UTC
js_set $upstream transitionStatus; # Returns "old|new" based on window pos
proxy_pass http://$upstream;
error_log /var/log/nginx/transition.log info; # Enable nginScript logging
}
}
MORE INFORMATION AT
NGINX.COM
nginScript in NGINX Plus R10
function transitionStatus(req) {
var vars, window_start, window_end, time_now, timepos, numhash, hashpos;
// Get the transition window from NGINX configuration
vars = req.variables;
window_start = vars.transition_window_start;
window_end = vars.transition_window_end;
// Are we in the transition time window?
time_now = Math.floor(Date.now() / 1000); // Convert from milliseconds
if ( time_now < window_start ) {
return "old";
} else if ( time_now > window_end ) {
return "new";
} else { // We are in the transition window
// Calculate our relative position in the window (0-1)
timepos = (time_now - window_start) / (window_end - window_start);
// Get numeric hash for this client's IP address
numhash = fnv32a(vars.binary_remote_addr);
// Calculate the hash's position in the output range (0-1)
hashpos = numhash / 4294967295; // Upper bound is 32 bits
req.log("timepos = " + timepos + ", hashpos = " + hashpos); //error_log [info]
// Should we transition this client?
if ( timepos > hashpos ) {
return "new";
} else {
return "old";
}
}
}
MORE INFORMATION AT
NGINX.COM
● nginScript is a work in progress
• Implements a growing subset of ECMAScript 5.1
• Implements a growing set of global functions and built-in objects and functions
● Still seeking optimal way to integrate nginScript and NGINX configuration language
nginScript in NGINX Plus R10
Additional Features
MORE INFORMATION AT
NGINX.COM
● Closer parity between TCP/UDP load balancing and HTTP load balancing. TCP/UDP load
balancing now includes:
• split_clients for A/B testing
• geoip to take actions based on the geographical location of clients
• geo to define variables based on IP address
• map module
• Additional NGINX variables
● NGINX Plus uses the IP_BIND_ADDRESS_NO_PORT socket option when available
• Reuses port numbers to help prevent ephemeral port exhaustion
• Enables greater scalability by allowing for more simultaneous TCP connections
• Requires Linux kernel 4.2 (Ubuntu 15.10 or later)
Additional Features
MORE INFORMATION AT
NGINX.COM
● A unique transaction ID ($request_id) is autogenerated for each new HTTP request
• Facilitates application tracing and brings APM capabilities to log-analysis tools
• The transaction ID can be proxied to backend servers so that all parts of the system can
log a consistent identifier for each transaction
● The proxy_request_buffering, fastcgi_request_buffering,
scgi_request_buffering, and uwsgi_request_buffering directives now work with
HTTP/2 and can be used to toggle request buffering
● HTTP/2 clients can now start sending the request body immediately using the new
http2_body_preread_size directive, which controls the size of the buffer used before
NGINX Plus starts reading the client request body
Additional Features
Summary
NGINX Plus R10 has key new features for improved security, network integration, and scripting
● NGINX Plus with ModSecurity WAF helps defend and secure applications
● JWT authentication consolidated with NGINX Plus simplifies operations
● "Dual-stack” RSA-ECC certificates more than double SSL/TLS TPS while maintaining
backward compatibility
● Transparent proxy enables IP transparency and Direct Server Return
● nginScript is the next-generation extension language for NGINX
Released: Tuesday August 23, 2016
29

Más contenido relacionado

La actualidad más candente

Simplify Microservices with the NGINX Application Platform
Simplify Microservices with the NGINX Application PlatformSimplify Microservices with the NGINX Application Platform
Simplify Microservices with the NGINX Application Platform
NGINX, Inc.
 

La actualidad más candente (20)

Improve App Performance & Reliability with NGINX Amplify
Improve App Performance & Reliability with NGINX AmplifyImprove App Performance & Reliability with NGINX Amplify
Improve App Performance & Reliability with NGINX Amplify
 
NGINX Amplify: Monitoring NGINX with Advanced Filters and Custom Dashboards
NGINX Amplify: Monitoring NGINX with Advanced Filters and Custom DashboardsNGINX Amplify: Monitoring NGINX with Advanced Filters and Custom Dashboards
NGINX Amplify: Monitoring NGINX with Advanced Filters and Custom Dashboards
 
NGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEA
NGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEANGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEA
NGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEA
 
What’s New in NGINX Plus R16?
What’s New in NGINX Plus R16?What’s New in NGINX Plus R16?
What’s New in NGINX Plus R16?
 
NGINX Ingress Controller for Kubernetes
NGINX Ingress Controller for KubernetesNGINX Ingress Controller for Kubernetes
NGINX Ingress Controller for Kubernetes
 
MRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
MRA AMA Part 10: Kubernetes and the Microservices Reference ArchitectureMRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
MRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
 
What's new in NGINX Plus R19
What's new in NGINX Plus R19What's new in NGINX Plus R19
What's new in NGINX Plus R19
 
NGINX Installation and Tuning
NGINX Installation and TuningNGINX Installation and Tuning
NGINX Installation and Tuning
 
Microservices with NGINX pdf
Microservices with NGINX pdfMicroservices with NGINX pdf
Microservices with NGINX pdf
 
NGINX Controller: Configuration, Management, and Troubleshooting at Scale – EMEA
NGINX Controller: Configuration, Management, and Troubleshooting at Scale – EMEANGINX Controller: Configuration, Management, and Troubleshooting at Scale – EMEA
NGINX Controller: Configuration, Management, and Troubleshooting at Scale – EMEA
 
Simplify Microservices with the NGINX Application Platform
Simplify Microservices with the NGINX Application PlatformSimplify Microservices with the NGINX Application Platform
Simplify Microservices with the NGINX Application Platform
 
Using NGINX and NGINX Plus as a Kubernetes Ingress
Using NGINX and NGINX Plus as a Kubernetes IngressUsing NGINX and NGINX Plus as a Kubernetes Ingress
Using NGINX and NGINX Plus as a Kubernetes Ingress
 
NGINX Plus R20 Webinar EMEA
NGINX Plus R20 Webinar EMEANGINX Plus R20 Webinar EMEA
NGINX Plus R20 Webinar EMEA
 
NGINX: Basics and Best Practices EMEA
NGINX: Basics and Best Practices EMEANGINX: Basics and Best Practices EMEA
NGINX: Basics and Best Practices EMEA
 
Replacing and Augmenting F5 BIG-IP with NGINX Plus
Replacing and Augmenting F5 BIG-IP with NGINX PlusReplacing and Augmenting F5 BIG-IP with NGINX Plus
Replacing and Augmenting F5 BIG-IP with NGINX Plus
 
NGINX Kubernetes Ingress Controller: Getting Started – EMEA
NGINX Kubernetes Ingress Controller: Getting Started – EMEANGINX Kubernetes Ingress Controller: Getting Started – EMEA
NGINX Kubernetes Ingress Controller: Getting Started – EMEA
 
What's New in NGINX Plus R8
What's New in NGINX Plus R8What's New in NGINX Plus R8
What's New in NGINX Plus R8
 
Load Balancing Applications on Kubernetes with NGINX
Load Balancing Applications on Kubernetes with NGINXLoad Balancing Applications on Kubernetes with NGINX
Load Balancing Applications on Kubernetes with NGINX
 
What’s New in NGINX Ingress Controller for Kubernetes Release 1.5.0
What’s New in NGINX Ingress Controller for Kubernetes Release 1.5.0What’s New in NGINX Ingress Controller for Kubernetes Release 1.5.0
What’s New in NGINX Ingress Controller for Kubernetes Release 1.5.0
 
NGINX Plus R19 : EMEA
NGINX Plus R19 : EMEANGINX Plus R19 : EMEA
NGINX Plus R19 : EMEA
 

Destacado

Load Balancing Apps in Docker Swarm with NGINX
Load Balancing Apps in Docker Swarm with NGINXLoad Balancing Apps in Docker Swarm with NGINX
Load Balancing Apps in Docker Swarm with NGINX
NGINX, Inc.
 

Destacado (19)

Load Balancing Apps in Docker Swarm with NGINX
Load Balancing Apps in Docker Swarm with NGINXLoad Balancing Apps in Docker Swarm with NGINX
Load Balancing Apps in Docker Swarm with NGINX
 
The 3 Models in the NGINX Microservices Reference Architecture
The 3 Models in the NGINX Microservices Reference ArchitectureThe 3 Models in the NGINX Microservices Reference Architecture
The 3 Models in the NGINX Microservices Reference Architecture
 
Nginx Internals
Nginx InternalsNginx Internals
Nginx Internals
 
NGiNX, o motor da sua aplicação web
NGiNX, o motor da sua aplicação webNGiNX, o motor da sua aplicação web
NGiNX, o motor da sua aplicação web
 
Load Balancing with Nginx
Load Balancing with NginxLoad Balancing with Nginx
Load Balancing with Nginx
 
When dynamic becomes static - the next step in web caching techniques
When dynamic becomes static - the next step in web caching techniquesWhen dynamic becomes static - the next step in web caching techniques
When dynamic becomes static - the next step in web caching techniques
 
NGINX for Application Delivery & Acceleration
NGINX for Application Delivery & AccelerationNGINX for Application Delivery & Acceleration
NGINX for Application Delivery & Acceleration
 
Deploying NGINX Plus with Ansible
Deploying NGINX Plus with AnsibleDeploying NGINX Plus with Ansible
Deploying NGINX Plus with Ansible
 
Content Caching with NGINX and NGINX Plus
Content Caching with NGINX and NGINX PlusContent Caching with NGINX and NGINX Plus
Content Caching with NGINX and NGINX Plus
 
CF WebUI - CloudFoundry User Group DACH
CF WebUI - CloudFoundry User Group DACHCF WebUI - CloudFoundry User Group DACH
CF WebUI - CloudFoundry User Group DACH
 
COSCUP 2016: Project 52 每週一個小專案來學習 Golang
COSCUP 2016: Project 52 每週一個小專案來學習 GolangCOSCUP 2016: Project 52 每週一個小專案來學習 Golang
COSCUP 2016: Project 52 每週一個小專案來學習 Golang
 
Benchmarking NGINX for Accuracy and Results
Benchmarking NGINX for Accuracy and ResultsBenchmarking NGINX for Accuracy and Results
Benchmarking NGINX for Accuracy and Results
 
Golang 入門初體驗
Golang 入門初體驗Golang 入門初體驗
Golang 入門初體驗
 
Liliana rivas gonzalez_actividad1_mapa_c
Liliana rivas gonzalez_actividad1_mapa_cLiliana rivas gonzalez_actividad1_mapa_c
Liliana rivas gonzalez_actividad1_mapa_c
 
CloudStack - Apache's best kept secret
CloudStack - Apache's best kept secretCloudStack - Apache's best kept secret
CloudStack - Apache's best kept secret
 
CloudStack Container Service
CloudStack Container ServiceCloudStack Container Service
CloudStack Container Service
 
Lesson Learned from Using Docker Swarm at Pronto
Lesson Learned from Using Docker Swarm at ProntoLesson Learned from Using Docker Swarm at Pronto
Lesson Learned from Using Docker Swarm at Pronto
 
CloudStack EU user group - CloudStack news
CloudStack EU user group - CloudStack newsCloudStack EU user group - CloudStack news
CloudStack EU user group - CloudStack news
 
Secure Your Apps with NGINX Plus and the ModSecurity WAF
Secure Your Apps with NGINX Plus and the ModSecurity WAFSecure Your Apps with NGINX Plus and the ModSecurity WAF
Secure Your Apps with NGINX Plus and the ModSecurity WAF
 

Similar a What's New in NGINX Plus R10?

Cpp In Soa
Cpp In SoaCpp In Soa
Cpp In Soa
WSO2
 

Similar a What's New in NGINX Plus R10? (20)

Introduction to PaaS and Heroku
Introduction to PaaS and HerokuIntroduction to PaaS and Heroku
Introduction to PaaS and Heroku
 
NGINX Plus R20 Webinar
NGINX Plus R20 WebinarNGINX Plus R20 Webinar
NGINX Plus R20 Webinar
 
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a MonthUSENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
 
NGINX Basics: Ask Me Anything – EMEA
NGINX Basics: Ask Me Anything – EMEANGINX Basics: Ask Me Anything – EMEA
NGINX Basics: Ask Me Anything – EMEA
 
Kubernetes and the NGINX Plus Ingress Controller
Kubernetes and the NGINX Plus Ingress ControllerKubernetes and the NGINX Plus Ingress Controller
Kubernetes and the NGINX Plus Ingress Controller
 
Cpp In Soa
Cpp In SoaCpp In Soa
Cpp In Soa
 
Zero Downtime JEE Architectures
Zero Downtime JEE ArchitecturesZero Downtime JEE Architectures
Zero Downtime JEE Architectures
 
Using an API Gateway for Microservices
Using an API Gateway for MicroservicesUsing an API Gateway for Microservices
Using an API Gateway for Microservices
 
Xpdays: Kubernetes CI-CD Frameworks Case Study
Xpdays: Kubernetes CI-CD Frameworks Case StudyXpdays: Kubernetes CI-CD Frameworks Case Study
Xpdays: Kubernetes CI-CD Frameworks Case Study
 
Dynamic SSL Certificates and Other New Features in NGINX Plus R18 and NGINX O...
Dynamic SSL Certificates and Other New Features in NGINX Plus R18 and NGINX O...Dynamic SSL Certificates and Other New Features in NGINX Plus R18 and NGINX O...
Dynamic SSL Certificates and Other New Features in NGINX Plus R18 and NGINX O...
 
What’s New in NGINX Plus R15? - EMEA
What’s New in NGINX Plus R15? - EMEAWhat’s New in NGINX Plus R15? - EMEA
What’s New in NGINX Plus R15? - EMEA
 
What's New in NGINX Plus R12?
What's New in NGINX Plus R12? What's New in NGINX Plus R12?
What's New in NGINX Plus R12?
 
Cncf microservices security
Cncf microservices securityCncf microservices security
Cncf microservices security
 
oVirt – open your virtual datacenter
oVirt – open your virtual datacenteroVirt – open your virtual datacenter
oVirt – open your virtual datacenter
 
What’s New in NGINX Plus R16? – EMEA
What’s New in NGINX Plus R16? – EMEAWhat’s New in NGINX Plus R16? – EMEA
What’s New in NGINX Plus R16? – EMEA
 
NGINX Lunch and Learn Event: Kubernetes and the NGINX Plus Ingress controller
NGINX Lunch and Learn Event: Kubernetes and the NGINX Plus Ingress controllerNGINX Lunch and Learn Event: Kubernetes and the NGINX Plus Ingress controller
NGINX Lunch and Learn Event: Kubernetes and the NGINX Plus Ingress controller
 
Securing Your Apps & APIs in the Cloud
Securing Your Apps & APIs in the CloudSecuring Your Apps & APIs in the Cloud
Securing Your Apps & APIs in the Cloud
 
Wie macht man aus Software einen Online-Service in der Cloud
Wie macht man aus Software einen Online-Service in der CloudWie macht man aus Software einen Online-Service in der Cloud
Wie macht man aus Software einen Online-Service in der Cloud
 
Open Sourcing NGINX Agent and Demo
Open Sourcing NGINX Agent and DemoOpen Sourcing NGINX Agent and Demo
Open Sourcing NGINX Agent and Demo
 
Web後端技術的演變
Web後端技術的演變Web後端技術的演變
Web後端技術的演變
 

Más de NGINX, Inc.

How to Avoid the Top 5 NGINX Configuration Mistakes.pptx
How to Avoid the Top 5 NGINX Configuration Mistakes.pptxHow to Avoid the Top 5 NGINX Configuration Mistakes.pptx
How to Avoid the Top 5 NGINX Configuration Mistakes.pptx
NGINX, Inc.
 

Más de NGINX, Inc. (20)

【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
 
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
 
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
 
Get Hands-On with NGINX and QUIC+HTTP/3
Get Hands-On with NGINX and QUIC+HTTP/3Get Hands-On with NGINX and QUIC+HTTP/3
Get Hands-On with NGINX and QUIC+HTTP/3
 
Managing Kubernetes Cost and Performance with NGINX & Kubecost
Managing Kubernetes Cost and Performance with NGINX & KubecostManaging Kubernetes Cost and Performance with NGINX & Kubecost
Managing Kubernetes Cost and Performance with NGINX & Kubecost
 
Manage Microservices Chaos and Complexity with Observability
Manage Microservices Chaos and Complexity with ObservabilityManage Microservices Chaos and Complexity with Observability
Manage Microservices Chaos and Complexity with Observability
 
Accelerate Microservices Deployments with Automation
Accelerate Microservices Deployments with AutomationAccelerate Microservices Deployments with Automation
Accelerate Microservices Deployments with Automation
 
Unit 2: Microservices Secrets Management 101
Unit 2: Microservices Secrets Management 101Unit 2: Microservices Secrets Management 101
Unit 2: Microservices Secrets Management 101
 
Unit 1: Apply the Twelve-Factor App to Microservices Architectures
Unit 1: Apply the Twelve-Factor App to Microservices ArchitecturesUnit 1: Apply the Twelve-Factor App to Microservices Architectures
Unit 1: Apply the Twelve-Factor App to Microservices Architectures
 
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!
 
Easily View, Manage, and Scale Your App Security with F5 NGINX
Easily View, Manage, and Scale Your App Security with F5 NGINXEasily View, Manage, and Scale Your App Security with F5 NGINX
Easily View, Manage, and Scale Your App Security with F5 NGINX
 
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
 
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINXKeep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
 
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
 
Protecting Apps from Hacks in Kubernetes with NGINX
Protecting Apps from Hacks in Kubernetes with NGINXProtecting Apps from Hacks in Kubernetes with NGINX
Protecting Apps from Hacks in Kubernetes with NGINX
 
NGINX Kubernetes API
NGINX Kubernetes APINGINX Kubernetes API
NGINX Kubernetes API
 
Successfully Implement Your API Strategy with NGINX
Successfully Implement Your API Strategy with NGINXSuccessfully Implement Your API Strategy with NGINX
Successfully Implement Your API Strategy with NGINX
 
Installing and Configuring NGINX Open Source
Installing and Configuring NGINX Open SourceInstalling and Configuring NGINX Open Source
Installing and Configuring NGINX Open Source
 
Shift Left for More Secure Apps with F5 NGINX
Shift Left for More Secure Apps with F5 NGINXShift Left for More Secure Apps with F5 NGINX
Shift Left for More Secure Apps with F5 NGINX
 
How to Avoid the Top 5 NGINX Configuration Mistakes.pptx
How to Avoid the Top 5 NGINX Configuration Mistakes.pptxHow to Avoid the Top 5 NGINX Configuration Mistakes.pptx
How to Avoid the Top 5 NGINX Configuration Mistakes.pptx
 

Último

AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Último (20)

%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 

What's New in NGINX Plus R10?

  • 1. What’s New in NGINX Plus R10? 1
  • 2. MORE INFORMATION AT NGINX.COM NGINX Plus R9 Recap ● Dynamic modules ○ Load rich modules into NGINX Plus at runtime ● UDP load balancing ○ Load balancing for DNS, RADIUS, and other UDP services ○ Complements existing TCP/HTTP load balancing ● On-the-fly reconfiguration using DNS SRV records ○ Reduce microservices complexity ● NGINX Plus App Pricing ○ “All you can eat” pricing for NGINX Plus Released: Tuesday April 12, 2016
  • 3. NGINX Plus R10 New Features Key new features for improved security, network integration, and scripting Security: ● ModSecurity Web Application Firewall (WAF) ● Native JWT support for OAuth 2.0 and OpenID Connect ● “Dual-stack” RSA-ECC certificates Network integration: ● IP transparency ● Direct Server Return (DSR) for UDP apps Scripting: ● nginScript Released: Tuesday August 23, 2016 3
  • 5. Why a Web Application Firewall? “...even when you understand web security, it is difficult to produce secure code, especially when working under the pressure so common in today's software development projects.” – Ivan Ristic, ModSecurity creator ● 50% increase in web application attacks from 2015 to 2016 ● 125% increase in DDoS attacks from 2015 to 2016 ● Security breaches can be devastating • Code Spaces – Went out of business after attacker deleted all of its data • DNC email scandal – Head of DNC, 3 others forced to resign • iCloud, PlayStation Network, many more ● A WAF is a necessary tool for protecting applications 5
  • 6. Why ModSecurity? ● Open source (curated by TrustWave) ● Battle tested for over 14 years ● Used by tens of thousands of websites ● 3,000 downloads/month ● Large, enthusiastic community backing ● Easy to find help 6
  • 7. ModSecurity 101 ● Two basic components • Rules that define malicious behavior • WAF software that enforces the rules ● Pluggable rule set • OWASP Core Rule Set (free) • GotRoot Commercial Rules ($199/year) • TrustWave Commercial Rules ($495/year) ● Anomaly-based scoring • Each rule that “fires” contributes to the anomaly score • Based on the score different actions can happen ■ Log as notice, warning, critical, etc. ■ Drop the request 7
  • 8. Comprehensive Protection for Critical Apps and Data Application Servers ● Layer 7 attack protection ● DDoS mitigation ● Real-time blacklists 1 ● Sensitive data protection ● Honeypots ● Virtual patching ● Detailed audit logs ● PCI-DSS 6.6 compliance 1 Additional costs may apply 8
  • 9. NGINX Plus with ModSecurity WAF Details ● R10 release is a ‘preview’ – test, evaluate, feedback, deploy ● Easily installable as a dynamic module ● Fully maintained, built, tested, and packaged per release by our core engineering team ● One number to call for 24x7 support with setup and configuration help • Includes OWASP Core Rule Set configuration ● Cost: $2,000/year per instance for NGINX Plus Professional and Enterprise customers 9
  • 10. Why NGINX Plus with ModSecurity WAF? ● Significantly reduce costs • Over 66% savings in 5-year TCO vs. Imperva ● Combined solution increases operational efficiency • Application delivery and security in one place • Imperva is WAF only – no load balancing, caching, etc. ● Gain software flexibility and elasticity • Deploy in any environment, public or private • Limited deployment options with Imperva, F5, etc. ● Eliminate vendor lock-in • Standards-based rules language vs. proprietary rules with Imperva, F5, etc. 11
  • 12. NGINX Plus for Authentication 13
  • 13. Use Case 1: Single Sign-On (SSO) ● Easily add single sign-on to new or existing applications ● OpenID Connect provider issues JWTs ● Consumer/external – Google, Yahoo!, etc. • No Facebook ● Enterprise/internal – Okta, OneLogin, Ping Identity, etc. 14
  • 14. Use Case 2: API Gateway ● Centralized authentication for APIs ● Client-side application requests JWT • iPhone/Android-native app • Browser-based app ● Typically homegrown entity that issues JWTs • Does not involve OpenID, Google, etc. ● Workflow is identical to SSO 15
  • 15. Why NGINX Plus for OpenID? ● Improve security by consolidating keys to one location ● Simplify application logic by offloading authentication ● Rate limit and track per user rather than per IP address ● Eliminate vendor lock-in 16
  • 17. RSA vs. ECC ● Certificates are used for: ○ Users know they are talking to the right website and not a man-in-the-middle ○ Securely exchange information to establish secure communications ● RSA certificates have been industry standard for a long time ● ECC (Elliptic Curve Cryptography) provides same functionality as RSA with over 3x better performance ● "Dual-stack” means backward compatibility for older devices ○ Configure a server with both RSA and ECC certificates ○ Modern clients automatically use higher-performance, lower-impact ECC certificate ○ Legacy clients are not locked out because NGINX provides them with an RSA cert 18
  • 19. ● Support for a broader range of application types and deployment models ● IP transparency – Send original client IP address to backend server ● Direct Server Return (DSR) – Server responds directly to client ○ DSR is supported for UDP-based applications Transparent Proxy Enables IP Transparency and Direct Server Return 20
  • 21. MORE INFORMATION AT NGINX.COM ● Next-generation configuration language for NGINX ● Makes NGINX more powerful and accessible ● Customers can use JavaScript to perform more complex and custom actions than can be performed with standard NGINX configuration ● JavaScript is a well-known and widely used programming language, especially in the frontend What Is nginScript?
  • 22. MORE INFORMATION AT NGINX.COM nginScript in NGINX Plus R10 js_include /etc/nginx/functions.js; server { listen 80; location / { set $transition_window_start 1471971600; # 23-Aug-2016 17:00:00 UTC set $transition_window_end 1471978800; # 23-Aug-2016 19:00:00 UTC js_set $upstream transitionStatus; # Returns "old|new" based on window pos proxy_pass http://$upstream; error_log /var/log/nginx/transition.log info; # Enable nginScript logging } }
  • 23. MORE INFORMATION AT NGINX.COM nginScript in NGINX Plus R10 function transitionStatus(req) { var vars, window_start, window_end, time_now, timepos, numhash, hashpos; // Get the transition window from NGINX configuration vars = req.variables; window_start = vars.transition_window_start; window_end = vars.transition_window_end; // Are we in the transition time window? time_now = Math.floor(Date.now() / 1000); // Convert from milliseconds if ( time_now < window_start ) { return "old"; } else if ( time_now > window_end ) { return "new"; } else { // We are in the transition window // Calculate our relative position in the window (0-1) timepos = (time_now - window_start) / (window_end - window_start); // Get numeric hash for this client's IP address numhash = fnv32a(vars.binary_remote_addr); // Calculate the hash's position in the output range (0-1) hashpos = numhash / 4294967295; // Upper bound is 32 bits req.log("timepos = " + timepos + ", hashpos = " + hashpos); //error_log [info] // Should we transition this client? if ( timepos > hashpos ) { return "new"; } else { return "old"; } } }
  • 24. MORE INFORMATION AT NGINX.COM ● nginScript is a work in progress • Implements a growing subset of ECMAScript 5.1 • Implements a growing set of global functions and built-in objects and functions ● Still seeking optimal way to integrate nginScript and NGINX configuration language nginScript in NGINX Plus R10
  • 26. MORE INFORMATION AT NGINX.COM ● Closer parity between TCP/UDP load balancing and HTTP load balancing. TCP/UDP load balancing now includes: • split_clients for A/B testing • geoip to take actions based on the geographical location of clients • geo to define variables based on IP address • map module • Additional NGINX variables ● NGINX Plus uses the IP_BIND_ADDRESS_NO_PORT socket option when available • Reuses port numbers to help prevent ephemeral port exhaustion • Enables greater scalability by allowing for more simultaneous TCP connections • Requires Linux kernel 4.2 (Ubuntu 15.10 or later) Additional Features
  • 27. MORE INFORMATION AT NGINX.COM ● A unique transaction ID ($request_id) is autogenerated for each new HTTP request • Facilitates application tracing and brings APM capabilities to log-analysis tools • The transaction ID can be proxied to backend servers so that all parts of the system can log a consistent identifier for each transaction ● The proxy_request_buffering, fastcgi_request_buffering, scgi_request_buffering, and uwsgi_request_buffering directives now work with HTTP/2 and can be used to toggle request buffering ● HTTP/2 clients can now start sending the request body immediately using the new http2_body_preread_size directive, which controls the size of the buffer used before NGINX Plus starts reading the client request body Additional Features
  • 28. Summary NGINX Plus R10 has key new features for improved security, network integration, and scripting ● NGINX Plus with ModSecurity WAF helps defend and secure applications ● JWT authentication consolidated with NGINX Plus simplifies operations ● "Dual-stack” RSA-ECC certificates more than double SSL/TLS TPS while maintaining backward compatibility ● Transparent proxy enables IP transparency and Direct Server Return ● nginScript is the next-generation extension language for NGINX Released: Tuesday August 23, 2016 29