Example #1
0
def ossec_add_new_agent(sensor_id, agent_name, agent_ip, asset_id):
    """
        Add a new agent
    """
    (success, sensor_ip) = get_sensor_ip_from_sensor_id(sensor_id)
    if not success:
        return False, "Bad sensor_id"

    (success, data) = ans_ossec_add_new_agent(sensor_ip, agent_name, agent_ip)

    # Add HIDS information to database and restart ossec server if it is necessary
    if success:
        # Default values
        agent_id = data
        agent_status = 'Never connected'

        try:
            add_hids_agent(agent_id, sensor_id, agent_name, agent_ip, agent_status, asset_id)
        except APIException as e:
            success = False
            data = str(e)

        (result, status) = ans_ossec_control(sensor_ip, 'status', '')

        if result and status['general_status']['remoted'] == 'DOWN':
            ans_ossec_control(sensor_ip, 'restart', '')

    return success, data
Example #2
0
def apimethod_ossec_control(sensor_id, operation, option):
    (success, system_ip) = get_sensor_ip_from_sensor_id(sensor_id)
    if not success:
        return False, "Invalid sensor id %s" % sensor_id

    return ans_ossec_control(system_ip=system_ip,
                             operation=operation,
                             option=option)
Example #3
0
def apimethod_ossec_control(sensor_id, operation, option):
    (success, system_ip) = get_sensor_ip_from_sensor_id(sensor_id)
    if not success:
        return False, "Invalid sensor id %s" % sensor_id

    (result, ans_result) = ans_ossec_control(system_ip=system_ip, operation=operation, option=option)

    if result and operation == "restart":
        # Update status of all HIDS Agents
        from celerymethods.tasks.hids import update_system_hids_agents

        try:
            (success, system_id) = get_system_id_from_sensor_id(sensor_id)
            if success:
                update_system_hids_agents.delay(system_id)
        except Exception as e:
            api_log.error("[update_system_hids_agents]: {0}".format(e))

    return (result, ans_result)
Example #4
0
def apimethod_ossec_control(sensor_id, operation, option):
    (success, system_ip) = get_sensor_ip_from_sensor_id(sensor_id)
    if not success:
        return False, "Invalid sensor id %s" % sensor_id

    return ans_ossec_control(system_ip=system_ip, operation=operation, option=option)