Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki

Seguridad: Instalar Firestarter, apertura de puertos para aMule en Linux
Linux


En este manual os explicamos como instalar Firestarter y como abrir puertos en Netfilter. En este caso se ha utilizado la distribución Ubuntu 6.10 de Linux. Os indicamos como abrir los puertos necesarios para que aMule no tenga ID Baja.



Instalación, configuración de Firestarter y apertura de puertos para aMule en Linux Ubuntu 6

Instalación, configuración de Firestarter y apertura de puertos para aMule en Linux Ubuntu 6

En este manual os explicamos como instalar Firestarter y como a través de esta aplicación se pueden abrir puertos en el Netfilter (que es el conjunto de herramientas dentro del núcleo de Linux que interceptan y manipulan paquetes de red), ya que lo que hace Firestarter es modificar el fichero iptables, que es el fichero donde se encuentran todas las reglas de nuestra máquina para el acceso a la red y hace de intérprete del Netfilter para que éste sepa qué paquetes debe dejar pasar o denegar su acceso. En este caso se ha utilizado la distribución Ubuntu 6.10 de Linux.

 

En la siguiente ventana se puede observar como el programa de P2P aMule da ID-Baja, debido a que el firewall (cortafuegos) tiene cerrados los puertos que necesita aMule por defecto:

Para abrir estos puertos de una forma sencilla vamos a proceder a instalar Firestarter:

1. Para llevar acabo la instalación de FireStarter, pulsamos en "Sistema", "Administración", "Gestor de paquetes Synaptic":

2. Ahora pulsarmos sobre el botón "Buscar":

3. En la siguiente ventana escribiremos el programa a buscar, en este caso Firestarter y pulsamos "Buscar":

4. Después de un cierto tiempo no saldrá el paquete que buscábamos. Si no aparece pulsa aquí, te explicamos cómo configurar el Gestor de Paquetes Synaptic para que aparezca . Para poder instalarlo pulsamos sobre el paquete ha instalar con el botón derecho del ratón y seleccionamos "Marcar para instalar":

5. Para aplicar todos los cambios seleccionados, pulsamos sobre "Aplicar" como muestra la imagen:

6. Una vez finalizada la instalación nos lo indicará con un cuadro de diálogo, donde nos indica que los cambios se han llevado acabo con éxito. Pulsamos "Cerrar" y ya tenemos instalado Firestarter:

7. Una vez instalado procederemos a su cofiguración para ello pulsamos en "Sistema", "Administración" y seleccionamos Firestarter:

8. La primera vez que lo ejecutamos no saldrá el asistente de configuración del cortafuegos, pulsamos "Adelante":

9. En la siguiente ventana tenemos que seleccionar la tarjetea de red que utilicemos para la conexión a Internet:

10. Si pulsamos sobre "Dispositivo(s) detectado(s)" veremos el siguiente despeglabe, en nuestro caso ha detectado varias tarjetas de red:

Para identificar la tarjeta de red activa (la que utilizamos) haremos un ifconfig en una ventana de Terminal de Linux. La tarjeta de red que está conectada a la red, en nuestro caso, es la "eth0", la cual tiene asiganada la IP: 192.168.1.12, anotamos pues la necesitaremos más adelante:

Pulsa aquí para ver el resultado (en texto) del comando ifconfig

11. En este paso solamente marcaremos la casilla "Activar la compartición de la conexión a internet" si queremos que nuestro ordeanador sea el que hace de servidor de DHCP y el provee Internet a los demás ordenadores de nuestra red. En nuestro caso, puesto que se está utlizando un router y un switch para la conexión a Internet, no necesitamos utilizar un PC como proxy, aunque sería interesante para instalar un filtro de contenidos web gratuito para la navegación por Internet, o como cortafuegos de nuestra conexión. Estas configuraciones las mostraremos en otros artículos. Pulsaremos "Adelante" para continuar:

12. A continuación nos da la posibilidad de iniciar el cortafuegos ahora, en este punto hay que proceder con precaución pues si estamos configurando Linux Ubuntu de forma remota (con VNC, con escritorio remoto, etc) al marcar esta opción nos cortará la conexión. Si estamos configurándolo de forma local (en el equipo) podremos activarlo sin problemas. Pulsamos "Guardar" para continuar con la configuración de Firestarter :

