Upload
others
View
40
Download
0
Embed Size (px)
Citation preview
SecureAssist Enterprise Portal
User Guide April 2017
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
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
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
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.
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.
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
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.
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.
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.
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.
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
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.
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.
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.
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
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.
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.
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>;
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
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’
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
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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
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.
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.
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.
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.
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.
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.).
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.
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.
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
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
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.
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)
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.
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
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
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.
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",
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-
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
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: ....., } ] }
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
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
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
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
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
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
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
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
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