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