BandaAncha.eu

Comunidad de usuarios
de fibra, móvil y ADSL

Qué puertos abrir para el Vsftpd en RHEL

antey

Quisiera saber cuales son los puertos que son necesarios abrir en el firewall de RHEL para el Vsftpd.

He estado leyendo info al respecto por la red y no me queda del todo claro, puesto que hay que personas que afirman que :

  • Que se han de abrir 20, 21, 990
  • Que solo se ha de abrir el 21, 22 , puesto que el 20 ya no se usa al ser para Conexiones Activas
  • Que solo se ha de abrir el puerto 22, porque todo el trabajo se hace por ese puerto, de hecho la persona que use un cliente FTP

Para transferir un fichero se conectará por defecto a ese puerto

vukits
1

a mi, con tener el puerto 22 me funciona, en el sentido en que uso sftp/scp (ftp sobre ssh ).

eso sí, acuerdate de tener como minimo un (amén de las reglas de stateful firewall que podrás añadir a posteriori)

  • fail2ban
  • autenticación sólo por certificado ssh (cya clave privada estará protegida por contraseña)

en el momento que abras el 22 a internet, te van a bombardear a ataques, eso sí ;)

🗨️ 3
antey

Hola,

Entiendo que debe ser lo mismo que si usas un FileZilla

🗨️ 2
vukits
1

yo uso WinScp como cliente (en ÑU/Linux, scp y ssh) , y como servidor OpenSSH (o alguna variante) .

esos dos se hablan por puerto 22 TCP

🗨️ 1
Pretur
2

Hoy en día no tiene mucho sentido abrir puertos para FTP cuando con el 22 te vale para un montón de servicios, sFTP, SSH, SSHFS …

Yo como cliente usa WinSCP pero me pasé a Bitwise, que tenga junto SSH y sFTP me resulta muy cómodo.

naveganteperdido
1

si quieres saberlo seguro al 100% haz un netstat antes de lanzar el servicio y despues de lanzarlo y compara

🗨️ 5
vukits
1

ojo, cuanto más puertos, más superficies de ataque ;) (más gasto)

🗨️ 1
Metro Copito
1

Los puertos deben ser como otra cosa que yo me sé (solo salida). Entrada ni el bigote de una gamba.

lhacc
1

Eso funciona para la mayoría de servicios pero no necesariamente para todos porque pueden abrir puertos dinámicamente.

Creo que iptables te permite abrir todos los puertos en los que es escucha cierto proceso, quizá eso funcione mejor.

🗨️ 2
vukits
1

si no lo tengo mal entendido,

la apertura de puertos normalmente significa que le dices a iptables que alguién desde fuera pueda solicitar la apertura de sesión (o como se llame), luego iptables permita al servicio del servidor mediante puerto efimero, responder a dicha solicitud de sesión.

digamos que la apertura de puertos es permtir que alguién llame a tu puerta, y tu ya sales a la ventana de tu casa a hablarle

🗨️ 1
lhacc
2

Yo creo que hablamos de una máquina que tiene una política por defecto de DROP o REJECT pero hay que permitir que entren conexiones por distintos puertos. Tú te refieres a una NAT.

superllo
3

Si es FTP clásico activo puerto 21, ojo, que el cliente ha de tener el puerto que use abierto. En el pasivo el 21 y uno aleatorio a partir del 1023. Solución, no uses FTP (o lo metes con SSH como te han dicho).

kaleth
2

¿Te han dicho ya que uses SFTP a través de SSH? 😋

Pues eso, no te rompas el coco. El FTP clásico es poco seguro, y SSH te lo resuelve todo.

🗨️ 1
antey

Si. Al final hay que usar SFTP a traves de SSH . Muchas gracias

antey

Buenas,

Resucito el hilo, ya que esa relacionado con esto.

¿Como hago para bloquear las peticiones entrantes por el puerto 22 para una interfaz de red en concreto usando firewalld?

Habia pensado en algo asi:

firewall-cmd –zone=block –permanent –add-port 22/tcp , pero me falta como añadir la direccion IP desde la que se va a bloquear

Muchas gracias por vuestra ayuda!

🗨️ 4
vukits
1

tenía entendido de que en el propio fichero sshd puedes limitar a qué rangos escucha.

🗨️ 2
antey

Hola vukits,

Lo que quiero hacer es permitir por una Interfaz de red de gestion ( 192.168.1.10) el acceso al puerto 22,

Pero por la otra interfaz de red (192.168.1.30) bloquear los accesos a dicho puerto 22, en soliciten peticion de conexion por esa interfaz

Chequeando con la pista que me has dado, entiendo que si creo un fichero de configuracion en /etc/hosts.deny

sshd: 192.168.1.30

y luego en el sshd_config

Meto una linea DenyHost: /etc/hosts.deny

Y reinicio el servicio podria funcionar

Podria funcionar

🗨️ 1
pepejil
1

Supongo que en firewalld se puede hacer, pero con iptables o nftables puedes crear reglas de tráfico según el nombre de la interfaz, sin importar qué IP tiene asignada. Ejemplo con nftables:

iifname "enp2s0f1" tcp dport 22 ct state new accept

Nuevas conexiones procedentes de la interfaz "enp2s0f1" que vayan al puerto 22 serán aceptadas. Luego de ahí puedes crear otras reglas para limitar otras interfaces.

De hecho, esto es mucho más versátil que hacerlo directamente en el daemon. Yo todos los daemon los tengo en escucha a todas las interfaces y ya con el nftables voy limitando su capacidad.

antey
1

Al final parece que con /etc/hosts.deny

sshd: 192.168.1.30

y reinicio systemctl restart sshd

Parece que funciona.