SlideShare uma empresa Scribd logo
1 de 30
NGINXセミナー第3弾
NGINX最新機能UPDATE情報
F5ネットワークスジャパン合同会社
NGINX テクニカルソリューションズアーキテクト
鈴木 孝彰 松本 央
| ©2019 F53
Agenda
0. NGINX リリースサイクル
1. NGINX Plus 最新リリース
2. NGINX Controller v3.6
3. NGINX App Protect
4. NGINX HTTP/3
5. 最新機能デモ
| ©2019 F54
History of NGINX
NGINX
(オープンソー
ス)
2011 : Nginx, Inc. 会社設立
2013 : Nginx Plusリリース
2017 : Announced;
- NGINX Controller
- NGINX Unit
- NGINX WAF
2019
2014 : NGINX Becomes Number One Web Server
for Top 10,000 Busiest Websites in the World
2004 : NGINX 最初のリリー
ス
2019 : Fuels 375M+ web sites, 60%
of the busiest 100K sites
NGINX PLUS
(商用版)
2002 : Igor Sysoev (CTO of NGINX, Inc.)
began development of Nginx
買収
イゴール・シソエフ
NGINX 著者
| ©2019 F55
Source: W3Techs Web server ranking, 07-May-2019
「ほとんどのWebサイトがNGINXを使用しています」
WebサイトにNGINXを利用しています
50%
61%
67%
Top 1M Top 100K Top 10K
Source: Netcraft April 2019 Web Server Survey
| ©2019 F56 CONFIDENTIAL
NGINX Plusとは
| ©2019 F57
© 2019 F5 NETWORKS - CONFIDENTIAL
NGINX OSS – リリースサイクル
NGINX OSSは、mainline(奇数)とstable(偶数)の二種類に分かれます
毎年4月にmainlineからstableをforkします。以降のリリースVersionが新しい番号へ更新されます
NGINX Plusは、NGINX OSSと別のレポジトリで管理されています。mainlineからforkされます
NGINXはmainlineの利用を推奨しますが、更新頻度などの観点からstableの利用も可能です
1year 1year
| ©2019 F58
© 2019 F5 NETWORKS - CONFIDENTIAL
R20 R21 R22
NGINX Plusは、NGINXメインラインでテスト・実証された、すべてのOSS新機能を取り入れま
す。
NGINX Plusには、エンタープライズ向けの追加機能が含まれています。
NGINX Plusは、4ヶ月毎(4月、9月、12月)にリリースされます。
NGINX Plusは、リリースから2年間サポートされます。
NGINX Plus – リリースサイクル
| ©2019 F59
NGINX Plus Release
CONFIDENTIAL
| ©2019 F510
NGINX Plus リリー
ス
NGINX PLUS
(商用版)
2016
2017
2018
2019
2020
• 動的モジュール
• JWT認証
• UDPロードバランシング
• JavaScriptモジュール
• NGINX WAF
• NGINX Plus API
• Key-Valueストア
• Mirrorリクエスト
• HTTP/2
• gRPC
• OpenID
• 共有メモリ
• レート制限
• Sticky Sessions
• 負荷分散
• Random two choices
• 動的SSL証明書変更
• モニタリング機能向上
• リハーサルモード (Dry-Run)
• レート制限
• コネクション制限
• NGINX App Protect
• HTTP/3 プレビュー
| ©2019 F511
NGINX Plus R22 の新機能
クライアント証明書認証の強化
• オンライン証明書ステータスプロトコル(OCSP)の
検証では、mTLSで失効した証明書チェックする
セキュリティ層の追加
複数IdPに対するOpenID Connectのサポート
• NGINX Plus R15では、OpenID Connect(OIDC)統合を
導入し、お客様がアプリケーションにシングルサインオ
ン(SSO)を追加できるようにしました
• NGINX Plus R22では、複数のOIDC IDプロバイダ
(IdP)と簡単に統合できます
NGINX Plus ダッシュボードの強化
• リクエストとコネクション制限のチャート
• OIDCアクティビティに関するメトリクス
NGINX JavaScriptモジュールの強化
• njs 0.4.1アップデート
• バグ修正とJavaScriptモジュールのインポートや
ヘッダーオブジェクトのアクセスが追加されました
NGINX Plus のみの機能
https://www.nginx.com/blog/nginx-plus-r22-released/
| ©2019 F512
• SSLクライアント証明書のOCSP検証を有効にするには、証明書の検証を有効にする
ssl_ocspディレクティブと新しいディレクティブをssl_verify_clientを含めます
• クライアント証明書が信頼されていないか、OCSP応答が有効でない場合、TLSハンドシェイクは失敗し
ます。ステータスコード495 (SSL Certificate Error)が返されエラーログに書き込まれます
クライアント証明書認証の強化
server{
# ServerTLSconfiguration
listen443ssl;
ssl_certificate/etc/ssl/foo.example.com.crt;
ssl_certificate_key/etc/ssl/foo.example.com.key;
# Clientcertificateauthentication
ssl_verify_clienton;
ssl_trusted_certificate /etc/ssl/cachain.pem;
ssl_ocspon; # EnableOCSP validation
location/ {
proxy_passhttp://my_backend;
}
}
Errorlog
YYYY/MM/DD hh:mm:ss [error]31222#0:*5 certificatestatus"revoked" in theOCSP
responsewhilerequestingcertificatestatus,responder:127.0.0.1
| ©2019 F513
• 複数mapブロックを利用して複数IdPをサポートするようになりました。
• リファレンスJavaScriptコードはnjsモジュールへ実装されました、その他njsソリューションと共存でき
ます。
OpenID Connectの機能強化
map $host$oidc_authz_endpoint {
www.example.com "https://my-idp.example.com/oauth2/v1/authorize";
my-app.dev.test "http://10.0.0.11:8080/auth/realms/master/protocol/openid-connect/auth";
}
map $host$oidc_token_endpoint {
www.example.com "https://my-idp.example.com/oauth2/v1/token";
my-app.dev.test "http://10.0.0.11:8080/auth/realms/master/protocol/openid-connect/token";
}
map $host$oidc_jwt_keyfile{
www.example.com "https://my-idp.example.com/oauth2/v1/keys";
my-app.dev.test "http://10.0.0.11:8080/auth/realms/master/protocol/openid-connect/certs";
}
map $host$oidc_client {
www.example.com "client-id-one";
my-app.dev.test "client-id-two";
}
map $host$oidc_client_secret{
www.example.com "client-secret-one";
my-app.dev.test "client-secret-two";
}
| ©2019 F514
• NGINX Plusライブアクティビティモニタリングダッシュボードに情報が表示され、累積数が表形式で、
タイムスタンプ付きの数がグラフ形式で表示されます。
NGINX Plusダッシュボードの強化
テーブルには、limit_req_zone
limit_conn_zoneディレクティブで定義
された各ゾーンの行が含まれています。
チャートを表示するには、行の左端にあ
るチャートアイコンをクリックします。
| ©2019 F515
NGINX JavaScriptモジュールの機能強化
logging.conf
js_importlogging.js; # Load thisJS fileasthe 'logging'module
js_set$raw_headers_in logging.rawHeadersOnError;
log_formatjson escape=none '{"response":'
'{"timestamp":"$time_iso8601","status":$status},'
'"request":’
'{"client":"$remote_addr","uri":"$request_uri","headers":$raw_headers_in}}';
server{
listen80;
access_log /var/log/nginx/access.logmain;
access_log /var/log/nginx/access_json.logjsonif=$raw_headers_in;
#...
}
exportdefault { rawHeadersOnError };
function rawHeadersOnError(r){
if(r.status>= 400) {
return JSON.stringify(r.rawHeadersIn);
}else {
return '';//Donot triggeraccess_logif=condition
}
}
404応答サンプルログ
$ curl http://localhost/bogus
$ tail --lines=1/var/log/nginx/access_json.log
{"response":{"timestamp":"YYYY-MM-
DDThh:mm:ss+TZ_offset","status":404},"request":{"client":"127.0.0.1","uri":"/bogus","headers":[["Host","localhost:80"],["User-
Agent","curl/7.64.1"],["Accept","*/*"]]}}
- 新しい js_import ディレクティブ、複数のモジュールファイルをインポートすることが可能
- 改善されたHTTPリクエストヘッダーサポート
- TypeScript定義ファイルをnjsコードで使用できます
- 外部からの変数をネイティブJavaScriptオブジェクトに変換するためのサポート
| ©2019 F516
NGINX Plus R22 でのサポートシステムの変更
サポートシステム
• Alpine Linux 3.9, 3.10, 3.11
• Amazon Linux (2018.03+), Amazon Linux 2 LTS
• CentOS 6.5+, 7.4+, 8.0+
• Debian 9, 10
• FreeBSD 11.2+, 12.0+
• Oracle Linux 6.5+, 7.4+
• RHEL 6.5+, 7.4+, 8.0+
• SUSE Linux Enterprise Server 12, 15
• Ubuntu 16.04 LTS, 18.04 LTS, 19.10, 20.04LTS
サポート終了
• Alpine Linux 3.8
• 32bit (i386)パッケージ
| ©2019 F517
NGINX Controller
CONFIDENTIAL
| ©2019 F518
NGINX Controller
| ©2019 F519
19
API 定義と公開
OpenAPI
モニタリングと分析
Developer Portal
*Preview
カスタマイズ可能な
ダッシュボード
監視アラート
API インサイト
(REST API + ロギン
グ)
マルチクラウドサポート
API 保護 認証と認可
API ManagementAPI Gateway
NGINX Controller v3.6 リリース
| ©2019 F520
Developer Portal機能 *Preview機能
API 説明、サンプルリクエスト、サンプルレスポンスを含む APIドキュメント
| ©2019 F521
Splunk Integration
https://youtu.be/7rTYFa7U_dA
| ©2019 F522
NGINX App Protect (2020)
CONFIDENTIAL
| ©2019 F523 CONFIDENTIAL
NGINX App Protect
ワールドワイドで実績豊富なF5製WAFの機能を移植
(Signature/DataGuard/HTTP Compliance/Evasion Techniques等)Secure
Manage
CI/CD
Friendly
NGINXの動的モジュールとして提供(現在、NGINX Plusのみ対応)
• 仮想マシン/コンテナの双方で動作可能
• ゲートウェイ型/ホスト型
軽量なため、CI/CDパイプライン上でのデプロイが容易
2020年5月リリース
| ©2019 F524 CONFIDENTIAL
NGINX App ProtectによるWebアプリケーション保護
ネットワーク
OS
ミドルウェア
Webアプリケーション
ホスト型IPS/IDS
Deep Security等
セキュリティ評価
Amazon Inspector
ネットワーク
ファイアウォール
Security Group/NACL
クラウドプラットフォーム提供ソリューション
WEBアプリケーション
ファイアウォール
AWS WAF
サードパーティソリューション
NGINX App Protectを追加いただくことで、
クラウドプラットウォーム提供ソリューション/サードパーティソリューションとあわせて
セキュリテイレベルを向上
| ©2019 F525
NGINX App Protect
https://www.nginx.co.jp/products/nginx-app-protect/
| ©2019 F526
NGINX App Protect セキュリティポリシー
Drivers登録
microservice
Circuits
microservice
Seasons
microservice
/api/f1/*
/application01
/api/circuits/*
=/api/f1/seasons
F1 GET
microservice
| ©2019 F527
NGINX HTTP/3
CONFIDENTIAL
| ©2019 F528 CONFIDENTIAL
NGINX HTTP/3 support
https://quic.nginx.org/readme.html
| ©2019 F529 CONFIDENTIAL
NGINX HTTP/3 support
HTTP/1.1
HTTP/3
| ©2019 F530
NGINX最新機能デモ
CONFIDENTIAL

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Introducing NGINX App Protect (Japanese Webinar)
Introducing NGINX App Protect (Japanese Webinar)Introducing NGINX App Protect (Japanese Webinar)
Introducing NGINX App Protect (Japanese Webinar)
 
NGINX Back to Basics: Ingress Controller (Japanese Webinar)
NGINX Back to Basics: Ingress Controller (Japanese Webinar)NGINX Back to Basics: Ingress Controller (Japanese Webinar)
NGINX Back to Basics: Ingress Controller (Japanese Webinar)
 
NGINX Plus Hands On Training
NGINX Plus Hands On Training NGINX Plus Hands On Training
NGINX Plus Hands On Training
 
講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー
講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー
講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー
 
NGINX Instance Manager Tames the Sprawl (Japanese version)
NGINX Instance Manager Tames the Sprawl (Japanese version)NGINX Instance Manager Tames the Sprawl (Japanese version)
NGINX Instance Manager Tames the Sprawl (Japanese version)
 
NGINX App Protect for Secure Coding Webinar
NGINX App Protect for Secure Coding WebinarNGINX App Protect for Secure Coding Webinar
NGINX App Protect for Secure Coding Webinar
 
NGINX Back to Basics Part 3: Security (Japanese Version)
NGINX Back to Basics Part 3: Security (Japanese Version)NGINX Back to Basics Part 3: Security (Japanese Version)
NGINX Back to Basics Part 3: Security (Japanese Version)
 
Secure Kubernetes Apps in Production (Japanese Webinar)
Secure Kubernetes Apps in Production (Japanese Webinar)Secure Kubernetes Apps in Production (Japanese Webinar)
Secure Kubernetes Apps in Production (Japanese Webinar)
 
NGINX DX webinar for Digital Campus (Japanese Webinar)
NGINX DX webinar for Digital Campus (Japanese Webinar)NGINX DX webinar for Digital Campus (Japanese Webinar)
NGINX DX webinar for Digital Campus (Japanese Webinar)
 
NGINX Ingress Controller with WAF for Kubernetes
NGINX Ingress Controller with WAF for KubernetesNGINX Ingress Controller with WAF for Kubernetes
NGINX Ingress Controller with WAF for Kubernetes
 
NGINX Solution for Digital Government Architecture
NGINX Solution for Digital Government ArchitectureNGINX Solution for Digital Government Architecture
NGINX Solution for Digital Government Architecture
 
マルチクラウド環境の膨大なAPIトラフィックをリアルタイムに処理するNGINXの仕組み
マルチクラウド環境の膨大なAPIトラフィックをリアルタイムに処理するNGINXの仕組みマルチクラウド環境の膨大なAPIトラフィックをリアルタイムに処理するNGINXの仕組み
マルチクラウド環境の膨大なAPIトラフィックをリアルタイムに処理するNGINXの仕組み
 
NGINX & OpenShift webinar for Energy Sector
NGINX & OpenShift webinar for Energy SectorNGINX & OpenShift webinar for Energy Sector
NGINX & OpenShift webinar for Energy Sector
 
NGINX & OpenShift Webinar for Energy Sector
NGINX & OpenShift Webinar for Energy Sector NGINX & OpenShift Webinar for Energy Sector
NGINX & OpenShift Webinar for Energy Sector
 
NGINX App Protect on Hatobaで実現するセキュリティサービス公開 構築手順書
NGINX App Protect on Hatobaで実現するセキュリティサービス公開 構築手順書NGINX App Protect on Hatobaで実現するセキュリティサービス公開 構築手順書
NGINX App Protect on Hatobaで実現するセキュリティサービス公開 構築手順書
 
Heroku Inside
Heroku InsideHeroku Inside
Heroku Inside
 
はじめての JFrog Platform V2
はじめての JFrog Platform V2はじめての JFrog Platform V2
はじめての JFrog Platform V2
 
今後のContainerの行く末の感じたこと、思ったこと 〜JKD参加報告〜
今後のContainerの行く末の感じたこと、思ったこと〜JKD参加報告〜今後のContainerの行く末の感じたこと、思ったこと〜JKD参加報告〜
今後のContainerの行く末の感じたこと、思ったこと 〜JKD参加報告〜
 
2016 February - WebRTC Conference Japan - 日本語
2016 February - WebRTC Conference Japan - 日本語2016 February - WebRTC Conference Japan - 日本語
2016 February - WebRTC Conference Japan - 日本語
 
Cloud Operator Days Tokyo 2020
Cloud Operator Days Tokyo 2020Cloud Operator Days Tokyo 2020
Cloud Operator Days Tokyo 2020
 

Semelhante a NGINX New Features (Japanese Webinar)

NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くしたNginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
toshi_pp
 

Semelhante a NGINX New Features (Japanese Webinar) (20)

NGINX Ingress Controller on RedHat OpenShift.pdf
NGINX Ingress Controller on RedHat OpenShift.pdfNGINX Ingress Controller on RedHat OpenShift.pdf
NGINX Ingress Controller on RedHat OpenShift.pdf
 
NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」
NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」
NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」
 
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
 
Gaeja20121130
Gaeja20121130Gaeja20121130
Gaeja20121130
 
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!
 
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くしたNginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
 
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
 
TECH TALK 20210323 Qlik Sense のエンタープライズ展開 マルチノードサイトの実現方法
TECH TALK 20210323 Qlik Sense のエンタープライズ展開 マルチノードサイトの実現方法TECH TALK 20210323 Qlik Sense のエンタープライズ展開 マルチノードサイトの実現方法
TECH TALK 20210323 Qlik Sense のエンタープライズ展開 マルチノードサイトの実現方法
 
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
 
[Cloud OnAir] Anthosで実現するハイブリッドクラウド 〜 GKE On-Prem編 〜 2019年8月29日 放送
[Cloud OnAir] Anthosで実現するハイブリッドクラウド 〜 GKE On-Prem編 〜 2019年8月29日 放送[Cloud OnAir] Anthosで実現するハイブリッドクラウド 〜 GKE On-Prem編 〜 2019年8月29日 放送
[Cloud OnAir] Anthosで実現するハイブリッドクラウド 〜 GKE On-Prem編 〜 2019年8月29日 放送
 
最近のJuju/MAAS について
最近のJuju/MAAS について最近のJuju/MAAS について
最近のJuju/MAAS について
 
Introduction to Magnum (JP)
Introduction to Magnum (JP)Introduction to Magnum (JP)
Introduction to Magnum (JP)
 
HashiCorp Vault 紹介
HashiCorp Vault 紹介HashiCorp Vault 紹介
HashiCorp Vault 紹介
 
いまさら聞けないNGINXコンフィグ_F5-NGINX-Community-20200805
いまさら聞けないNGINXコンフィグ_F5-NGINX-Community-20200805いまさら聞けないNGINXコンフィグ_F5-NGINX-Community-20200805
いまさら聞けないNGINXコンフィグ_F5-NGINX-Community-20200805
 
【初心者向け】API を使ってクラウドの管理を自動化しよう
【初心者向け】API を使ってクラウドの管理を自動化しよう【初心者向け】API を使ってクラウドの管理を自動化しよう
【初心者向け】API を使ってクラウドの管理を自動化しよう
 
nginxの紹介
nginxの紹介nginxの紹介
nginxの紹介
 
GKEで半年運用してみた
GKEで半年運用してみたGKEで半年運用してみた
GKEで半年運用してみた
 
20190731 Azure Functions x Line at Azure Tech Lab #4
20190731 Azure Functions x Line at Azure Tech Lab #420190731 Azure Functions x Line at Azure Tech Lab #4
20190731 Azure Functions x Line at Azure Tech Lab #4
 
GCPで実現するクラウドネイティブアプリケーション
GCPで実現するクラウドネイティブアプリケーションGCPで実現するクラウドネイティブアプリケーション
GCPで実現するクラウドネイティブアプリケーション
 
成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略
 

Mais 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.
 
Kubernetes環境で実現するWebアプリケーションセキュリティ
Kubernetes環境で実現するWebアプリケーションセキュリティKubernetes環境で実現するWebアプリケーションセキュリティ
Kubernetes環境で実現するWebアプリケーションセキュリティ
NGINX, Inc.
 

Mais de NGINX, Inc. (20)

【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
 
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
 
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
 
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
 
Kubernetes環境で実現するWebアプリケーションセキュリティ
Kubernetes環境で実現するWebアプリケーションセキュリティKubernetes環境で実現するWebアプリケーションセキュリティ
Kubernetes環境で実現するWebアプリケーションセキュリティ
 
Software Delivery and the Rube Goldberg Machine: What Is the Problem We Are T...
Software Delivery and the Rube Goldberg Machine: What Is the Problem We Are T...Software Delivery and the Rube Goldberg Machine: What Is the Problem We Are T...
Software Delivery and the Rube Goldberg Machine: What Is the Problem We Are T...
 
Open Sourcing NGINX Agent and Demo
Open Sourcing NGINX Agent and DemoOpen Sourcing NGINX Agent and Demo
Open Sourcing NGINX Agent and Demo
 
NGINX, Open Source, and You – Another Decade of Innovation
NGINX, Open Source, and You – Another Decade of InnovationNGINX, Open Source, and You – Another Decade of Innovation
NGINX, Open Source, and You – Another Decade of Innovation
 

NGINX New Features (Japanese Webinar)

  • 3. | ©2019 F53 Agenda 0. NGINX リリースサイクル 1. NGINX Plus 最新リリース 2. NGINX Controller v3.6 3. NGINX App Protect 4. NGINX HTTP/3 5. 最新機能デモ
  • 4. | ©2019 F54 History of NGINX NGINX (オープンソー ス) 2011 : Nginx, Inc. 会社設立 2013 : Nginx Plusリリース 2017 : Announced; - NGINX Controller - NGINX Unit - NGINX WAF 2019 2014 : NGINX Becomes Number One Web Server for Top 10,000 Busiest Websites in the World 2004 : NGINX 最初のリリー ス 2019 : Fuels 375M+ web sites, 60% of the busiest 100K sites NGINX PLUS (商用版) 2002 : Igor Sysoev (CTO of NGINX, Inc.) began development of Nginx 買収 イゴール・シソエフ NGINX 著者
  • 5. | ©2019 F55 Source: W3Techs Web server ranking, 07-May-2019 「ほとんどのWebサイトがNGINXを使用しています」 WebサイトにNGINXを利用しています 50% 61% 67% Top 1M Top 100K Top 10K Source: Netcraft April 2019 Web Server Survey
  • 6. | ©2019 F56 CONFIDENTIAL NGINX Plusとは
  • 7. | ©2019 F57 © 2019 F5 NETWORKS - CONFIDENTIAL NGINX OSS – リリースサイクル NGINX OSSは、mainline(奇数)とstable(偶数)の二種類に分かれます 毎年4月にmainlineからstableをforkします。以降のリリースVersionが新しい番号へ更新されます NGINX Plusは、NGINX OSSと別のレポジトリで管理されています。mainlineからforkされます NGINXはmainlineの利用を推奨しますが、更新頻度などの観点からstableの利用も可能です 1year 1year
  • 8. | ©2019 F58 © 2019 F5 NETWORKS - CONFIDENTIAL R20 R21 R22 NGINX Plusは、NGINXメインラインでテスト・実証された、すべてのOSS新機能を取り入れま す。 NGINX Plusには、エンタープライズ向けの追加機能が含まれています。 NGINX Plusは、4ヶ月毎(4月、9月、12月)にリリースされます。 NGINX Plusは、リリースから2年間サポートされます。 NGINX Plus – リリースサイクル
  • 9. | ©2019 F59 NGINX Plus Release CONFIDENTIAL
  • 10. | ©2019 F510 NGINX Plus リリー ス NGINX PLUS (商用版) 2016 2017 2018 2019 2020 • 動的モジュール • JWT認証 • UDPロードバランシング • JavaScriptモジュール • NGINX WAF • NGINX Plus API • Key-Valueストア • Mirrorリクエスト • HTTP/2 • gRPC • OpenID • 共有メモリ • レート制限 • Sticky Sessions • 負荷分散 • Random two choices • 動的SSL証明書変更 • モニタリング機能向上 • リハーサルモード (Dry-Run) • レート制限 • コネクション制限 • NGINX App Protect • HTTP/3 プレビュー
  • 11. | ©2019 F511 NGINX Plus R22 の新機能 クライアント証明書認証の強化 • オンライン証明書ステータスプロトコル(OCSP)の 検証では、mTLSで失効した証明書チェックする セキュリティ層の追加 複数IdPに対するOpenID Connectのサポート • NGINX Plus R15では、OpenID Connect(OIDC)統合を 導入し、お客様がアプリケーションにシングルサインオ ン(SSO)を追加できるようにしました • NGINX Plus R22では、複数のOIDC IDプロバイダ (IdP)と簡単に統合できます NGINX Plus ダッシュボードの強化 • リクエストとコネクション制限のチャート • OIDCアクティビティに関するメトリクス NGINX JavaScriptモジュールの強化 • njs 0.4.1アップデート • バグ修正とJavaScriptモジュールのインポートや ヘッダーオブジェクトのアクセスが追加されました NGINX Plus のみの機能 https://www.nginx.com/blog/nginx-plus-r22-released/
  • 12. | ©2019 F512 • SSLクライアント証明書のOCSP検証を有効にするには、証明書の検証を有効にする ssl_ocspディレクティブと新しいディレクティブをssl_verify_clientを含めます • クライアント証明書が信頼されていないか、OCSP応答が有効でない場合、TLSハンドシェイクは失敗し ます。ステータスコード495 (SSL Certificate Error)が返されエラーログに書き込まれます クライアント証明書認証の強化 server{ # ServerTLSconfiguration listen443ssl; ssl_certificate/etc/ssl/foo.example.com.crt; ssl_certificate_key/etc/ssl/foo.example.com.key; # Clientcertificateauthentication ssl_verify_clienton; ssl_trusted_certificate /etc/ssl/cachain.pem; ssl_ocspon; # EnableOCSP validation location/ { proxy_passhttp://my_backend; } } Errorlog YYYY/MM/DD hh:mm:ss [error]31222#0:*5 certificatestatus"revoked" in theOCSP responsewhilerequestingcertificatestatus,responder:127.0.0.1
  • 13. | ©2019 F513 • 複数mapブロックを利用して複数IdPをサポートするようになりました。 • リファレンスJavaScriptコードはnjsモジュールへ実装されました、その他njsソリューションと共存でき ます。 OpenID Connectの機能強化 map $host$oidc_authz_endpoint { www.example.com "https://my-idp.example.com/oauth2/v1/authorize"; my-app.dev.test "http://10.0.0.11:8080/auth/realms/master/protocol/openid-connect/auth"; } map $host$oidc_token_endpoint { www.example.com "https://my-idp.example.com/oauth2/v1/token"; my-app.dev.test "http://10.0.0.11:8080/auth/realms/master/protocol/openid-connect/token"; } map $host$oidc_jwt_keyfile{ www.example.com "https://my-idp.example.com/oauth2/v1/keys"; my-app.dev.test "http://10.0.0.11:8080/auth/realms/master/protocol/openid-connect/certs"; } map $host$oidc_client { www.example.com "client-id-one"; my-app.dev.test "client-id-two"; } map $host$oidc_client_secret{ www.example.com "client-secret-one"; my-app.dev.test "client-secret-two"; }
  • 14. | ©2019 F514 • NGINX Plusライブアクティビティモニタリングダッシュボードに情報が表示され、累積数が表形式で、 タイムスタンプ付きの数がグラフ形式で表示されます。 NGINX Plusダッシュボードの強化 テーブルには、limit_req_zone limit_conn_zoneディレクティブで定義 された各ゾーンの行が含まれています。 チャートを表示するには、行の左端にあ るチャートアイコンをクリックします。
  • 15. | ©2019 F515 NGINX JavaScriptモジュールの機能強化 logging.conf js_importlogging.js; # Load thisJS fileasthe 'logging'module js_set$raw_headers_in logging.rawHeadersOnError; log_formatjson escape=none '{"response":' '{"timestamp":"$time_iso8601","status":$status},' '"request":’ '{"client":"$remote_addr","uri":"$request_uri","headers":$raw_headers_in}}'; server{ listen80; access_log /var/log/nginx/access.logmain; access_log /var/log/nginx/access_json.logjsonif=$raw_headers_in; #... } exportdefault { rawHeadersOnError }; function rawHeadersOnError(r){ if(r.status>= 400) { return JSON.stringify(r.rawHeadersIn); }else { return '';//Donot triggeraccess_logif=condition } } 404応答サンプルログ $ curl http://localhost/bogus $ tail --lines=1/var/log/nginx/access_json.log {"response":{"timestamp":"YYYY-MM- DDThh:mm:ss+TZ_offset","status":404},"request":{"client":"127.0.0.1","uri":"/bogus","headers":[["Host","localhost:80"],["User- Agent","curl/7.64.1"],["Accept","*/*"]]}} - 新しい js_import ディレクティブ、複数のモジュールファイルをインポートすることが可能 - 改善されたHTTPリクエストヘッダーサポート - TypeScript定義ファイルをnjsコードで使用できます - 外部からの変数をネイティブJavaScriptオブジェクトに変換するためのサポート
  • 16. | ©2019 F516 NGINX Plus R22 でのサポートシステムの変更 サポートシステム • Alpine Linux 3.9, 3.10, 3.11 • Amazon Linux (2018.03+), Amazon Linux 2 LTS • CentOS 6.5+, 7.4+, 8.0+ • Debian 9, 10 • FreeBSD 11.2+, 12.0+ • Oracle Linux 6.5+, 7.4+ • RHEL 6.5+, 7.4+, 8.0+ • SUSE Linux Enterprise Server 12, 15 • Ubuntu 16.04 LTS, 18.04 LTS, 19.10, 20.04LTS サポート終了 • Alpine Linux 3.8 • 32bit (i386)パッケージ
  • 17. | ©2019 F517 NGINX Controller CONFIDENTIAL
  • 18. | ©2019 F518 NGINX Controller
  • 19. | ©2019 F519 19 API 定義と公開 OpenAPI モニタリングと分析 Developer Portal *Preview カスタマイズ可能な ダッシュボード 監視アラート API インサイト (REST API + ロギン グ) マルチクラウドサポート API 保護 認証と認可 API ManagementAPI Gateway NGINX Controller v3.6 リリース
  • 20. | ©2019 F520 Developer Portal機能 *Preview機能 API 説明、サンプルリクエスト、サンプルレスポンスを含む APIドキュメント
  • 21. | ©2019 F521 Splunk Integration https://youtu.be/7rTYFa7U_dA
  • 22. | ©2019 F522 NGINX App Protect (2020) CONFIDENTIAL
  • 23. | ©2019 F523 CONFIDENTIAL NGINX App Protect ワールドワイドで実績豊富なF5製WAFの機能を移植 (Signature/DataGuard/HTTP Compliance/Evasion Techniques等)Secure Manage CI/CD Friendly NGINXの動的モジュールとして提供(現在、NGINX Plusのみ対応) • 仮想マシン/コンテナの双方で動作可能 • ゲートウェイ型/ホスト型 軽量なため、CI/CDパイプライン上でのデプロイが容易 2020年5月リリース
  • 24. | ©2019 F524 CONFIDENTIAL NGINX App ProtectによるWebアプリケーション保護 ネットワーク OS ミドルウェア Webアプリケーション ホスト型IPS/IDS Deep Security等 セキュリティ評価 Amazon Inspector ネットワーク ファイアウォール Security Group/NACL クラウドプラットフォーム提供ソリューション WEBアプリケーション ファイアウォール AWS WAF サードパーティソリューション NGINX App Protectを追加いただくことで、 クラウドプラットウォーム提供ソリューション/サードパーティソリューションとあわせて セキュリテイレベルを向上
  • 25. | ©2019 F525 NGINX App Protect https://www.nginx.co.jp/products/nginx-app-protect/
  • 26. | ©2019 F526 NGINX App Protect セキュリティポリシー Drivers登録 microservice Circuits microservice Seasons microservice /api/f1/* /application01 /api/circuits/* =/api/f1/seasons F1 GET microservice
  • 27. | ©2019 F527 NGINX HTTP/3 CONFIDENTIAL
  • 28. | ©2019 F528 CONFIDENTIAL NGINX HTTP/3 support https://quic.nginx.org/readme.html
  • 29. | ©2019 F529 CONFIDENTIAL NGINX HTTP/3 support HTTP/1.1 HTTP/3

Notas do Editor

  1. 70% of HTTP/2 enabled sites use NGINX
  2. Introducing NGINX 1.16 and 1.17 https://www.nginx.com/blog/nginx-1-16-1-17-released/
  3. And now with NGINX controller… we have a…High Performing, Cloud-Native and API Driven Solution to Deploying, Monitoring and Managing your NGINX Plus Instances at Scale and I am going to get more into this later
  4. And we can go a step further and look at more of the core features that are necessary in either an API Management or Gateway solution….
  5. Our customers can deploy this solution in one of 4 different types of environments: 1 – This can live on NGINX Plus when NGINX plus is used as a load balancer,  2 – If you’re using NGINX as API Gateway, you can install NGINX App Protect in that instance to protect API’s  3 – You can use it as an Ingress controller for Kubernetes pods 4 – You can also use it as a sidecar for microservices