11 votos

¿Cómo puedo colocar los paquetes salientes a determinados host/puerto?

Quiero probar algo a nivel local. Por eso, me gustaría ser capaz de colocar los paquetes salientes enviados a un determinado host/puerto. Traté de jugar con reglas de pf utilizando Murus (la versión no libre), pero no han tenido éxito.

Me siento cómodo en el terminal, pero no estoy seguro donde hacer los cambios y cómo aplicarlas. Estoy familiarizado con iptables en linux.

Puedo obtener una orientación sobre cómo lograr esto?

17voto

klanomath Puntos 19587

Para bloquear permanentemente el tráfico saliente para dominios específicos y/o de los puertos debe crear una nueva ancla archivo y agregarlo a la pf.conf.

  1. Crear un ancla archivo org.usuario.el bloque.a cabo en /private/etc/pf.anclajes

    sudo touch /private/etc/pf.anchors/org.user.block.out
    

    con el siguiente contenido y un final de línea vacía

    mybadtcphosts = "{ www.domain.com, domain.com, 135.0.9.17, 10.0.0.17 }"
    mybadtcpports = "{ 443, 80 }"
    mybadudphosts = "{ www.domain3.com, domain3.com, 27.134.89.124, 192.168.5.37 }"
    mybadudpports = "{ 53, 5353 }"
    
    block drop out proto tcp from any to $mybadtcphosts port $mybadtcpports
    block drop out proto udp from any to $mybadudphosts port $mybadudpports
    

    El más nombres de dominio y direcciones IP en mybad*anfitriones son un ejemplo de cómo agregar dominios adicionales. Lo mismo va para los puertos 80/5353 en mybad*puertos.

    Un simple pero menos flexible solución es:

    block drop out proto tcp from any to domain.com port 80
    
  2. Modificar el archivo /private/etc/pf.conf pero mantener un punto vacío de la línea de

    archivo original:

    scrub-anchor "com.apple/*"
    nat-anchor "com.apple/*"
    rdr-anchor "com.apple/*"
    dummynet-anchor "com.apple/*"
    anchor "com.apple/*"
    load anchor "com.apple" from "/etc/pf.anchors/com.apple"
    

    a

    scrub-anchor "com.apple/*"
    nat-anchor "com.apple/*"
    rdr-anchor "com.apple/*"
    dummynet-anchor "com.apple/*"
    anchor "com.apple/*"
    anchor "org.user.block.out"
    load anchor "com.apple" from "/etc/pf.anchors/com.apple"
    load anchor "org.user.block.out" from "/etc/pf.anchors/org.user.block.out"
    
  3. Analizar y probar el ancla de archivo para asegurarse de que no hay errores:

    sudo pfctl -vnf /etc/pf.anchors/org.user.block.out
    
  4. Ahora modificar /System/Library/LaunchDaemons/com.apple.pfctl.plist de

    <array>
        <string>pfctl</string>
        <string>-f</string>
        <string>/etc/pf.conf</string>
    </array>
    

    a

    <array>
        <string>pfctl</string>
        <string>-e</string>
        <string>-f</string>
        <string>/etc/pf.conf</string>
    </array>
    

    Tienes que desactivar la Integridad del Sistema de Protección si El Capitán está instalado para lograr esto. Después de editar el archivo de habilitar SIP. Después de reiniciar el Mac pf será habilitado (que es la opción-e).

    Alternativamente, usted puede crear su propio lanzamiento demonio similar a la respuesta aquí: Utilizando el Server 5.0.15 para compartir internet SIN compartir la conexión de internet.

Después de una actualización del sistema o la actualización de algunos de los archivos originales anterior puede haber sido reemplazado y usted tendrá que volver a aplicar todos los cambios.


Murus:

Abierto Murus. Haga clic en el engranaje en el panel de configuración para crear una regla personalizada:

Murus Config

Introduzca todos los datos necesarios:

custom rule

Golpear el botón azul Personalizado PF regla y empezar a PF en la esquina superior derecha con el rightwards punta de flecha (o el botón de "play").

17voto

Morton Labarre Puntos 11

Usted podría utilizar el cortafuegos de PF:

Añadir esta línea a /etc/pf.conf para descartar todos los paquetes del ip:puerto

block drop out quick proto tcp  to 192.168.1.103 port 80

Después de cambiar la pf.conf usted debe cargar con

sudo pfctl -f /etc/pf.conf

Finalmente, usted tendrá que activar con

sudo pfctl -e

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X