13. Ya tenemos configurados los parámetros generales, ahora vamos a abrir los puertos necesarios para que aMule no nos dé "ID-Alta", para ello pusamos sobre la pestaña/solapa "Normativa":

14. Pulsamos en el desplegable "Normativa para el tráfico entrante":

nos mostrará un despegable con las siguientes opciones "Normativa para el tráfico entrante" ó "Normativa para el tráfico saliente", en este caso debemos elegir "Normativa para el tráfico entrante" ya que a lo que queremos darle permiso es al tráfico entrante de aMule:

15. Pulsamos en el espacio señalado (debajo de "Permitir las conexiones desde el host") y posteriormente pulsamos sobre "Añadir reglas":

16. En "IP, host o red" añadiremos la IP obtenida con el comando ifconfig en el paso nº 10, en nuestro caso la 192.168.1.12. En "Comentario" podremos introducir un texto explicativo para saber por qué pusimos esta regla, podemos dejarlo en blanco, o poner algo así como "Para acceso externo a mi PC".

17. Una vez añadida nuestra IP, añadimos los puertos que queramos abrir, en nuestro caso el 4662 y el 4672. Para ello pulsaremos en el espacio señalado en la imagen y luego pulsaremos en "Añadir reglas":

18. En la ventana "Añadir regla nueva de entrada", en "Permitir servicio", "Puerto", introducimos el puerto que queramos abrir, en nuestro caso el 4662. Si Firestarter reconoce el puerto introducido, le asignará un nombre automáticamente. Si no lo detecta podemos asignarle nosotros el que queramos o incluso cambiar el que nos asigna (esto no afecta al funcionamiento de la regla, es a título informativo). Podremos indicar también si queremos restringir el uso de este puerto sólo a una IP o rango de IPs, en cuyo caso marcaríamos "IP, host o red", pero para aMule es necesario permitir cualquier IP externa, para ello marcaremos "Cualquiera". También podremos introducir un comentario como "Puerto para aMule" que nos indique a título informativo para qué sirve el puerto, esto es útil cuando tenemos muchas reglas y puertos abiertos, así los tendremos identificados. Una vez introducido el puerto y el comentario, pulsamos "Añadir" para insertar la regla:

Para los restantes puertos (4672) volveremos a realizar la misma acción:

19. Una vez añadidas las direcciones IP deseadas y abiertos los puertos, pulsaremos sobre "Aplicar normativa" para que los cambios tengan efecto. Con esto tendremos los puertos abiertos y los cambios salvados en el fichero iptables::

Nota: no es necesario tener Firestarter abierto para que esté funcionando el cortafuegos, Firestarter sólo sirve para configurar el fichero iptables, para iniciar/detener el cortafuegos, etc, pero no es necesario para su funcionamiento.

20. Podremos observar ahora como al conectarnos a cualquier servidor de aMule, éste ya no nos da ID-Baja:

Nota: por supuesto, si tenemos un router en nuestra red deberemos redireccionar/mapear los puertos de aMule a nuestra IP (en nuestro caso 192.168.1.12). Podréis ver un manual sobre cómo abrir los puertos en el router pulsando aquí (es para eMule, pero sirve también para aMule).

 

 

ANEXO

* Contenido del fichero iptables original (antes de crear reglas):

# Generated by iptables-save v1.3.5 on Fri Mar 23 02:05:35 2007
*mangle
:PREROUTING ACCEPT [214:92445]
:INPUT ACCEPT [214:92445]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [247:36767]
:POSTROUTING ACCEPT [247:36767]
COMMIT
# Completed on Fri Mar 23 02:05:35 2007
# Generated by iptables-save v1.3.5 on Fri Mar 23 02:05:35 2007
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
:INBOUND - [0:0]
:LOG_FILTER - [0:0]
:LSI - [0:0]
:LSO - [0:0]
:OUTBOUND - [0:0]
-A INPUT -s 192.168.1.1 -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
-A INPUT -s 192.168.1.1 -p udp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -m limit --limit 10/sec -j ACCEPT
-A INPUT -d 255.255.255.255 -i eth0 -j DROP
-A INPUT -d 192.168.1.255 -j DROP
-A INPUT -s 224.0.0.0/255.0.0.0 -j DROP
-A INPUT -d 224.0.0.0/255.0.0.0 -j DROP
-A INPUT -s 255.255.255.255 -j DROP
-A INPUT -d 0.0.0.0 -j DROP
-A INPUT -m state --state INVALID -j DROP
-A INPUT -f -m limit --limit 10/min -j LSI
-A INPUT -i eth0 -j INBOUND
-A INPUT -j LOG_FILTER
-A INPUT -j LOG --log-prefix "Unknown Input" --log-level 6
-A FORWARD -p icmp -m limit --limit 10/sec -j ACCEPT
-A FORWARD -j LOG_FILTER
-A FORWARD -j LOG --log-prefix "Unknown Forward" --log-level 6
-A OUTPUT -s 192.168.1.12 -d 192.168.1.1 -p tcp -m tcp --dport 53 -j ACCEPT
-A OUTPUT -s 192.168.1.12 -d 192.168.1.1 -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -s 224.0.0.0/255.0.0.0 -j DROP
-A OUTPUT -d 224.0.0.0/255.0.0.0 -j DROP
-A OUTPUT -s 255.255.255.255 -j DROP
-A OUTPUT -d 0.0.0.0 -j DROP
-A OUTPUT -m state --state INVALID -j DROP
-A OUTPUT -o eth0 -j OUTBOUND
-A OUTPUT -j LOG_FILTER
-A OUTPUT -j LOG --log-prefix "Unknown Output" --log-level 6
-A INBOUND -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INBOUND -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INBOUND -j LSI
-A LSI -j LOG_FILTER
-A LSI -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 1/sec -j LOG --log-prefix "Inbound " --log-level 6
-A LSI -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j DROP
-A LSI -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -m limit --limit 1/sec -j LOG --log-prefix "Inbound " --log-level 6
-A LSI -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -j DROP
-A LSI -p icmp -m icmp --icmp-type 8 -m limit --limit 1/sec -j LOG --log-prefix "Inbound " --log-level 6
-A LSI -p icmp -m icmp --icmp-type 8 -j DROP
-A LSI -m limit --limit 5/sec -j LOG --log-prefix "Inbound " --log-level 6
-A LSI -j DROP
-A LSO -j LOG_FILTER
-A LSO -m limit --limit 5/sec -j LOG --log-prefix "Outbound " --log-level 6
-A LSO -j REJECT --reject-with icmp-port-unreachable
-A OUTBOUND -p icmp -j ACCEPT
-A OUTBOUND -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTBOUND -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTBOUND -j ACCEPT
COMMIT
# Completed on Fri Mar 23 02:05:35 2007

* Contenido del fichero iptables tras la apertura de puertos para aMule (después de crear las reglas):

