Cerrar puertos 139, 2049 y 10000
Hola lista: Tengo una pequeña red local con un ordenador con dos tarjetas de red que realiza funciones de cortafuegos y router y que tiene instalado Suse 9.2. Ese ordenador realiza funciones de servidor web y ftp accesible tanto desde la red interna como desde internet. Pero también comparte carpetas en la intranet mediante samba y nfs, y al hacer un nmap a la ipexterna, veo que tiene abiertos los puertos 139:smb y 2049:nfs. Lo mismo me pasa con webmin, que usa el puerto 10000 y que quiero que esté accesible solamente desde la red interna. Querría cerrarlos, pero con yast no encuentro la forma de decirle que esos servicios solamente están disponibles para el interface eth0 En la pantalla de servicios de la configuración del cortafuegos, solamente tengo activos los servicios http y https. A ver si me podeis echar una mano. Joaquin
El 2005-03-09 a las 01:24 +0100, Joaquin Felipe escribió:
Hola lista: Tengo una pequeña red local con un ordenador con dos tarjetas de red que realiza funciones de cortafuegos y router y que tiene instalado Suse 9.2. Ese ordenador realiza funciones de servidor web y ftp accesible tanto desde la red interna como desde internet. Pero también comparte carpetas en la intranet mediante samba y nfs, y al hacer un nmap a la ipexterna, veo que tiene abiertos los puertos 139:smb y 2049:nfs.
¿En el fichero "/etc/sysconfig/SuSEfirewall2", que tienes en estas variables? FW_QUICKMODE FW_DEV_EXT= FW_DEV_INT FW_DEV_DMZ FW_SERVICES_EXT_* FW_SERVICES_INT_* -- Saludos Carlos Robinson
El Miércoles, 9 de Marzo de 2005 13:28, Carlos E. R. escribió:
¿En el fichero "/etc/sysconfig/SuSEfirewall2", que tienes en estas variables?
FW_QUICKMODE FW_QUICKMODE="no" FW_DEV_EXT= FW_DEV_EXT="eth-id-00:e0:7d:b0:0c:3c" FW_DEV_INT FW_DEV_INT="eth-id-00:0b:6a:ae:3e:de" FW_DEV_DMZ FW_DEV_DMZ="" FW_SERVICES_EXT_* FW_SERVICES_EXT_TCP="http https ssh" FW_SERVICES_EXT_UDP="" FW_SERVICES_EXT_IP="" FW_SERVICES_EXT_RPC="" FW_SERVICES_INT_* FW_SERVICES_INT_TCP="" FW_SERVICES_INT_UDP="" FW_SERVICES_INT_IP="" FW_SERVICES_INT_RPC=""
Y estas variables coinciden con lo que configuro en yast, pero esta es la salida que me da el comando nmap: (The 1649 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 21/tcp open ftp 22/tcp open ssh 80/tcp open http 111/tcp open rpcbind 139/tcp open netbios-ssn 445/tcp open microsoft-ds 1012/tcp open unknown 1025/tcp open NFS-or-IIS 2049/tcp open nfs 3306/tcp open mysql 10000/tcp open snet-sensor-mgmt En cambio, al conectarme a la página http://www.upseros.com/portscan.php me indica que están abiertos solamente el 22 (ssh) y el 80 (http), y que los demás están cerrados. Por lo que creo que el problema es que debo de estar ejecutando mal el comando nmap. Lo estoy haciendo desde el propio servidor, apuntando a la ip externa, y eso no debe ser correcto. (no tengo otro ordenador desde fuera para hacer el nmap hacia el mío) Supongo que hay que lanzarlo realmente desde fuera de la red para que los resultados sean fiables, ¿no? Joaquin
Eso te pasa porque estas haciendo nmap desde dentro del sistema y puedes fijarte que la opcion FW_SERVICES_EXT_TCP apunta a tener abiertos los puertos "http https ssh", y solo te salen los puertos 22 y 80. El 443 no te sale como abierto porque tu servidor apache no esta configurado para que responda por ssl. El resultadoq ue te dá esa página es confiable (en términos generales). El Mié 09 Mar 2005 7:07 PM, Joaquin Felipe escribió:
El Miércoles, 9 de Marzo de 2005 13:28, Carlos E. R. escribió:
¿En el fichero "/etc/sysconfig/SuSEfirewall2", que tienes en estas variables?
FW_QUICKMODE
FW_QUICKMODE="no"
FW_DEV_EXT=
FW_DEV_EXT="eth-id-00:e0:7d:b0:0c:3c"
FW_DEV_INT
FW_DEV_INT="eth-id-00:0b:6a:ae:3e:de"
FW_DEV_DMZ
FW_DEV_DMZ=""
FW_SERVICES_EXT_*
FW_SERVICES_EXT_TCP="http https ssh" FW_SERVICES_EXT_UDP="" FW_SERVICES_EXT_IP="" FW_SERVICES_EXT_RPC=""
FW_SERVICES_INT_*
FW_SERVICES_INT_TCP="" FW_SERVICES_INT_UDP="" FW_SERVICES_INT_IP="" FW_SERVICES_INT_RPC=""
Y estas variables coinciden con lo que configuro en yast, pero esta es la salida que me da el comando nmap:
(The 1649 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 21/tcp open ftp 22/tcp open ssh 80/tcp open http 111/tcp open rpcbind 139/tcp open netbios-ssn 445/tcp open microsoft-ds 1012/tcp open unknown 1025/tcp open NFS-or-IIS 2049/tcp open nfs 3306/tcp open mysql 10000/tcp open snet-sensor-mgmt
En cambio, al conectarme a la página http://www.upseros.com/portscan.php me indica que están abiertos solamente el 22 (ssh) y el 80 (http), y que los demás están cerrados.
Por lo que creo que el problema es que debo de estar ejecutando mal el comando nmap. Lo estoy haciendo desde el propio servidor, apuntando a la ip externa, y eso no debe ser correcto. (no tengo otro ordenador desde fuera para hacer el nmap hacia el mío) Supongo que hay que lanzarlo realmente desde fuera de la red para que los resultados sean fiables, ¿no? Joaquin
-- ********************************* Hugo Sandoval Consultor Senior www.softwarelibre.com.ve hugo@softwarelibre.com.ve spock@linux.org.ve hsandoval@ven.org hugospock@yahoo.com 58-261-7560687 58-416-4617402 58-261-7560836 ********************************* "Linux se escribe con 1 'L': L de Libertad. Microsoft se escribe con 4 'M': Monopolio. Malo. Muy Malo." HS: caviliáte!
El 2005-03-10 a las 00:07 +0100, Joaquin Felipe escribió:
Por lo que creo que el problema es que debo de estar ejecutando mal el comando nmap. Lo estoy haciendo desde el propio servidor, apuntando a la ip externa, y eso no debe ser correcto. (no tengo otro ordenador desde fuera para hacer el nmap hacia el mío)
¡Acabaramos!
Supongo que hay que lanzarlo realmente desde fuera de la red para que los resultados sean fiables, ¿no?
¡Claro! :-P -- Saludos Carlos Robinson
Hola a todos. Tendrás que echarle mano a tus conocimientos de consola ;-) Edita el archivo /etc/sysconfig/SuSEfirewall2 y buscas los valores: FW_SERVICES_EXT_TCP FW_SERVICES_EXT_UDP FW_SERVICES_INT_TCP FW_SERVICES_INT_UDP Es en estos valores donde puedes definir cuales puertos estaran abiertos para determinado protocolo y determinada interface. EXT -> EXTERNO, INT -> INTERNO. Con esto tendras una idea de como configurar lo que quieres. Los puertos que no estén definidos acá estan cerrados por defecto. Luego reinicias el firewall: SuSEfirewall2 stop ; SuSEfirewall2 start Suerte. P.D. Puedes leerte los otros valores que estan -cerca- de estos y para que sirven, es muy probable que apliquen a cualquier otra configuración que desees hacer (Dropping de paquetes, zona desmilitarizada, etc). El Mar 08 Mar 2005 8:24 PM, Joaquin Felipe escribió:
Hola lista: Tengo una pequeña red local con un ordenador con dos tarjetas de red que realiza funciones de cortafuegos y router y que tiene instalado Suse 9.2. Ese ordenador realiza funciones de servidor web y ftp accesible tanto desde la red interna como desde internet. Pero también comparte carpetas en la intranet mediante samba y nfs, y al hacer un nmap a la ipexterna, veo que tiene abiertos los puertos 139:smb y 2049:nfs. Lo mismo me pasa con webmin, que usa el puerto 10000 y que quiero que esté accesible solamente desde la red interna. Querría cerrarlos, pero con yast no encuentro la forma de decirle que esos servicios solamente están disponibles para el interface eth0 En la pantalla de servicios de la configuración del cortafuegos, solamente tengo activos los servicios http y https.
A ver si me podeis echar una mano. Joaquin
-- ********************************* Hugo Sandoval Consultor Senior www.softwarelibre.com.ve hugo@softwarelibre.com.ve spock@linux.org.ve hsandoval@ven.org hugospock@yahoo.com 58-261-7560687 58-416-4617402 58-261-7560836 ********************************* "Linux se escribe con 1 'L': L de Libertad. Microsoft se escribe con 4 'M': Monopolio. Malo. Muy Malo." HS: caviliáte!
Hola, he estado leyendo estos dias acerca de zebra, creo que es una buena opcion para hacer que dos subredes se miren entre si, lo que quiero es lograr hacer un ping desde la red 10.10.0.X a la 10.10.1.X. Alguien me podria ayudar, tengo zebra instalado y corriendo tengo dos interfaces de red eth0 y eth1, creen que es posible que lo logre o que me recomiendan. Gracias por su ayuda. ATT
El Miércoles, 9 de Marzo de 2005 01:24, Joaquin Felipe escribió:
ismo me pasa con webmin, que usa el puerto 10000 y que q
Antes de nada saludarles porque hace mucho que no escribo en la lista y por lo tanto, respondo a este mensaje con "responder" de KMail, decidme por favor si es correcto. Respecto a los puertos aquí unas reglas de iptables :) explicadas por supuesto Harás un script: #!/bin/bash iptables -A INPUT -i eth0 -s 192.168.0.0/16 -p tcp -m multiport --sports 139,2049,10000 -j ACCEPT iptables -A INPUT -i eth0 -s 192.168.0.0/16 -p udp -m multiport --sports 139,2049 -j ACCEPT iptables -A INPUT -i eth1-s any/0 -p tcp -m multiport --sports 139,2049,10000 -j DROP iptables -A INPUT -i eth1 -s any/0 -p udp -m multiport --sports 139,2049,10000 -j DROP Basicamente eso, te explico: 1 - regla nueva de trafico entrante, desde una red de clase C y mediante el protocolo TCP permite conectar a 139 2049 y 10000 2 - Al igual que el anterior, pero mediante protocolo UDP y permite conectar solo al 139 y 2049 (el webmin no usa udp que yo sepa) 3 y 4 - Bloquea todo el tráfico a esos puertos Esto va en cascada, se empieza a ejecutar de arriba a abajo, osea si quieres ñadir algo ha de ser antes de bloquearlo. NFS permítelo solo a la red local. YO haría esto, suponiendo que eth0 es la LAN y eth1, por ejemplo internet #!/bin/bash iptables -A INPUT -i eth0-s 192.168.0.0/16 -p tcp -m multiport --sports 139,2049,10000 -j ACCEPT iptables -A INPUT -i eth0 -s 192.168.0.0/16 -p udp -m multiport --sports 139,2049 -j ACCEPT iptables -A INPUT -i eth1 -s any/0 -p tcp -dport 1:65535 -j DROP iptables -A INPUT -i eth1 -s any/0 -p udp -dport 1:65535 -j DROP Eso bloqueará todo y solo permitirá acceso al servidor desde la red a esos 3 puertos, en caso que un dia necesites un servidor web y ftp (lo necesitas he leido), por ejemplo, bastara con modificarlo de modo que quede así: #!/bin/bash iptables -A INPUT -i eth0 -s 192.168.0.0/16 -p tcp -m multiport --sports 139,2049,10000 -j ACCEPT iptables -A INPUT -i eth0-s 192.168.0.0/16 -p udp -m multiport --sports 139,2049 -j ACCEPT iptables -A INPUT -i eth1-s any/0 -p tcp -m multiport --dports 20,21,80 -j ACCEPT iptables -A INPUT -i eth0-s any/0 -p tcp -m multiport --dports 20,21,80 -j ACCEPT iptables -A INPUT -i eth1-s any/0 -p tcp -dport 1:65535 -j DROP iptables -A INPUT -i eth1-s any/0 -p udp -dport 1:65535 -j DROP Aclaraciones: any/0 significa TODOS. Hay otras redes como clase A (10.0.0.0/8) o clase B (172.16.0.0/12) -i eth1 especifica que la interface de entrada es eth1 Necesitas iptables y soporte en el kernel (por defecto lo tiene) Te recomiendo leer esto para conocer mas opciones: http://es.tldp.org/Manuales-LuCAS/doc-iptables-firewall/doc-iptables-firewal... http://www.pello.info/filez/IPTABLES_en_21_segundos.html Espero que te sirva de ayuda -- Use the power, use the Open Source Canal #suse del IRC-Hispano, visitanos!
Gracias por vuestra ayuda. Pensaba que se podían configurar estas reglas desde yast, pero por lo que veo tendré que meterme a releer las iptables y hacer un script. Me echa un poco hacia atrás porque hace tiempo estuve leyendo documentación sobre el tema y se me hace duro, aunque creo que es como más flexibilidad se consigue. Ya os contaré si consigo ir bloqueando los puertos. Joaquín
El 2005-03-09 a las 19:28 +0100, Joaquin Felipe escribió:
Gracias por vuestra ayuda. Pensaba que se podían configurar estas reglas desde yast, pero por lo que veo tendré que meterme a releer las iptables y hacer un script.
No tienes que meterte en iptables para nada, la respuesta de GuraDXPU es correcta, pero exagerada. La respuesta de Hugo (y la mia, que no ha llegado a la lista todavía) son más apropiadas para empezar. -- Saludos Carlos Robinson
Si. Ha pesar que la solución de hacerte un script es una solución viable, es cierto que no es la mas fácil. Mucho menos si ya el SuSEfirewall se encarga de eso. Si revisas el archivo /sbin/SuSEfirewall2, verás un script tremendamente elaborado y lo que usa para definir todas las reglas es precisamente "iptables". No hay razón para reinventar la rueda. Si por otro lado, deseas aprender de iptables, usando tu propio caso como prueba, entonces no utilices SuSEfirewall2 y "lanzate de una" ;-) Suerte y fé... sobre todo fé. jeje P.D. Lo de "suerte y fé" es una frase que utilizamos a veces en venezuela cuando queremos decir que alguna actividad puede ser dificil. Regularmente se utiliza a modo de chiste y sin ningún tipo de ofensa ;-). El Mié 09 Mar 2005 3:42 PM, Carlos E. R. escribió:
El 2005-03-09 a las 19:28 +0100, Joaquin Felipe escribió:
Gracias por vuestra ayuda. Pensaba que se podían configurar estas reglas desde yast, pero por lo que veo tendré que meterme a releer las iptables y hacer un script.
No tienes que meterte en iptables para nada, la respuesta de GuraDXPU es correcta, pero exagerada. La respuesta de Hugo (y la mia, que no ha llegado a la lista todavía) son más apropiadas para empezar.
-- Saludos Carlos Robinson
-- ********************************* Hugo Sandoval Consultor Senior www.softwarelibre.com.ve hugo@softwarelibre.com.ve spock@linux.org.ve hsandoval@ven.org hugospock@yahoo.com 58-261-7560687 58-416-4617402 58-261-7560836 ********************************* "Linux se escribe con 1 'L': L de Libertad. Microsoft se escribe con 4 'M': Monopolio. Malo. Muy Malo." HS: caviliáte!
El 2005-03-09 a las 19:32 -0400, Hugo Sandoval escribió:
Si. Ha pesar que la solución de hacerte un script es una solución viable, es cierto que no es la mas fácil. Mucho menos si ya el SuSEfirewall se encarga de eso.
Claro. Es que en el susefirewall, para cerrar un puerto basta con no abrirlo: por defecto todos están cerrados.
Suerte y fé... sobre todo fé. jeje P.D. Lo de "suerte y fé" es una frase que utilizamos a veces en venezuela cuando queremos decir que alguna actividad puede ser dificil. Regularmente se utiliza a modo de chiste y sin ningún tipo de ofensa ;-).
¡Anda! Eso no lo sabía - agrada saberlo :-) -- Saludos Carlos Robinson
Porque no te haces un pequeño script iptables? Para un servidor web (puerto 80) y un servidor ftp seria por ejemplo: modprobe ip_tables /usr/sbin/iptables -F /usr/sbin/iptables -X /usr/sbin/iptables -Z #Negamos todo por defecto /usr/sbin/iptables -P INPUT DROP /usr/sbin/iptables -P OUTPUT DROP /usr/sbin/iptables -P FORWARD DROP #permitimos conexiones internas /usr/sbin/iptables -A INPUT -i lo -j ACCEPT /usr/sbin/iptables -A OUTPUT -o lo -j ACCEPT #aceptamos conexiones al puerto 80 http /usr/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT /usr/sbin/iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT #aceptamos conexiones a los puertos 20 y 21 /usr/sbin/iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT /usr/sbin/iptables -A OUTPUT -p tcp --dport 20:21 -j ACCEPT #y cerramos todos los demas puertos. Primero los privilegiados /usr/sbin/iptables -A INPUT -p tcp --dport 1:1024 /usr/sbin/iptables -A OUTPUT -p udp --dport 1:1024 #luego los demas /usr/sbin/iptables -A INPUT -p tcp --dport 3306 -j DROP /usr/sbin/iptables -A INPUT -p tcp --dport 10000 -j DROP /usr/sbin/iptables -A INPUT -p udp --dport 10000 -j DROP Lo pruebas con iptables -L -n El Miércoles, 9 de Marzo de 2005 01:24, Joaquin Felipe escribió:
Hola lista: Tengo una pequeña red local con un ordenador con dos tarjetas de red que realiza funciones de cortafuegos y router y que tiene instalado Suse 9.2. Ese ordenador realiza funciones de servidor web y ftp accesible tanto desde la red interna como desde internet. Pero también comparte carpetas en la intranet mediante samba y nfs, y al hacer un nmap a la ipexterna, veo que tiene abiertos los puertos 139:smb y 2049:nfs. Lo mismo me pasa con webmin, que usa el puerto 10000 y que quiero que esté accesible solamente desde la red interna. Querría cerrarlos, pero con yast no encuentro la forma de decirle que esos servicios solamente están disponibles para el interface eth0 En la pantalla de servicios de la configuración del cortafuegos, solamente tengo activos los servicios http y https.
A ver si me podeis echar una mano. Joaquin
-- Para dar de baja la suscripción, mande un mensaje a: suse-linux-s-unsubscribe@suse.com Para obtener el resto de direcciones-comando, mande un mensaje a: suse-linux-s-help@suse.com
____________________________________________________________________ Mensaje analizado y protegido, tecnologia antivirus www.trendmicro.es
participants (6)
-
Carlos E. R.
-
Francisco javier Lopez
-
GuraDXPU
-
Henry Jaentschke
-
Hugo Sandoval
-
Joaquin Felipe