{% extends "base.html" %} {% block title %}Firewall SIP{% endblock %} {% set active = "firewall" %} {% block content %}

🔥 Firewall SIP

{% for j in jails %}
{% if j.jail == "sisnetcall-sip" %}📞 SIP {% elif j.jail == "sisnetcall-http" %}🌐 HTTP {% elif j.jail == "sshd" %}🔐 SSH {% else %}{{ j.jail }}{% endif %} {{ j.status.split('Currently banned:')[-1].split('\n')[0].strip() if 'Currently banned:' in j.status else '?' }} ativos
{% if j.status %} {% for line in j.status.split('\n') %} {% if 'Total failed' in line or 'Total banned' in line or 'Currently failed' in line or 'Currently banned' in line %}
{{ line.strip() }}
{% endif %} {% endfor %} {% else %}
{{ j.status }}
{% endif %}
{% endfor %}
✅ Whitelist
{% if whitelist %} {% for entry in whitelist %} {% endfor %}
IP / Rede
{{ entry }}
{% else %}

Nenhum IP na whitelist (além do padrão 127.0.0.1, 172.27.0.0/16)

{% endif %}
🚫 IPs Banidos
{% if banned %} {% for ip in banned %} {% endfor %}
IP
{{ ip }}
{% else %}

Nenhum IP banido no momento 🎉

{% endif %}
📋 Tentativas Recentes {{ recent|length }} linhas
{% if recent %} {% for line in recent %} {% if line %} {% if 'Failed' in line or 'failed' in line or 'reject' in line|lower or 'invalid' in line|lower %} {{ line }} {% elif 'SECURITY' in line %} {{ line }} {% else %} {{ line }} {% endif %} {% if not loop.last %}
{% endif %} {% endif %} {% endfor %} {% else %} Nenhum log de segurança encontrado. {% endif %}
{% endblock %}