Buen día. Hoy les traigo unos pequeños tips, vamos a ver los puertos abiertos que tengamos. Para ello haremos uso de NMap por lo que procedemos a instalarlo.
En Debian/Ubuntu:
# apt-get install nmap
luego para ver los puertos abiertos en tu pc. (En local)
#nmap localhost
Estos son los puertos que están abiertos en local, o sea que no necesariamente salen a internet.. En mi caso están abiertos el 22 que es de ssh y el 25 de smtp.
Para ver los puertos abiertos en mi pc pero en internet hago el mismo nmap pero con mi dirección ip
En mi caso sale que el host esta prendido pero no ve ningún puerto abierto (solo escanea 1000). Esto se debe a que aunque el puerto está en mi pc abierto, el Router lo está filtrando.
Pero si abro el puerto respectivo en el router…
El hecho de que puedan ver que puertos están abiertos en mi pc supone algún riesgo en mi máquina. Asi que voy asegurar un poco mi servidor ssh. Para ello voy a cambiar el puerto por defecto (22) por otro cualquiera…
Voy como root a el archivo /etc/ssh_config:
# nano /etc/ssh/ssh_config
vamos donde dice # port 22
.. le borramos el # y cambiamos el puerto por el que queramos..
En mi caso voy a usar el 2222
Hacemos lo mismo buscando la palabra «port» en el archivo /etc/ssh/sshd_config cambiándolo por el mismo puerto que vamos a usar. Ahora editamos /etc/services
Buscamos ssh y cambiamos los dos puertos por el que cambiamos antes.
Ahora reseteamos el servicio..
Y hacemos nmap de nuevo.
Como ven. No sale nada referente e nuestro puerto y/o a el servicio ssh.
Pero el ssh funciona?
CLARO QUE SI.
Importante es que si vas a entrar desde otro ordenador tienes que indicar obviamente el puerto que estés usando..
ssh -p 2222 IP
(Por ejemplo)
Así puedes cambiar los puertos de otro servicios cualquiera..
Saludos.!
Gracias por el dato, interesante.
¿Y en castellano? jajajajajaja
Esto es una ciencia, lo probé y ya no se conectó a internet, jaja, un amigo me ayudo a resolverlo después de leer el artículo en su lap, le gustó bastante y está instalando ubuntu en su laptop, cuando antes me decía que no era para el.
Saludos
jaja No se que habrás movido mál.. Pero lo puse lo más explicito posible. Pero si quieres te hago un video. 🙂
Naaaaah, yo estoy negado para redes e inglés, tengo mucho tiempo queriendo aprender y realmente no he encontrado a un instructor que me tenga paciencia, imagínate.
Enseñar a un hombre de 40 años como si tuviera 10, jajajaja
haha No es nada.. Con un hangout o algo asi.. Seguro que me entiendes.
Bienbenido sea ese hangout!!
^^
Compatriota , excelente aporte.
Me atrevo a lanzar este desafío a ver si no aparece el puerto 2222 o.O
Ejecuten: sudo nmap -v -sS -A -p 1-65535 localhost
PD: el escaneo sera lento… les añado la opción «-v» para que no se aburran viendo la terminal hacer nada.
Obvio si.. Pero yo estoy hablando de scanneo normal. El nmap tiene muchas opciones y características, sabiéndolo usar. ningún puerto se le escapa.
Además de que siempre hay una forma.. Sobretodo en linux, nada es totalmente seguro.. Es un pequeño tip solamente :p
Mi intención no era la de menospreciar la táctica de camuflaje pero es bueno el comando de nmap que deje para cuando uno no recuerde el puerto que se escogió como reemplazo al default (ya es dificil recordar ips y puertos…). En mi caso me ha tocado conectarme remotamente mediante VNC a pcs donde su puerto no es el típico 5900 o 5901; un escaneo normal me indicaría que no hay puerto de escucha para para vnc entonces, ¿cual es la solución? Respuesta: Usar nmap y forzarlo a indagar todos los puertos. 😉
Claro, no me senti ofendido ni mucho menos, Sabemos que todo no es totalmente seguro. Solo hay niveles de seguridad. Y siempre hay algo más allá.. siempre hay algo que vulnere la seguridad. Es un buen aporte, Podrias hacer un pequeño tuto de nmap. 🙂 Saludos.
Un complemento perfecto para el post anterior. No sé si lo habéis hecho a propósito, pero os ha quedado genial. 🙂
Esto es solamente seguridad por obscuridad, desgraciadamente con la opción -v del nmap te identifica que el puerto que pusiste corresponde al nmap. Para intentar protegerse del nmap hay que utilizar reglas de iptables, que tampoco pueden proteger del todo un escaneo. Pero bueno, sirve contra novatos del hacking…
Buenas, una pregunta, no entiendo por qué nmap no saca el puerto después de haberlo cambiado, es que trae un rango de puerto a escanear por defecto?
Si, nmap por defecto scanea 1000 puertos.. Si sabemos manejarlo no basta con esto para proteger el ssh o cualquier otro servicio de las garras de nmap. Lo mejor seria un fail2ban y un psad.
@Jlcmux
Permitime hacer unas correcciones sobre lo que posteaste, voy corrigiendo por partes:
1.
«Estos son los puertos que están abiertos en local, o sea que no necesariamente salen a internet.. En mi caso están abiertos el 22 que es de ssh y el 25 de smtp.»
Esto no es tan así. Esos son los puertos que están abiertos en el anfitrión que escaneás dentro del rango de los primeros 1024 puertos, que es el rango que escanea de forma predeterminada NMAP.
«Estos son los puertos que están abiertos en local, o sea que no necesariamente salen a internet.. »
Deberías aclarar que la única forma en que no «salgan» a la net es estando tu máquina en una red nateada (el NAT por definición propia es a su vez un firewall primitivo) y siempre y cuando los puertos no estén abiertos en el dispositivo que haga de NAT (generalmente el router) y redirigidos (FORWARDING) dichos puertos abiertos a tu máquina.
Por supuesto que si la máquina está conectada directamente al modem entonces SI está expuesta a la net.
Al comando que publica @taregon, que es el correcto para scannear y pinchar todos los puertos de una máquina, se le puede agregar, entre otras opciones, -sV para que nmap trate de descubrir qué servicio corre en cada puerto: sudo nmap -v -sS -sV -A -p 1-65535 localhost
Ejemplo:
Starting Nmap 6.25 ( http://nmap.org ) at 2012-12-06 13:39 ART
Nmap scan report for localhost.localdomain (127.0.0.1)
Host is up (0.00021s latency).
Not shown: 999 closed ports
PORT STATE SERVICE VERSION
631/tcp open ipp CUPS 1.6
2222/tcp open ssh OpenSSH 6.1 (protocol 2.0)
2.
«El hecho de que puedan ver que puertos están abiertos en mi pc supone algún riesgo en mi máquina. Asi que voy asegurar un poco mi servidor ssh. Para ello voy a cambiar el puerto por defecto (22) por otro cualquiera…
Voy como root a el archivo /etc/ssh_config:
# nano /etc/ssh/ssh_config
vamos donde dice # port 22 .. le borramos el # y cambiamos el puerto por el que queramos..»
NO! Una cosa no tiene nada que ver con la otra!
/etc/ssh/ssh_config maneja sólamente las opciones del cliente por lo que el puerto que setees allí va a ser el que el cliente de ssh use de forma predeterminda para conectarse con servidores ssh en vez del puerto 22.
El cambio de puerto de escucha que buscás lo hacés únicamente cambiando la opción citada en el archivo /etc/ssh/sshd_config.
Por último, con esta herramienta web podemos testear qué puertos están o no abiertos en nuestra máquina, cuáles estan escondidos, comprobar que el echo de ping está desactivado y algunas cosas más: https://www.grc.com/x/ne.dll?bh0bkyd2
Saludos.
Muy buena la reseña. me gust. thanks 😀
Genial tutorial de nmap
🙂 Saludos!!!
compañeros alguien sabe como le puedo hacer para saber los puertos abiertos de otra persona??? desde mi computadora???
Usa el comando: nmap X.X.X.X
Donde las x’s son la ip de la computadora a escanear
Hola, antes que nada gracias por compartir.
Tengo un problema, ojala me puedan ayudar: Al hacer un nmap con mi ip desde la misma maquina me indica que el puerto 3306 esta abierto y con netstat veo que el pùerto esta en escucha; sin embargo al hacer hacer un scan con nmap desde otra pc no me indica el puerto 3306 abierto.
Ademàs ya cambiè el bin-address a 0.0.0.0
Estoy tratando de conectar una aplicacòn en java con una BD en un servidor LAMP y la aplicaciòn funciona pues ya he hecho consultas en otra pc donde montè un servidor wamp para pruebas y todo ok.
Alguna idea? no sè que màs hacer