GitLabでセキュリティスキャンしていく(DAST編)

GitLabは、ソースコード管理/バージョン管理だけではない!!!!!! GitLabのセキュリティ機能(DAST)についてみていこう!
2024.02.01

こんにちは、こんばんは。アライアンス事業部のきだぱんです。

GitLabに様々な機能があるのをご存知でしょうか。
ソースコード管理/バージョン管理だけではないのです!!!!!!!!!

今回は、GitLabのセキュリティ機能(DAST)について書いていきたいと思います。

GitLabとは

そもそもGitLabとは?
計画から開発・運用・監視までライフサイクルの全ステージを一貫してサポートしてくれるのが、GitLabです。
単一のアプリケーションでDevOpsのライフサイクル全般を対応してくれるのです。便利ですね。^ ^

GitLabを使うにあたって、まずは試してみたいという方も多いのではないでしょうか。
GitLabでは30日間、無料でトライアルを始められます。
お問い合わせは下記から。

アカウント作成については下記のブログをご覧ください。

DASTについて

今回は、GItLabでDASTを見ていきます。
DASTとは、Dynamic Application Security Testingの略で動的アプリケーションテストを指します。
ブラックボックス・セキュリティ・テストの一種で、悪意あるユーザーのフリをして、リモートでのアプリケーションへの侵入をシミュレートしセキュリティの脆弱性を探します。
DASTの特徴は、外部から見える問題や脆弱性を発見することに非常に優れており、実行時に発生する問題が特定できます。
これは静止状態でテストするSASTでは発見できません。
Webアプリケーション脆弱性スキャナと呼ばれることもあります。

Webサイトをスキャンしていく

準備するもの

  • GitLab SaaS版(Ultimate)
    CE版ではこの機能を使用できませんが、GitLabでは30日間、無料でトライアルを始められますので是非この機会にお試しください。

  • テスト用のwebサイト
    セキュリティテスト用のWebサイトは複数ありますが、今回は、「OWASP Juice Shop」という、セキュリティツールで有名な「OWASP」プロジェクトが用意してくれているサイトを使用していきます

スキャンしていく

まず、GitLabの設定をしていきます。
プロジェクトを作成します。

プロジェクト名を設定し、他はデフォルトの設定のまま作成します。

タブの[Secure]から、[Security configuration]に進みます。

Dynamic Application Security Testing (DAST)にあるEnable DASTをクリックします。

[Select scanner profile][New scanner profile]から、プロファイルを作成します。

Profile nameを入力し、Scan modeは「Passive」を選択します。
Save profileで設定を完了させます。

[Select scanner profile][Site profile]も作成します。
[Profile name]を設定し、Target URLに対象のサイトを入力します。

今回は、 OWASPプロジェクト の、画面右下のOnline DemoのOWASP Juice Shopを使用します。

二つの設定が完了したら、[Generate code snippet]をクリックします。

定義ファイル( .gitlab-ci.yml ファイル )が作成されますので、[Copy code and open .gitlab-ci.yml file]を選択します。

[Configure pipeline]をクリックし、今書かれているものは削除し先ほどコピーしたものをペーストします。
[Commit changes]を選択します。

設定完了です。

結果

タブの[Pipeline]から対象のものを確認してみましょう。
Securityタブに切り替え、脆弱性の結果が表示されていることが分かります。

また結果のレポートをダウンロードしたり、より詳しい脆弱性箇所をチェックすることも可能なので、是非色々試してみてください!

おわりに

今回は、GitLabのセキュリティ機能(DASTスキャン機能)についてブログにしてみました。
今回ご紹介した機能は一部で、まだまだ豊富な機能が沢山あります。
GitLab Documentationでは、様々な情報やドキュメントを確認することが出来ます。

また、2023年04月19日にプレスリリース出させていただきましたが、クラスメソッドとGitLab、クリエーションラインの3社にてDevOps統合プラットフォーム導入支援に向けた協業を開始しました。

GitLabに関するブログも展開されていますので、是非こちらもご覧ください。

この記事がどなたかのお役に立てば幸いです。
以上、きだぱんでした。