Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
WindowsFirewallRuleset — Scripts de PowerShell para crear automáticamente reglas para el Firewall de Windows | Kitploit
Herramientas/GitHubGitHub/metablaster/windowsfirewallruleset
Scripting y AutomatizaciónAuditoría de ConfiguraciónSeguridad de RedesArchived
GitHubmetablaster/windowsfirewallruleset

WindowsFirewallRuleset

Scripts de PowerShell para crear automáticamente reglas para el Firewall de Windows

Ver Repositorio
Sitio web
179417hace 1 añoRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Windows Firewall Ruleset

Alt Text

Tabla de Contenidos

  • Windows Firewall Ruleset
    • Tabla de Contenidos
    • Acerca de Windows Firewall Ruleset
      • Reglas de firewall
      • Marco de trabajo del firewall
    • La visión de este firewall
    • Licencia
    • Requisitos
      • Detalles de los requisitos
      • No cumplo con los requisitos
    • Usuario primerizo
      • Advertencia
      • Nota
      • Inicio rápido
    • Gestión del firewall
      • Despliegue automatizado e interactivo del firewall
      • Gestionar reglas GPO
      • Desplegar conjuntos de reglas individuales
      • Eliminar reglas
      • Exportar/Importar reglas
    • Despliegue remoto del firewall
  • Soporte, actualizaciones y documentación
  • El futuro
  • Acerca de Windows Firewall Ruleset

    Versión alfa

    Una solución completamente automatizada para el firewall de Windows con PowerShell

    Windows Firewall Ruleset configura el firewall de Windows automáticamente y aplica reglas de firewall restrictivas específicas para el sistema objetivo y el software instalado en el sistema.

    El estado de este proyecto sigue siendo alfa, haga clic en la insignia "status" arriba para obtener más información.
    Este proyecto consta de dos partes principales, reglas de firewall y marco de trabajo del firewall, como se indica a continuación:

    Reglas de firewall

    Reglas de firewall de Windows organizadas en scripts individuales de PowerShell según:

    • Grupo de reglas
    • Dirección del tráfico (ej. entrante, saliente o IPSec)
    • Tipo de software y editor
    • Versión IP (IPv4 / IPv6)

    Como, por ejemplo:

    • Tráfico ICMP
    • Reglas del navegador
    • Software integrado del sistema operativo
    • Aplicaciones de la Tienda
    • Servicios de Windows
    • Juegos multijugador
    • Programas de Microsoft
    • Programas de terceros
    • Tráfico de difusión
    • Tráfico multidifusión

    Marco de trabajo del firewall

    • El marco de trabajo del firewall consta de varios módulos, scripts y documentación de PowerShell utilizados para recopilar información del entorno relevante para construir y desplegar un firewall especializado para el sistema objetivo, como:

      • Equipos en la red
      • Programas instalados
      • Cálculo de subredes IP
      • Usuarios remotos o locales del sistema
      • Configuración de red
      • Configuración GPO
      • Gestión del firewall
      • Análisis rápido de trazas de paquetes y registros de auditoría
      • Varias funciones de utilidad para solución de problemas, firewall, sistema y red
    • Por lo tanto, este repositorio es un buen punto de partida para ampliar fácilmente su firewall e incluir más reglas y funcionalidades según se desee.

    • Actualmente hay más de 800 reglas de firewall, más de 10 módulos con más de 100 funciones, varios scripts y una buena cantidad de documentación útil.

    • Puede elegir interactivamente qué reglas desea e implementar solo esas, o puede automatizar el proceso e implementar todas las reglas y configuraciones necesarias en su firewall.

    Volver a la Tabla de Contenidos

    La visión de este firewall

    Gestionado en VSCode PowerShell

    1. La configuración detallada del firewall es un proceso que consume tiempo, requiere mucha solución de problemas, los cambios requieren pruebas y auditoría de seguridad, y empeora si necesita implementar el firewall en cientos o miles de equipos remotos, por ejemplo, no todos los equipos pueden tener el mismo software o requisitos de restricción.

    2. A diferencia de las reglas de firewall en el panel de control, estas reglas se cargan en el firewall GPO (Política de grupo local), lo que significa que los cambios en la configuración del sistema o programas aleatorios que instalan reglas como parte de su proceso de instalación no tendrán efecto en el firewall a menos que haga una excepción explícitamente.

    3. Las reglas basadas en programas y servicios verificarán la firma digital del archivo ejecutable especificado y se escanearán en VirusTotal si falta la firma digital; por razones de seguridad, la regla no se crea ni se carga en el firewall si esta verificación falla. (se puede forzar)

    4. La salida predeterminada es "bloquear" a menos que haya una regla que permita el tráfico de red; en la mayoría de los firewalls esto no es posible a menos que mantenga reglas para cada programa o servicio posible; gracias a esta colección de reglas, establecer la salida predeterminada en bloquear requiere muy poco o ningún trabajo adicional.

    5. A diferencia del escenario habitual, sabrá qué reglas ya no tienen efecto o son redundantes debido, por ejemplo, a un programa desinstalado, un servicio del sistema que ya no existe, un ejecutable renombrado después de una actualización de Windows y razones similares.

    6. A diferencia de las reglas predefinidas del firewall de Windows, estas reglas son más restrictivas, como estar vinculadas a cuentas de usuario explícitas, aplicarse a puertos específicos, interfaces de red, ejecutables específicos, servicios, etc., todo lo cual se aprende automáticamente del sistema objetivo.

    7. Actualizar, filtrar o buscar reglas y atributos como puertos, direcciones y similares es mucho más fácil ya que estas reglas están en scripts; puede usar herramientas de editor como regex, multicursor o CTRL + F para realizar operaciones masivas en sus reglas; hacer esto en cualquier interfaz de usuario del firewall no es posible debido a las limitaciones de la interfaz de usuario.

    8. Una buena parte del código está dedicada a proporcionar una solución automatizada para construir y definir un firewall especializado para el sistema y los usuarios objetivo, minimizando la necesidad de hacer algo manualmente, ahorrándole así mucho tiempo valioso de administración.

    Volver a la Tabla de Contenidos

    Licencia

    Licencia MIT

    Este proyecto Windows Firewall Ruleset está licenciado bajo la licencia MIT.

    Algunos scripts, archivos o módulos no tienen licencia MIT o pueden tener sus propios titulares de derechos de autor; por esta razón, los avisos de licencia y derechos de autor se mantienen "por archivo".

    Requisitos

    Windows

    La siguiente tabla enumera los sistemas operativos en los que se ha probado Windows Firewall Ruleset

    SOEdiciónVersiónArquitectura
    Windows 10Pro1809 - 22H2x64
    Windows 10Pro Education20H2x64
    Windows 10Enterprise1809 - 20H2x64
    Windows 10Education20H2 - 22H2x64
    Windows 11Pro Education21H2x64
    Windows 11Pro22H2 - 23H2x64
    Windows 11Enterprise22H2x64
    Windows Server 2019Essentials1809x64
    Windows Server 2019Standard1809x64
    Windows Server 2019Datacenter1809x64
    Windows Server 2022Standard21H2x64
    Windows Server 2022Datacenter21H2x64

    1. Windows PowerShell 5.1 o PowerShell Core 7.3.x Descargar PowerShell Core
    2. .NET Framework 4.5 (solo Windows PowerShell) Descargar .NET Framework
    3. sigcheck64.exe (Altamente recomendado) Descargar sigcheck
    4. Git (Opcional) Descargar Git
    5. Visual Studio Code (Recomendado) Descargar VSCode
    6. Soporte de PowerShell para VSCode (Recomendado) Descargar extensión
    7. PSScriptAnalyzer (Recomendado) Descargar PSScriptAnalyzer

    Volver a la Tabla de Contenidos

    Detalles de los requisitos

    • Todos los sistemas Windows 10.0 (Major 10, Minor 0) y superiores, excepto las ediciones Home, son compatibles, pero solo las ediciones enumeradas en la tabla anterior han sido probadas.
      La columna "Versión" enumera las versiones probadas; sin embargo, solo las compilaciones más recientes del sistema operativo continúan siendo probadas.
      Una lista de otros sistemas y características compatibles pero no probados se encuentra en El futuro

    • PowerShell Core no está integrado en Windows; deberá instalarlo por separado o usar Windows PowerShell que es parte del sistema operativo.

    • Se requiere .NET Framework versión mínima 4.5 si se usa Windows PowerShell (edición de escritorio) en lugar de PowerShell Core.
      Windows 10 incluye como mínimo .NET 4.6 (que incluye .NET 4.5), y Windows 11 incluye como mínimo .NET 4.8

    • sigcheck64.exe (o sigcheck.exe de 32 bits) es una herramienta de verificación de firmas digitales que puede descargar del sitio de Microsoft y debe colocarse en el directorio C:\tools o en la variable de entorno %PATH%.
      Windows Firewall Ruleset lo usará para realizar un análisis de malware en línea basado en hash en VirusTotal para cada ejecutable que no tenga firma digital antes de crear una regla de firewall para ese ejecutable.
      Esto es solo una recomendación; si no hay sigcheck64.exe en PATH, se le ofrecerá descargarlo y, si declina, no se realizará ningún análisis de malware.
      Al usar esta funcionalidad, acepta los Términos de servicio de VirusTotal, la Política de privacidad de VirusTotal y los Términos de licencia de software de Sysinternals

    • Es posible que desee tener git para buscar actualizaciones, cambiar fácilmente entre ramas o contribuir con código.

    • VS Code es el editor preferido y recomendado para navegar por el código y/o editar scripts para sus propias necesidades o contribuciones.

    • Si obtiene VSCode, también necesitará la extensión de PowerShell para la navegación del código y las características del lenguaje PowerShell.

    • Para navegar y editar código con VSCode, se recomienda encarecidamente PSScriptAnalyzer; de lo contrario, la experiencia de edición puede comportarse de manera extraña debido a varias configuraciones del repositorio.

    • No hay requisitos de hardware, pero si planea escribir y depurar código, se recomienda un mínimo de 8 GB de memoria y una unidad SSD para trabajar cómodamente en el proyecto; de lo contrario, para simplemente implementar reglas en su firewall personal, menos que eso funcionará bien.

    Volver a la Tabla de Contenidos

    No cumplo con los requisitos

    Por el momento, este firewall está probado y diseñado para los sistemas de escritorio/servidores de Windows más recientes y se sabe que funciona; para usarlo en sistemas más antiguos se requiere trabajo adicional.

    Las pruebas se realizan en Windows de 64 bits; una pequeña fracción de las reglas no funcionará en sistemas de 32 bits y necesita ajuste; la funcionalidad completa para sistemas de 32 bits está en proceso.
    Por ahora, puede cargar reglas en sistemas de 32 bits sin problemas, con la excepción de algunas reglas que probablemente no sean relevantes para su configuración.

    Para obtener información sobre cómo usar este firewall en sistemas Windows más antiguos, como Windows 7 o Windows Server 2008, consulte Soporte heredado

    Volver a la Tabla de Contenidos

    Usuario primerizo

    Las siguientes son advertencias y avisos breves que el usuario primerizo debe conocer antes de implementar el firewall.

    Advertencia

    • Es posible que pierda conectividad a Internet para algunos de sus programas o, en casos raros, incluso pierda la conectividad a Internet por completo; si eso sucede, puede permitir temporalmente la red de salida en GPO o ejecutar
      .\Scripts\Reset-Firewall.ps1 -Remoting -Service para restablecer el firewall GPO a los valores predeterminados del sistema, eliminar todas las reglas y restaurar WinRM y los servicios modificados a los valores predeterminados del sistema. (después se requiere reiniciar PowerShell)

    • Dentro del directorio docs hay un archivo ResetFirewall.md, una guía sobre cómo hacerlo manualmente, si por alguna razón no puede ejecutar el script o el script no resuelve sus problemas.

    • Sus reglas existentes no se eliminarán a menos que tenga reglas en GPO con exactamente los mismos nombres de grupo que las reglas de este conjunto; sin embargo, esto no aplica a Scripts\Reset-Firewall.ps1, que borrará completamente las reglas GPO y dejará solo aquellas en el panel de control.

    • Si quiere estar 100% seguro, exporte sus reglas GPO como se explica en Exportar\Importar reglas

    • Se le preguntará qué reglas cargar (si selecciona implementación interactiva, ver más adelante); para minimizar problemas de conectividad a Internet, debe implementar al menos todas las reglas genéricas de red y relacionadas con el sistema operativo llamadas "CoreNetworking", "ICMP", "WindowsSystem", "WindowsServices", "Multicast", incluidas todas las reglas para los programas que tenga instalados en el sistema; tampoco ignore IPv6, Windows necesita IPv6 incluso si está en una red IPv4.
      Será fácil eliminar lo que no necesite en GPO, en lugar de tener que buscar más tarde en el código lo que haya omitido.

    • La configuración predeterminada establecerá un comportamiento global del firewall que no se puede configurar en GPO, como Stateful FTP y PPTP o configuraciones globales de IPSec; si necesita una configuración específica, visite Scripts\Complete-Firewall.ps1 y mire Set-NetFirewallSetting.
      Tenga en cuenta que Scripts\Complete-Firewall.ps1 es llamado automáticamente por Scripts\Deploy-Firewall.ps1

    • Algunos scripts requieren que (el adaptador de red) esté conectado a la red, por ejemplo, para determinar la dirección de difusión IPv4. (De lo contrario, pueden generarse errores)

    • Todo en el sistema debe estar actualizado, ya que de lo contrario algunas reglas pueden omitirse o ser incorrectas; esto incluye actualizaciones de Windows, aplicaciones de la Tienda Microsoft y cualquier otro software.

    Volver a la Tabla de Contenidos

    Nota

    • Cargar reglas en una GPO vacía debería ser muy rápido; sin embargo, cargar en una GPO que ya contiene reglas será significativamente más lento (depende del número de reglas existentes en la GPO)

    • Todos los errores y advertencias se guardarán en el directorio Logs; puede revisar estos registros más tarde si desea solucionar algún problema; la mayoría de las advertencias e incluso algunos errores se pueden ignorar de manera segura; en ciertos casos, es posible que desee resolver los errores si es posible.

    • Cualquier regla que resulte en "Acceso denegado" al cargarse debe recargarse ejecutando el script específico nuevamente; consulte Preguntas frecuentes para obtener más información sobre por qué puede suceder esto.

    • Si el repositorio se descargó manualmente, se transfirió desde otro equipo o medio, entonces debe desbloquear todos los archivos del repositorio primero para evitar preguntas spam de SÍ/NO por cada script ejecutado, ejecutando Scripts\Unblock-Project.ps1.
      El script maestro Scripts\Deploy-Firewall.ps1 hace esto en caso de que lo olvide, pero las preguntas iniciales de SÍ/NO aún estarán presentes en ese caso.

    • Si tiene habilitada la "Protección contra ransomware" (en Windows Defender), asegúrese de incluir en la lista blanca pwsh.exe (edición Core) o powershell.exe (edición de escritorio) o ambos; de lo contrario, ocurren errores en el modo de desarrollo durante la instalación de módulos.
      Si el código del repositorio se descarga a una carpeta bajo protección contra ransomware, cualquier cosa puede ser bloqueada.
      Es posible que sea necesario reiniciar la consola de PowerShell para que los cambios en el "Acceso controlado a carpetas" surtan efecto.

    • Por defecto, las reglas se crean para el grupo Users, mientras que para el grupo Administrators solo si es necesario; se recomienda tener una cuenta de usuario estándar para el uso diario por razones de seguridad.
      Si es administrador y no está dispuesto a crear una cuenta estándar en su equipo, deberá modificar la variable DefaultGroup en Config\ProjectSettings.ps1 y especificar Administrators.

      Consulte SecurityAndPrivacy.md para obtener más información sobre por qué no se recomienda usar una cuenta de administrador por razones de seguridad.
      Su cuenta administrativa utilizada para implementar el firewall debe tener una contraseña establecida.

    • Las actualizaciones de software o Windows pueden renombrar ejecutables o sus ubicaciones; también las cuentas de usuario pueden ser renombradas por el administrador; por lo tanto, es importante recargar reglas específicas de vez en cuando según sea necesario para actualizar el firewall para los cambios del sistema que pueden ocurrir en cualquier momento. Este comportamiento se llama Regresión de software

    • Antes de implementar el firewall, se recomienda actualizar los programas del sistema y del usuario en el equipo de destino, incluidas las aplicaciones de la Tienda Windows, especialmente si el sistema está recién instalado, porque actualizar más tarde puede requerir recargar algunas reglas.

    Volver a la Tabla de Contenidos

    Inicio rápido

    1. Si no tiene claves SSH y otra configuración necesaria para clonar mediante SSH, clone con HTTPS o simplemente descargue el archivo zip de la versión desde Lanzamientos, y luego, para la última versión en "assets", descargue el archivo zip.
      Estos pasos aquí asumen que ha descargado un archivo zip de la sección "assets" en "Lanzamientos".

    2. Extraiga el archivo descargado en algún lugar; estos pasos asumen que ha extraído el archivo zip (directorio raíz del repositorio) directamente en la unidad raíz C:\.

    3. Si desea usar Windows PowerShell, consulte Cómo abrir Windows PowerShell.
      De lo contrario, el procedimiento tanto para PowerShell Core como para Windows PowerShell es similar:
      Abra la carpeta extraída, haga clic derecho en un espacio vacío y verá una opción para ejecutar PowerShell Core como Administrador (asume que habilitó el menú contextual durante la instalación de PowerShell Core); si no, ábralo manualmente.

    4. Si no tiene el menú contextual de PowerShell, muévase a la unidad raíz C:\ ejecutando las siguientes dos líneas (escriba o copie/pegue los comandos y presione Enter para cada uno); aquí es donde extrajo el archivo zip descargado

      root@kitploit:~
      c:
      cd \
      
    5. cd a la carpeta descargada:

      root@kitploit:~
      cd WindowsFirewallRuleset*
      
    6. Para ver la política de ejecución actual, escriba el siguiente comando y presione Enter:
      (pista: puede usar la tecla TAB para autocompletar mientras escribe)

      root@kitploit:~
      Get-ExecutionPolicy
      

      Recuerde la salida del comando anterior; tenga en cuenta que PowerShell Core usa por defecto RemoteSigned mientras que Windows PowerShell usa por defecto Restricted en ediciones que no son servidor.

    7. Establezca la política de ejecución en unrestricted para poder desbloquear los archivos del proyecto.
      (Tenga en cuenta que RemoteSigned funcionará solo una vez que los scripts estén desbloqueados)

      root@kitploit:~
      Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted
      

      Es posible que se le solicite aceptar el cambio de política de ejecución; si es así, escriba Y y presione Enter para aceptar.
      Para obtener más información, consulte Acerca de las políticas de ejecución

    8. En este punto, debe "desbloquear" todos los archivos del repositorio primero ejecutando un script llamado
      Scripts\Unblock-Project.ps1; por cierto, los archivos del repositorio fueron bloqueados por Windows para evitar que los usuarios ejecuten código de script no confiable descargado de Internet:

      root@kitploit:~
      .\Scripts\Unblock-Project.ps1
      

      Si se le pregunta, asegúrese de que su respuesta sea R, es decir, [R] Ejecutar una vez, tantas veces como sea necesario para desbloquear el proyecto. (aproximadamente hasta 8 veces)

    9. Una vez que los archivos del repositorio estén desbloqueados, cambie la política de ejecución a RemoteSigned:

      root@kitploit:~
      Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
      

      Es posible que se le solicite nuevamente aceptar el cambio de política de ejecución; escriba Y y presione Enter para aceptar.

    10. Las reglas para programas como su navegador web, juegos, etc., dependen de variables de instalación.
      La mayoría de las rutas se buscan automáticamente y las variables se actualizan de manera transparente; de lo contrario, recibe una advertencia y una descripción de cómo solucionar el problema.
      Si es necesario, puede encontrar estas variables de instalación en scripts individuales dentro del directorio Rules.
      Se recomienda cerrar todas las consolas de administración MMC como gpedit.msc o secpol.msc antes de ejecutar el script maestro en el siguiente paso.

    11. Regrese a la consola de PowerShell y ejecute uno de los dos comandos Deploy-Firewall a continuación:

      Para implementar el firewall automáticamente con la menor cantidad de preguntas posible, ejecute:

      root@kitploit:~
      .\Scripts\Deploy-Firewall.ps1 -Force
      

      De lo contrario, para que se le pregunte interactivamente qué reglas cargar, ejecute:

      root@kitploit:~
      .\Scripts\Deploy-Firewall.ps1
      ```Pulse Enter y se le harán preguntas sobre qué tipo de reglas desea.\
      

    Si necesita ayuda para decidir si ejecutar algún conjunto de reglas o no, escriba ? cuando se le solicite ejecutar el conjunto de reglas y presione Enter para obtener más información.
    Si por alguna razón desea interrumpir y abortar la implementación (por ejemplo, para comenzar una nueva), presione CTRL + C en su teclado mientras PowerShell está en foco y reinicie la consola de PowerShell.

    1. Siga la salida de las indicaciones (ej. presione Enter para aceptar la acción predeterminada), le tomará unos 15 minutos de su atención.

      NOTA: Si la cuenta de Administrador está usando una cuenta de Microsoft para iniciar sesión en la computadora, se le solicitarán credenciales, que deben ser el correo electrónico y la contraseña de Microsoft, independientemente de si está usando Windows Hello o no; especificar un PIN no funcionará y otros métodos de autenticación de Windows Hello no son compatibles.

      Si se proporcionan credenciales inválidas, recibirá un error que dice Access is denied.
      Si esto sucede, deberá reiniciar la consola de PowerShell e intentar de nuevo.

      Para obtener más información sobre por qué es necesario esto, consulte FAQ

    2. Si encuentra errores, puede ignorarlos o actualizar el script que produjo el error y luego volver a ejecutar ese script específico más tarde.

    3. Cuando haya terminado, es posible que desee ajustar algunas de las reglas en la Directiva de grupo local; no todas las reglas están habilitadas por defecto o es posible que desee cambiar el comportamiento predeterminado de Permitir/Bloquear.
      Es posible que las reglas no cubran todos los programas instalados en su sistema, en cuyo caso será necesario crear las reglas faltantes.

    4. Ahora proceda a probar su conexión a Internet (ej. con un navegador web o algún otro programa). Si no puede conectarse a Internet después de implementar estas reglas, tiene varias opciones:

      • Abrir temporalmente el firewall de salida en GPO o Deshabilitar Firewall
      • Solucionar problemas: Guía detallada de solución de problemas de red
      • Puede Restablecer Firewall al estado anterior
      • Eche un vistazo al directorio docs para obtener más opciones de solución de problemas y documentación
    5. Como requisito previo para implementar el firewall, algunos servicios del sistema se han iniciado y configurado para inicio automático; dentro del directorio Logs encontrará Services_<DATE>.log para ayudarle a restaurar estos servicios a su estado predeterminado si lo desea.
      Por ejemplo, el servicio Windows Remote Management no debería ejecutarse si no es necesario (el valor predeterminado es "Manual")

    Tabla de contenido

    Gestión del firewall

    La siguiente sección proporciona algunos consejos para gestionar el firewall con facilidad

    Implementación automatizada e interactiva del firewall

    El script Deploy-Firewall.ps1 admite varios parámetros para permitirle personalizar la automatización de la implementación de la siguiente manera:

    • Para ejecutar automáticamente todas las reglas sin avisos y con una salida concisa, pero solo para los programas que existen en el sistema, ejecute:```powershell .\Scripts\Deploy-Firewall.ps1 -Force -Quiet
    root@kitploit:~
    - Para ir paso a paso y recibir una solicitud de confirmación sobre qué conjuntos de reglas cargar y para intentar resolver problemas sobre la marcha, ejecute:```powershell
    .\Scripts\Deploy-Firewall.ps1 -Interactive
    
    • Para que solo se solicite la selección del conjunto de reglas, ejecute Deploy-Firewall sin ningún parámetro:```powershell .\Scripts\Deploy-Firewall.ps1
    root@kitploit:~
    Para aprender el significado de los parámetros y poder combinarlos por tu cuenta, consulta el comentario del script `Deploy-Firewall.ps1` o ejecuta el siguiente comando:```powershell
    Get-Help .\Scripts\Deploy-Firewall.ps1 -Detailed
    

    Gestionar reglas GPO

    Hay dos métodos para gestionar reglas GPO:

    1. Usando la Directiva de Grupo Local, este método te da libertad limitada sobre lo que puedes hacer con las reglas de este repositorio, como deshabilitarlas, cambiar algunos atributos o agregar nuevas reglas.
      Para más información ver: Manage GPO Firewall

    2. Editando scripts de PowerShell, este método te da control total, puedes cambiar o eliminar reglas existentes sin restricciones o agregar nuevas.

    Sea cual sea tu plan o configuración, seguramente querrás realizar trabajo adicional como personalizar reglas, o agregar nuevas reglas para programas aún no cubiertos por este cortafuegos.

    Las reglas se cargan en la directiva de grupo local. Si durante la configuración del cortafuegos aceptaste crear un acceso directo a la consola de gestión de cortafuegos personalizada, puedes ejecutar el acceso directo; de lo contrario, sigue los pasos mencionados en Manage GPO Firewall

    Para más información sobre GPO ver: Configure security policy settings

    Table of Contents

    Desplegar conjuntos de reglas individuales

    Si deseas desplegar solo reglas específicas, hay dos formas de hacerlo:

    1. Ejecuta Scripts\Deploy-Firewall.ps1 y elige Yes solo para los conjuntos de reglas que desees; de lo contrario, elige No y presiona Enter para omitir el conjunto de reglas actual.

    2. En la consola de PowerShell, navega con cd al directorio que contiene el script del conjunto de reglas deseado y ejecuta el script individual.
      Por ejemplo cd .\Rules\IPv4\Outbound\Software seguido de .\Adobe.ps1 para cargar reglas para Adobe.

    Puede que quieras ejecutar Scripts\Complete-Firewall.ps1 después para aplicar el comportamiento predeterminado del cortafuegos si aún no está establecido, o puedes hacerlo manualmente en GPO pero con poder limitado. "poder limitado" significa que Scripts\Complete-Firewall.ps1 configura algunos parámetros del cortafuegos que no se pueden ajustar en la GUI del cortafuegos.

    En ambos casos, todas las reglas que coincidan con el grupo del conjunto de reglas, DisplayGroup, se eliminarán antes de cargar las reglas en GPO.

    Table of Contents

    Eliminar reglas

    Por el momento hay tres opciones para eliminar reglas de cortafuegos:

    1. La forma más fácil es seleccionar todas las reglas que quieras eliminar en GPO, hacer clic derecho y eliminar.

    2. Para eliminar reglas según un archivo, existe una función para este propósito, ubicada en:
      Modules\Ruleset.Firewall\Public\Remove-FirewallRule.ps1
      sin embargo, primero debes exportar el cortafuegos a un archivo antes de usarla.

    3. Para revertir a tu estado anterior del cortafuegos (el del panel de control), necesitarás eliminar todas las reglas de GPO y establecer todas las propiedades en Not configured después de hacer clic derecho en el nodo:
      Windows Defender Firewall with Advanced Security - Local Group Policy Object

    Eliminar todas las reglas o revertir al estado anterior también se puede hacer con Scripts\Reset-Firewall.ps1
    Ten en cuenta que también necesitarás reimportar tus reglas GPO exportadas si las tenías.

    Table of Contents

    Exportar/Importar reglas

    Si deseas exportar reglas de GPO, hay dos métodos disponibles:

    1. Exportar en la directiva de grupo local haciendo clic en el menú Export Policy..., después de hacer clic derecho en el nodo:
      Windows Defender Firewall with Advanced Security - Local Group Policy Object

    2. Para exportar usando PowerShell, ejecuta Scripts\Backup-Firewall.ps1
      Si deseas personalizar tu exportación, consulta la función Export-RegistryRule ubicada en el módulo Ruleset.Firewall, que te permite personalizar tu exportación de casi cualquier forma.

    Si deseas importar reglas, importar usando GPO es igual que para exportar, y para importar con PowerShell solo ejecuta Scripts\Restore-Firewall.ps1, que tomará tus archivos de exportación anteriores.

    Para personalizar tu exportación/importación, echa un vistazo a Modules\Ruleset.Firewall\Public, donde encontrarás la descripción de cómo usar las funciones del módulo de exportación/importación.

    NOTA: La función Export-FirewallRule es realmente lenta; se recomienda ejecutar la función Export-RegistryRule en su lugar, que es lo más rápida posible.

    Table of Contents

    Despliegue remoto de cortafuegos

    Esta sección y funcionalidad es actualmente experimental y no está completamente completa; por el momento se admite el despliegue a un solo equipo remoto.

    Under construction

    En el despliegue remoto de cortafuegos hay al menos dos equipos involucrados: uno se llama equipo de gestión (cliente) y todos los demás se llaman equipos gestionados (servidores).

    Los scripts son ejecutados por el administrador en el equipo de gestión, y el cortafuegos se despliega o configura en múltiples equipos servidores simultáneamente.

    Para detalles de implementación, consulta el módulo Modules\Ruleset.Remote

    NOTA: La funcionalidad de remoting no es exclusiva del despliegue remoto de cortafuegos; el despliegue a localhost por diseño también requiere una configuración funcional de WinRM y PS remoting.

    Antes de que se pueda realizar el despliegue remoto, el equipo remoto (servidor) debe configurarse para aceptar conexiones. A continuación se muestra un ejemplo de cómo establecer una conexión SSL:

    Para permitir la ejecución, configure el servicio WinRM y el registro remoto en el equipo servidor ejecutando:

    NOTA: Si se usa PowerShell Core, omita -Protocol HTTPS de Enable-WinRMServer a continuación; esto habilitará tanto HTTP como HTTPS, lo cual es una solución temporal para que el módulo de compatibilidad funcione en la sesión remota.```powershell

    On server computer

    Set-ExecutionPolicy -Scope LocalMachine RemoteSigned Set-Location C:\Path\to\WindowsFirewallRuleset Import-Module .\Modules\Ruleset.Remote Enable-WinRMServer -Protocol HTTPS -KeepDefault -Confirm:$false Enable-RemoteRegistry -Confirm:$false

    root@kitploit:~
    Después de realizar estos pasos, dentro del directorio `\Exports` encontrará un archivo de certificado SSL (*.cer)
    que debe copiarse a la computadora de administración también en el directorio `\Exports`.\
    Por defecto, se crea un certificado SSL autofirmado si la computadora servidor no tiene uno.
    
    **NOTA:** La configuración manual de la computadora servidor se realiza solo una vez para la configuración inicial,
    no es necesario repetirla para implementaciones posteriores.
    
    El siguiente paso es pasar a la computadora de administración y ejecutar los scripts según se desee, por ejemplo:```powershell
    # On management computer
    cd C:\Path\to\WindowsFirewallRuleset\Scripts
    Deploy-Firewall -Domain "RemoteComputerName"
    

    Ambos conjuntos de comandos anteriores deben ejecutarse en la misma edición de PowerShell, por ejemplo, si el servidor se configuró en PowerShell Core, entonces la computadora cliente también necesita PowerShell Core para la implementación.
    Si el servidor o la computadora de administración es una estación de trabajo (por ejemplo, no es un servidor Windows ni parte de un dominio), entonces su perfil de red debe configurarse como privado.

    La implementación remota se puede personalizar con gran detalle en las siguientes ubicaciones:

    • Para personalizar el servicio WinRM consulte: Modules\Ruleset.Remote\Scripts\WinRMSettings.ps1
    • Para personalizar la configuración de sesión WSMan consulte: Modules\Ruleset.Remote\Scripts\*Firewall.pssc
    • Para personalizar el certificado SSL autofirmado consulte: Modules\Ruleset.Remote\Public\Register-SslCertificate.ps1
    • Para personalizar la configuración de sesión PS y CIM consulte: Modules\Ruleset.Remote\Scripts\SessionSettings.ps1

    Para obtener información adicional y consejos de solución de problemas, consulte también Ayuda de remoting

    Table of Contents

    Soporte, actualizaciones y documentación

    Para soporte, informes de problemas, sugerencias o personalización de este repositorio y métodos para actualizar periódicamente este cortafuegos, consulte SUPPORT.md

    Table of Contents

    El futuro

    Las siguientes características son deseadas y podrían estar disponibles en algún momento en el futuro:

    1. Administración remota del cortafuegos

      • Implementar la configuración del cortafuegos en múltiples computadoras remotas en redes de dominio o domésticas
    2. Conjuntos completos de reglas de cortafuegos para ediciones de Windows Server y sistemas de puerta de enlace dedicados.

    3. Escaneo del registro bajo demanda o programado para validar la integridad de la política de filtrado activa del cortafuegos y la configuración del cortafuegos

      • Cualquier regla o configuración del cortafuegos en el registro que no forme parte de este repositorio se reporta para revisión.
      • Porque el malware, los hackers e incluso el software de confianza pueden intentar eludir el cortafuegos en cualquier momento
    4. Funcionalidad completa para las siguientes ediciones aún no probadas de Windows 10.0

      • Windows 10 y 11 Pro para estaciones de trabajo
      • Windows 10 y 11 IoT Core Blast
      • Windows 10 y 11 IoT Enterprise
      • Windows 10 y 11 S
    5. Funcionalidad para sistemas x86

    Table of Contents

    Descargar herramienta