74
SecureAssist Enterprise Portal User Guide April 2017

SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

  • Upload
    others

  • View
    40

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal

User Guide April 2017

Page 2: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

Copyright © 2017 by Synopsys, Inc.. All rights reserved worldwide.

No part or parts of this documentation may be reproduced, translated, stored in any electronic

retrieval system, transmitted in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, without prior written permission of the copyright owner. Synopsys retains the exclusive title to all intellectual property rights relating to this documentation.

The information in this documentation is subject to change without notice and should not be

construed as a commitment by Synopsys. Synopsys makes no representations or warranties, express or implied, with respect to the documentation and shall not be liable for any damages, including any indirect, incidental, consequential damages (such as loss of profit, loss of use of

assets, loss of business opportunity, loss of data, or claims for or on behalf of user’s customers) that may be suffered by the user.

Sysnopsys and the Sysnopsys logo are trademarks of Sysnopsys. Other brands and products are trademarks of their respective owner(s).

Synopsys, Inc. 690 E. Middlefield Road Mountain View, CA 94043

Phone: +1 (650) 584-5000 www.synopsys.com

Page 3: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

Table of Contents

SecureAssist Enterprise Portal Setup ......................................................................... 1

Installation ......................................................................................................................1 Main and Reporting Databases .........................................................................................1 Database Setup ...............................................................................................................1 Initial Configuration ....................................................................................................... 10 Upgrade Instructions ..................................................................................................... 13

1 Log in to SecureAssist ....................................................................................... 21

Getting Started .............................................................................................................. 21 Portal Navigation ........................................................................................................... 21

2 Statistics ........................................................................................................... 22

Project Statistics ............................................................................................................ 22 User Statistics ............................................................................................................... 25 Timeseries .................................................................................................................... 26

3 Reports ............................................................................................................. 28

Project Reports .............................................................................................................. 28 User Reports ................................................................................................................. 33

4 Rulepacks ......................................................................................................... 37

5 Manage ............................................................................................................. 40

Portal Users .................................................................................................................. 40 Plugin User Groups ........................................................................................................ 41 Roles ............................................................................................................................ 43 Account ........................................................................................................................ 45

6 Settings ............................................................................................................ 46

LDAP Configuration ........................................................................................................ 46 Feature Configuration .................................................................................................... 47 Plugin Users .................................................................................................................. 49

7 More Support .................................................................................................... 50

Appendix A: Roles and Associated Permissions ....................................................... 50

Appendix B: Permission Descriptions ...................................................................... 52

Appendix C: Audit Log .............................................................................................. 53

Appendix D: API Functionality ................................................................................. 54

Authentication ............................................................................................................... 55 Generate Project Report ................................................................................................. 57 Get Project List .............................................................................................................. 61 Number of Active Developers ......................................................................................... 63 Number of Projects Scanned .......................................................................................... 64 Number of Project Defects ............................................................................................. 65 Top Number of Findings ................................................................................................. 67 Most Viewed Guidance ................................................................................................... 69

Page 4: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication
Page 5: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 1 of 70

SecureAssist Enterprise

Portal Setup The SecureAssist Enterprise Portal is a centralized portal that allows

organizations to manage SecureAssist plugin licenses, rulepacks, and tool settings. It also provides centralized reporting on security vulnerabilities found by users and how those change over time.

Installation

This section describes the installation of the Codiscope SecureAssist

Enterprise Portal and Codiscope SecureAssist Eclipse update site. The Portal and update site can be deployed on the same application server, or they can be deployed on separate servers. This document assumes that they are installed on the same server.

Main and Reporting Databases

Starting with SecureAssist Enterprise Portal v3.0, users now have the option to set up a separate, secondary database for reporting. This enables better Enterprise Portal performance for larger SecureAssist

deployments. When the reporting database is configured, all scheduled and active reporting requests will execute against it. The main database will still handle registration, activation, rulepack requests, and so on.

The use of a secondary reporting database is optional. If you choose to

set up only one database for the SecureAssist Enterprise Portal, all reporting requests will be directed to the main database.

Important! The following points are critical to implementing databases in the Portal.

▪ If the reporting database is configured, then replication MUST be set up between the main database and the reporting database in order for data to be consistent between them. If no replication is

set up, the executed reports will not have any data in them. ▪ The main database and the reporting database MUST be set up

in two separate locations/on two different hypervisors to ensure reporting requests do not influence the functionality and

performance of main database hypervisor/server.

Database Setup

Configure Main Database Connection

If the reporting database is configured, the replication between the main database and the reporting database MUST be set up prior to the

Page 6: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 2 of 70

database import into the main database. The following image displays the Database Connection screen.

Page 7: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 3 of 70

Configure Database

Database Instructions

MySQL Configure MySQL Database and User

1. Run the “mysql” command from the command prompt as a MySQL

super user: mysql -u root -p

2. Create an empty CSA Portal database schema. Replace ‘portal_csa’ with a database name of your choice: CREATE DATABASE portal_csa;

3. Create CSA Portal database user: GRANT ALL PRIVILEGES ON portal_csa.* TO ‘csauser’@’localhost’ IDENTIFIED BY ‘csauserpassword’;

Optional: Replace ‘portal_csa’ with the name of the database that you have created in the step above. Additionally, replace ‘csauser’ and ‘csauserpassword’ with the username and password of your choice. If the SecureAssist Enterprise Portal is not running on the

same server as your MySQL database server, replace ‘localhost’ with the hostname or IP address of the SecureAssist server.

Running MySQL Database Import Script

If a reporting database is set up, the replication between the main database and reporting database MUST be set up prior to database

import in the main database.

If you are using a “Production Database” ONLY, without a “Reporting Database”, please follow these steps.

1. Create CSA Portal database schema and import the database by

running the following command from the command prompt as a MySQL super user.

“Production Database” is portal_csa

mysql -u root -p portal_csa < path_to/portal_csa_mysql.sql

mysql -u root -p portal_csa < path_to/portal_csa_mysql_aggregation.sql

▪ Replace ‘portal_csa’ with database schema created in step 2

above.

▪ Replace ‘path_to’ with path to portal_csa_mysql.sql file.

If you are using a “Production Database” WITH a “Reporting Database”, please follow the steps below.

1. Create CSA Portal database schema and import the database by running the following command from the command prompt as a MySQL super user.

“Production Database” is portal_csa

“Reporting Database” is portal_csa (same name as primary

database but to be replicated to a different location)

“Production Database” command: mysql -u root -p portal_csa < path_to/portal_csa_mysql.sql

“Reporting Database” command: mysql -u root -p portal_csa < path_to/portal_csa_mysql_aggregation.sql

▪ Replace ‘portal_csa’ with database schema created in step 2

above.

▪ Replace ‘path_to’ with path to portal_csa_mysql.sql or portal_csa_mysql_aggregation file.

Page 8: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 4 of 70

Database Instructions

Oracle Configure Database and User (Oracle 12c Only)

If operations and reporting are on different databases, then repeat this

process on both databases.

1. Open sqlplus `sqlplus / as sysdba` and run the rest of these steps

from there. (If you would like to use a different schema identifier than portal_csa, replace portal_csa with your custom schema name

in the database scripts as well as in the commands below.)

2. CONNECT system/manager AS sysdba;

3. ALTER SESSION SET "_oracle_script"=true

4. CREATE USER portal_csa IDENTIFIED BY Passw0rd DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP;

5. GRANT CREATE SESSION, RESOURCE, CREATE VIEW, CREATE MATERIALIZED VIEW, CREATE SYNONYM TO portal_csa;

6. ALTER USER portal_csa2 QUOTA UNLIMITED ON USERS;

Configure Database and User (all versions EXCEPT Oracle 12c)

1. To modify database name, user, and password (password change is

required), modify the Oracle specific SQL script located at <CSA_Portal_Package>/DatabaseScripts/portal_csa_oracle.sql. (Please make sure to modify this script with desired username and password prior to running the database import process.)

2. In order to modify credentials of user that will be used to connect to CSA Portal database, modify following line in the SQL Script: CREATE USER portal_csa IDENTIFIED BY Passw0rd DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP; Optional: Replace ‘portal_csa’ and ‘Passw0rd’ with username and password of your choice. Make sure to update all following lines with updated information: connect portal_csa/Passw0rd;

Running SQL Database Import Script

1. Log in to SQL*Plus as sysdba using following command: sqlplus /as sysdba

2. To log output of SQL script execution, turn on spool: spool /<path>/<to>/log.txt ;

3. Execute SQL script: @/<path>/<to>/portal_csa_oracle.sql

4. Turn off spool: spool off;

5. Exit from SQL*Plus: exit;

6. Review log file with SQL script execution output to validate that

there are no errors.

Configure Reporting Database Connection

SecureAssist Enterprise Portal currently officially supports MySQL

replication ONLY. For MySQL Database Server replication documentation, please refer to these sites:

▪ MySQL 5.6:

http://dev.mysql.com/doc/refman/5.6/en/replication.html ▪ MySQL 5.7:

http://dev.mysql.com/doc/refman/5.7/en/replication.html

Page 9: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70

Database replication is needed for the reporting database to work properly.

▪ Replication MUST be set up prior to database connection setup. ▪ Database import needs to occur into the “Production Database”

and into “Reporting Database” prior to Enterprise Portal database setup.

Configure Secure HTTP

SecureAssist Enterprise Portal supports HTTP and Secure HTTP (HTTPS).

Codiscope strongly recommends using HTTPS. For information on configuring the Apache Tomcat web server to use HTTPS, refer to your web server’s documentation. Prior to installation or upgrading, Codiscope

recommends configuring a minimum heap size of 1 GB.

Deploy SecureAssist Portal

These instructions are for an Apache Tomcat application server that sets the minimum and maximum heap size to 1024 MB.

Increase Tomcat Heap Size for a Command-Line Tomcat Instance 1. Create a file named "setenv.bat" or "setenv.sh" in the

%CATALINA_HOME/bin folder and set the CATALINA_OPTS to the memory settings. a. On Windows: "set CATALINA_OPTS='-Xms1024 –

Xmx1024m -Xss1024k -XX:PermSize=256m -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled'"

b. On Linux: "export CATALINA_OPTS='-Xms1024m –

Xmx1024m -Xss1024k -XX:PermSize=256m -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled'"

Increase Tomcat Heap Size for a Windows Service Tomcat Instance

