Cómo bloquear una aplicación con iptable que usa un puerto aleatorio

0

Escenario:

Mi objetivo era permitir que TeamViewer se conecte solo a mi estación de trabajo doméstica. Así que he tratado de vincular el MAC de mi computadora portátil con una regla de IPtables como sigue,

[arif@arif:~]$ sudo iptables -I INPUT -p tcp --destination-port 5938 -m mac ! --mac-source xx:xx:xx:xx:xx:xx -j DROP
[arif@arif:~]$ sudo iptables -I INPUT -p udp --destination-port 5938 -m mac ! --mac-source xx:xx:xx:xx:xx:xx -j DROP

Según este artículo Teamviewer primero intenta conectarse a través del puerto 5938, luego 443 luego 80. Pero el bloqueo de estos puertos (afortunadamente no estoy usando ningún servicio web) no detiene a Teamviewer para conectarse desde un dispositivo desconocido. Luego intenté verificar qué puerto está utilizando Teamviewer para conectarse,

Antes de conectarse, utilice el puerto mediante el demonio TeamViewer

[arif@arif:~]$ sudo netstat -tulpn | grep teamviewer
tcp        0      0 127.0.0.1:5940          0.0.0.0:*               LISTEN      24323/teamviewerd  

Después de conectarse con destop remoto,

[arif@arif:~]$ sudo netstat -tulpn | grep teamviewer
tcp        0      0 127.0.0.1:5940          0.0.0.0:*               LISTEN      24323/teamviewerd   
udp        0      0 0.0.0.0:42275           0.0.0.0:*                           24323/teamviewerd 

Así que pensé que ahora tengo que bloquear los puertos 5940 y 42275 en lugar de 5938 y hice lo siguiente,

[arif@arif:~]$ sudo iptables -L | head -n 4
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
DROP       udp  --  anywhere             anywhere             udp dpt:42275 MAC ! xx:xx:xx:xx:xx:xx
DROP       tcp  --  anywhere             anywhere             tcp dpt:5940 MAC ! xx:xx:xx:xx:xx:xx

Pero cuando intenté conectarme de nuevo, se conectó correctamente y esto sucedió,

[arif@arif:~]$ sudo netstat -tulpn | grep teamviewer
tcp        0      0 127.0.0.1:5940          0.0.0.0:*               LISTEN      24323/teamviewerd   
udp        0      0 0.0.0.0:34775           0.0.0.0:*                           24323/teamviewerd  

Y no hay nada en el puerto 80 y 443,

[arif@arif:~]$ sudo netstat -plnt | grep ':80'     
[arif@arif:~]$ sudo netstat -plnt | grep ':443'
[arif@arif:~]$ 

Pregunta:

¿Cómo puedo bloquear este tipo de aplicaciones que usan puertos aleatorios para conectarse?

    
pregunta Muhammad 17.07.2017 - 01:52
fuente

1 respuesta

1

¿Por qué no solo incluir en la lista blanca los puertos a los que desea acceder en lugar de intentar incluirlos en una lista negra para cada uno de ellos? Usted sabe que USTED deseará conectarse a su dispositivo, incluirá en la lista blanca los servicios que usará y debería estar listo.

    
respondido por el Josh Ross 17.07.2017 - 10:15
fuente

Lea otras preguntas en las etiquetas