コード例 #1
0
from connectors.core.connector import Connector, get_logger, ConnectorError
from .operations import operations, _check_health


logger = get_logger('crowd_strike')


class CrowdStrike(Connector):

    def execute(self, config, operation, params, **kwargs):
        try:
            logger.debug('Executing Function')
            action = operations.get(operation)
            return action(config, params)
        except Exception as err:
            logger.exception(str(err))
            raise ConnectorError(str(err))

    def check_health(self, config):
        try:
            logger.debug("check_health() Executing")
            status = _check_health(config)
            logger.info("status:check_health() executed ")
            return status
        except Exception as err:
            logger.exception(str(err))
            raise ConnectorError(str(err))


コード例 #2
0
from connectors.core.connector import get_logger, ConnectorError
from .crowdstrike_utils import CrowdStrike
import json

logger = get_logger('CrowdStrike')


def get_token(config):
    try:
        sny = CrowdStrike(config)
        token, status = sny.generate_token()
        return token, status

    except Exception as error:
        logger.exception(str(error))
        raise ConnectorError(str(error))


def contain_host(config, params):
    try:
        v_token, v_status = get_token(config)
        endpoint = 'devices/entities/devices-actions/v2'
        sny = CrowdStrike(config)
        headers = {
            'Content-Type': 'application/json',
            'Authorization': 'Bearer {}'.format(v_token)
        }

        host_ID = params.get('hostid')
        payload = {"action_name": "contain"}
        data = {"ids": [host_ID]}
コード例 #3
0
from connectors.core.connector import get_logger, ConnectorError
import requests
logger = get_logger('malsilo')


def raise_if_url_unreachable(url):
    site_ping = requests.head(url)
    if site_ping.status_code < 400:
        return True
    else:
        logger.error("Response code for URL '{}': {}".format(
            url, site_ping.status_code))
        raise ConnectorError("URL '{}' is not reachable".format(url))


def check(config):
    ipv4_url = config.get('ipv4_url',
                          'https://malsilo.gitlab.io/feeds/dumps/ip_list.txt')
    raise_if_url_unreachable(ipv4_url)
    url_url = config.get('url_url',
                         'https://malsilo.gitlab.io/feeds/dumps/url_list.txt')
    raise_if_url_unreachable(url_url)
    domain_url = config.get(
        'domain_url', 'https://malsilo.gitlab.io/feeds/dumps/domain_list.txt')
    raise_if_url_unreachable(domain_url)
    return True