Last active
June 6, 2016 08:07
-
-
Save jumarag/41a1bb29ef102a02f7a8bf7a71f05e31 to your computer and use it in GitHub Desktop.
Configuración de iptables en debian y derivados para un servidor web. Para que se ejecute en cada inicio, lo incluimos en el fichero /etc/rc.local
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
##################################### | |
# Reglas iptables para servidor web # | |
##################################### | |
IP="192.168.1.4" # Dirección de ejemplo | |
DNS="192.168.1.3" # Dirección de ejemplo | |
DNS2="8.8.8.8" # Dirección de ejemplo | |
echo "Aplicando reglas de Firewall ...\n" | |
echo "Borrando reglas anteriores\n" | |
## Borrado de todas las reglas que pudiera haber | |
iptables -F | |
iptables -X | |
iptables -Z | |
iptables -t nat -F | |
echo "Estableciendo políticas por defecto\n" | |
## Establecemos politica por defecto: DROP | |
iptables -P INPUT DROP | |
iptables -P OUTPUT DROP | |
iptables -P FORWARD DROP | |
# A localhost aceptamos todo | |
iptables -A INPUT -i lo -j ACCEPT | |
iptables -A OUTPUT -o lo -j ACCEPT | |
# A nuestra IP aceptamos todo | |
iptables -A INPUT -s $IP -j ACCEPT | |
iptables -A OUTPUT -d $IP -j ACCEPT | |
# Habilitamos el puerto 80 | |
iptables -A INPUT -p tcp -m tcp --sport 80 -m state --state RELATED,ESTABLISHED -j ACCEPT | |
iptables -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT | |
# Habilitamos el puerto 443 para permitir https | |
iptables -A INPUT -p tcp -m tcp --sport 443 -m state --state RELATED,ESTABLISHED -j ACCEPT | |
iptables -A OUTPUT -p tcp -m tcp --dport 443 -j ACCEPT | |
# Permitir el Ping hacia nuestra máquina | |
iptables -A INPUT -p icmp -j ACCEPT | |
# Permitir Ping hacia otras máquinas | |
iptables -A OUTPUT -p icmp -j ACCEPT | |
# Permitimos la consulta a un primer DNS | |
iptables -A INPUT -s $DNS -p udp -m udp --sport 53 -j ACCEPT | |
iptables -A OUTPUT -d $DNS -p udp -m udp --dport 53 -j ACCEPT | |
# Permitimos la consulta a un segundo DNS | |
iptables -A INPUT -s $DNS2 -p udp -m udp --sport 53 -j ACCEPT | |
iptables -A OUTPUT -d $DNS2 -p udp -m udp --dport 53 -j ACCEPT | |
echo "Reglas aplicadas correctamente\n" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment