Skip to content

Latest commit

 

History

History
68 lines (47 loc) · 1.84 KB

Readme.md

File metadata and controls

68 lines (47 loc) · 1.84 KB

MALWARE URL Detection system

The system will setup a custer of docker containers as per the start script.

It has mainly 3 systems:

  1. Redis Sentinel Service

    1. It comprises of sentinel, slave and master nodes of redis.
    
    2. It stores the malware url related data to query by users.
    
  2. URL Service

    This is actually python api service to handle:

    1. Incoming call to check about the url status (blacklisted/whitelisted)
       API signature: 
        - /urlinfo/<version>/url 
        - Response: 
            {
              "host": "target url to check", 
              "path": "any path attached with the url", 
              "query": "any query associated with the url", 
              "status": "blacklisted/whitelisted"
            }
    
    2. Incoming call to update backend strore with new malware url
       API signature:
        - /urlinfo/update/<version>/url
    
    version=1 is supported for now
    
  3. HA Service

    1. This service handles the load balancing of URL Service.
    
    2. Traefik has been used for this service.
    
    3. 'localhost' has been exposed to call the api services for this system.
    
    4. http://localhost:8080/dashboard/ is the dashboard to get the status of the load balancing and url callings.
    

Docker Compose

Docker compose has been used to setup all the containers and dependibility between the services.

docker-compose.yml

Start

start.sh

Start the system in background with following numbers of nodes:

  1. Redis master: 1
  2. Redis slave: 2
  3. Redis sentinel: 3
  4. URL service: 2

Before this it will create redis_data in the home directory.

To run it at foreground just remove -d flag.

Stop

stop.sh

Stop the containers and clean the service