[BlackHat USA tool] ArmourBird CSF – Container Security Framework
ArmourBird CSF – Container Security Framework
ArmourBird CSF – Container Security Framework is an extensible, modular, API-first framework build for regular security monitoring of docker installations and containers against CIS and other custom security checks.
ArmourBird CSF has a client-server architecture and is thus divided into two components:
a) CSF Client
- This component is responsible for monitoring the docker installations, containers, and images on target machines
- In the initial release, it will be checking against Docker CIS benchmark
- The checks in the CSF client will be configurable and thus will be expanded in future releases and updates
- It has been build on top of Docker bench for security
b) CSF Server
- This will be the receiver agent for the security logs generated by the various distributed CSF clients (installed on multiple physical/virtual machines)
- This will also have a UI sub-component for unified management and dashboard-ing of the various vulnerabilities/issues logged by the CSF Clients
- This server will also expose APIs that can be used for integrating with other systems
Important Note: The tool is currently in beta mode. Hence the debug flag of Django (CSF Server) is enabled and the SQLite is used as DB in the same docker container. Hence, spinning up a new docker container will reset the database.
Architecture Diagram
APIs CSF Server
Issue APIs
POST /issues
- For reporting issues from CSF clients
GET /issues/{issueId}
- For listing specific issue with {id}
GET /issues
- For listing all issues reported by all CSF clients
PUT /issues/{issueId}
- For updating a specific issue (like for severity, comments, etc.)
DELETE /issues/{issueId}
- For deleting specific issue
Client APIs
POST /clients
- For adding a CSF client
GET /clients/{clientId}
- For listing specific CSF client
GET /clients/
- For listing all the CSF clients
PUT /clients/{clientId}
- For updating the CSF client (for e.g. IP addr, etc.)
DELETE /clients/{clientId}
- For deleting a CSF client from the network
Client Group APIs
POST /clientGroup
- Adding client to a specific group (for e.g. product1, HRNetwork, product2, etc.)
GET /clientGroup/{groupID}
- For listing client group details
GET /clientGroup/
- For listing all client groups
PUT /clientGroup/{groupID}
- For updating client group
DELETE /clientGroup/{groupId}
- For deleting client group
Install && Use
Copyright (C) 2019