Overview of Endeca Server security

The Endeca Server uses SSL for communication between its components. It also contains security filters for queries. The Endeca Server application deployed in the WebLogic domain can be administered by the WebLogic domain administrator.

Using SSL for encrypted communications

Secure Sockets Layer (SSL) provides secure connections by allowing two applications connecting over a network to authenticate each other's identity and by encrypting the data exchanged between the applications. Authentication allows a server and optionally a client to verify the identity of the application on the other end of a network connection. Encryption makes data transmitted over the network intelligible only to the intended recipient.

Endeca Server allows you to configure mutually-authenticated SSL for communications between its various components. This configuration uses both encryption and certificates for authentication of a component. You can use an Endeca Server utility to create a Certification Authority (CA), which is then used to sign certificates for use by the various components. With two-way SSL (SSL with client authentication), the server presents a certificate to the client and the client presents a certificate to the server. Endeca Server can be configured to require clients to submit valid and trusted certificates before completing the SSL connection.

You quickly and easily create the certificates with the generate_ssl_keys utility, which is documented in this guide in Key Generation Utility. After creating the certificates, you can copy them to other Endeca Information Discovery products in your deployment, such as Studio or the Provisioning Service.

The generate_ssl_keys utility also enables the SSL Listen Port of 7002 in WebLogic Server, and sets 7002 as the port on which Endeca Server is started. Note that the non-SSL (HTTP) port 7001 is left enabled.

The utility also creates a Personal Information Exchange (PKCS12-format) key file.

Query-time security filters for restricting data to end users

The DataSourceFilterString query filter in Endeca Server allows you to restrict access to sensitive data within your application when end users make data queries. DataSourceFilterString filters the corpus of records before any other processing is done. In other words, this filter is applied first, and makes the universe of data that is visible to your query smaller. This means that filtered-out records will not contribute to spell correction, and will not be available as part of AllBaseRecords in EQL.

Because DataSourceFilterString restricts the searchable records to a specified subset of the total records in the Dgraph, it can be used as a security filter to prevent users from obtaining records that they are not authorized to view.

After the universe of records has been narrowed by DataSourceFilterString, the SelectionFilterString filter can be used for additional application-level filtering. It specifies the criteria for the final record result set. The results that are returned are the records that match all of the filters specified in the query.

By using one or both of these filters, you can effectively control the flow of data from an Endeca data domain to your application front end. For more information on these filters, see the Oracle Endeca Server Developer's Guide.

Administrator role

Unlike in WebLogic, there are no administrator roles in Endeca Server. However, after installing Endeca Server, a WebLogic domain administrator can use the WebLogic Administration Console to stop and start the Endeca Server application.