FIREWALLS..en 1..2x3... :D

Hola lectores, esta ocasion escribire un mini "HowTo" sobre firewalls, esperando sea de su agrado empesare, este "how to" lo dedico al PO xq usaremos BASH Scrip ;-) y tambien para toda la comunidad que se interece por GNU/Linux y a los y a la comunidad SL del Tec de TPAK.

FIREWALL.

Definiendo un firewall es un dispositivo que puede ser físico o por software que su función es la de filtrar conexiones el sólo dice sí o no(agrandes rasgos esa es mi defición :D).

Existen dos formas de hacer un firawall:
  1. Política por defecto ACEPTAR: lo que hace esto es que todo lo entra y sale por el firewall se acepta y sólo hay que preocuparcer por denegar lo que se desee.
  2. Política por defecto DENEGAR: que hace pués lo contrario a la anterior en esta todo se encuentra denegado y sólo pasaran por el firewall lo que el administrador desee.
Como leen la opción 1 suena muy flexible es menos calentrace la cabeza y es todo color de rosa , sólo nos trendriamos que preocuparnos por los puertos que esten abiertos en ese moemento eso lo podemos hacer con el comando netstat, podemos hacer un netstat -ln o un netsat -puta | grep LISTEN "sorry por la palabra jejeje". y ver que puertos estan abiertos y sobre esos ponber nuetra relgas del firewall.

La opcion 2 suena más compleja, pero es la mejor ya q si no concemos afondo como funcionan las deres (protocolos ICMP TCP UDP SMNP, etc) podemos regarla(me incluyo :( ) o si se instla un progrma que abra un puerto y no lo sabemos pues ya hubo problema, de ahi q hayq usar la 2da opción(pero ahora empezaremos con unos ejemplos muy faciles y de fácil comprención.

Ya alfín adios choro e historia ahora si a poner firewalls :D....

Nuestro primer Firewall consitira en proteger nuestra propifa maquina de los pines jejejej para despistar:

Para esta pequeña práctica tendremos que usar el iptraf es muy útil para estar monitoriando nuestro firewall.

  1. Añadimos esta linea en nuestro prompt root@darkstar:~# iptables -A INPUT -p ICMP -j DROP
  2. Ahora damos un ping a la misma tarjeta root@darkstar:~# ping 127.0.0.1
No responden los pines verdad :D jajajaj dale Ctrl+C para cancelar la transmisión de pines.
te aparecera esto:

PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.

--- 127.0.0.1 ping statistics ---
10 packets transmitted, 0 received, 100% packet loss, time 9016ms

Sorry pues no hubo exito no llegaron los pines jejeje...

ahora :
  1. Vuelve a hacer los pinsmo manda un ping a 127.0.0.1.
  2. Abre otra terminal donde ejecutes iptraf y chea lo que ocurre en la tarjeta "lo"
Veras como esta actuadno el firewall.

Ahora ya viste que si funciona pero este elimini todas las funciones q tengan que ver con el protocolo ICMP asi que mejor hay que quitar esa regrla.

Escribamos :
  • root@darkstar:~# iptables -F
  • root@darkstar:~# iptables -X
  • root@darkstar:~# iptables -Z
Listo con eso emos borrado todo.

La explicación
iptables -A INPUT -p ICMP -j DROP:
  • -A : agraga la instruccion antes de la primera que ya exista.
  • INPUT : le indica al firewall que sera de llegada a su interfaz
  • -p : protocolo del cual se quiere referir
  • -j : jump salta a la respuesta si o no.
  • DORP : rechaza esdecir "NO".
--------------------------------------------------------------------
Ahora otra práctica, esta está un poco más compleja pero no imposible manos a la obra (pudes hacer copy and paste):

#!/bin/bash
##Script de ejercicio par proteger mi PC.

echo "Borrando y aplicando reglas de iptables...."

##Borrando reglas anteriores
iptables -F #Borra todas las listas q hayas creado antes.
iptables -X #Elimina una lista que este vacia.
iptables -Z #pone en 0 llas variables de auditoria de una lista (chain).
iptables -t nat -F #Borra todas las listas q haya pero en la taba nat (Network Address Translation).

#Poniendo las politias por defecto .
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT

#Aqui empieza el firewall :D

iptables -A INPUT -i lo -j ACCEPT #Que acepte conexiones locales x si una base de datos local mysql

iptables -A INPUT -s 172.16.10.25 -j ACCEPT #Su poniendo q esta sea nuestra ip tenemos permiso de todo jejej como siempre

#Talvez el usuario de esta maquina actualize la BD de mysql
iptables -A INPUT -s 172.16.10.215 -p tcp --dport 3306 -j ACCEPT

#Al administrador del WEB le damos permiso de usar el FTP
iptables -A INPUT -s 172.16.10.200 -p tcp --dport 20:21 -j ACCEPT

#Y como tenemos un WEB SERVER pues hay que tener el puerto 80 abierto para todos..
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

echo "Listo las reglas aplicadas las puede observar dando el comando: iptables -L -n "
#Fin...

Bueno explicaci[on de los comandos:

-A : añade esta linea antes que la primera.

-i : interface puede ser ethx o lo (127.0.0.1).

-j : jump (salta) y acepta o rechaza el paquete.

-s : source(destino) se espcifica la dirección de donde probiene el paquete o petición.

-p : protocolo se pone tcp o udp

--dport :es el puerto a donde se dirigira la peticion o paquete ejemplo: 20:21 puestos para FTP


Bueno esto es todo por el momento tengo que estudiar para mañana llegar a la escuela con mis conocimientos fresco ejejeje.

Espero que les haya gustado.

PD: Viva el software libre...


Comentarios

Omar Flores Mtz ha dicho que…
Saludos Toño... Buena la explicacion de Firewalls nos ha sacado de apuros...

Entradas populares