Iptables para una sola targeta de red

Imagen de DRLice@82

Forums: 

Por cosas de la vida recientemente se me rompio el server y tuve que instalar uno emergente en Debian 6, el problema es que a la hora de configurarlo las salvas que tengo son para dos targetas de red fisicas(eth0 y eth1), no para una fisica y otra virtual (eth0 y eth0:1), como ven no es lo mismo. La interface se configura perfectamente, el problema es a la hora de configurar la iptable. Incluso cuando ejecuto el comando nmap localhost el resultado es este:
Starting Nmap 5.00 ( http://nmap.org ) at 2015-02-11 17:46 CST
Interesting ports on localhost (127.0.0.1):
Not shown: 990 closed ports
PORT STATE SERVICE
21/tcp open ftp
25/tcp open smtp
53/tcp open domain
80/tcp open http
111/tcp open rpcbind
139/tcp open netbios-ssn
445/tcp open microsoft-ds
631/tcp open ipp
3306/tcp open mysql
10000/tcp open snet-sensor-mgmt

Nmap done: 1 IP address (1 host up) scanned in 0.23 seconds

Por lo que no me funciona en la red ni los puertos del servicio de correo ni los del jabber.
Esta seria mi interface:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo eth0 eth0:1
iface lo inet loopback
address 127.0.0.1
netmask 255.0.0.0
# The primary network interface
allow-hotplug eth0
# Interfaz Interna
iface eth0 inet static
address (IP WAN)
netmask 255.255.255.252
broadcast 255.255.255.255
gateway (IP Router)

# Interfaz Externa
iface eth0:1 inet static
address (IP del Server)
netmask 255.255.255.0
broadcast 255.255.255.255
network 192.168.0.0
pre-up /etc/network/if-up.d/firewall start
post-down /etc/network/if-up.d/firewall stop

Cualquier ayuda es valida. necesito una explicacion detallada, soy nuevo en esto.

De momento estos son algunos de los puertos que necesito:
21, 25, 53, 80, 110, 143, 8080, 443, 465, 587, 3128, 993, 995, 1080, 1194, 5222, 5223

si usas el server como proxy

Imagen de falcom

si usas el server como proxy/firewall, no te recomiendo usar una nic fisica y una virtual ni a bala... de ley tienen q ser 2 nics físicas....
comprate una de esas baratas de 20 dol dlink no se si debian las lea (centos la lee perfectamente) hasta q salgas del apuro!!

Salu2

Imagen de DRLice@82

Este es un ejemplo qe encontre en internet, ayudenme a darle seguridad, el escaner en caso de probarlo de seguro me daria anywhere. Esa solucion que me dices es verdad que seria la mas acertada, comprar otra targeta de red y listo, de haberlo hecho no hubise escrito nada en este foro. La idea es encontrar una solucion cuando tengamos algun problema como este y tengamos que configurar una sola targeta de red en nuestra empresa. Este ejemplo que les dejo es para ver propuestas de seguridad que lo usuarios darian ante esta situacion, de momento este no tiene ningun tipo de seguridad, esta totalmente abierto al mundo, lo cual es tremendo rollo con los hakers. De paso hechenle un vistazo a mi blog http://silenciososenlared.cubava.cu y opinen en el. Escriban propuestas de iptables para asi aprender todos, yo hire probando cada una de sus apropuestas y les hire diciendo si funcionan.

#!/bin/sh
# FIREWALL-IPTABLES-SKY ###
###############
## DRLice@82 ##
###############
## Interfaces
EXTIF=eth0
INTIF=192.168.0.0/24
#---------------------------------------------------------------------------------
## Vaciar las reglas
iptables -F
iptables -X
iptables -Z
iptables -t nat -F ja ja ja ja
iptables -t nat -X

## Establecer Politica
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT

## Permitir el trafico loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

## Aplicar las Reglas
iptables -A INPUT -s $INTIF -j ACCEPT
iptables -A INPUT -s 192.168.0.0/24 -p tcp --sport 1:1024 -j ACCEPT
iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 1025:65535 ! --syn -j ACCEPT
iptables -A INPUT -s 192.168.0.0/24 -p udp --sport 1:1024 -j ACCEPT
iptables -A OUTPUT -d $INTIF -j ACCEPT
iptables -A OUTPUT -d 192.168.0.0/24 -p tcp --sport 1025:65535 -j ACCEPT
iptables -A INPUT -p udp -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p udp -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
iptables -A INPUT -p tcp -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -m state --state NEW,ESTABLISHED -j ACCEPT

# FORWARD
iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 143 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 808 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 465 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 587 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 808 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 993 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 995 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 1080 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 1194 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 5222 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 5223 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 8080 -j ACCEPT
# Activamos el bit de forward
echo 1 > /proc/sys/net/ipv4/ip_forward

# Enmascaramos la salida de la LAN
iptables -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE

# Salvar Reglas
iptables-save > /var/log/firewall
exit

Este script como muchos que

Imagen de deathUser

Este script como muchos que vas a encontrar en Internet en general está bien, en ocasiones vas a encontrar que los scripts hacen uso de las interfaces para aceptar todo el tráfico de la red local por ejemplo, en estos casos es muy probable que una interfaz virtual no sea aceptada en el script (por el comando iptables) por otro lado, lo optimo es separar las redes físicamente, en tu caso tendrás que conectar el router/modem directo a un swhitch/hub en el mismo segmento físico de red que tu red interna, sin tener separación alguna, esto puede incluso crearte problemas de colisiones, etc ...

Es por eso la importancia de tener al menos dos tarjetas físicas en un router/firewall ...

Probaste el script que publicaste ...???
Te es funcional para tu red ???
Has monitoreado o te han reportado problemas con la red desde el cambio ...???

bye
;)

