A continuación se describirá como configurar el firewall usando iptables para el servidor web.
En internet existen muchas recomendaciones y scripts para configurar el firewall de los servidores. Específicamente voy a trabajar con un script obtenido de la página web:
http://www.sns.ias.edu/~jns/wp/2006/01/12/iptables-example-rulesets/
Este es un script que describe paso a paso la protección de puertos y servicios para un usuario. Se harán modificaciones para adecuarlo al servidor. Este archivo lo copiamos directamente desde el navegador y lo pegamos en un documento en blanco. Las líneas que se deben cambiar son:
IFACE=”eth0,ppp0 …… as appropriate” En mi caso esta línea se debe cambiar por IFACE=”eth2″
IPADDR=”your_ip_address_here”. Se debe cambiar por la IP del servidor. En este caso la dirección es 192.168.0.101/24
NAMESERVER_1=”x.x.x.x” Aquí se debe poner la dirección IP del DNS. Como no tenemos servidor DNS implementado pondré la de localhost: 127.0.0.1/24
NAMESERVER_2=”x.x.x.x” se debe eliminar esta línea.
BROADCAST=”x.x.x.255″ se debe cambiar por BROADCAST=”255.255.255.255″
Se debe eliminar las líneas:
# Refuse packets claiming to be from a Class C private network.
iptables -A INPUT -i $IFACE -s $CLASS_C -j DROP
(Pues para las pruebas nos conectaremos con una dirección clase c).
y también las líneas:
iptables -A INPUT -i $IFACE -p udp -s $NAMESERVER_2 --sport 53 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o $IFACE -p udp -d $NAMESERVER_2 --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
Como se trata de un servidor web, el Puerto 80 en la cadena de input debe estar abierto para conexiones nuevas o establecidas,
mientras que en la de output solo se debe permitir a conexiones establecidas.
iptables -A INPUT -i $IFACE -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o $IFACE -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
Lo mismo aplica para el Puerto 443:
iptables -A INPUT -i $IFACE -p tcp --dport 443 -m state --state NEW, ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o $IFACE -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT
Se debe guardar el archivo con el nombre que desee. En mi caso lo guardé en el Desktop con el nombre de "firewall".
Se deben cambiar los permisos de dicho archivo para que pueda ser ejecutado:
----> cd Desktop
----> chmod 700 firewall
Por prevención eliminamos las reglas existentes:
----> Iptables -F
Ahora lo debemos ejecutar mediante:
----> ./firewall
Si deseamos ver las reglas que hemos creado en el firewall lo hacemos mediante:
—-> iptables -L
Prueba
Si tenemos otra máquina virtual, podemos acceder a nuestro servidor web mediante el navegador. Para ello debemos configurarle una dirección IP que haga parte de la misma red. Como la maquina virtual posee la IP 192.168.0.103/24, entonces en la máquina de prueba se configura la IP 192.168.0.104/24.
Buscamos mediante el gestor de archivos el documento /etc/hosts. Y añadimos una entrada así:
192.168.0.103 velasquez.seguridad.net
Guardamos el archivo y abrimos el navegador. Allí digitamos http://velasquez.seguridad.net y nos muestra la pagina inicial del servidor web que configuramos.

Si intentamos conectarnos a https://velasquez.seguridad.net, es decir en modo seguro, vamos a tener un mensaje de error debido a que el certificado digital del servidor no está firmado por una entidad reconocida.

Esto se corrige obteniendo un certificado digital otorgado por una entidad certificadora reconocida.
Con esto hemos configurado el firewall y terminado el trabajo final!!!