# Generated by iptables-save v1.3.5 on Sun Mar 25 19:56:38 2007
*mangle
:PREROUTING ACCEPT [1769:2350962]
:INPUT ACCEPT [1769:2350962]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1176:65942]
:POSTROUTING ACCEPT [1199:68322]
COMMIT
# Completed on Sun Mar 25 19:56:38 2007
# Generated by iptables-save v1.3.5 on Sun Mar 25 19:56:38 2007
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [20:3188]
:INBOUND - [0:0]
:LOG_FILTER - [0:0]
:LSI - [0:0]
:LSO - [0:0]
:OUTBOUND - [0:0]
-A INPUT -s 192.168.1.1 -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
-A INPUT -s 192.168.1.1 -p udp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -m limit --limit 10/sec -j ACCEPT
-A INPUT -d 255.255.255.255 -i eth0 -j DROP
-A INPUT -d 192.168.1.255 -j DROP
-A INPUT -s 224.0.0.0/255.0.0.0 -j DROP
-A INPUT -d 224.0.0.0/255.0.0.0 -j DROP
-A INPUT -s 255.255.255.255 -j DROP
-A INPUT -d 0.0.0.0 -j DROP
-A INPUT -m state --state INVALID -j DROP
-A INPUT -f -m limit --limit 10/min -j LSI
-A INPUT -i eth0 -j INBOUND
-A INPUT -j LOG_FILTER
-A INPUT -j LOG --log-prefix "Unknown Input" --log-level 6
-A FORWARD -p icmp -m limit --limit 10/sec -j ACCEPT
-A FORWARD -j LOG_FILTER
-A FORWARD -j LOG --log-prefix "Unknown Forward" --log-level 6
-A OUTPUT -s 192.168.1.12 -d 192.168.1.1 -p tcp -m tcp --dport 53 -j ACCEPT
-A OUTPUT -s 192.168.1.12 -d 192.168.1.1 -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -s 224.0.0.0/255.0.0.0 -j DROP
-A OUTPUT -d 224.0.0.0/255.0.0.0 -j DROP
-A OUTPUT -s 255.255.255.255 -j DROP
-A OUTPUT -d 0.0.0.0 -j DROP
-A OUTPUT -m state --state INVALID -j DROP
-A OUTPUT -o eth0 -j OUTBOUND
-A OUTPUT -j LOG_FILTER
-A OUTPUT -j LOG --log-prefix "Unknown Output" --log-level 6
-A INBOUND -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INBOUND -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INBOUND -s 192.168.1.12 -j ACCEPT
-A INBOUND -p tcp -m tcp --dport 4662 -j ACCEPT
-A INBOUND -p udp -m udp --dport 4662 -j ACCEPT
-A INBOUND -p tcp -m tcp --dport 4672 -j ACCEPT
-A INBOUND -p udp -m udp --dport 4672 -j ACCEPT
-A INBOUND -j LSI
-A LSI -j LOG_FILTER
-A LSI -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 1/sec -j LOG --log-prefix "Inbound " --log-level 6
-A LSI -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j DROP
-A LSI -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -m limit --limit 1/sec -j LOG --log-prefix "Inbound " --log-level 6
-A LSI -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -j DROP
-A LSI -p icmp -m icmp --icmp-type 8 -m limit --limit 1/sec -j LOG --log-prefix "Inbound " --log-level 6
-A LSI -p icmp -m icmp --icmp-type 8 -j DROP
-A LSI -m limit --limit 5/sec -j LOG --log-prefix "Inbound " --log-level 6
-A LSI -j DROP
-A LSO -j LOG_FILTER
-A LSO -m limit --limit 5/sec -j LOG --log-prefix "Outbound " --log-level 6
-A LSO -j REJECT --reject-with icmp-port-unreachable
-A OUTBOUND -p icmp -j ACCEPT
-A OUTBOUND -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTBOUND -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTBOUND -j ACCEPT
COMMIT
# Completed on Sun Mar 25 19:56:38 2007

* Resultado de la ejecución del comando ifconfig:

alonso@pclinux:~$ sudo ifconfig
Password:
eth0 Link encap:Ethernet HWaddr 00:17:31:F5:C7:05
inet addr:192.168.1.12 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::217:31ff:fef5:c705/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2128 errors:0 dropped:0 overruns:0 frame:0
TX packets:1499 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2456154 (2.3 MiB) TX bytes:133321 (130.1 KiB)
Interrupt:169 Base address:0xc800

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:2 errors:0 dropped:0 overruns:0 frame:0
TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:84 (84.0 b) TX bytes:84 (84.0 b)

vmnet1 Link encap:Ethernet HWaddr 00:50:56:C0:00:01
inet addr:192.168.205.1 Bcast:192.168.205.255 Mask:255.255.255.0
inet6 addr: fe80::250:56ff:fec0:1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

vmnet8 Link encap:Ethernet HWaddr 00:50:56:C0:00:08
inet addr:172.16.98.1 Bcast:172.16.98.255 Mask:255.255.255.0
inet6 addr: fe80::250:56ff:fec0:8/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

alonso@pclinux:~$

 

* Configurar Synaptic para que aparezca "Firestarter" como paquete instalable:

 

 

* Para realizar este artículo hemos utilizado:

  • Linux Ubuntu 6.10 (distribución de Linux basada en Debian).
  • Firestarter 1.0.3.
  • aMule 2.1.3.


Nota: Artículo realizado por Kronxito (PPJ).
Anuncios


Enviado el Sábado, 24 marzo a las 06:23:00 por ajpdsoft
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A