CheckpointFWCreateBackup Deprecated
Deprecated. Use ssh command instead. Connect to a Check Point firewall appliance using SSH and trigger a task to create a configuration backup of the device. The user account being used to access the device must be set to use the SSH shell and not the built-in Check Point CLI. For more information, consult the CheckPoint documentation.
python · Check Point Firewall
Source
import demistomock as demisto from CommonServerPython import * from CommonServerUserPython import * CLI_ADD = "add backup local" BASH_ADD = '/etc/cli.sh -c "' + CLI_ADD + '"' def main(): res = [] tbl = [] devices = demisto.get(demisto.args(), 'devices') devicesBackupStarted = [] devicesBackupError = [] if not devices: res.append( {"Type": entryTypes["error"], "ContentsFormat": formats["text"], "Contents": "Received empty device list!"}) else: devices = ','.join(devices) if isinstance(devices, list) else devices sshArgs = {"using": devices, "cmd": BASH_ADD } resSSH = demisto.executeCommand("ssh", sshArgs) try: for entry in resSSH: if isError(entry) and not demisto.get(entry, 'Contents.command'): res += resSSH break else: device = entry['ModuleName'] if demisto.get(entry, 'Contents.success'): output = demisto.get(entry, 'Contents.output') backFileLoc = output.find("Backup file location") result = 'Answer returned' devicesBackupStarted.append({ 'DeviceName': device, 'System': demisto.get(entry, 'Contents.system'), 'Status': ("Done" if output.find("local backup succeeded.") > -1 else "Pending"), 'Path': (output[backFileLoc, :] if backFileLoc > -1 else None) }) else: devicesBackupError.append(device) output = "Output:\n" + str(demisto.get(entry, 'Contents.output')) + \ "Error:\n" + str(demisto.get(entry, 'Contents.error')) result = 'Failed to query' tbl.append({'DeviceName': device, 'System': demisto.get( entry, 'Contents.system'), 'Query result': result, 'Output': output}) except Exception as ex: res.append({"Type": entryTypes["error"], "ContentsFormat": formats["text"], "Contents": "Error occurred while parsing output from command. " "Exception info:\n" + str(ex) + "\n\nInvalid output:\n" + str(resSSH)}) demisto.setContext('CheckpointBackup', devicesBackupStarted) res.append({"Type": entryTypes["note"], "ContentsFormat": formats["table"], "Contents": tbl}) demisto.results(res) if __name__ in ('__main__', '__builtin__', 'builtins'): main()
README
Connects to a Checkpoint firewall appliance using SSH and trigger a task to create a configuration backup of the device. The user account that accesses the device must be setup to use the SSH shell and not the built in Checkpoint CLI. Consult the Checkpoint documentation for instructions on how to do this.
Script Data
| Name | Description |
|---|---|
| Script Type | python |
| Tags | checkpoint |
Dependencies
This script uses the following commands and scripts.
- ssh
Inputs
| Argument Name | Description |
|---|---|
| devices | The list of RemoteAccess instances of the checkpoint firewall appliances to back up. |
Outputs
| Path | Description | Type |
|---|---|---|
| CheckpointBackup.DeviceName | The name of the backed-up device. | Unknown |
| CheckpointBackup.System | The backed up system. | Unknown |
| CheckpointBackup.Status | The status of the backup process. | Unknown |
| CheckpointBackup.Path | The path of the backup file. | Unknown |