Una de las mejores políticas de seguridad que podemos implementar en cualquier Sistema Operativo es las reglas que pueden ser aplicadas a través del firewall ya que este se encarga de prevenir conexiones entrantes o salientes que puedan poner en riesgo la seguridad, integridad, disponibilidad del sistema. Los puertos nos ayudan en la comunicación, en este caso, en medios de software y se denominan puertos lógicos. Permiten así relaciones comunicacionales entre aplicaciones y da pie a un flujo de data entre diferentes equipos o dentro del mismo.
A través del Firewall tenemos la oportunidad de permitir que determinadas aplicaciones accedan al sistema ya sea por temas administrativos o de soporte ya sean servidores web, SSH o cualquier otro servicio que implique la entrada y salida de datos en la red y por defecto en CentOS 7 o RedHat este firewall esta con restricciones bastantes notables debido a su entorno empresarial.
Hoy veremos cómo podemos abrir un puerto en el firewall de CentOS 7 con el fin de que un servicio en particular tenga la autorización para transmitir datos y no sea bloqueado por la restricción del firewall.
En este videotutorial puedes ver cómo poder ver las reglas actuales en CentOS 7 además de aprender cómo abrir o agregar un puerto al Firewall controlando así la transmisión de datos a través de él. Es realmente útil para evitar filtraciones innecesarias de información.
1. Cómo ver las reglas actuales en CentOS 7
Es importante recordar que la característica a nivel de firewall en CentOS 7 es conocida como firewalld y a través de ella tenemos la posibilidad de establecer nuevas zonas y permitir el acceso de diversos servicios de una forma sencilla.
Para ver las reglas actuales usaremos el siguiente comando:
sudo iptables –L
El resultado obtenido es el siguiente. Allí tenemos el listado completo de reglas con sus respectivos permisos actualmente en CentOS 7.
2. Cómo abrir un puerto en CentOS 7
Como Como mencionamos firewalld es el nuevo servicio encargado de la gestión y administración de las políticas de firewall en CentOS 7 y RedHat, por lo tanto, usaremos el parámetro firewall-cmd para dicha gestión.
La sintaxis a usar para abrir un puerto en CentOS 7 es la siguiente:
firewall-cmd --zone=(zone) --add-port=(# de puerto)/(protocolo) –permanentPor ejemplo, si deseamos abrir el puerto 25 tcp ingresaremos la siguiente línea:
sudo firewall-cmd --zone=public --add-port=25/tcp –permanent
Hemos agregado el parámetro –permanent para hacer permanente el puerto, es decir, cada vez que iniciemos sesión en el sistema se creará esta regla para el puerto creado y no será necesario cada vez ejecutar el comando. Finalmente usaremos el siguiente comando para reiniciar el servicio de firewall y permitir que los cambios tomen efecto:
sudo firewall-cmd –reload
3. Cómo abrir un puerto con servicio en CentOS 7
También es posible que abramos los puertos con los comandos anteriores o bien que además de ello indiquemos un servicio que queremos abrir o iniciar. Vamos a ver dos ejemplos donde abrimos el servicio ftp y http. De esta forma podremos adelantar tiempo e iniciar servicios rápidamente.
firewall-cmd --permanent --zone=public --add-service=http (Abrimos servicio http) firewall-cmd --permanent --zone=public --add-service=ftp (Abrimos servicio ftp)
4. Cómo verificar los puertos abiertos actualmente en CentOS 7
Para verificar que puertos han sido o están abiertos usaremos el siguiente comando. Allí nos fijaremos en la línea ports para ver que puertos están habilitados en el sistema.
firewall-cmd --list-all
5. Cómo abrir un puerto usando la herramienta TUI en CentOS 7
TUI es una interfaz gráfica funcional desde CentOS 6 pero que podemos usar del mismo modo en CentOS 7.
En primer lugar, será necesario instalarla y para ello usaremos el siguiente comando:
yum install system-config-firewall-tui
Una vez descargados los paquetes e instalados debemos detener y deshabilitar el servicio firewalld en CentOS 7, para ello ingresaremos los siguientes comandos:
systemctl stop firewalld.service systemctl disable firewalld.service
Ahora podremos usar TUI con el siguiente comando:
system-config-firewall-tui
En primer lugar, para que la herramienta nos permita configurar la adición de puertos debemos activar la casilla "Habilitado" en el campo "Cortafuegos". A continuación, damos clic en "Personalizar" y veremos la siguiente ventana donde debemos seleccionar el servicio a habilitar:
Los seleccionamos pulsando la barra espaciadora, una vez definidos pulsamos, usando la tecla Tab, el botón "Reenvío" y veremos lo siguiente:
Allí seleccionamos la opción "Agregar" para incluir los puertos necesarios:
Una vez agreguemos el número de puerto con su respectivo protocolo seleccionamos la opción "Aceptar" y veremos nuestro puerto añadido:
Seleccionamos la opción Cerrar y se desplegará la siguiente ventana informativa. Allí confirmamos los cambios pulsando sobre la opción Sí.
6. Cómo cerrar un puerto en CentOS 7
Lo primero que haremos será verificar qué puertos tenemos abiertos en este momento y así decidir cuáles queremos cerrar:
nmap localhost
Si queremos ver el estado del Firewall ejecutaremos lo siguiente:
iptables -L -n -v
Para cerrar un puerto en concreto realizaremos la siguiente sintaxis desde la terminal:
sudo fuser -k puerto sudo fuser -k 80/tcp
Si queremos únicamente bloquear el tráfico en un puerto determinado usaremos lo siguiente para aplicar esta regla:
sudo ufw deny puerto/servicio sudo ufw deny 4231/udpDe este modo tenemos algunas opciones para agregar un puerto en CentOS 7 y de este modo habilitar el funcionamiento de un servicio en el sistema sin restricción por parte del firewall, pero recordemos que deben ser servicios que realmente sean vitales para el óptimo funcionamiento de la organización. Para conocer más acerca de firewalld podemos ver el siguiente tutorial:
La seguridad ante todo!