Security Options

There are several different mechanisms that can be used to provide security for your API and portal. Below are the options for security relating to the Proxy.

  • TLS – client/server
  • Whitelist
  • Shared secret
  • OAuth 1.0a / OAuth 2.0
  • HTTP-Auth

TLS

Transport Layer Security can be utilized to encrypt traffic over the internet.  There are two different use cases for TLS with regard to your API. 

  • Client facing TLS, allowing users to submit via HTTPS rather than HTTP is available though not included in any of the offerings. Client side TLS will result in a recurring monthly fee. In order to do client side TLS you will need to provide us with the TLS key and TLS certificate and all intermediate certificates.
  • Origin based TLS for the segment of the API call between the Mashery Proxy and your origin server. Standard one-way TLS, where you have installed an TLS cert on your server is enabled via dashbaord configuration, whereas Mutual TLS is more complex and a recurring fee will be charged.

For supported TLS versions and ciphers, see this article.

Whitelist

If you choose to allow only Mashery Proxied traffic through to your servers, we recommend an IP whitelist as a simple solution.  The following list contains the Mashery Traffic Manager IP addresses for all regions. We do not seperate them out by different data centers due to our high availability posture as our architecture allows us to service non-SSL/TLS traffic from any data center. Mashery OnPrem Manager aka MoM (api-mom.mashery.com), also uses the same IP addresses. 

If IP whitelisting will be enforced on the API backend, please whitelist the IP addresses for the Traffic Manager. If you wish static IP address for MoM (api-mom.mashery.com) over the best practice of using DNS or using a proxy, you can use the traffic manager IP address block for your Mashery Local install.

Please Note: The whitelist information is subject to change. When such changes occur, Mashery Support will notify and work with you to get your whitelist updated. Previous versions of the IP List can be found at http://support.mashery.com/docs/proxy_information/Archived_IP_Whitlisting_Information/.

IP Whitelist Version 11.0 (Effective Date: 06/01/2024)

Please include all Traffic Manager IP addresses.

The list below is the list of CIDR block ranges

A text version of this list can be found: https://support.mashery.com/files/TIBCOMasheryIPs.txt

#
#Traffic Manager IPs Please whitelist all
#

54.251.88.0/28

3.24.133.64/28

3.120.181.64/28

176.34.239.192/28

54.82.131.0/28

54.82.131.16/28

50.112.119.192/28

#

Shared Secret

Mashery supports Shared Secrets.  Shared secrets can be set to be automatically assigned to users receiving keys via the Mashery service.  By default the shared secret is hashed with the current time (GMT) allowing for 5 minutes of clock drift.  Through the use of Custom Adapters which we have built in to the system Mashery can support virtually any kind of authentication request utilizing Shared Secrets and signatures.

OAuth 2.0

We offer an OAuth accelerator so you can add OAuth to your API with very little effort or cost.  OAuth allows a user to designate access to his data to a third party while protecting his credentials.  The authorization token can be revoked at any time.

Mashery can handle two different approaches to OAuth.

  1. Mashery OAuth Accelerator.  Mashery acts as the token provider.  Our Client creates a page on their system which allows a user to allow or revoke access to their data.  Our Client then uses Mashery's API to create or revoke access for a particular site.  Mashery handles the authentication of calls.  This path requires that the Client do very little to implement OAuth and can focus on their core business.
  2. Client implemented OAuth.  Some clients may wish to handle OAuth on their own, in this case the OAuth call looks just like any other API call being made through the proxy.  The client must create the system to create and manage OAuth tokens as well as authenticate calls.

HTTP-Auth

Some clients prefer to not shut off access at the edge of their network using whitelists, but would rather control access on a call by call basis.  By adding an http challenge to your application/webserver you will be able to allow access to users with the correct credentials.  Mashery can easily add the appropriate username/password pair to all calls made to your Direct API. 

Docs Navigation