Table of Contents
Cómo bloquear el acceso SSH y FTP a una IP y un rango de red específicos en Linux


Normalmente, todos usamos los servicios SSH. y FTP. a menudo para acceder a los servidores remotos y servidores privados virtuales. Como administrador de Linux, debe saber cómo bloquear el acceso SSH y FTP a una IP específica o un rango de red en Linux para reforzar aún más la seguridad.
- 25 Consejos de seguridad para fortalecer los servidores Linux
- 5 consejos útiles para asegurar y proteger el servidor SSH
Este tutorial le mostrará cómo bloquear el acceso SSH y FTP a una dirección IP particular y/o un rango de red en el servidor CentOS 6 y 7. Esta guía se probó en las versiones CentOS 6.x. y 7.x. pero probablemente funcione en otras distribuciones de Linux como Debian, Ubuntu y SUSE/openSUSE, etc.
Lo haremos de dos formas. El primer método es usar IPTables. firewallD. y el segundo método es usar envoltorios TCP. con la ayuda de hosts.allow. y el archivo hosts.deny.
Consulte las siguientes guías para saber más sobre IPTables y Firewalld.
- Guía básica sobre IPTables (Linux Firewall ) Consejos/comandos
- Cómo configurar un firewall Iptables para habilitar el acceso remoto a los servicios en Linux
- Cómo configurar ‘FirewallD’ en RHEL/CentOS 7 y Fedora 21
- Reglas útiles de ‘FirewallD’ para configurar y administrar el firewall en Linux
Ahora conoce lo que son IPTables. y FirewallD. y es básico.
Método 1: Bloquear el acceso a SSH y FTP mediante IPTables/FirewallD
freestar.config.enabled_slots.push
Ahora veamos cómo bloquear el acceso SSH y FTP a una IP específica (por ejemplo 192.168.1.100. y/o rango de red (por ejemplo, 192.168.1.0/24. usando IPtables. en versiones RHEL/CentOS/Scientific Linux 6.xy FirewallD. en CentOS 7.x.
Bloquear o deshabilitar el acceso SSH———————En Firewall de IPtables. ——————–# iptables-I ENTRADA-s 192.168.1.100-p tcp–dport ssh-j RECHAZO # iptables-I ENTRADA-s 192.168.1.0/24-p tcp–dport ssh-j RECHAZAR———————En FirewallD. ——————–# firewall-cmd–direct–add-rule filtro ipv4 ENTRADA 1-m tcp–fuente 192.168.1.100-p tcp–dport 22-j REJECT # firewall-cmd–direct–add-rule ipv4 filter ENTRADA 1-m tcp–source 192.168.1.100/24 -p tcp–dport 22-j REJECT
Para que las nuevas reglas entren en vigor, debe usar el siguiente comando.
# service iptables save [En IPtables Firewall] # firewall-cmd–reload [En FirewallD]
Ahora, intente SSH. el servidor desde el bloque ed anfitrión. Tenga en cuenta que aquí 192.168.1.150. es el host bloqueado.
# ssh 192.168.1.150
Debería ver el siguiente mensaje.
ssh: connect to host 192.168.1.150. 1.150 puerto 22: Conexión rechazada Desbloquee o habilite el acceso SSH
Para desbloquear o habilitar el acceso SSH, vaya al servidor remoto y ejecute el siguiente comando:
———————En Cortafuegos de IPtables. ——————–# iptables-I INPUT-s 192.168.1.100-p tcp–dport ssh-j ACCEPT # iptables-I INPUT-s 192.168.1.100/24 -p tcp–dport ssh-j ACCEPT———————En FirewallD. ——————–# firewall-cmd–direct–add-rule filtro ipv4 ENTRADA 1-m tcp–source 192.168.1.100-p tcp–dport 22-j ACCEPT # firewall-cmd–direct–add-rule filtro ipv4 ENTRADA 1-m tcp–source 192.168.1.100/24 -p tcp–dport 22-j ACEPTAR
Guarde los cambios usando lo siguiente para acceder a su servidor a través de SSH.
# service iptables save [On IPtables Firewall] # fir ewall-cmd–reload [On FirewallD] Bloquear o deshabilitar el acceso FTP
Normalmente, los puertos predeterminados para FTP. son 20. y 21. . Entonces, para bloquear todo el tráfico FTP usando IPTables, ejecute el siguiente comando:
———————En Cortafuegos de IPtables. ——————–# iptables-I ENTRADA-s 192.168.1.100-p tcp–dport 20,21-j RECHAZO # iptables-I ENTRADA-s 192.168.1.100/24 -p tcp–dport 20,21-j RECHAZAR———————En FirewallD. ——————–# firewall-cmd–direct–add-rule ipv4 filter ENTRADA 1-m tcp–source 192.168.1.100-p tcp–dport 20,21-j REJECT # firewall-cmd–direct–add-rule ipv4 filter INPUT 1-m tcp–source 192.168.1.100/24 -p tcp–dport 20,21-j REJECT
Para que las nuevas reglas entren en vigor, debe usar el siguiente comando.
# service iptables save [On IPtables Firewall] # firewall-cmd–reload [On FirewallD]
Ahora, intente acceder al servidor desde el host bloqueado ( 192.168.1.100. , con el comando :
# ftp 192.168.1.150
Recibirá un mensaje de error como el siguiente.
ftp: connect: Conexión rechazada Desbloquear o habilitar acceso FTP
Para desbloquear y habilitar Vuelva a acceder a FTP, ejecute:
———————En Firewall de IPtables. ——————–# iptables-I ENTRADA-s 192.168.1.100-p tcp–dport 20,21-j ACEPTAR # iptables-I ENTRADA-s 192.168.1.100/24 -p tcp–dport 20,21-j ACEPTAR———————En FirewallD. ——————–# firewall-cmd–direct–add-rule filtro ipv4 ENTRADA 1-m tcp–fuente 192.168.1.100-p tcp–dport 20,21-j ACEPTAR # firewall-cmd–direct–add-rule ipv4 filter ENTRADA 1-m tcp–source 192.168.1.100/24 -p tcp–dport 20,21-j ACCEPT
Guarde los cambios con el comando:
# service iptables save [En Firewall de IPtables] # firewall-cmd–reload [En FirewallD]
Ahora, intente acceder al servidor a través de FTP:
# ftp 192.168.1.150
Ingrese su nombre de usuario y contraseña de ftp.
Conectado a 192.168.1.150. 220 Bienvenido al servicio FTP de TecMint. Nombre (192.168.1.150:sk): tecmint 331 Por favor, especifique la contraseña. Contraseña: 230 Inicio de sesión exitoso. El tipo de sistema remoto es UNIX. Usando el modo binario para transferir archivos. ftp>
Método 2: Bloquear el acceso a SSH y FTP mediante envoltorios TCP
Si no quiere meterse con IPTables. o FirewallD. entonces envoltorios TCP. es la mejor manera de bloquear el acceso SSH y FTP a una IP específica y/o un rango de red.
OpenSSH y FTP se compilan con compatibilidad con envoltorios TCP, que significa que puede especificar qué hosts pueden conectarse sin tocar su firewall en los siguientes dos archivos importantes y son:
- /etc/hosts.allow
- /etc/hosts .deny
Como su nombre lo indica, el primer archivo contiene entradas de hosts permitidos y el segundo contiene direcciones de hosts bloqueados.
Por ejemplo, bloqueemos el Acceso SSH y FTP al host que tiene una dirección IP 192.168.1.100. y un rango de red 192.168.1.0. Este método es el mismo para las series CentOS 6.xy 7.x. Y, por supuesto, funcionará en otras distribuciones como Debian, Ubuntu, SUSE, openSUSE, etc.
Abra el archivo/etc/hosts.deny y agregue las siguientes direcciones IP o rango de red que desee bloquear como se muestra a continuación.
##### Para bloquear el acceso SSH ##### sshd: 192.168.1.100 sshd: 192.168.1.0/255.255.255.0 ##### Para bloquear el acceso FTP #### # vsftpd: 192.168.1.100 vsftpd: 192.168.1.0/255.255.255.0
Guarde y salga del archivo.
Ahora, reinicie el servicio sshd y vsftpd para que los nuevos cambios surtan efecto.
—————Para el servicio SSH—————# service sshd restart [On SysVinit] # systemctl restart sshd [On SystemD]————–Para el servicio FTP—————# service vsftpd restart [En SysVinit] # systemctl restart vsftpd [En SystemD]
Ahora, intente SSH del servidor o desde un host bloqueado.
# ssh 192.168.1.150
Verá el siguiente resultado:
ssh_exchange_identification: read: Connection reset by peer
Ahora, intente enviar un FTP al servidor o desde un host bloqueado.
# ftp 192.168.1.150
Verá el siguiente resultado:
Conectado a 192.168.1.150. 421 Servicio no disponible.
Para desbloquear o habilitar servicios SSH y FTP nuevamente, edite el archivo hosts.deny. y comente todas las líneas y finalmente reinicie los servicios vsftpd y sshd.
Conclusión
Eso es todo por ahora. En resumen, hoy aprendimos cómo bloquear una dirección IP y un rango de red específicos usando IPTables, FirewallD y envoltorios TCP. Estos métodos son bastante fáciles y directos.
Incluso, un administrador de Linux novato puede hacer esto en un par de minutos. Si conoce otras formas de bloquear el acceso SSH y FTP, no dude en compartirlas en la sección de comentarios. Y no olvide compartir nuestros artículos en todas sus redes sociales.