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))
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]}
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