1. Execute Tomcat<version#>w.exe in the %CATALINA_HOME%\bin\ directory and enter 1024 in the Initial memory pool and Maximum memory pool fields.

Page 10: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 6 of 70

Deploy Using Tomcat Manager

If your instance of Tomcat is running in the Tomcat Web Application

Manager, you can use its browser interface to deploy the Portal.

1. In %CATALINA_HOME%/conf/tomcat_users.xml, create a role named manager-gui and assign a user to this role. Afterwards, restart your Tomcat instance.

<tomcat-users><role rolename=“manager-gui”/><user username=“USERNAME” password=“PASSWORD” roles=“manager-gui”/></tomcat-users>

2. In your internet browser, navigate to the Tomcat home page (by default located at http://apache_tomcat_hostname:8080/).

3. Click on the Manager App link. You will be asked to enter your

username and password (from step 1, above).

4. Enter your username and password. The Web Application Manager page will load.

Page 11: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 7 of 70

5. Navigate to the WAR file to deploy section and click Browse.

6. Select the CSA Portal web application WAR file, click Open, then click Deploy. After Tomcat has finished deploying the Portal, it is listed in the Applications section and ready to use.

Page 12: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 8 of 70

Deploy on a Running Tomcat Server

To deploy the SecureAssist Enterprise Portal on a running Tomcat server,

follow these steps.

1. Set the autoDeployattribute to true in your server.xml file inside Tomcat’s /conf/ directory. The host will deploy the web application when the WAR file is copied to the deployment directory. The

default deployment directory is %CATALINA_HOME%/webapps. 2. To deploy the Portal, copy CSA_Server.warfile to

%CATALINA_HOME%/webapps. 3. After Tomcat has finished deploying the Enterprise Portal, create

the CSA_Server directory under %CATALINA_HOME%/webapps.

Deploy Using WebSphere

To deploy the SecureAssist Enterprise Portal on a WebSphere (8.5.X) application server, follow these instructions. (Prior to the application deployment, we recommend setting the heap space to at least 1 GB.)

1. Increase Heap Space.

a. Start the WebSphere Application Server administrative console.

b. Navigate to Servers > Application servers > server1 >

Java and Process Management > Process Definition > Java Virtual Machine.

c. Set the initial and maximum heap sizes to at least 1024 MB. d. Click Apply.

e. Click OK. f. Click Save “Save directly to the master configuration.” g. Restart WebSphere.

2. Deploy SecureAssist Enterprise Portal EAR File.

a. Start the WebSphere Application Server administrative console.

b. On the navigation menu on the left side of the screen, select

Global Deployment Settings from the Applications section.

c. Check the Monitor directory to automatically deploy

applications checkbox. d. Click Apply. e. Click Save "Save directly to the master configuration." f. Restart WebSphere.

g. After WebSphere restarts, copy the EAR file to WebSphere/AppServer/profiles/AppSrv04/monitoredDeployableApps/servers/server1.

h. After several minutes, start the WebSphere Application Server administrative console.

Page 13: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 9 of 70

i. To verify the application has been deployed and is running, select Applications > Applications Types > WebSphere

enterprise applications from the navigation menu. j. Navigate to http://<server>:<port>/CSA_Server/ (e.g.

http://localhost:9080/CSA_Server/).

3. Optional. Import SSL certificate to support Secure LDAP.

a. Start the WebSphere Application Server administrative console.

b. On the navigation menu on the left side of the screen, select

SSL certificate and key management from the Security section.

c. In the Related Items section, click Key stores and certificates.

d. Select NodeDefaultKeyStore and in the Additional Properties section click Signer Certificates.

e. In the Signer Certificate table, click Retrieve from Port.

f. Provide you LDAPS server host name, port, and alias for the key, then click Retrieve signer information.

g. Click OK. h. Click Save "Save directly to the master configuration."

i. Navigate back to Key stores and certificates and repeat steps (d) through (h) for NodeDefaultTrustStore.

j. Restart Websphere.

Install MySQL Database Connector

The MySQL Connector/J (official JDBC driver for MySQL database) is

required to connect the SecureAssist Enterprise Portal to a MySQL database. This step is not necessary when using an Oracle database.

To install the MySQL connector, follow these steps.

1. Navigate to http://dev.mysql.com/downloads/connector/j/ and

download MySQL Connector/J. 2. Extract mysql-connector-java-5.x.x-bin.jar file from the archive

downloaded in previous step and copy it into the /CSA_Server/WEB-INF/lib directory.

Deploy Codiscope SecureAssist Eclipse

Update Site

To deploy the SecureAssist Eclipse update site local to the portal, simply

copy the /update folder that came with the Portal and place it right next to your CSA_Server folder. To deploy it to a server remote to the Enterprise Portal, simply ensure the update directory is accessible via HTTP or HTTPS.

To configure the portal to display the update site URL, modify the value of the eclipseUpdateUrl to the update site URL and the value of the eclipseUpdateText to how you would like the link to be displayed. This

should be done in the index.jsp and login.jsp files in the

Page 14: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 10 of 70

WEB_INF/jsp/includes directory of your SecureAssist deployment. The server will need to be restarted for the change to take effect.

Important! When deploying the update site local to the portal, place the /update folder next to the CSA_Server directory, NOT inside it.

Initial Configuration

Configure Logging

The Log4j configuration file is stored at /CSA_Server/WEBINF/classes/log4j.xml file.

You can edit this file to make it suitable for the deployment environment.

In the log4j.xml there are two configurable log4j appenders that can be customized by the portal administrator:

▪ Appender “file”: A general purpose log. By default appends to CSA_PORTAL.log.

▪ Appender “audit”: A log for auditing portal user activity. By

default appends to CSA_PORTAL_AUDIT.csv. (See Appendix C for details.)

For more information about configuring log4j, refer to the log4j

documentation.

Note: Any changes made to the logging configuration file will take effect only after restarting the Tomcat Application Server or WebSphere Application Server.

Page 15: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 11 of 70

Initial Configuration

After the successful deployment of the SecureAssist Enterprise Portal, open your browser and navigate to http://<Host>:<Port>/CSA_Server to finish the configuration of the portal. The following table describes the

items you will need to configure.

Item Description

License Terms Read terms and conditions and click I Agree to continue.

Product

License

The SecureAssist Enterprise Portal license is tied to a specific

server and can be used only on that single server. If re-hosting is needed, please contact Codiscope support at

[email protected] The server license will be sent to you as a part of the SecureAssist fulfillment email.

After receiving the server license file, click Browse and select server license file, then click Upload on the license activation/upload screen during the Enterprise Portal setup.

Database Setup

Before setting up the database connection, you must set up the database schema and create a database user as described in

the “Configure Database” section above. Complete all fields and click Save.

Examples:

Database Type: MySQL

“Production Database” Server: jdbc:mysql://<db_server>:3306

Database/Schema Name: portal_csa Database User: csauser

“Reporting Database” (optional) Server: jdbc:mysql://<db_server>:3306 Database/Schema Name: portal_csa

Database User: csauser

Database Type: Oracle

Server: jdbc:oracle:thin:@<db_server>:1521:orcl Database/Schema Name: portal_csa

Database User: portal_csa

Administrator

Account Setup

In the last step of the initial configuration, the administrator

account must be created. Select either LDAP User or Local User in Administrator Type and then complete the appropriate fields:

▪ Local User. Enter Username, Password, and Password Confirmation, then click Save.

▪ LDAP User. Enter Authentication & Security settings, Server settings, LDAP Login settings, and administrator

credentials (Username, Password, and Password Confirmation), then click Save.

You can initially set up a local user account and configure an LDAP connection of your portal later on. After LDAP is set up,

you can disable your original local user account.

Page 16: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 12 of 70

Upon successful initial configuration, you will be redirected to the Index page and will be able to log in using the administrator credentials you

created.

Configure Link on Index Page

The Index page contains a section with the link to the location from where the SecureAssist Eclipse IDE plugin can be installed or updated. Additionally, you can have separate links for IntelliJ and Visual Studio, but this is not required.

In order to configure the link, navigate to /CSA_Server/WEB-INF/jsp/includes/. Open file index.jsp and edit the following line so that the value equals the correct URL from which the plugin can be installed.

If you do not want the link to be displayed, leave the value as empty.

Page 17: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 13 of 70

Upgrade Instructions

This section contains the instructions for upgrading the SecureAssist Enterprise Portal from your current version to the latest one. Please take

a look at the following sections for database and server upgrade instructions. Both the application server and database components must be upgraded for proper Portal function.

Note: In order to upgrade to SecureAssist 2.4 or 2.4.1 from any previous

version, you must be re-issued a new Enterprise Portal license. Please reach out to [email protected] for a new license for SecureAssist 2.4 or 2.4.1.

If you are performing an upgrade from version 2.5 to a later version, you

can simply use the License .jar file that was provided to you with the installation of SecureAssist 2.5 or later.

Application Upgrade

Follow these instructions to upgrade the Portal.

Important! It is critical to stop your Apache Tomcat or WebSphere

Application Server prior to your database upgrade.

Note: If you have modified any configuration (for example, the hibernate.cfg files) in order to resolve bugs, you must make these same modifications in the upgrade deployment.

Note: SecureAssist 3.0 has made additions to the cron.properties file located in %CATALINA_HOME%/webapps/CSA_Server/WEB-INF directory. If you have made changes to your cron.properties file and plan

to use it after upgrading it, you will need to include these changes into your restored cron.properties file.

The additions to be included are:

▪ com.cigital.csa.cron.aggregate.enable=true

▪ com.cigital.csa.cron.aggregate.interval=24 ▪ com.cigital.csa.cron.aggregate.hour=0 ▪ com.cigital.csa.cron.aggregate.minute=0

▪ com.cigital.csa.cron.aggregate.second=0

Tomcat Application Server

1. Stop Apache Tomcat. 2. Create backup directory.

3. Backup following directories/files: a. Copy following directories and files to backup folder:

- %CATALINA_HOME%/webapps/CSA_Server/key-file - %CATALINA_HOME%/webapps/CSA_Server/stats - %CATALINA_HOME%/webapps/CSA_Server/rulepacks - %CATALINA_HOME%/webapps/CSA_Server/WEB-

INF/lib/mysql-connector-java-5.x.x.jar

Page 18: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 14 of 70

b. Copy following files from %CATALINA_HOME%/webapps/CSA_Server/WEB-INF/ folder to backup folder: - cron.properties - db.properties - <company_name>-SecureAssist-PriKey.der - SecureAssist.license - classes/log4j.xml (optional, see step 9c )

4. Delete CSA_Server.war file from %CATALINA_HOME%/webapps folder.

5. Delete %CATALINA_HOME%/webapps/CSA_Server folder. 6. Copy new CSA_Server.war file to

%CATALINA_HOME%/webapps folder for server deployment, or

deploy .war file from Tomcat Manager. 7. Upgrade database by following instructions in the “Database

Upgrade” section below.

8. Start Apache Tomcat. 9. Restore the following directories/files.

a. Copy following directories to %CATALINA_HOME%/webapps/CSA_Server: - <backup>/key-file - <backup>/stats - <backup>/rulepacks

b. Copy following files to

%CATALINA_HOME%/webapps/CSA_Server/WEB-INF: - <backup>/cron.properties (please see note at the

beginning of the section regarding additions to this file)

- <backup>/db.properties - <backup>/<company>-SecureAssist-PriKey.der - <backup>/SecureAssist.license

c. Copy file <backup>/log4j.xml to

%CATALINA_HOME%/webapps/CSA_Server/WEBINF/ classes. Note: If you are upgrading from a version prior to 2.3, the

Log4j configuration file in release 2.3 contains additional loggers to improve logging configuration. We recommend configuring new log4j.xml instead of replacing it with the previous version of the file.

10. Ensure that all directories and files copied from the backup folder are readable and writable by a user running Tomcat (e.g., chown tomcat:tomcat path/to/file).

11. Copy MySQL Connector (mysql-connector-java-5.x.x.jar) to %CATALINA_HOME%/webapps/CSA_Server/WEB-INF/lib/. Note: If you are not using MySQL, you do not need to obtain a copy and install it.

12. Remove Apache Tomcat work cache (e.g., /var/cache/tomcat6/work/Catalina/localhost/CSA_Server/*, <tomcat>/work/Catalina/localhost/CSA_Server/*).

13. Restart Apache Tomcat.

Websphere Application Server

1. Stop WebSphere Application Server (WAS). 2. Create backup directory.

Page 19: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 15 of 70

3. Backup following directories/files: a. Copy following directories and files to backup folder:

- /CSA_Server/key-file - /CSA_Server/stats - /CSA_Server/rulepacks - /CSA_Server/WEB-INF/lib/mysql-connector-java-5.x.x.jar

b. Copy following files from /CSA_Server/WEB-INF/ folder to backup folder: - cron.properties - db.properties - <company_name>-SecureAssist-PriKey.der - SecureAssist.license - classes/log4j.xml (optional, see step 9c)

4. Delete CSA_Server.EAR file from WAS Server1 folder. 5. Delete CSA_Server folder. 6. Copy new CSA_Server.EAR file to WAS Server1 folder for server

deployment. 7. Upgrade database by following instructions in the “Database

Upgrade” section below. 8. Start WebSphere Application Server (WAS); New

CSA_Server.EAR file is deployed on restart. 9. Restore the following directories/files.

a. Copy following directories to /CSA_Server: - <backup>/key-file - <backup>/stats - <backup>/rulepacks

b. Copy following files to /CSA_Server/WEB-INF:

- <backup>/cron.properties (please see note at the beginning of the section regarding additions to this file)

- <backup>/db.properties - <backup>/<company>-SecureAssist-PriKey.der - <backup>/SecureAssist.license

c. Copy file <backup>/log4j.xml to /CSA_Server/WEBINF/ classes.

Note: If you are upgrading from a version prior to 2.3, the Log4j configuration file in release 2.3 contains additional loggers to improve logging configuration. We recommend configuring new log4j.xml instead of replacing it with the

previous version of the file. 10. Copy MySQL Connector (mysql-connector-java-5.x.x.jar) to

/CSA_Server/WEB-INF/lib/. Note: If you are not using MySQL, you do not need to obtain a copy and install it.

11. Restart WebSphere Application Server (WAS).

Database Upgrade

If your current Portal version is 2.5.1 or later, upgrading database to the latest version is just one script execution. If your current version is

earlier than 2.5.1, the section “Upgrading to version 2.5.1” shows how to upgrade to 2.5.1 and then just follow the below steps to upgrade from 2.5.1 to the latest version.

Page 20: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 16 of 70

Upgrading from 2.5.1 or later versions to the latest version

For the upgrade it is assumed that you are in <Enterprise Portal archive>/DatabaseScript directory. As said above, only one script needs to be executed to upgrade from 2.5.1 or later versions to latest version.

Below are the features of the script:

• Backs up the current database before upgrading it. If the backup fails, upgrade is aborted.

• Supports upgrade of MySQL and Oracle databases on Windows and Linux.

• Upgrades main as well as reporting database (if one exists).

• Doesn't roll back changes if the upgrade fails for some reason. For this same, backups are taken before upgrade.

Prerequisites

1. The script needs to be run locally on the database server; hence access to the database server is required.

2. JRE 7 or later is required to run the script.

3. SYSDBA permission is required for Oracle database.

4. Java database drivers (that is, MySQL connector jar (mysql-connector-java-*.jar) for MySQL and Oracle connector jar

(ojdbc*.jar) for Oracle). The driver jar should be placed under the ‘db/drivers’ directory.

5. mysqldump (used to back up MySQL database) or expdp (used

to back up Oracle) should be on PATH.

6. For Microsoft Windows, permission to execute powershell scripts is required. To execute the powershell script, execution policy has to be set to allow unsigned scripts. Execute the following

command by running powershell as an administrator. Set-ExecutionPolicy RemoteSigned

7. A directory object reference needs to be created to back up

Oracle database. The following command creates the directory reference.

CONN / AS SYSDBA

ALTER USER <csa database username> IDENTIFIED BY <Password> ACCOUNT UNLOCK;

CREATE OR REPLACE DIRECTORY backups AS '<full path to directory where backup should be kept>';

GRANT READ, WRITE ON

DIRECTORY backups TO <csa database username>;

Page 21: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 17 of 70

Upgrade Settings File

Settings file linux_settings.sh is for Linux and windows_settings.ps1 is for Windows. If you don't have a separate Reporting Database (which is the most common case) please use the settings from "Main Database" for

"Aggregation Database."

Please note that in the windows_settings.ps1 file, all the values should be enclosed in double quotes.

Below is an example for MySQL on Linux.

Running the Upgrade Script

Once all the prerequisites are satisfied and settings set, the upgrade script can be run.

Upgrade on Linux

# MYSQL or ORACLE DATABASE=MYSQL # Main database CSA_PORTAL_SCHEMA=portal_csa DB_USER=root

DB_HOST=localhost DB_PORT=3306 # Aggregation database CSA_PORTAL_SCHEMA_AGG=portal_csa DBAGG_USER=root DBAGG_HOST=localhost DBAGG_PORT=root DB_PASS=root DBAGG_PASS=root

DBA_USERNAME=<Your username, just for logging purposes> # Oracle SID orcl or xe ORACLE_SID=orcl #Driver Jar file name under drivers directory DRIVER_FILE_NAME=mysql-connector-java-5.1.37.jar # Perform upgrade without backing up database. True or false.

SKIP_BACKUP=false

Page 22: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 18 of 70

1. On the Linux shell, navigate to the directory where db.zip has been extracted.

2. Make linux_install.sh and linux_settings.sh file executable using the chmod command.

3. Execute the linux_install.sh script to upgrade the database to the latest version.

Upgrade on Windows

1. On the Windows power shell, navigate to the directory where db.zip has been extracted.

2. Ensure execution policy has been set to allow executed unsigned script, as mentioned in Prerequisites above.

3. Execute windows_install.ps1 to upgrade the database to the latest version.

Upgrading from older versions to 2.5.1

Depending on your current version of SecureAssist Portal, a few upgrade

scripts may need to be run to upgrade to 2.5.1 version. Below table shows, which scripts may have to run. Upgrade scripts can be found at the <Enterprise Portal archive/DatabaseScript/upgrade/> directory:

Versions Upgrade Paths

2.5.0 to 2.5.1 Run the below script: ‘2.4.1_to_2.5.1’

2.4.1 to 2.5.1 Run the below script: ‘2.4.1_to_2.5.1’

2.4.0 to 2.5.1 Run these scripts in the following order: ‘2.4.0_to_2.4.1’

‘2.4.1_to_2.5.1’

2.3.7, 2.3.8 or 2.3.9 to 2.5.1

Run these scripts in the following order: ‘2.3.7_to_2.4.0’

‘2.4.0_to_2.4.1’ ‘2.4.1_to_2.5.1’

Page 23: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 19 of 70

Versions Upgrade Paths

2.3.6 to 2.5.1 Run these scripts in the following order: ‘2.3.6_to_2.3.7’ ‘2.3.7_to_2.4.0’ ‘2.4.0_to_2.4.1’

‘2.4.1_to_2.5.1’

2.3.1 to 2.5.1 Run these scripts in the following order: ‘2.3.1_to_2.3.6’ ‘2.3.6 to 2.3.7’ ‘2.3.7_to_2.4.0’ ‘2.4.0_to_2.4.1’

‘2.4.1_to_2.5.1’

2.3 to 2.5.1 Run these scripts in the following order: ‘2.3_to_2.3.1’ ‘2.3.1_to 2.3.6’ ‘2.3.6_to_2.3.7’ ‘2.3.7_to_2.4.0’ ‘2.4.0_to_2.4.1’ ‘2.4.1_to_2.5.1’

2.2 to 3.0.3 Run these scripts in the following order:

‘2.2_to_2.3.1’, ‘2.3.1_to_2.3.6’ ‘2.3.6_to_2.3.7’ ‘2.3.7_to_2.4.0’

‘2.4.0_to_2.4.1’ ‘2.4.1_to_2.5.1’

Knowing which scripts to run, follow below instructions to upgrade your

database to 2.5.1.

Database Instructions

MySQL Run the following commands for database upgrade.

“Production Database” is portal_csa

mysql -u root -p portal_csa < path_to/upgrade/{from_to_versions}/mysql_upgrade_{version}_to_{version}.sql

mysql -u root -p portal_csa < /portal_csa_mysql_aggregation.sql

Page 24: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 20 of 70

Database Instructions

Oracle Configure Database and User

1. To modify database name, user, and password (password change is

required), modify the Oracle specific SQL script located in <CSA_Portal_Package>/DatabaseScripts/portal_csa_oracle.sql. (Please make sure to modify this script with desired username and password prior to running the database import process.)

2. In order to modify credentials of user that will be used to connect to CSA Portal database, modify following line in the SQL Script: CREATE USER portal_csa IDENTIFIED BY Passw0rd DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP; Optional: Replace ‘portal_csa’ and ‘Passw0rd’ with username and

password of your choice. Make sure to update all following lines with updated information: connect portal_csa/Passw0rd;

Running SQL Database Import Script

1. Log in to SQL*Plus as sysdba using following command: sqlplus /as sysdba

2. To log output of SQL script execution, turn on spool: spool /<path>/<to>/log.txt ;

3. Execute SQL scripts: @/<path>/<to>/oracle_upgrade_{version}_to_{version}.sql and

@/<path>/<to>/portal_csa_oraclel_aggregation.sql

4. Turn off spool: spool off;

5. Exit from SQL*Plus: exit;

6. Review log file with SQL script execution output to validate that

there are no errors.

Page 25: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 21 of 70

1 Log in to SecureAssist Enter your username and password on SecureAssist’s login screen at http://<Host>:<Port>/CSA_Server. (The administrative user account

was configured in the last step of the Enterprise Server setup and configuration.)

Getting Started

When you first log onto the Portal, it opens on the Get Started screen by default. The screen displays these features.

Feature Description

Learn how it works Provides a link to the SecureAssist Support screen and its related documentation.

Install the SecureAssist Plugin

Provides links for the download of Eclipse, Visual Studio, and IntelliJ plugins.

Activate Provides direction for activating your SecureAssist plugin license.

Portal Navigation

The navigation menu on the left side of the application allows you to access any of the SecureAssist functional areas at any time. Those functional areas are:

▪ Statistics —An instant-reporting function that displays the number and types of issues identified and reviewed, guidance searched, and history of vulnerabilities remediated—by project or by individual user.

▪ Reports — Allows administrators to produce various predefined reports for projects or for groups of users.

▪ Rulepacks — Lists the various rulepacks loaded in the Portal for distribution to the licensed SecureAssist clients.

▪ Manage —Contains screens for administering users, groups, roles, and your personal account.

▪ Settings — Contains various settings for configuring the

application and viewing license agreements. ▪ Get Started — The “homepage.”

The following chapters will describe the functionality of the SecureAssist Enterprise Portal in more detail.

Page 26: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 22 of 70

2 Statistics Statistics covering plugin functionality and user activity are periodically sent to the Portal. This information is stored on the Portal server in a

database, and there are numerous pre-defined charts and graphs that can be viewed and exported.

Project Statistics

The Project Statistics screen allows you to instantly view statistical information by project.

• Run Statistics for a Selected Project

1. Navigate to the Project Statistics window. The Select a Project flyout will automatically open. (To manually open the flyout, click the Select a Project button.)

2. Locate a project by either scrolling though the list of projects

AND/OR Typing text into the search box to filter the selection AND/OR

Clicking the filter icon to filter choices by Java, .Net, or PHP.

3. Click Select next to the desired project. The dialog closes, and the Project Statistics Options window populates with default

information. The following table describes the selection criteria on the Project Statistics Options window.

Page 27: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 23 of 70

Field/Feature Description

Project Displays the currently selected project for which statistics will be provided. To select a different project, click Change.

File Displays the currently selected files in the project (by default, All Files). To change the file selection, click Change.

Date Range Displays the selected range of dates for which statistics will be provided (defaults to the current date). To update, click in the

date boxes to select a new start and/or end date.

Type Choose one of the following three types of statistics:

▪ Top Findings — The ten most frequent findings for the selected project.

▪ File Scan — Allows you to choose an individual file in a project for which you wish to see statistics. (When selected, Sort by no longer is an option.)

▪ Suppression — Displays issues suppressed by end users, per project and per project file.

Sort by Choose to sort results by one of the following:

▪ Category —Category of rules that were triggered/fired.

▪ Title — Name of specific rule.

Show Chart Click this button to display a chart based on the selected

criteria.

Download CSV Once a chart is displayed, click this button to save the data to a CSV file.

4. From the Project Statistics Options window, make your criteria

selections.

Page 28: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 24 of 70

5. Click Show Chart. SecureAssist displays a chart based on your selections.

6. If desired, filter the report results by user:

a. In the Filters pane, click on one or more users to highlight them.

b. Click Update. The report updates to display data for the selected users only. Note: For the file scan statistic, data is shown only for a

single a user.

7. If desired, click Download CSV to save the data to a CSV file.

Page 29: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 25 of 70

User Statistics

The User Statistics screen allows you to view statistics information for a single user. When you access this screen, you will see a list of all your

plugin users (the list is populated by your client licenses).

• Find a User

1. To quickly find a user in the user list, enter text into the Find a User box. The list will automatically filter to show only those user names that contain the text.

• Run Statistics for a Single User

1. Locate the name of the desired user in the list, then click the

Get Statistics button next to it. The User Statistics Options

window displays default information. The following table describes the selection criteria on this window.

Field/Feature Description

User Displays the currently selected user for which statistics

will be provided. To select a different user, click Change.

Date Range Displays the selected range of dates for which statistics will be provided (defaults to the current date). To

update, click in the date boxes to select a new start and/or end date.

Type Choose one of the following types of statistics:

▪ User Session — Displays the user’s distinct sessions on a timeline. Hovering over a start or end point will

display a timestamp. ▪ Scanned File Types — Pie chart that displays

scanned files by type. ▪ Searched Guidance — Chart displays the guidance

categories and the number of times each was searched by the user in a given timespan. Also

indicates the rulepack in which the guidance was found.

▪ Top Findings — The ten most-frequent findings for

the selected user. ▪ Issues Reviewed — Chart shows the number of

issues found and reviewed by the user. Requires the selection of a project.

▪ Issues Suppressed — Displays issues suppressed by the user for a given timespan, project, and file.

Requires the selection of a project.

Sort by

(available only when Top Findings or Issues Suppressed is selected)

Choose to sort results by one of the following:

▪ Category —Category of rules that were triggered/fired.

▪ Title — Name of specific rule.

Page 30: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 26 of 70

Field/Feature Description

Select a Project (available only when Issues Reviewed or Issues Suppressed is selected)

Click this button to select a project.

Show Chart Click this button to display the statistics based on the

selected criteria.

Download CSV Click this button to save the data to a CSV file.

2. From the User Statistics Options window, make your criteria selections.

3. Click Show Chart. SecureAssist displays a chart based on your

selections.

4. If desired, click Download CSV to save the data to a CSV file.

Timeseries

The Timeseries page allows you to view graphs showing how security

posture of you project(s) is changing. The graphs can be seen for one or more or all projects in your enterprise. More than one project can be chosen by virtue of project metadata. The change can be seen on a daily, weekly, monthly or yearly basis. There are two graphs that show

change. Both the graphs take into consideration reviews done from the beginning of time.

a. Defects Graph: Shows how the number of high, medium and low defects change over time.

Page 31: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 27 of 70

b. Top 5 Vulnerabilities Graph: Show how the top 5 vulnerabilities change over time.

Page 32: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 28 of 70

3 Reports There are two types of reports: Project and User. Several reports can be generated for each type.

Project Reports

Project reports are reports you create for one or more selected projects. When you add a report, the application generates a ZIP archive containing the various report types you’ve selected in the New Report flyout. When you navigate to the Project Reports screen, you will see a

list of report packages that have already run. This will be blank the first time you access the screen.

From this screen you will be able to run a new report from scratch, view

the details of previously run report packages, and rerun and download previously run report packages.

• Find a Report

1. To quickly find a report in the report list, enter text into the Find a Report box. The list will automatically filter to show only

those reports whose names contain the text.

• View Details of Previously Run Report

1. To view the project associated with a report, click under the Projects column in that report’s row. The Filters flyover opens on the right, displaying the project names selected or the metadata used to select the project.

2. To view all other details about a report, click anywhere in the report’s row EXCEPT the Projects column. A flyout opens that

Page 33: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 29 of 70

displays the Report Name, Date Range, Report Types, Start Time and End Time when the report was run, Duration of the report

run, and Status.

• Add a New Report

To run a report, you must select a report type, then select the projects you wish to report on.

1. On the Project Report screen, click Add Report. The New Report flyout opens.

2. In Name, enter a title for the report. This is how the report results will be listed on the Project Report screen.

3. In Date Range, select one of the following options: 7 Days, 30

Days, or All.

4. Under Report Types, select one or more report types.

Types of Project Reports Description

Portfolio Summary Report Lists unique defects per project, number of files scanned,

and lines of code based on the most recent project/solution scan date.

Project Report Lists all files scanned as a part of project/solution review

including most recent scan date, defect counts, lines of code, and developer who performed the last scan.

Project Defect Report Lists all rules that triggered during last project/solution review per project.

Global Defect Report Lists all rules that triggered across all files.

5. Click Next. (Next will only be available when you’ve entered a

name AND selected at least one report type.) The Filters flyout appears, with the title of your report name at the top. You will use this flyout to filter the projects you wish to report on by

either Project Name or Metadata. Click on each section title to display the associated fields. Note: Metadata is configured in and reported from the SecureAssist plugin. Please see SecureAssist plugin

documentation for more information.

6. On the Filters flyout, select the projects you wish to report on by either:

In the Project Name section, select one or more projects by clicking the Add button next to each OR click Add All to select them all.

Page 34: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 30 of 70

OR

In the Metadata section, specify metadata values to select projects. When more than one key-value pair is specified, the filter will search for projects that meet all key-value pairs.

a. In Key, enter the desired field you wish to use to filter.

b. In Value, enter the desired filter value. c. Click Add. The filter criteria will be added to a list below the

Add feature.

d. Add more criteria as desired.

7. Click Save. The Filter flyout closes and you are returned to the Project Reports screen. Your new report should be listed at the

top of the screen, with its status as Scheduled. The status will toggle to Complete when the report is generated (generation time varies with the size of the report).

• Download a Report

1. From the Project Reports screen, click anywhere in the row of

the desired report EXCEPT the Projects column. A flyout opens with a list of report details and several action buttons.

2. Scroll to the bottom of the flyout and click Download Report. A ZIP file of the report results is automatically saved to your

Downloads folder.

3. Open the ZIP file. A separate CSV file is displayed for each report type you selected.

Page 35: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 31 of 70

Note: The downloaded ZIP files will be named “ProjectReports” with an appended run date, and CSV files will be named by report type.

The name you entered under Report Name appears ONLY on the Project Reports screen.

• Re-Run a Report

There are times you may want to run a report identical to one you’ve previously run. Re-Run Report allows you to do this.

1. From the Project Reports screen, click anywhere in the row of

the desired report EXCEPT the Projects column. A flyout opens with a list of report details and several action buttons.

2. Scroll to the bottom of the flyout and click Re-Run Report. The

Filter flyout closes and you are returned to the Project Reports screen. The re-run report should be listed at the top of the screen, with its status as Scheduled. The status will toggle to Complete when the report is generated.

Note: The re-run report will have the identical name as the original run of the report; in other words, you will have two items with the same name in the Project Reports list.

• Copy to New Report

The Copy to New Report function is essentially a “save as”

feature: when you copy to new report, you create a new report using the selections of a previously created report as the default selections. You can then edit those selections before saving the new report, or just create a new report name.

1. From the Project Reports screen, click anywhere in the row of the desired report EXCEPT the Projects column. A flyout opens with a list of report details and several action buttons.

2. Scroll to the bottom of the flyout and click Copy to New Report. A flyout opens that displays the previously selected date range and report types, but with a blank for report name.

3. Enter a new report name in Name.

4. If desired, change selections in Date Range and Report Types.

5. Click Next to proceed to the Filters flyout.

6. If desired, change the filter criteria.

7. Click Save. The Filter flyout closes and you are returned to the Project Reports screen. Your new report should be listed at the top of the screen, with its status as Scheduled. The status will

toggle to Complete when the report is generated.

Page 36: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 32 of 70

• Delete a Report

1. From the Project Reports screen, click anywhere in the row of the desired report EXCEPT the Projects column. A flyout opens with a list of report details and several action buttons.

2. At the top of the flyout, click Delete Report. A popup asks you to confirm the deletion.

3. Click Yes, delete it. You are returned to the Project Reports screen, and the report instance is deleted from the list.

Page 37: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 33 of 70

User Reports

User reports are reports you create for one or more selected user groups. When you add a report, the application generates a ZIP archive

containing the various report types you’ve selected in the New Report flyout.

When you navigate to the User Reports screen, you will see a list of report packages that have already run. This will be blank the first time

you access the screen.

From this screen you will be able to run a new report from scratch, view the details of previously run report packages, and rerun previously run report packages.

• Find a Report

1. To quickly find a report in the report list, enter text into the Find a Report box. The list will automatically filter to show only

those reports whose names contain the text.

• View Details of Previously Run Report

1. To view the user groups associated with a report, click under the Users column in that report’s row. The Filters flyover opens on the right, displaying the selected user groups.

2. To view all other details about a report, click anywhere in the report’s row except the Users column. A flyout opens that displays the Report Name, Date Range, Report Types, Start Time and End Time when the report was run, Duration of the report

run, and Status.

Page 38: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 34 of 70

• Add New Report

To run a report, you must select a report type, then select the user groups you wish to report on.

1. On the User Reports screen, click Add Report. The New Report

flyout opens.

2. In Name, enter a title for the report.

3. In Date Range, select one of the following options: 7 Days, 30 Days, or All.

4. Under Report Types, select one or more report types.

Types of User Reports Description

Developer File Coverage Report

Lists count of files reviewed by type by each developer.

Developer Defect Report Lists total number of issues by category for each developer.

Developer Project Report Lists all files scanned by each developer. Report includes the most

recent date file was scanned by a developer, defect counts, suppression counts, and lines of code for each file.

Developer Usage Report Lists total defect counts, suppression counts as well as first and last time tool was used by developer.

5. Click Next. (Next will only be available when you’ve entered a name AND selected at least one report type.) The flyout is now titled with your report name, and the Included Groups section

appears.

6. In the Included Groups section, select one or more groups by clicking the Add button next to each OR click Add All to select

them all.

7. Click Save. The Filter flyout closes and you are returned to the User Reports screen. Your new report should be listed at the top of the screen, with its status as Scheduled. The status will

toggle to Complete when the report is generated.

• Download a Report

1. From the User Reports screen, click anywhere in the row of the desired report EXCEPT the Users column. A flyout opens with a list of report details and several action buttons.

Page 39: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 35 of 70

2. Scroll to the bottom of the flyout and click Download Report. A ZIP file of the report results is automatically saved to your

Downloads folder.

3. Open the ZIP file. A separate CSV file is displayed for each report type you selected.

Note: The downloaded ZIP files will be named “UserReports” with

an appended run date, and CSV files will be named by report type. The name you entered under Report Name appears ONLY on the User Reports screen.

• Re-Run an Existing Report

There are times you may want to run a report identical to one you’ve

previously run. Re-Run Report allows you to do this.

1. From the User Reports screen, click anywhere in the row of the desired report EXCEPT the Users column. A flyout opens with a list of report details and several action buttons.

2. Scroll to the bottom of the flyout and click Re-Run Report. The Filter flyout closes and you are returned to the Project Reports screen. The re-run report should be listed at the top of the

screen, with its status as Scheduled. The status will toggle to Complete when the report is generated. Note: The re-run report will have the identical name as the original run of the report; in other words, you will have two

items with the same name in the User Reports list.

• Copy to New Report

The Copy to New Report function is essentially a “save as” feature: when you copy to new report, you create a new report using the selections of a previously created report as the default

selections. You can then edit those selections before saving the new report, or just create a new report name.

1. From the User Reports screen, click anywhere in the row of the desired report EXCEPT the Users column. A flyout opens with a

list of report details and several action buttons.

2. Scroll to the bottom of the flyout and click Copy to New Report. A flyout opens that displays the previously selected

date range and report types, but with a blank for report name.

3. Enter a new report name in Name.

4. If desired, change selections in Date Range and Report Types.

Page 40: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 36 of 70

5. Click Next. A list of the users to be included in the report is displayed.

6. Click Save. The Filter flyout closes and you are returned to the User Reports screen. Your new report should be listed at the top of the screen, with its status as Scheduled. The status will toggle to Complete when the report is generated.

• Delete a Report

1. From the User Reports screen, click anywhere in the row of the

desired report EXCEPT the Users column. A flyout opens with a list of report details and several action buttons.

2. At the top of the flyout, click Delete Report. A popup asks you

to confirm the deletion.

3. Click Yes, delete it. You are returned to the User Reports screen, and the report instance is deleted from the list.

Page 41: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 37 of 70

4 Rulepacks A rulepack is a JAR file containing rules and guidance used by the SecureAssist plugin to scan your projects. You can load and distribute

multiple rulepacks to your plugin users by enabling and disabling them on the Portal. Rulepacks can also be specific and bound to a certain group of SecureAssist plugin users.

SecureAssist provides a default rulepack, but you can also create and edit your own custom rulepacks using the Rulepack Configurator that comes bundled with the SecureAssist plugins. (Go to the Guides & Documentation page on the Codiscope website and click Rules &

Rulepacks.)

Note: You can have more than one default and/or custom rulepacks active. You can also have rulepacks assigned to specific groups by

having a user with the group manager role uploading the rulepack.

• Find a Rulepack

1. To quickly find a rulepack in the rulepack list, enter text into the Find a Rulepack box. The list will automatically filter to show only those rulepacks whose names contain the text.

• View Details of Rulepack

1. To view all details about a rulepack, click anywhere in the rulepack’s row. A flyout displays the following details. All fields

have their values set in Rulepack Configurator and are read-only in SecureAssist Portal EXCEPT Status.

Field Description

Name Name of uploaded rulepack.

Status (updateable)

Enabled or Disabled; indicated by a color bar in the left margin. More than one rulepack can be enabled at one time.

Click on this toggle to change the rulepack’s status.

Version Version number of uploaded rulepack.

Plugin Support List of plugin versions supported by this rulepack.

Type Type of rulepack (Default or Custom).

Access Level of access (Restricted or Unbounded). A restricted

rulepack is accessible only by specified plugin users.

Uploaded Date the rulepack was uploaded.

Page 42: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 38 of 70

• Upload a Rulepack

1. On the Rulepacks screen, click Upload Rulepack.

2. Browse to locate the desired rulepack, then click Open to upload it. You are returned to Rulepacks, and the new rulepack will

appear in the list with a Status of Disabled.

• Enable/Disable a Rulepack

Important! It’s recommended to have the most up-to-date rulepack enabled and all outdated versions disabled, as older versions may contain outdated rules.

1. On the Rulepacks screen, view the list of uploaded rulepacks. Enabled rulepacks are indicated by a green bar in the left margin; disabled rulepacks are indicated by a brown bar.

2. Single-click the row of the desired rulepack. The editing flyout appears on the right.

3. Under Status, click Enabled or Disabled to select the desired

status. The flyout immediately closes, and the status of the

Page 43: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 39 of 70

rulepack is updated. Changes to a rulepack become available to users the next time they begin a session.

• Download a Rulepack to Edit on Your Machine

1. On the Rulepacks screen, single-click the row of the desired

rulepack. The editing flyout appears on the right.

2. Click Download. A popup asks you to confirm the download.

3. Click Keep. The rulepack file is downloaded to your computer. You can now edit it using Rulepack Configurator.

• Delete a Rulepack

A rulepack can be deleted only if no prior project reports were run using it. If a project report was generated involving the rulepack, the rulepack can be disabled but not deleted. Project reports are based on existing and active rulepacks.

1. On the Rulepacks screen, single-click the row of the desired rulepack. The editing flyout appears on the right.

2. Click Delete Rulepack. A popup asks you to confirm the deletion.

3. Click OK. The flyout closes, and the rulepack is removed from the list.

Page 44: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 40 of 70

5 Manage The Manage function allows you to administer users, groups, and roles used in SecureAssist Portal, as well as your personal account.

Portal Users

The Portal Users screen lets you manage the various SecureAssist Portal users. These are not plugin users, but the administrators of your SecureAssist system (portal administrators, rulepack administrators, and users who view and generate reports based on plugin user activity).

Other than the default Portal server administrator, each user is a local user whose credentials are either stored in the Portal database and authenticated against it or authenticated using LDAP. The default Portal server administrator

will always be a local user. However, it can be disabled once other portal users are created.

• Find a Portal User

1. To quickly find a user in the portal user list, enter text into the Find a Portal User box. The list will automatically filter to show only those

portal users whose names contain the text.

• Add a Portal User

1. On the Portal Users screen, click Add Portal User. The New User flyout opens.

2. Enter a user name in Name. The user name can contain letters and numbers only, NO spaces or special characters.

3. Enter a temporary password in Password for the new user and then confirm it. The password must contain at least six characters, including at least one capital letter, one lowercase

letter, and one number. The user will be able to change the password when they log into the system.

4. Click Next to continue. The Roles flyout opens.

5. Select the role or roles you wish to assign to the user by clicking

the associated slide buttons, then click Next. The Managed Users flyout opens.

6. If desired, select one or more users to manage, then click Next.

The Managed Projects flyout opens.

7. If desired, select one or more projects to manage, then click Save. The flyout closes, and the new user is added to the Portal Users list in alphabetical order with a Status of Active.

Page 45: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 41 of 70

• Activate/Deactivate a Portal User

1. On the Portal Users screen, single-click the name of the desired portal user. The editing flyout appears on the right.

2. To change the user’s status, click the slide button next to the

Status, then click Save. The flyout is closed, and the user’s new status is displayed on the Portal Users list.

• Change/Reset a Portal User’s Password

1. On the Portal Users screen, single-click the name of the desired portal user. The editing flyout appears on the right.

2. Click Change Password. The New Password and Confirm New Password fields appear.

3. Enter and confirm a new password for the user. Passwords must contain at least six characters, including at least one capital letter, one lowercase letter, and one number.

4. Click Save. The flyout is closed, and you are returned to the Portal Users list.

• Edit a Portal User’s Assigned Roles

1. On the Portal Users screen, single-click in the Roles column of

the desired user’s row. The Roles flyout appears on the right.

2. Select the role or roles you wish to assign to the user by clicking the associated slide buttons, then click Save. The flyout closes, and the number of roles for the user is updated in the Portal

Users list.

• Edit a Portal User’s Managed Users

1. On the Portal Users screen, single-click in the Users column of the desired user’s row. The Managed Users flyout appears.

2. Select the users you wish to assign to the portal user by clicking

the Add and Remove buttons, then click Save. The flyout closes, and the number of users for the portal user is updated in the Portal Users list.

Plugin User Groups

The Plugin User Groups screen is where you can create and manage

groups of client-side plugin users of SecureAssist. The groups you create here can then be used to filter data in the User Reports section of SecureAssist Portal. There are no default user groups, so the Plugin User

Page 46: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 42 of 70

Group screen will be blank the first time you visit it. As you add groups, they will be listed on the screen.

Note: You can assign individuals to a plugin user group here OR on the Plugin Users screen.

• Find a Plugin User Group

1. To quickly find a plugin user group in the group list, enter text into the Find a Group box. The list will automatically filter to show only those plugin user groups whose names contain the

text.

• Add a Plugin User Group

1. On the Plugin User Group screen, click Add Group. The New User Group flyout opens.

2. In Group Name, enter a name for the new group.

3. In Description, enter a brief description of the group.

4. Click the Add button next to each user you wish to add to the group OR click Add All to add all users.

5. Click Save. The flyout closes, and your new group is added to

the Plugin User Groups list.

• Edit a Plugin User Group

1. On the Plugin User Group screen, click the Edit button next to the desired group. The User Group flyout opens.

2. Make any desired edits to the user group, then click Save. The

flyout closes, and you are returned to the Plugin User Groups list.

Page 47: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 43 of 70

• Delete a Plugin User Group

1. On the Plugin User Group screen, click the Edit button next to the desired group. The User Group flyout opens.

2. Click Delete Group. A popup asks you to confirm the deletion.

3. Click Yes, delete it. The popup closes, and the user group is removed from the Plugin User Groups list.

Roles

The Roles screen allows the Server Administrator to create new, custom roles to assign to portal users on the Portal Users screen. You can assign

and maintain the specific permissions you want to allow users in each group.

There are four default roles in the SecureAssist Portal: GROUP_ADMIN,

GROUP_STATS_VIEWER, SERVER_ADMIN, AND STATS_VIEWER. You can see the default permissions assigned to each of these roles in the appendix. There is also a complete list of all permissions and their descriptions.

• Find a Role

1. To quickly find a role in the role list, enter text into the Find a

Role box. The list will automatically filter to show only those roles whose names contain the text.

• Add a Role

1. On the Roles screen, click Add Role. The New Role flyout opens.

2. Enter a unique role name in Name.

3. If desired, enter a brief description of the new role in Description.

4. Click Next. The Permissions flyout opens.

5. Select the desired permissions, then click Save. (You must select at least one permission in order to save the new role.) The flyout closes and the new role is added to the Roles screen.

• Edit a Role’s Name or Description

1. On the Roles screen, click on the name of the role you wish to

edit. The editing flyout opens.

Page 48: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 44 of 70

2. Make the desired edits to Name or Description, then click Save. The flyout closes and your changes are saved.

• Edit a Role’s Permissions

1. On the Roles screen, click on the permissions column in the row

of the role you wish to edit. The Permissions flyout opens.

2. Make the desired changes to permissions, then click Save. The flyout closes and your changes are saved.

• Delete a Role

1. On the Roles screen, click on the name of the role you wish to

delete. The editing flyout opens.

2. Click the Delete Role button. A popup asks you to confirm the deletion.

3. Click Yes, delete it. The flyout closes and the role is deleted

from the Role screen.

Page 49: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 45 of 70

Account

The Account screen is where you can update your password for the Portal.

• Update Your Password

1. On the Account screen, enter your current password in Current

Password.

2. Enter your new password in New Password.

3. Re-enter your new password in Confirm New Password.

4. Click Save.

Page 50: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 46 of 70

6 Settings

LDAP Configuration

The LDAP Configuration screen is where you configure LDAP settings if you choose to use LDAP authentication for the Portal.

Section Feature Description

Authentication &

Security LDAP Authentication Enables LDAP authentication on the server for portal users

and plugin clients. (Note: plugin clients will only be able to

authenticate with LDAP usernames if Client LDAP is also selected in Features Configuration.)

Secure LDAP If the checkbox is selected, the LDAP connection occurs over

an SSL connection.

Verify Server

Certificate

(Appears only when Secure LDAP is enabled.)

If off, indicates the enterprise portal does not validate the LDAP server's certificate.

If on, indicates the enterprise portal does validate the LDAP server's certificate.

Server Server Name The scheme and hostname of the LDAP url.

Port The port on which the LDAP server resides.

Timeout The amount of time in seconds within which LDAP queries will time out.

Login Scope This setting is most similar to a baseDN field in LDAP. The

Enterprise Portal uses the SUBTREE_SCOPE when running an LDAP query, and it cannot be changed.

Filter Expression The LDAP search filter expression restricts the entries that are queried.

DN Similar to the SECURITY_PRINCIPAL setting.

Password This is required if the "Login DN" setting is specified.

Resetting When the Administrator Is Locked Out

To update this master LDAP password when the administrator is locked out, you must manually edit the

database:

Change the ldap_settings -> privileged_password to the

plaintext of the master account's LDAP password. When any LDAP bind occurs on the portal (for example, the

administrator logs in) this password will be mutated to the encrypted password in the database.

Page 51: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 47 of 70

Feature Configuration

The following table describes the various feature settings.

Section Feature Description

Portal CSA Portal Allows user to activate IDE plugin/package and retrieve

license file and rulepack from Portal.

If this feature is disabled, the IDE plugin will not activate

as Enterprise Edition.

Disable Autocomplete Circumvents web browsers' autocomplete feature

Workfactor The workfactor to use when hashing portal users'

passwords. This parameter should be increased to deal with different architectures and as computers grow faster.

Making this parameter too high can compromise the ability of portal users to log into the portal and should be done

with caution.

Salt Bytes The salt size to use when hashing portal users' passwords.

Client

Authentication LDAP Authenticates SecureAssist users using LDAP.

To activate a SecureAssist plugin Enterprise Edition user,

the user must be present in Active Directory.

Note: This feature can be enabled only if the LDAP connection is configured.

Email Authenticates SecureAssist users against email. Enter one or more domains in the Domains field; separate multiple

domains with a semicolon.

To activate a SecureAssist plugin Enterprise Edition user,

the user’s email address must match the organization’s domain name.

Client License Renewal Period Client license renewal period in days.

Support Email To Email address used to send support emails.

Subject Default subject for support emails.

Statistics CSA Enables automatic collection and uploads to the portal of SecureAssist plugin statistics.

Anonymous Gathers statistics in anonymous mode—that is, statistics are linked to a project but are not associated with a

particular user.

Local

Configuration Filters Allows users to locally modify filter settings (for example,

turn off filters and rules, change importance, etc.).

Page 52: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 48 of 70

Section Feature Description

Review When selected, allows users to decide when file should be scanned (for example, when they are opened, when they

are saved, or on demand).

This setting must be “unchecked” to force a plugin user to

inherit Review Configuration settings below.

Review

Configuration Review on File Open File review is performed on file open.

Note: To prevent users from changing this setting ensure that Review Configuration is disabled.

Review on File Save File review is performed on file save.

Note: To prevent users from changing this setting ensure

that Review Configuration is disabled.

Project Review Review of entire project, package, or folder is performed on demand.

Suppress Issue Allows plugin users to suppress issues for the duration of an IDE session.

Allowed File

Types for Eclipse-

based IDEs

java Enables SecureAssist plugin users to scan Java files.

jsp Enables SecureAssist plugin users to scan JSP files.

xml Enables SecureAssist plugin users to scan XML files.

properties Enables SecureAssist plugin users to scan Properties files.

ftl Enables SecureAssist plugin users to scan FTL files.

php Enables SecureAssist plugin users to scan PHP files. Additionally, the Eclipse PHP plugin must be installed.

Allowed File

Types for Visual

Studio

cs Enables SecureAssist plugin users to scan C# files.

vb Enables SecureAssist plugin users to scan VB .NET files.

aspx Enables SecureAssist plugin users to scan ASP.NET files.

config Enables SecureAssist plugin users to scan .NET Configuration files.

Page 53: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 49 of 70

Plugin Users

The Plugin Users screen displays a list of users who have activated a plugin or package license (including each user’s IDE and OS). To view

details of an individual user, click the user’s row. A flyout opens displaying the information.

• Find a User

1. To quickly find a user in the Plugin Users list, enter text into the Find a User box. The list will automatically filter to show only those users whose names contain the text.

• Add a User to a Plugin User Group

Note: You can assign individuals to a plugin user group here OR on

the Plugin User Groups screen.

1. On the Plugin Users screen, select a user by clicking on its row. A flyout opens with the details for that user.

2. Under Group Assignments, click Add next to one or more user groups you wish to add the user to, then click Save. The flyout closes and the user is now assigned to the selected groups.

• Deactivate a User

Once a plugin user is deactivated, their project scan results and data will still be in the database and appear on reports.

1. On the Plugin Users screen, select a user by clicking on its row. A flyout opens with the details for that user.

2. Toggle the Active button to mark the user as inactive

3. Click Save. The user is now marked as inactive, and the number of developers using SecureAssist has been decreased.

Page 54: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 50 of 70

7 More Support We hope this document has helped you get started with SecureAssist. You can submit a support request at [email protected]. You will

also find other manuals, release notes, system requirements, and more.

Thanks for using Codiscope SecureAssist!

Synopsys, Inc. 690 E. Middlefield Road Mountain View, CA 94043 Phone: +1 (650) 584-5000

www.synopsys.com

Page 55: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 51 of 70

Appendix A:

Roles and Associated

Permissions Each user must be assigned at least one role. Each possible role is

described below.

Role Name Permissions

GROUP_ADMIN PER_ADD_USER

PER_DELETE_RULEPACK

PER_DISABLE_RULEPACK

PER_ENABLE_RULEPACK

PER_UPLOAD_RULEPACK

PER_VIEW_RULEPACK

GROUP_STATS_VIEWER PER_VIEW_USER_STATS

PER_VIEW_PROJECT_STATS

SERVER_ADMIN PER_ADD_USER

PER_EDIT_USER

PER_DELETE_USER

PER_RESET_LOCAL_USER_PASSWORD

PER_ADD_ROLE

PER_EDIT_ROLE

PER_DELETE_ROLE

PER_UPLOAD_RULEPACK

PER_VIEW_ALL_RULEPACK

PER_VIEW_RULEPACK

PER_ENABLE_ALL_RULEPACK

PER_DISABLE_ALL_RULEPACK

STATS_VIEWER PER_VIEW_ALL_STATS

Page 56: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 52 of 70

Appendix B:

Permission Descriptions Each new Role is defined by the permissions selected. The Role Name

must be unique.

Permission Name Description

PER_ADD_USER Allows adding user to the system.

PER_EDIT_USER Allows editing user in the system.

PER_DELETE_USER Allows deleting user from the system.

PER_RESET_LOCAL_USER_PASSWORD Allows resetting local user password.

PER_ADD_ROLE Allows adding new role.

PER_EDIT_ROLE Allows editing existing role.

PER_DELETE_ROLE Allows deleting role.

PER_UPLOAD_RULEPACK Allows uploading rulepack.

PER_VIEW_ALL_RULEPACK Allows viewing all rulepacks uploaded to the server.

PER_VIEW_RULEPACK Allows viewing rulepacks uploaded by user.

PER_ENABLE_ALL_RULEPACK Allows enabling all rulepacks uploaded to the server.

PER_ENABLE_RULEPACK Allows enabling rulepacks uploaded to the server by user.

PER_DISABLE_ALL_RULEPACK Allows disabling all rulepacks uploaded to the server.

PER_DISABLE_RULEPACK Allows disabling rulepacks uploaded to the server by user.

PER_RESTRICT_ALL_RULEPACK Allows restricting access to all rulepacks uploaded to the server

for all users.

PER_RESTRICT_RULEPACK Allows restricting access to rulepacks uploaded to the server by user for managed group of users.

PER_DELETE_ALL_RULEPACK Allows deleting any rulepack uploaded to the server.

PER_DELETE_RULEPACK Allows deleting rulepack uploaded to the server by user.

PER_VIEW_ALL_STATS Allows viewing all statistics.

PER_VIEW_USER_STATS Allows viewing statistics for managed users.

PER_VIEW_PROJECT_STATS Allows viewing statistics for managed projects.

PER_SYSTEM_ADMIN Allows editing server configuration.

Page 57: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 53 of 70

Appendix C:

Audit Log The following table describes the columns of the “audit” appender log.

Column Description

Date Time of the event in coordinated universal time (UTC) with seconds granularity.

IP IP address of the portal user that performs the event.

User Portal user's ID.

Element Type Category of elements in the portal:

▪ LDAP_SETTINGS

▪ PLUGIN_USER

▪ PLUGIN_USER_GROUP

▪ PORTAL_SETTINGS

▪ PORTAL_USER

▪ REPORT

▪ ROLE

▪ RULEPACK

Element Name The specific name of the affected element.

Event The action taken on the element.

Description A description of the event containing details regarding which

elements were impacted and how.

Success Indicates whether the user successfully completed the attempted

task (true) or did not complete it (false)

Page 58: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 54 of 70

Appendix D:

API Functionality For users who prefer to perform reporting tasks via an API, we provide

guidance on the following pages.

Important! This feature is safe to use ONLY via HTTPS. Security will be greatly compromised if you use HTTP. No error will warn you if you fail to take this precaution.

The following diagram shows the intended use of the reporting API. First, a user must authenticate with the SecureAssist Enterprise Portal to obtain a token. For each subsequent request, this authentication token

should be added to the request headers and will be verified by the server.

Page 59: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 55 of 70

Authentication

1. The client sends its credentials (email and password) to the server. 2. The server authenticates them and generates a fixed-length token

with an expiration date. 3. The server stores the previously generated token in map in memory. 4. The server sends previously generated token to the client. 5. In every request, the client sends that token to the server.

6. In each request, the server extracts the token from the incoming request, and looks up the user identifier with the token to obtain the user information to do the authorization.

7. If the token is expired, the server generates a response with error

message (401 Unauthorized).

Resource URL Example

POST {application context}/api/auth

Request

Request Headers

Header Value

X-Username The user’s name

X-Password The plaintext password

X-Requested-By true

Response

HTTP/1.1 200 OK

Response Headers

Header Value

Content-Length 0

Date Timestamp

X-Auth-Token String with token

Example

Request Headers

Header Value

Page 60: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 56 of 70

Header Value

X-Requested-By true

X-Username testUser

X-Password 5P420D10ftZsFMj+i3X8KkXICHA=

Response Headers

Header Value

Content-Length 0

Date Thu, 08 Oct 2015 14:06:48 GMT

X-Auth-Token s64vWEL/R/Azhv53/JIHx4zbF2E1aoNYd4AVs5cWO1w=

CURL Example

curl -X POST --header "X-Requested-By: true" --header "X-Username: csauser" --header "X-Password: mypassword" -k https://myhost.com/CSA_Server/api/auth --head

Page 61: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 57 of 70

Generate Project Report

Resource URL Example

POST {host}/api/report/project/{report type id}

Request

{report type id} parameter

ID Value

PortfolioSummaryReport Portfolio Summary Report

ProjectReport Project Report

ProjectDefectReport Project Defect Report

GlobalDefectReport Global Defect Report

{report type id} parameter is case-insensitive. (PortfolioSummaryReport and portfoliosummaryreport are equally ignoring case).

Authentication

Token authentication.

Request Headers

Header Value

X-Requested-By true

Content-Type application/json

X-Auth-Token The string with token

Request Body

{ "startDate": "{start date YYYY-MM-DD or empty}", "endDate": "{start date YYYY-MM-DD or empty}", "projectName": "{project name}" }

Response

1. In case of sending invalid request, the server returns status 405 (or 401) and string with error message.

Page 62: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 58 of 70

Response Status Message Description

405 Method Not Allowed

Project report type can't be empty.

Project report type value is not valid.

Start date must be less than or equal to today's date or empty.

End date must be less than or equal to today's date or empty.

End date must be less than or equal to start date.

Project report name can't be empty.

Can't generate project report.

Unable to find a scan using these parameters

Unable to find a report type "<report type>".

In case of sending request with invalid parameters

401Unauthorized This request requires HTTP authentication. In case of sending request with invalid token

2. In case of sending valid request, the server returns status 200 and content of the report.

Response Headers

Header Value

Content-Type text/csv

Content-Length {content length}

Content-Disposition attachment; filename={file name}.csv

Date {timestamp}

Example

URL: {host}/api/report/project/projectreport

Request Headers

Header Value

X-Requested-By true

Content-Type application/json

X-Auth-Token e0uRmveBif3W6ipWOojU/G1/FRJt8GhYqlApu/mM3+4=

Request Body

{ "startDate": "2015-08-10", "endDate": "2015-10-05",

Page 63: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 59 of 70

"projectName": "WebGoat-Legacy2" }

Response Status

HTTP/1.1 200 OK

Response Header

Header Value

Content-Type text/csv

Content-Length {content length}

Content-Disposition attachment; filename=ProjectScanReport.csv

Date Thu, 08 Oct 2015 13:53:01 GMT

Response Body

Solution Name,Project Name,File Path,Last Scan Date,LOC,# High Issues,# Medium Issues,# Low Issues,Total Number of Issues,Developer,# High (Suppressed),# Medium (Suppressed),# Low (Suppressed),Total Number of Suppressed Issues,

----,WebGoat-Legacy2,src\main\webapp\lesson_solutions\ReflectedXSS_files\colorschememapping.xml,1 Oct 2015 08:32:56 GMT,2,0,0,0,0,[email protected],0,0,0,0,

----,WebGoat-Legacy2,src\main\java\org\owasp\webgoat\lessons\BasicAuthentication.java,1 Oct 2015 08:32:49 GMT,284,0,2,0,2,[email protected],0,0,0,0,

----,WebGoat-Legacy2,src\main\webapp\lesson_solutions\WsSqlInjection_files\colorschememapping.xml,1 Oct 2015 08:32:56 GMT,2,0,0,0,0,[email protected],0,0,0,0,

----,WebGoat-Legacy2,src\main\webapp\lesson_solutions\HiddenFieldTampering_files\colorschememapping.xml,1 Oct 2015 08:32:56 GMT,2,0,0,0,0,[email protected],0,0,0,0,

----,WebGoat-Legacy2,src\main\webapp\lesson_solutions\BlindSqlInjection_files\filelist.xml,1 Oct 2015 08:32:56 GMT,18,0,0,0,0,[email protected],0,0,0,0,

----,WebGoat-Legacy2,src\main\java\org\owasp\webgoat\lessons\ForcedBrowsing.java,1 Oct 2015 08:32:44 GMT,151,0,0,0,0,[email protected],0,0,0,0,

----,WebGoat-Legacy2,src\main\java\org\owasp\webgoat\service\ParameterService.java,1 Oct 2015 08:32:51 GMT,68,0,0,0,0,[email protected],0,0,0,0,

----,WebGoat-

Page 64: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 60 of 70

Legacy2,src\main\java\org\owasp\webgoat\lessons\admin\SummaryReportCardScreen.java,1 Oct 2015 08:32:22 GMT,315,0,1,0,1,[email protected],0,0,0,0,

----,WebGoat-Legacy2,src\main\java\org\owasp\webgoat\lessons\instructor\RoleBasedAccessControl\ViewProfile_i.java,1 Oct 2015 08:32:25 GMT,134,0,3,0,3,[email protected],0,0,0,0,

----,WebGoat-Legacy2,src\main\webapp\lesson_solutions\DOMInjection_files\filelist.xml,1 Oct 2015 08:32:56 GMT,18,0,0,0,0,[email protected],0,0,0,0,

----,WebGoat-Legacy2,src\main\java\org\owasp\webgoat\lessons\WsSAXInjection.java,1 Oct 2015 08:32:45 GMT,228,1,2,0,3,[email protected],0,0,0,0,

----,WebGoat-Legacy2,pom.xml,1 Oct 2015 08:32:56 GMT,339,0,0,0,0,[email protected],0,0,0,0,

----,WebGoat-Legacy2,src\main\java\org\owasp\webgoat\lessons\CsrfPromptByPass.java,1 Oct 2015 08:32:47 GMT,186,0,0,0,0,[email protected],0,0,0,0,

----,WebGoat-Legacy2,src\main\java\org\owasp\webgoat\lessons\AbstractLesson.java,1 Oct 2015 08:32:45 GMT,809,0,4,0,4,[email protected],0,0,0,0,

CURL Example

curl -X POST -d '{ "projectName": "BigApp" }' --header "X-Requested-By: true" --header "Content-Type: application/json" --header "X-Auth-Token: EKfwFtSDISG7FGVPTP7rULyWcfd4/esP9YZ13amqKlo=" -k https://myhost.com/CSA_Server/api/report/project/PortfolioSummaryReport

Page 65: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 61 of 70

Get Project List

Resource URL

GET Rulepack/Get Example

GET {host}/api/projects

Request

Authentication

Token Authentication

Request Headers

Header Required? Description

X-Requested-By Required To avoid CSRF attacks

X-Auth-Token Required The string with token

Response

In case of HTTP 200 OK, Xml responds with the following schema.

Response

{ status: "success" or "failure" (if during the preparation of the list of error occurred), count: 10, result: [ { name: projectA, description: ....., }, { name: projectB, description: ....., } ] }

Page 66: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 62 of 70

Response Headers

HTTP/1.1 200 OK

Header Value

Content-Type application/json

Content-Length {content length}

Date {timestamp}

Example

Request Headers

Header Value

X-Requested-By true

X-Auth-Token UA0om5rAOdt7ddI5YHJ3A+Nd3muRdjjPFU4QCxRpmPE=

Response Body

{ "status": "success", "count": 4, "result": [ { "name": "Project1", "description": "" }, { "name": "Project2", "description": "" }, { "name": "Project3", "description": "" }, { "name": "Project4", "description": "" } ] }

CURL Example

curl -X GET --header "X-Requested-By: true" --header "X-Auth-Token: EKfwFtSDISG7FGVPTP7rULyWcfd4/esP9YZ13amqKlo=" --header “Content-Type: application/json" -k https://myhost.com/CSA_Server/api/projects

Page 67: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 63 of 70

Number of Active Developers How many developers are using the tool? Number of active users over period of time (active = at least one file scanned).

Resource URL Example

POST {host}/api/report/activeDevs/v1

Request

Request Headers

Header Value

Content-Type application/json

X-Auth-Token The string with token

X-Requested-By true

Request Body

{ "startDate": "{start date YYYY-MM-DD or empty}", "endDate": "{start date YYYY-MM-DD or empty}" }

Response

HTTP/1.1 200 OK

Response Headers

Header Value

Content-Length length

Date timestamp

Content-Type application/json

Response Body

{ "userCount": {count} }

CURL Example

curl -X POST --header "X-Requested-By: true" --header "X-Auth-Token: EKfwFtSDISG7FGVPTP7rULyWcfd4/esP9YZ13amqKlo=" --header “Content-Type: application/json" -d '{ "startDate": "2015-11-04", "endDate": "2015-11-05" }' -k https://myhost.com/CSA_Server/api/report/activeDevs/v1

Page 68: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 64 of 70

Number of Projects Scanned The number of projects scanned on this Enterprise Portal.

Resource URL Example

POST {host}/api/report/projects/v1

Request

Request Headers

Header Value

Content-Type application/json

X-Auth-Token The string with token

X-Requested-By true

Request Body

{ "startDate": "{start date YYYY-MMM-DD or empty}", "endDate": "{start date YYYY-MMM-DD or empty}", "type ": "{scanned or noscanned}" }

Response

HTTP/1.1 200 OK

Response Headers

Header Value

Content-Length length

Date timestamp

Content-Type application/json

Response Body

{ "projectCount": {count} }

CURL Example

curl -X POST --header "X-Requested-By: true" --header "X-Auth-Token: EKfwFtSDISG7FGVPTP7rULyWcfd4/esP9YZ13amqKlo=" --header "Content-Type: application/json" -d '{ "type": "scanned", "startDate": "2015-11-04", "endDate": "2015-11-05" }' -k https://myhost.com/CSA_Server/api/report/projects/v1

Page 69: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 65 of 70

Number of Project Defects The number of defects in a project.

Resource URL Example

POST {host}/api/report/v1/defects

Request

Request Headers

Header Value

Content-Type application/json

X-Auth-Token The string with token

X-Requested-By true

Request Body (Choose either 'meta' or 'project', depending on whether you are querying based on metadata or a project name.)

{ "startDate": "{start date YYYY-MM-DD }", "endDate": "{YYYY-MM-DD or empty}", "meta": {"key1": "val1", "key2": "val2"}, "project": "Project name" }

Response

HTTP/1.1 200 OK

Response Headers

Header Value

Content-Length length

Date timestamp

Content-Type application/json

Page 70: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 66 of 70

Response Body

{

"results": [{ "defect-hi":2, "defect-med":9, "defect-lo":22, "loc":2250, "date":"2016-02-12"}, { "defect-hi":3, "defect-med":14, "defect-lo":20, "loc":2175,"date":"2016-02-13"}, ...]}

CURL Example

curl -X POST --header "X-Requested-By: true" --header "Content-Type: application/json" --header "X-Auth-Token: yUyCkN1rCbFQK28FvWOsYW5T2yyeZCi4ijVnGdTKwBE=" -d '{"startDate":"2016-02-12","endDate":"2016-02-23","project":"SampleProject"}' -k https://myhost.com/CSA_Server/api/report/v1/defects

Page 71: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 67 of 70

Top Number of Findings Determines which rules have fired most frequently.

Resource URL Example

POST {host}/api/report/v1/defects/topn

Request

Request Headers

Header Value

Content-Type application/json

X-Auth-Token The string with token

X-Requested-By true

Request Body (Choose either 'meta' or 'project', depending on whether you are querying based on metadata or a project name.)

{ "startDate": "{start date YYYY-MMM-DD }", "endDate": "{YYYY-MM-DD or empty}", "meta": {"key1": "val1", "key2": "val2"}, "project": "Project name", "results": { minimum 1 } }

Response

HTTP/1.1 200 OK

Response Headers

Header Value

Content-Length length

Date timestamp

Content-Type application/json

Page 72: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 68 of 70

Response Body

{top_issues: [{ rule_id: "CSA Default Rulepack_ver_2.5.1.20151217141219-CIGITAL-SIMPLEDATEFORMAT-RACE-CONDITION", count: 142 },{ rule_id: "CSA Default Rulepack_ver_2.5.1.20151217141219-CIGITAL-QUALITY-CODE_CORRECTNESS-006", count: 133 }] }

CURL Example

curl -X POST --header "X-Requested-By: true" --header "Content-Type: application/json" --header "X-Auth-Token: yUyCkN1rCbFQK28FvWOsYW5T2yyeZCi4ijVnGdTKwBE=" -d '{"startDate":"2016-02-12","endDate":"2016-02-23","project":"SampleProject","results":2}' -k https://myhost.com/CSA_Server/api/report/v1/defects/topn

Page 73: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 69 of 70

Most Viewed Guidance Determines which rules have fired the most from a given date.

Resource URL Example

POST {host}/api/report/v1/mostviewedrules

Request

Request Headers

Header Value

Content-Type application/json

X-Auth-Token The string with token

X-Requested-By true

Request Body (Choose either 'meta' , 'project', or 'user-group' depending on whether you are querying based on metadata , a project name, or a group of users.)

{ "start-date": "2016-01-01", "end-date": "2016-01-02", (optional) "project: "ProjectName", "meta": {"key1": "val1", "key2": "val2"}, "user-group": "group name" }

Response

HTTP/1.1 200 OK

Response Headers

Header Value

Content-Length length

Date timestamp

Content-Type application/json

Page 74: SecureAssist Enterprise Portal User Guidedownload.asteriskresearch.com/3.1/Portal_User_Guide_2017...SecureAssist Enterprise Portal User Guide April 2017 — Page 5 of 70 Database replication

SecureAssist Enterprise Portal User Guide April 2017 — Page 70 of 70

Response Body

{results: [{

"rule_id":CSA Default Rulepack_ver_2.5.1.20151218083753-CIGITAL-DOTNET-XML-LOADXML

"guidance": CSA Default Rulepack_ver_2.5.1.20151218083753/default/standards/xml-dtd-attack.xml

"num_viewed":2

}, ...]}

CURL Example

curl -X POST --header "X-Requested-By: true" --header "Content-Type: application/json" --header "X-Auth-Token: yUyCkN1rCbFQK28FvWOsYW5T2yyeZCi4ijVnGdTKwBE=" -d '{"startDate":"2016-02-12","endDate":"2016-02-23","project":"SampleProject"}' -k https://myhost.com/CSA_Server /api/report/v1/mostviewedrules