Salu2

Imagen de DRLice@82

Bueno, ese ejemplo funciona bien para la red, pero es demaciado abierto al mundo, es facil hakearlo, por eso la duda de como cerrar ese iptable, ademas de que el fuchero de Interfaces que puse anteriormenmte tambien funciona, la esencia del tema yo la centraria en asegurar un iptable con los puertos que ya mencione y que me cierre los otros, de paso el scaner de puertos sigue siendo el mismo y el de iptables sigue con el anywhare.
Colegas necesito ayuda con esos dichosos puertos o algun ejemplo de iptables seguro.

Interesting ports on localhost (127.0.0.1):
Not shown: 990 closed ports
PORT STATE SERVICE
21/tcp open ftp
25/tcp open smtp
53/tcp open domain
80/tcp open http
111/tcp open rpcbind
139/tcp open netbios-ssn
445/tcp open microsoft-ds
631/tcp open ipp
3306/tcp open mysql
10000/tcp open snet-sensor-mgmt

Nmap done: 1 IP address (1 host up) scanned in 0.23 seconds

De momento estos son algunos de los puertos que necesito:
21, 25, 53, 80, 110, 143, 8080, 443, 465, 587, 3128, 993, 995, 1080, 1194, 5222, 5223

No entiendo bien tu

Imagen de deathUser

No entiendo bien tu requerimiento, veo que los CHAINS INPUT y OUTPUT tienen DROP como política por defecto, por lo que no estarán abiertos los puertos que no especifiques con reglas como las que muestras en el ejemplo:
iptables -A INPUT -s 192.168.0.0/24 -p tcp --sport 1:1024 -j ACCEPT

en el caso de el CHAIN forward la política por defecto está en ACCEPT, por lo que las reglas de:

iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT
... etc

Son redundantes e innecesarias a no ser que pongas la política de default en DROP ...

Trata de ser más claro en tu requerimiento ...

Qué es lo que necesitas de estos puertos ...???

[quote=DRLice@82]De momento estos son algunos de los puertos que necesito:
21, 25, 53, 80, 110, 143, 8080, 443, 465, 587, 3128, 993, 995, 1080, 1194, 5222, 5223[/quote]

bye
;)

brother arreglame eso,

Imagen de DRLice@82

brother arreglame eso, escribe tu propuesta, te dire que para mi es concurso, no me sale, eso que puse no lo hice yo, es simplemente un ejemplo que encontre en un foro, lo probe y funciona pero esta libre al mundo, ayudenme a ponerlo en orden, imeginense que es para ustedes mismo. Se lo voy a agradecer.

Gracias por sus respuestas. por favor estoy enredado con eso y de momento no tengo otra targeta fisica por lo que le dije anteriormente.
Salu2

No se si aún lo necesites,

Imagen de deathUser

No se si aún lo necesites, pero deberías poner un par de líneas como estas:


iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited
iptables -A FORWARD -j REJECT --reject-with icmp-host-prohibited

Después del último ACCEPT de las reglas, con eso debería cerrarse todo el tráfico no especificado por las reglas ACCEPT.

Suerte ...

bye
;)

PD: perdón por la demora, andaba de vacaciones :D

Estoy de acuerdo contigo,

Imagen de DRLice@82

Estoy de acuerdo contigo, pero ese problema le puede pasar a cualquiera en un momento determinado, ademas por cuestiones del bloqueo a mi pais de momento no es posible conseguir otra targeta de red. Soy cubano brother. De todas formas es un buen problema para solucionar, y como tu mismo dices el router esta conectado al swhitch de mi red local.

Páginas