mirror of
https://github.com/skalavala/mysmarthome.git
synced 2025-09-13 23:14:32 +00:00
Back Alive!
This commit is contained in:
222
packages/paloalto.yaml
Executable file
222
packages/paloalto.yaml
Executable file
@@ -0,0 +1,222 @@
|
||||
# ###############################################################################
|
||||
# # AUTHOR : Suresh Kalavala
|
||||
# # DATE : 03/04/2018
|
||||
# # PACKAGE : PALO ALTO APPLANCE/DEVICE SENSOR
|
||||
# # Description : Package to monitor PaloAlto device, logged-in users, vpn users
|
||||
# # and other system information
|
||||
# ###############################################################################
|
||||
# homeassistant:
|
||||
# customize:
|
||||
|
||||
# # Sensors from custom component
|
||||
# sensor.paloalto_host_name:
|
||||
# friendly_name: Palo Alto Host Name
|
||||
# sensor.paloalto_operation_mode:
|
||||
# friendly_name: Device Operation Mode
|
||||
# sensor.paloalto_serial_number:
|
||||
# friendly_name: Device Serial Number
|
||||
# sensor.paloalto_global_protect_user_count:
|
||||
# friendly_name: VPN Loggedin User Count
|
||||
# sensor.paloalto_global_protect_users:
|
||||
# friendly_name: VPN Loggedin Users
|
||||
# sensor.paloalto_global_protect_version:
|
||||
# friendly_name: VPN Software Version
|
||||
# sensor.paloalto_logdb_version:
|
||||
# friendly_name: Log Db Version
|
||||
# sensor.paloalto_software_version:
|
||||
# friendly_name: Device Software Version
|
||||
# sensor.paloalto_core_temperature:
|
||||
# friendly_name: Core Temperature
|
||||
# sensor.paloalto_system_temperature:
|
||||
# friendly_name: System Temperature
|
||||
# sensor.paloalto_up_time:
|
||||
# friendly_name: Up Time
|
||||
|
||||
# # Scripts
|
||||
# script.paloalto_clear_traffic_logs:
|
||||
# friendly_name: Clear Traffic Logs
|
||||
# script.paloalto_clear_threat_logs:
|
||||
# friendly_name: Clear Threat Logs
|
||||
# script.paloalto_clear_alarm_logs:
|
||||
# friendly_name: Clear Alarm Logs
|
||||
# script.paloalto_clear_authentication_logs:
|
||||
# friendly_name: Clear Authentication Logs
|
||||
# script.paloalto_clear_config_logs:
|
||||
# friendly_name: Clear Configuration Logs
|
||||
# script.paloalto_clear_system_logs:
|
||||
# friendly_name: Clear System Logs
|
||||
# script.paloalto_shutdown:
|
||||
# friendly_name: Shutdown Palo Alto Device
|
||||
# icon: mdi:power
|
||||
# script.paloalto_restart:
|
||||
# friendly_name: Restart Palo Alto Device
|
||||
# icon: mdi:restart
|
||||
|
||||
# sensor:
|
||||
# - platform: paloalto
|
||||
# api_key: !secret paloalto_authkey
|
||||
# ip_address: !secret paloalto_hostip
|
||||
# ssl: True
|
||||
# verify_ssl: False
|
||||
# scan_interval: 60
|
||||
# monitored_conditions:
|
||||
# - host_name
|
||||
# - up_time
|
||||
# - serial_no
|
||||
# - sw_version
|
||||
# - gp_version
|
||||
# - logdb_version
|
||||
# - operation_mode
|
||||
# - core_temp
|
||||
# - sys_temp
|
||||
# - gp_users
|
||||
# - gp_user_count
|
||||
# - loggedin_user_count
|
||||
# - loggedin_users
|
||||
|
||||
|
||||
# #
|
||||
# # All the URLs below use the following format
|
||||
# # For ex: paloalto_clear_traffic_logs: "curl -k 'https://192.xxx.xxx.xxx/api/?type=op&cmd=<clear><log><traffic></traffic></log></clear>&key=YOUR_API_KEY'"
|
||||
# # Check out secrets.example file for additional details about the commands
|
||||
# # https://github.com/skalavala/smarthome/blob/master/secrets.example
|
||||
# #
|
||||
# shell_command:
|
||||
# paloalto_clear_traffic_logs: !secret paloalto_clear_traffic_logs
|
||||
# paloalto_clear_threat_logs: !secret paloalto_clear_threat_logs
|
||||
# paloalto_clear_alarm_logs: !secret paloalto_clear_alarm_logs
|
||||
# paloalto_clear_authentication_logs: !secret paloalto_clear_authentication_logs
|
||||
# paloalto_clear_config_logs: !secret paloalto_clear_config_logs
|
||||
# paloalto_clear_system_logs: !secret paloalto_clear_system_logs
|
||||
# paloalto_shutdown: !secret paloalto_shutdown
|
||||
# paloalto_restart: !secret paloalto_restart
|
||||
|
||||
# script:
|
||||
# paloalto_clear_traffic_logs:
|
||||
# sequence:
|
||||
# - service: shell_command.paloalto_clear_traffic_logs
|
||||
# paloalto_clear_threat_logs:
|
||||
# sequence:
|
||||
# - service: shell_command.paloalto_clear_threat_logs
|
||||
# paloalto_clear_alarm_logs:
|
||||
# sequence:
|
||||
# - service: shell_command.paloalto_clear_alarm_logs
|
||||
# paloalto_clear_authentication_logs:
|
||||
# sequence:
|
||||
# - service: shell_command.paloalto_clear_authentication_logs
|
||||
# paloalto_clear_config_logs:
|
||||
# sequence:
|
||||
# - service: shell_command.paloalto_clear_config_logs
|
||||
# paloalto_clear_system_logs:
|
||||
# sequence:
|
||||
# - service: shell_command.paloalto_clear_system_logs
|
||||
# paloalto_shutdown:
|
||||
# sequence:
|
||||
# - service: shell_command.paloalto_shutdown
|
||||
# paloalto_restart:
|
||||
# sequence:
|
||||
# - service: shell_command.paloalto_restart
|
||||
|
||||
# automation:
|
||||
# #
|
||||
# # Alerts me when someone logs into my VPN network
|
||||
# # This automation compares before and after state changes
|
||||
# # and alerts when someone logged in/out of VPN
|
||||
# #
|
||||
# - alias: Alert When Someone Logged into VPN
|
||||
# initial_state: true
|
||||
# hide_entity: true
|
||||
# trigger:
|
||||
# - platform: state
|
||||
# entity_id: sensor.paloalto_global_protect_users
|
||||
# condition:
|
||||
# - condition: template
|
||||
# value_template: '{{ trigger.from_state.state | lower != trigger.to_state.state | lower }}'
|
||||
# action:
|
||||
# - service: script.notify_me
|
||||
# data_template:
|
||||
# message: >-
|
||||
# {% set before = trigger.from_state.state %}
|
||||
# {% set after = trigger.to_state.state %}
|
||||
# {% macro loggedIn(beforeList, afterList) %}
|
||||
# {%- for user in afterList if user != 'None' and user not in beforeList%}
|
||||
# {%- if loop.first %}{% elif loop.last %} and{% else %},{% endif -%}
|
||||
# {{- user }}
|
||||
# {%- endfor %}
|
||||
# {%- endmacro %}
|
||||
# {% macro loggedOut(beforeList, afterList) %}
|
||||
# {%- for user in beforeList if user != 'None' and user not in afterList %}
|
||||
# {%- if loop.first %}{% elif loop.last %} and{% else %},{% endif -%}
|
||||
# {{- user }}
|
||||
# {%- endfor %}
|
||||
# {%- endmacro %}
|
||||
# {%- macro checkUsers(beforeList, afterList) -%}
|
||||
# {%- set loggedInUsers = loggedIn(beforeList, afterList) -%}
|
||||
# {%- set loggedOutUsers = loggedOut(beforeList, afterList) -%}
|
||||
# {%- if loggedInUsers | trim != "" -%}
|
||||
# Alert! {{- loggedInUsers | title }} just logged into your Web VPN.
|
||||
# {%- endif -%}
|
||||
# {%- if loggedOutUsers | trim != "" %}
|
||||
# {{- loggedOutUsers |title }} just logged out of your Web VPN.
|
||||
# {% endif %}
|
||||
# {%- endmacro -%}
|
||||
# {{ checkUsers(before.split(','), after.split(',')) }}
|
||||
|
||||
# #
|
||||
# # Alerts me when someone logs into my firewall.
|
||||
# # This automation compares before and after state changes
|
||||
# # and alerts when someone logged in/out of Firewall
|
||||
# #
|
||||
# - alias: Alert When Someone Logged into Firewall
|
||||
# initial_state: true
|
||||
# hide_entity: true
|
||||
# trigger:
|
||||
# - platform: state
|
||||
# entity_id: sensor.paloalto_loggedin_users
|
||||
# condition:
|
||||
# - condition: template
|
||||
# value_template: '{{ trigger.from_state.state | lower != trigger.to_state.state | lower }}'
|
||||
# action:
|
||||
# - service: script.notify_me
|
||||
# data_template:
|
||||
# message: >-
|
||||
# {% set before = trigger.from_state.state %}
|
||||
# {% set after = trigger.to_state.state %}
|
||||
# {% macro loggedIn(beforeList, afterList) %}
|
||||
# {%- for user in afterList if user != 'None' and user not in beforeList%}
|
||||
# {%- if loop.first %}{% elif loop.last %} and{% else %},{% endif -%}
|
||||
# {{- user }}
|
||||
# {%- endfor %}
|
||||
# {%- endmacro %}
|
||||
# {% macro loggedOut(beforeList, afterList) %}
|
||||
# {%- for user in beforeList if user != 'None' and user not in afterList %}
|
||||
# {%- if loop.first %}{% elif loop.last %} and{% else %},{% endif -%}
|
||||
# {{- user }}
|
||||
# {%- endfor %}
|
||||
# {%- endmacro %}
|
||||
# {%- macro checkUsers(beforeList, afterList) -%}
|
||||
# {%- set loggedInUsers = loggedIn(beforeList, afterList) -%}
|
||||
# {%- set loggedOutUsers = loggedOut(beforeList, afterList) -%}
|
||||
# {%- if loggedInUsers | trim != "" -%}
|
||||
# Alert! {{- loggedInUsers | title }} just logged into your Palo Alto Firewall.
|
||||
# {%- endif -%}
|
||||
# {%- if loggedOutUsers | trim != "" %}
|
||||
# {{- loggedOutUsers |title }} just logged out of your Palo Alto Firewall.
|
||||
# {% endif %}
|
||||
# {%- endmacro -%}
|
||||
# {{ checkUsers(before.split(','), after.split(',')) }}
|
||||
|
||||
# #
|
||||
# # Palo Alto PA-200 device sucks ass in terms of its disk space!
|
||||
# # A work around would be to clear traffic logs periodically
|
||||
# # This automation runs every hour and clears traffic log/log files
|
||||
# #
|
||||
# - alias: Clear Traffic Logs
|
||||
# initial_state: True
|
||||
# hide_entity: True
|
||||
# trigger:
|
||||
# - platform: time_pattern
|
||||
# hours: '/1'
|
||||
# minutes: 00
|
||||
# action:
|
||||
# - service: script.paloalto_clear_traffic_logs
|
Reference in New Issue
Block a user