web-dev-qa-db-ja.com

Fortify、コマンドを使用して分析を開始する方法

コマンドを使用してFortiFyレポートを生成する方法??? Linuxで。

コマンドでは、分析用に一部のフォルダーまたはファイルのみを含める方法と、レポートを保存する場所を指定する方法を示します。等.

助けてください....

ありがとう、Karthik

7
Karthik Raju

1。ステップ#1(キャッシュのクリーンアップ)

  • 開始する前にスキャン構造を計画する必要があります。

scanid = 9999(好きなものにすることができます)

ProjectRoot =/local/proj/9999 /

WorkingDirectory =/local/proj/9999/working

  • (このディレクトリは巨大です。スキャンの前に「rm-rf ./working && mkdir ./working」する必要があります。そうしないと、このディレクトリの下にバイトコードが山積みになり、ハードディスクが急速に消費されます)

ログ=/local/proj/9999/working/sca.log

source = '/ local/proj/9999/source/src /**.*'

classpath = 'local/proj/9999/source/WEB-INF/lib/*。jar; /local/proj/9999/source/jars/**.*; /local/proj/9999/source/classes/**.* '

./sourceanalyzer -b 9999 -Dcom.fortify.sca.ProjectRoot=/local/proj/9999/ -Dcom.fortify.WorkingDirectory=/local/proj/9999/working -logfile  /local/proj/working/9999/working/sca.log  -clean
  • ProjectRootを指定することが重要です。このシステムのデフォルトを上書きしない場合は、/ home /user.fortifyの下に配置されます。
  • sca.logの場所は非常に重要です。fortifyがこのファイルを見つけられない場合、スキャンするバイトコードを見つけることができません。
  • 唯一のユーザーである場合は、ProjectRootと作業ディレクトリを一度だけ変更できます:FORTIFY_HOME/Core/config/fortify_sca.properties)。
  • このような場合、コマンドラインは./sourceanalyzer -b 9999 -cleanになります。

2。ステップ#2(ソースコードをバイトコードに変換)

Nohup ./sourceanalyzer -b 9999 -verbose -64 -Xmx8000M -Xss24M -XX:MaxPermSize=128M -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC  -XX:+UseParallelGC -Dcom.fortify.sca.ProjectRoot=/local/proj/9999/ -Dcom.fortify.WorkingDirectory=/local/proj/9999/working  -logfile /local/proj/9999/sca.log -source 1.5 -classpath '/local/proj/9999/source/WEB-INF/lib/*.jar:/local/proj/9999/source/jars/**/*.jar:/local/proj/9999/source/classes/**/*.class'  -extdirs '/local/proj/9999/source/wars/*.war'  '/local/proj/9999/source/src/**/*'  &
  • サーバーへのセッションがタイムアウトした場合に備えて、常にバックグラウンドジョブ(&)をUNIXに接続すると、動作し続けます。

  • cp:functiodfn呼び出しを解決するために、すべての既知のクラスパスをここに配置して、強化します。関数が見つからない場合、fortifyはソースコードの変換をスキップするため、この部分は後でスキャンされません。スキャン品質は低下しますが、FPRは良好に見えます(低い問題が報告されています)。すべての依存関係jarを配置することが重要です。

  • -extdir:スキャンしたくないすべてのディレクトリ/ファイルをここに置きます。

  • 最後のセクションでは、 ''の間のファイルがソースです。

  • -64は64ビットJavaを使用します。指定されていない場合、32ビットが使用され、最大ヒープは1.3 GB未満である必要があります(-Xmx1200Mは安全です)。

  • -XX:アプリケーションサーバーの起動と同じ意味です。これらは、クラスヒープとガベージコレクションを制御するためにのみ使用してください。これはパフォーマンスを微調整するためです。

  • -ソースはJavaバージョン(1.5から1.8))

。ステップ#3(ルールパック、カスタムルール、フィルターなどでスキャン)

Nohup ./sourceanalyzer -b 9999  -64 -Xmx8000M -Dcom.fortify.sca.ProjectRoot=/local/proj/9999 -Dcom.fortify.WorkingDirectory=/local/proj/9999/working -logfile /local/ssap/proj/9999/working/sca.log **-scan** -filter '/local/other/filter.txt' -rules '/local/other/custom/*.xml -f '/local/proj/9999.fpr' & 
  • -filter:ファイル名はfilter.txtである必要があり、このファイルのルールガイドは報告されません。

  • ルール:これはあなたが書いたカスタムルールです。 HPルールパックはFORTIFY_HOME/Core/config/rulesディレクトリにあります

  • -scan:既存のscanidをスキャンするようにfortifyエンジンに指示するキーワード。ステップ2をスキップして、コードを変更しなかった場合にのみステップ3を実行できます。別のフィルター/カスタムルールを試してみたいだけです。

4。ステップ#4生成PDF FPRファイルから(必要な場合))

./ReportGenerator -format pdf -f '/local/proj/9999.pdf' -source '/local/proj/9999.fpr'
10
user1836982