Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Why NGINX Plus/NGINX Controller for NGINX OSS users

176 views

Published on

Check out this webinar on Why NGINX Plus/NGINX Controller for NGINX OSS users.

Published in: Software
  • Be the first to comment

Why NGINX Plus/NGINX Controller for NGINX OSS users

  1. 1. NGINX (OSS版)ユーザのため のNGINX Plus/ NGINX Controller入門
  2. 2. | ©2020 F52 F5ネットワークスジャパン合同会社 NGINX Technical Solutions Architect 松本 央 鈴木 孝彰
  3. 3. | ©2020 F53 Agenda •NGINXのご紹介 •NGINX導入の流れ •NGINX OSS / Plusの機能比較 •NGINX Plus •NGINX Controller •デモ
  4. 4. | ©2020 F54 NGINX
  5. 5. | ©2020 F55 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 著者
  6. 6. | ©2020 F56 Web Server Reverse Proxy and Cache Web Server Reverse Proxy and Cache
  7. 7. | ©2020 F57 Advanced Load Balancing Advanced Content Cache Web Server Reverse Proxy and Cache Advanced Monitoring & Management Advanced Security Controls
  8. 8. | ©2020 F58 4.5億 sites run NGINX WE HAVE TREMENDOUS INSIGHT INTO APPLICATION PATTERNS | ©2020 F5 NETWORKS8 https://news.netcraft.com/archives/2020/05/26/may-2020-web-server-survey.html
  9. 9. | ©2020 F59 NGINX Plus – クラウドに依存せずポータブル ベアメタル マルチクラウド コンテナ Linux/BSD CPUs VMware vSphere
  10. 10. | ©2020 F510 NGINX Plus – クラウドに依存せずポータブル ベアメタル マルチクラウド コンテナ Linux/BSD CPUs VMware vSphere Advanced Load Balancing Advanced Content Cache Web Server Reverse Proxy and Cache Advanced Monitoring & Management Advanced Security Controls
  11. 11. | ©2020 F511 DELIVERING MODERN APPLICATIONS AT SCALE ACROSS SEAMLESSLY ACROSS MULTI-CLOUD NGINX 製品 NGINX Plus All-In-One Software ロードバランサー、コンテンツキャッシュ、 Webサーバ 安定、高速、高機能 必要となるリソースは最小 NGINX Controller NGINX+統合管理ソフトウェア NGINX+のロードバランサやAPI Gateway、更にマルチクラウド環境に おいても容易に管理が可能。 GUIに加えAPIでの制御が可能 NGINX Unit NGINXが開発する新しいダイナミック アプリケーションサーバ OSSで提供されており、複数の プログラミング言語をサポート。 NGINX UnitはREST APIを用いて 設定変更が可能
  12. 12. | ©2020 F512 DELIVERING MODERN APPLICATIONS AT SCALE ACROSS SEAMLESSLY ACROSS MULTI-CLOUD NGINX Service Mesh NGINX Plusで複雑な マイクロサービス、アプリケーション間の 通信問題を解決するシンプルな サービスメッシュソリューション。 NGINX App Protect アプリケーションに特化した Web Application Firewall NGINX+にシームレスに統合可能な 新しいWAF。 F5の実績に基づき、 高速な高品質なWAFを実現 Open BetaNEW NGINX 製品 NGINX Ingress Controller Kubernetes環境への 外部アクセスをコントロール。 NGINX機能をIngressリソース を通じて管理可能。 NGINX App Protect対応
  13. 13. | ©2020 F513 © 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
  14. 14. | ©2020 F514 © 2019 F5 NETWORKS - CONFIDENTIAL R16 R17 R18 NGINX Plusは、NGINXメインラインでテスト・実証された、すべてのOSS新機能を取り入れます。 NGINX Plusには、エンタープライズ向けの追加機能が含まれています。 NGINX Plusは、4ヶ月毎(4月、9月、12月)にリリースされます。 NGINX Plusは、リリースから2年間サポートされます。 NGINX Plus – リリースサイクル 4month 4month4month
  15. 15. | ©2020 F515 NGINX 導入のながれ
  16. 16. | ©2020 F516 システムの拡張とNGINX導入の流れ Service App App サービス・リリース Service App App サービスの規模拡大、システム拡張 Service App App 用途に応じて様々な機能を 自由に選択可能! • Web Server • Load Balancer • Reverse Proxy • Contents Cache • サービスレベルを高める ユーザへの通信影響を減らす 障害=損害、クレーム • セキュリティを高める 重要なデータの管理 ユーザ毎に充実したコンテンツの提供 攻撃者のターゲットに 「安定」「高速」なNGINXの利用を開始 本番環境でシステム規模・重要度が高くなり・・ HA構成、ActiveHelthCheckによる障害影響 軽減。多彩なLB方式等による通信の安定化 WAFによるセキュリティ向上 RateLimit、JWT/Oauth/OIDC認証 NGINX Plus・NGINX Controllerを用いて より詳細なステータス取得で状況把握が簡単に 規模・重要度に対する優れた堅牢性 さらなる拡張に向けた「品質向上」!
  17. 17. | ©2020 F517 システムの拡張とNGINX導入の流れ Service App App サービス・リリース Service App App サービスの規模拡大、システム拡張 Service App App 用途に応じて様々な機能を 自由に選択可能! • Web Server • Load Balancer • Reverse Proxy • Contents Cache • サービスレベルを高める ユーザへの通信影響を減らす 障害=損害、クレーム • セキュリティを高める 重要なデータの管理 ユーザ毎に充実したコンテンツの提供 攻撃者のターゲットに 「安定」「高速」なNGINXの利用を開始 本番環境でシステム規模・重要度が高くなり・・ HA構成、ActiveHelthCheckによる障害影響 軽減。多彩なLB方式等による通信の安定化 WAFによるセキュリティ向上 RateLimit、JWT/Oauth/OIDC認証 NGINX Plus・NGINX Controllerを用いて より詳細なステータス取得で状況把握が簡単に より優れた品質のプラットフォームを実現するため NGINX Plus/Controller をご活用いただけます 規模・重要度に対する優れた堅牢性 さらなる拡張に向けた「品質向上」!
  18. 18. | ©2020 F518 NGINX OSS / Plus の機能比較
  19. 19. | ©2020 F519 © 2019 F5 NETWORKS - CONFIDENTIAL NGINX OSS / Plus – 機能比較 Features OSS NGINX Plus ロードバランサー HTTP/TCP/UDP サポート ✔ ✔ レイヤー7 リクエスト ルーティング ✔ ✔ アクティブ ヘルスチェック ✔ セッション維持 ✔ DNSサービス・ディスカバリ 統合 ✔ コンテンツ キャッシュ 静的/動的コンテンツ キャッシュ ✔ ✔ キャッシュ・パージAPI ✔ Webサーバ・リバースプロキシ 静的コンテンツ用オリジンサーバ ✔ ✔ リバースプロキシ:HTTP, FastCGI, memcached, SCGI, uwsgi ✔ ✔ HTTP/2 ゲートウェイ ✔ ✔ gRPC プロキシ ✔ ✔ HTTP/2 サーバ プッシュ ✔ ✔ セキュリティ制御 HTTP ベーシック認証 ✔ ✔ HTTP 認証サブリクエスト ✔ ✔ IPアドレスベースのアクセス コントロール リスト ✔ ✔ レート制限 ✔ ✔ デュアル・スタックRSA/ECC SSL/TLS オフロード ✔ ✔ TLS 1.3 サポート ✔ ✔ JWT 認証 ✔ OpenID Connect SSO ✔ NGINX Webアプリケーション ファイヤーウオール (別途有償) ✔ Features OSS NGINX Plus 監視 AppDynamics, Datadog, Dynatrace プラグイン ✔ ✔ 90の追加拡張モニタリング対象項目 ✔ 冗長化構成(HA) アクティブ−アクティブおよびアクティブ−パッシブ構成 ✔ 設定の同期 ✔ ステート共有:スティッキーセッション維持、 レート制限、キーバリューストア ✔ プログラム可能性 NGINX JavaScript モジュール ✔ ✔ NGINX Plus 動的再設定API ✔ キーバリューストア ✔ プロセスのリロードが不要な動的再設定 ✔ ストリーミングメディア ライブストリーミング: RTMP, HLS, DASH ✔ ✔ VOD: Flash (flv), MP4 ✔ ✔ アダプティブ ビットレートVOD: HLS, HDS ✔ MP4 帯域制御 ✔ サード パーティー エコシステム Kubernetes イングレス コントローラー ✔ ✔ OpenShift ルーター ✔ ✔ 動的モジュール レポジトリ ✔ サポート メーカーサポート ✔ NGINX Unit(OSS)のサポート ✔ https://www.nginx.co.jp/products/products-nginx/#compare-versions
  20. 20. | ©2020 F520 NGINX OSS / Plus – 機能比較 Features OSS NGINX Plus ロードバランサー HTTP/TCP/UDP サポート ✔ ✔ レイヤー7 リクエスト ルーティング ✔ ✔ アクティブ ヘルスチェック ✔ セッション維持 ✔ DNSサービス・ディスカバリ 統合 ✔ コンテンツ キャッシュ 静的/動的コンテンツ キャッシュ ✔ ✔ キャッシュ・パージAPI ✔ Webサーバ・リバースプロキシ 静的コンテンツ用オリジンサーバ ✔ ✔ リバースプロキシ:HTTP, FastCGI, memcached, SCGI, uwsgi ✔ ✔ HTTP/2 ゲートウェイ ✔ ✔ gRPC プロキシ ✔ ✔ HTTP/2 サーバ プッシュ ✔ ✔ セキュリティ制御 HTTP ベーシック認証 ✔ ✔ HTTP 認証サブリクエスト ✔ ✔ IPアドレスベースのアクセス コントロール リスト ✔ ✔ レート制限 ✔ ✔ デュアル・スタックRSA/ECC SSL/TLS オフロード ✔ ✔ TLS 1.3 サポート ✔ ✔ JWT 認証 ✔ OpenID Connect SSO ✔ NGINX Webアプリケーション ファイヤーウオール (別途有償) ✔ Features OSS NGINX Plus 監視 AppDynamics, Datadog, Dynatrace プラグイン ✔ ✔ 90の追加拡張モニタリング対象項目 ✔ 冗長化構成(HA) アクティブ−アクティブおよびアクティブ−パッシブ構成 ✔ 設定の同期 ✔ ステート共有:スティッキーセッション維持、 レート制限、キーバリューストア ✔ プログラム可能性 NGINX JavaScript モジュール ✔ ✔ NGINX Plus 動的再設定API ✔ キーバリューストア ✔ プロセスのリロードが不要な動的再設定 ✔ ストリーミングメディア ライブストリーミング: RTMP, HLS, DASH ✔ ✔ VOD: Flash (flv), MP4 ✔ ✔ アダプティブ ビットレートVOD: HLS, HDS ✔ MP4 帯域制御 ✔ サード パーティー エコシステム Kubernetes イングレス コントローラー ✔ ✔ OpenShift ルーター ✔ ✔ 動的モジュール レポジトリ ✔ サポート メーカーサポート ✔ NGINX Unit(OSS)のサポート ✔ https://www.nginx.co.jp/products/products-nginx/#compare-versions
  21. 21. | ©2020 F521 NGINX Plus
  22. 22. | ©2020 F522 Active Healthcheck Service App App NGINX OSS App Passive HealthCheck OK? NG? クライアントの通信が、一定時間内に指定した回数失敗 した場合、対象サーバを「failed」と判定し、一定時間通 信を転送先から除外します 機 能 クライアントの通信の結果を判定に用います。よってクライ アントはエラーを受けとった後、その後の影響を緩和する 機能となります ポ イ ン ト NGINXがサーバのモニターを行い、指定した回数連続で モニターが失敗した場合、対象サーバを「failed」と判定し、 一定時間通信を転送先から除外します 機 能 クライアント通信に依存しないため、ユーザ影響なく障害 箇所の切り離しが可能です モニターではURL Pathやレスポンス内の文字列など多彩 な条件によりアプリの適切な正常性の判定が可能です ポ イ ン ト NGINX Plus Active HealthCheck Service App App App Status Check !
  23. 23. | ©2020 F523 Active Healthcheck:Config Service App App NGINX OSS App Passive HealthCheck OK? NG? NGINX Plus Active HealthCheck Service App App App Status Check ! upstream backend { zone backend 64k; server backend1.example.com; server backend2.example.com max_fails=3 fail_timeout=30s; } upstream backend { zone backend 64k; server backend1.example.com; server backend2.example.com; } match www_ok { status 200; body ”OK"; } location / { proxy_pass http://backend; health_check interval=10 fails=3 passes=2 uri=/echo match=www_ok; } ・・30秒間に3回失敗した際にFailと判定 ・・Monitrを成功と判定する際の条件を指定 ステータスコード「200」、レスポンスに「OK」と含む場合、「up」と判定 ・・10秒ごとにuri /echo に対し、www_okの条件でモニターを実施 3回失敗した場合に「Fail」と判定、2回成功した際に「up」と判定 serverがFailと判定された後、一定時間経過後改めてクライアント通信 で正常性を判定し、そのステータスを決定します health_checkの実行間隔や、matchの条件は柔軟に指定が可能な ため、アプリケーションレイヤでの正常性が適切に判断できます
  24. 24. | ©2020 F524 Load Balancing Service App App NGINX OSS App 様々なバランシングメソッドを用いて、サーバへの通信の転 送が可能。 Round Robin , Least Connections , IP Hash , Generic Hash , Randomなど 機 能 比較的多くのロードバランシングメソッドが選択可能。 単一のデータセンターやクラウドなどの環境に閉じる場合に は大きな問題なく利用が可能 ポ イ ン ト OSSで実装されたバランシングメソッドに加え、「Least Time」方式を選択可能。応答時間の判定に用いる要 素として、「header」や「last_byte」など選択可能 機 能 分散先サーバが何かの理由により、処理に時間がかかっ ている場合や、マルチクラウド環境などで物理的な距離に よる応答時間に差がある場合に有効に利用できる方式 ポ イ ン ト NGINX Plus Service App Round Robin! 2 3 1 Least Time! Service App オンプレミスDC 2ms 10ms
  25. 25. | ©2020 F525 Load Balancing:Config Service App App NGINX OSS App NGINX Plus Service App Round Robin! 2 3 1 Least Time! Service App オンプレミスDC 2ms 10ms upstream backend { zone backend 64k; round_robin; server backend1.example.com; server backend2.example.com; server backend3.example.com; server backend4.example.com; } upstream backend { zone backend 64k; least_time header; server backend1.example.com; server backend2.example.com; server backend3.example.com; server backend4.example.com; } ・・要件に応じてバランシングメソッドの指定が可能 ・・ヘッダー応答にかかった時間を元に最短のサーバへ転送 多くの分散方式によりOSSにおいても、一般的なご用件を満たすことが可 能です。また、記述がない場合、「Round Robin」の動作を示します NGINX Plusをご選択の場合にはより、アプリの応答時間の要求が高い 場合や、マルチリージョン・マルチクラスタにおける適切な分散が可能です
  26. 26. | ©2020 F526 Persistence Service App App NGINX OSS App 先程ご紹介したロードバランシングメソッドの内、「IP Hash」や「Generic Hash」を用いる事により、クライアン トのIPアドレスや任意のパラメータを用いて、適切にクライ アントの通信を特定サーバに転送することが可能です 機 能 クライアントIPアドレスや、パラメータから一意に転送先が 決定されます。そのため、通信の偏りが発生しする可能性 があるため比較的軽い処理における通信維持に適してい ます ポ イ ン ト ロードバランシングを行った後の通信の状況をNGINX Plusが識別し、その後の通信を適切に同じサーバへ転送 する「sticky」が利用可能。通信維持方式として、 「cookie」、「route」、「learn」の選択が可能 機 能 クライアントのリクエストを適切にバランシングした後、 Cookieを用いた制御や、通信内でサーバより応答される 内容などを参照し適切な通信維持を実現します。自由 度が高く、指定した期間通信維持をすることが可能です ポ イ ン ト NGINX Plus Service App App App LB後の通信をその 後も適切に維持 パラメータより 転送先を決定 2 1
  27. 27. | ©2020 F527 Persistence:Config Service App App NGINX OSS App NGINX Plus Service App App App LB後の通信をその 後も適切に維持 パラメータより 転送先を決定 2 1 upstream backend { zone backend 64k; hash $request_uri consistent; server backend1.example.com; server backend2.example.com; server backend3.example.com; server backend4.example.com; } upstream backend { zone backend 64k; least_time header; sticky cookie srv_id expires=1h domain=.demo.local path=/; server backend1.example.com; server backend2.example.com; server backend3.example.com; server backend4.example.com; } 送信元IPアドレスや指定のパラメータに応じて転送先が決定されます 分散アルゴリズムよって転送した通信に対し、アプリの実装に合わせた通信 の維持を実装することが可能です。 レスポンスで以下Cookieを応答し、以降、当該keyを含む通信を同じserverへ転送する Set-Cookie: srv_id=d43**省略**72; expires=Sun, 01-Sep-20 07:29:58 GMT; max-age=3600; domain=.demo.local; path=/ ・・「srv_id」というKeyと通信の識別に用いる値 をCookieで応答し、その後通信を維持します ・・hashアルゴリズムにより、リクエストURIに応じて 転送先を一意に決定する ※Upstreamのサーバ転送先が固定される
  28. 28. | ©2020 F528 High Availability Service App App App シングル構成での動作となります。 冗長性を実現するためには、DNSでの広 域負荷分散や、上位LBでの負荷分散を ご利用いただく必要があります 機 能 単一のデータセンターやクラウドなどの環境 に閉じる場合には大きな問題なく利用が可 能 ポ イ ン ト NGINX Plusでは、インスタンスを冗長構成とする「HA」、 「ConfigSync」、「State Sharing」などの機能により、アプリケーションの ニーズに合わせ、プラットフォーム全体の耐障害性を大きく向上します 機 能 単一のデータセンターやクラウドではkeepalivedをベースとした「HA」を用 いる事により、旧来と同様の運用方式でシステムの安定性を向上します。 複数のクラウド環境や広域に分散するシステムで、認証やRateLimitを 共有し、広域なアプリケーションで瞬時に状態を共有することが可能 ポ イ ン ト Service App NGINX OSS NGINX Plus SINGLE構成 Service App App App オンプレミスDC Service App DoS Sync State ShareHigh Availability HA
  29. 29. | ©2020 F529 High Availability:Config Service App NGINX Plus Service App App App オンプレミスDC Service App DoS Sync State ShareHigh Availability global_defs { vrrp_version 3 } vrrp_script chk_manual_failover { script "/usr/libexec/keepalived/nginx-ha-manual-failover" interval 10 weight 50 } vrrp_script chk_nginx_service { script "/usr/libexec/keepalived/nginx-ha-check" interval 3 weight 50 } vrrp_instance VI_1 { interface eth0 priority 101 virtual_router_id 51 advert_int 1 accept garp_master_refresh 5 garp_master_refresh_repeat 1 unicast_src_ip 192.168.100.100 unicast_peer { 192.168.100.101 } virtual_ipaddress { 192.168.100.150 } track_script { chk_nginx_service chk_manual_failover } notify "/usr/libexec/keepalived/nginx-ha-notify" } stream { server { listen 192.168.100.100 :9000 zone_sync; zone_sync_server 192.168.100.101:9000; } } http { limit_req_zone $remote_addr zone=req:1M rate=100r/s sync; server { listen 80; location / { limit_req zone=req; proxy_pass http://my_backend; } } VRRPはIPv4/IPv6デュアルスタックの対応が可能です。 本設定はスクリプトにより簡易に作成可能です 複数のクラウド環境や広域に分散するシステムで、認証やRateLimitを共有 し、広域なアプリケーションで瞬時に状態を共有することが可能 nginx-ha-keepalivedを導入し、以下設定によりAct/Sby,Act/Actなどの構成が可能です ・・Zone Syncを待ち受けるため、TCP(Stream)に設定 ・・Sync先を指定 ・・例としてリクエストリミットの Syncを設定 HA /etc/keepalived/keepalived.conf
  30. 30. | ©2020 F530 OpenID Connect 3rd Party Module NGINX OSSはLuaやJavaScriptを用いることにより多 彩な機能拡張が可能です。その機能により3rd Party Moduleの利用が可能であり、OIDCなどの機能を利用 することが可能となります 機 能 3rd Party Moduleはコミュニティ管理となるOSSのも多く、 メーカ動作保証を提供するものではございません。障害発 生時や切り分け、バグ対応においてもコミュニティとの連携 が求められます ポ イ ン ト NGINX Plusの機能のうち、JWTを取り扱う 「auth_jwt」やKey-Valueストアの拡張機能である 「keyval」を活用し、NGINXより動作保証・メーカサポー ト提供可能なModuleを提供します 機 能 メーカサポートを提供するため、障害発生時の切り分け、 バグ対応が可能です。また、認証情報はKeyvalに格納 されるため、「sync」オプションを利用することにより、クラス タ間でのState Sharingが可能です ポ イ ン ト NGINX OSS NGINX Plus Service App IDP OIDC Module NGINX Support Module Service App IDP OIDC Module
  31. 31. | ©2020 F531 OpenID Connect:Config NGINX Plus # Custom log format to include the 'sub' claim in the REMOTE_USER field log_format main_jwt '$remote_addr - $jwt_claim_sub ‘ '[$time_local] "$request" $status ' '$body_bytes_sent "$http_referer“ ’ '"$http_user_agent" "$http_x_forwarded_for"'; # The frontend server - reverse proxy with OpenID Connect authentication server { include conf.d/openid_connect.server_conf; # Authorization code flow and Relying Party processing error_log /var/log/nginx/error.log debug listen 8010; location / { # This site is protected with OpenID Connect auth_jwt "" token=$session_jwt; error_page 401 = @do_oidc_flow; auth_jwt_key_file $oidc_jwt_keyfile; # Enable when using filename #auth_jwt_key_request /_jwks_uri; # Enable when using URL # Successfully authenticated users are proxied to the backend, proxy_set_header username $jwt_claim_sub; proxy_pass http://my_backend; access_log /var/log/nginx/access.log main_jwt; } ModuleをGitHubより取得します。スクリプトを用いて簡易に設定の作成が可能です。パラメータの指定により複数IDPへの振り分けが可能です。 ・・OIDCで必要となるPATHと 機能に関する設定をinclude Service App IDP OIDC Module NGINX Support Module ・・JWTに関する処理 location = /_jwks_uri { ※省略※ } location @do_oidc_flow { ※省略※ } set $redir_location "/_codexch"; location = /_codexch { ※省略※ } location = /_token { ※省略※ } location = /_refresh { ※省略※ } location = /_id_token_validation { ※省略※ } location = /logout { ※省略※ } conf.d/openid_connect.server_conf
  32. 32. | ©2020 F532 App Protect NGINX Plus Service App App Service App App App App Service App App App Ingress Proxy Host Reverse Proxy Container/Ingress 個別のWebサーバへ導入可能。 WEBサーバの動的モジュールとして稼働 ホスト単位でアプリケーション保護が可能 リバースプロキシとして配置し、App Protectを導入可能。WAFの配置をシン プルにしながら、包括的にアプリケーションを 保護 コンテナ環境でも幅広く動作し、Ingress として利用するNGINX Plusに導入可能。 その他内部アプリに合わせた配置が可能 構 成 特 徴 Secure Manage CI/CD Friendly 実績豊富なF5製WAFの機能を 移植。(高機能/高速/高品質) 柔軟な構成、既存NGINX Plusと シームレスに統合可能 CI/CDパイプラインと容易に統合。 JSONによるPolicy設定
  33. 33. | ©2020 F533 App Protect:Config NGINX Plus いずれの環境においても、同じ設定で幅広く高度なWAFをご活用いただくことが可能です Service App App Service App App App App Service App App App Ingress Proxy Host Reverse Proxy Container/Ingress load_module modules/ngx_http_app_protect_module.so; http { server { listen 80; # NGINX App Protect on app_protect_enable on; app_protect_security_log_enable on; app_protect_security_log "/etc/nginx/log-default.json" syslog:server=elk:5144; location /application01 { root /usr/share/nginx/html; app_protect_policy_file "/etc/nginx/security-policy.json"; index index.html index.htm; } } } ・・Moduleのload ・・App Protect, Logを有効化 { "filter": { "request_type": "all" }, "content": { "format": "default", "max_request_size": "any", "max_message_size": "5k" } } { "policy":{ "name":"evasions_enabled", "template":{ "name":"POLICY_NGINX_BASE" }, "applicationLanguage":"utf-8", "enforcementMode":"blocking", "signature-settings": { "signatureStaging": false, "placeSignaturesInStaging": false, "attackSignatureFalsePositiveMode": "disabled", "minimumAccuracyForAutoAddedSignatures": "low" } ・・Log Formatを記述したjsonファイルを指定 ・・Policyを記述したjsonファイルを指定 /etc/nginx/log-default.json /etc/nginx/security-policy.json
  34. 34. | ©2020 F534 NGINX Plus API / Dashboard Service App App NGINX OSS NGINX Plus Service App App • NGINXの状態を確認する際に、ログによる状態確認 が中心となります • 数多くの監視ツール・APMが存在しますが、別途モ ジュールやソフトウェアを導入し対応することが必要とな ります • NGINX Plusの状態をダッシュボードを通じてリアルタイ ムに確認することが可能です • 多くの情報をAPIから取得することにより、簡単に3rd Partyモジュールとの連携を実現することが可能です ポ イ ン ト ポ イ ン ト
  35. 35. | ©2020 F535 NGINX Plus API / Dashboard NGINX Plus Service App App server { listen 8080; location /api { api write=on; # directives limiting access to the API } location = /dashboard.html { root /usr/share/nginx/html; } } # curl -s 'http://localhost:8080/api/6/nginx' | jq . { "version": "1.19.0", "build": "nginx-plus-r22", "address": "10.10.10.33", "generation": 20, "load_timestamp": "2020-09-27T12:25:52.600Z", "timestamp": "2020-09-27T23:42:42.952Z", "pid": 5403, "ppid": 14500 } # curl -X POST -d '{ "server": "10.0.0.1:8089" }' -s 'http://localhost:8080/api/6/http/upstreams/appg1/servers' | jq . { "id": 12, "server": "10.0.0.1:8089", "weight": 1, "max_conns": 0, "max_fails": 1, "fail_timeout": "10s", "slow_start": "0s", "route": "", "backup": false, "down": false } dashboard API ・・apiを有効化 ・・dashboardを提供
  36. 36. | ©2020 F536 サポート Service App App NGINX OSS 本番環境でシステム規模拡張に伴う過大 NGINX Plus Service App App SUPPORT 以下の内容がコミュニティベースの対応となります • 機能追加による設定相談 • ユーザ増加による設定・パラメータチューニング • 障害発生時の情報取得方法 • 想定外の動作をした場合の調査・切り分け • 脆弱性・バグによるパッチの提供 メーカーサポートにより以下の対応となります • 機能追加による設定相談 • ユーザ増加による設定・パラメータチューニング • 障害発生時の情報取得方法 • 想定外の動作をした場合の調査・切り分け • 脆弱性・バグによるパッチの提供 ポ イ ン ト ポ イ ン ト SLAを定義し、エンタープライズ品質のサポートを提供
  37. 37. | ©2020 F537 NGINX Controller
  38. 38. | ©2020 F538 NGINX Controller / API Management NGINX Controller App Protect + N Plus NGINX Plus オンプレミス CUSTOMER オンプレミス • 様々なプロトコル: TCP/UDP, HTTP/HTTPS, gRPC, • 効率化: コンテンツキャッシュ • セキュリティ: WAF、アクセス制御、レート制限 自由な動作 環境の選択 Data plane Control plane • 3rd Party Toolとの容易な統合 • アプリケーション中心の優れたモニタリング 3rd Party Integration • 適切にデザインされた 「Control Plane」と「Data Plane」 シンプルな構成で、複数のNGINXを「高速」「安定」「省リソース」を維持しながら簡単に管理 NGINX Plus ServiceA App App ServiceB App App ServiceC App App 様々な環境の NGINX設定、 ステータスを管理
  39. 39. | ©2020 F539 デモ DEMO アンケートを表示いたしますのでご回答をお願いいたします

×