Automated build of OpenDXL Web API
1.1K
The OpenDXL Web API was designed to allow the building of a scalable web tier. The Web API can easily allow a single host to run the API or clusters in a cloud environment such as AWS, Google, or Apache Mesos.
The OpenDXL Web API supports running in a "standalone" mode as well as execution within a "Vagrant portable development environment". The steps for running in each of these modes are detailed below.

List of Challenges can be found here
Pre-requisites can be found here
The following steps walk through running the OpenDXL Slack/TIE integration in standalone mode:
Download the latest release of the OpenDXL WebAPI release
Extract the downloaded release
Provision the files necessary for an OpenDXL client (dxlclient.config and related certificate files). The steps are identical to those described in the OpenDXL Client Samples Configuration documentation.
Place the dxlclient.config and related certificate files into the same directory as the opendxl_web_api.py file (in the extracted release)
Install the required Python dependencies using the requirements.txt in the release:
pip install -r requirements.txt
Run the opendxl_web_api.py file using python: python opendxl_web_api.py
When you see the following confirmation, the server is now ready to receive HTTP requests:

To verify the server is operational, you may try accessing the "About" page on the localhost. http://127.0.0.1:5000/about?token=27612211994137900087
Try checking a file's TIE reputation by SHA1 Hash http://127.0.0.1:5000/tie/getfile/?sha1=D4186881780D48BF55D4D59171B115634E3C7BA6&token=27612211994137900087

For more information about available commands, see the API Taxonomy
If you are interested in coding then this will build your Development Environment in a virtual machine using Vagrant. Build Development
For a portable environment free of dependencies Docker is a good choice. Deploy Docker
For a self-healing fault-tolerant environment Docker Swarm is a simple choice. Deploy Docker Swarm
The best way to enable SSL encryption is through an external load balancers (nginx, haproxy, Netscalers, or F5). The load balancer can terminate the SSL encryption from the client. This allows the backend to remain free and composable.
Taxonomy of the API is documented in the taxonomy documentation. This highlights how the web api paths are structured and how it should be going forward.
Cuckoo Notification Configuration
FireEye Notification Configuration
For more on the technologies used in this project see. Miscellaneous
Copyright 2017 McAfee, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Content type
Image
Digest
Size
71.2 MB
Last updated
over 8 years ago
docker pull sbrumley/opendxl_web_api