2022年12月14日
Continuous Integration
Harnessプラットフォームを使って、選択したセキュリティーツール、スイート、フレームワークを継続的イン テグレーションとデリバリー(CI/CD)パイプラインに統合する方法を示します。
セキュリティーはもはや後付けではなく、継続的インテグレーションとデリバリー(CI/CD)パイプラインの不可欠な部分です。DevOpsのプラクティスはアジャイルさとスピードに重点を置いていますが、DevSecOpsはセキュリティーがデリバリーパイプラインにしっかりと組み込まれていることを保証します。競争は熾烈で、顧客はすぐに新しい機能を要求します。新しいソフトウェアと機能が顧客にどれだけ早くリリースされるかは、組織のスキルセットと使用するツール次第です。
非常に多くのツールがあるため、DevOpsツールチェーンにセキュリティーを統合する方法を決めるのが難しい場合があります。ここでは、Harnessプラットフォームを使って、選択したセキュリティーツール、スイート、フレームワークをCI/CDパイプラインに統合する方法を紹介します。
CI/CDは、新しいコミットが行われるとすぐにコードを自動的にビルドしてデプロイするプロセスです。このプロセスには、通常、コードの構築、テストケースの実行、静的コード分析の実行、最終的なアプリケーションのデプロイが含まれます。企業がCI/CDパイプライン上で実行し、ワークフローを自動化するのに役立つ多くのツールがあります。CI/CDパイプラインでセキュリティーテストを自動化するには、コードに対してセキュリティースキャンを実行する自動化された方法が必要です。これは、さまざまなセキュリティツールをCI/CDパイプラインに統合することで実現できます。
手動のテストは時間のかかるプロセスであり、拡張できません。各リリースの前に手動でテストすることをお勧めしますが、可能な限り自動化する必要があります。テストは、次の手順に従って自動化できます:
複数のセキュリティーテストを並行して実行することは良いやり方であり、このチュートリアルでも同じことを示します。使用するテストスイートとツールの例をいくつか見てみましょう。
1つずつ、どんなものかを見てみましょう。
Assertibleは、APIとウェブサイトのアップタイムと可用性、データの正確性を保証します。
Snykは、アプリケーションのオープンソースの脆弱性とライセンスの問題を検出します。
Pm2は、ロードバランサーを内蔵したNode.jsアプリケーションのためのプロダクションプロセスマネージャーです。アプリケーションを永久に生かし、ダウンタイムなしに再ロードし、一般的なシステム管理作業を容易にすることができます。
Sonarqubeは、アプリケーションのコード品質を報告します。
BrowserStackは、アプリケーションのクロスブラウザーテストを行います。
AppSignalは、アプリケーションのエラー追跡とパフォーマンス監視を行います。
Harnessは、現在利用可能な最も人気のある40を超えるアプリケーションセキュリティースキャナーと統合されています。
Harnessは主要なツール全てとうまく統合されており、CI/CDのさまざまな段階でさまざまなツールとプラットフォームを選択することで、それに応じてパイプラインをカスタマイズできます。同様に、テストに関しては、CI(この場合はHarness CI)ツールをさまざまなテストと統合して、バグや脆弱性を見つけることができます。上記の全てのセキュリティーテストでHarness CIを構成する方法を見てみましょう。
サンプルのNode.jsアプリケーションをフォークすることから始めます:https://github.com/pavanbelagatti/harness-ci-example
次に、Harnessプラットフォームの無料トライアルにサインアップし、CIモジュールを選択します。
プロジェクトを作成し、「Build and Test」ステージを構成します。
「Build and Test」の下で、さまざまなカスタムテストスイートを構成できます。「Run」ステップを使い、以下のように構成します。
「Run」ステップを使用して、全部の異なるテストスイートを構成できます。全テストを構成したら、パイプラインを保存して実行します。全テストを簡単に構成でき、パイプラインはワンクリックで実行できます。パイプラインが正常に実行され、全てのテストがパスするはずです。脆弱性、バグ、または間違いが見つかった場合、パイプラインは前進せず、そこで停止します。
全テストが成功したことを確認できます。
CI/CDは、チームがコードをより迅速かつ効率的にビルド、テスト、デプロイするの に役立つプロセスです。エンジニアは手動でテストを実行する必要があるため、エラーが発生する可能性が高くなります。自動化がDevOpsのベストプラクティスの中心になりつつあるため、セキュリティーテストの自動化を実行するツールがより好まれています。間違いなく、セキュリティーテストはCI/CDの重要な部分であり、時間と労力を節約するために自動化できます。さらに、正しく実行すれば、安全でないコードをデプロイするリスクを減らせます。
多くのツールは、CI/CDパイプラインのセキュリティーテストを自動化するのに役立ちます。これには、脆弱性スキャナー、コードカバレッジアナライザー、コードレビューツール、静的コード分析ツール、障害後対策ツールなどが含まれます。デプロイが100%安全であることを確認するために必要なのは、CI/CDとセキュリティーテスト機能を備えたHarnessのようなプラットフォームだけです。
Harnessとインテリジェントなソフトウェアデリバリーの使い方について詳しく知りたい場合は、無料で試してみてください。詳細なチュートリアル、ビデオ、リファレンスドキュメントについては、Developer Hubをチェックしてください。
この記事はHarness社のウェブサイトで公開されているものをDigital Stacksが日本語に訳したものです。無断複製を禁じます。原文はこちらです。