Enviado em 27/01/2018 - 13:54h
Boa tarde pessoal,
Estou fazendo alguns testes e não estou conseguindo bloquear o ping para acesso externo e deixar apenas o ping na minha rede local.
Segue meu simples script de firewall. Agradeço a todos por ajudar =).
Simplesmente minha regras iptables -A INPUT -p icmp --icmp-type 8 e 0 -s $NETWORK - ACCEPT não funciona e se eu dropar essa regra também não funciona.
Se eu inserir esse echo 1 /proc/sys/net/ipv4/icmp_echo_ignore_all ele bloqueia tudo.
OBS: ESSE FIREWALL NÃO VAI ROTEAR NADA PARA REDE LOCAL APENAS PARA SEGURANÇA DE UM WEBSERVER
#!/bin/bash
# IPTABLES #
# Variaveis de rede
IF_WAN="ens7"
IF_LAN="ens5"
NETWORK="192.168.200.0/24"
# Case de start
function start () {
# Limpando regras
iptables -F
iptables -F -t filter
iptables -F -t nat
iptables -F -t mangle
iptables -X
iptables -Z
# Politica padrao
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
# Liberando cadeias
iptables -A INPUT -j ACCEPT
iptables -A FORWARD -j ACCEPT
# Liberando regras de INPUT
# Loopback
iptables -A INPUT -i lo -j ACCEPT
# IMCP para o host
iptables -A INPUT -s $NETWORK -p icmp --icmp-type 8 -j ACCEPT
iptables -A INPUT -s $NETWORK -p icmp --icmp-type 0 -j ACCEPT
# SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# FTP
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
# MSQL
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
iptables -A INPUT -p udp --dport 3306 -j ACCEPT
# APACHE
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
}
# Case stop
function stop () {
# Limpando regras
iptables -F
iptables -F -t filter
iptables -F -t nat
iptables -F -t mangle
iptables -X
iptables -Z
# Politica como accept
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
}
case $1 in
start) echo "Firewall Iniciado"
start
;;
stop) echo "Firewall Parado"
stop
;;
restart) echo "Firewall reiniciado"
stop
start
;;
esac
# FIM
Estou fazendo alguns testes e não estou conseguindo bloquear o ping para acesso externo e deixar apenas o ping na minha rede local.
Segue meu simples script de firewall. Agradeço a todos por ajudar =).
Simplesmente minha regras iptables -A INPUT -p icmp --icmp-type 8 e 0 -s $NETWORK - ACCEPT não funciona e se eu dropar essa regra também não funciona.
Se eu inserir esse echo 1 /proc/sys/net/ipv4/icmp_echo_ignore_all ele bloqueia tudo.
OBS: ESSE FIREWALL NÃO VAI ROTEAR NADA PARA REDE LOCAL APENAS PARA SEGURANÇA DE UM WEBSERVER
#!/bin/bash
# IPTABLES #
# Variaveis de rede
IF_WAN="ens7"
IF_LAN="ens5"
NETWORK="192.168.200.0/24"
# Case de start
function start () {
# Limpando regras
iptables -F
iptables -F -t filter
iptables -F -t nat
iptables -F -t mangle
iptables -X
iptables -Z
# Politica padrao
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
# Liberando cadeias
iptables -A INPUT -j ACCEPT
iptables -A FORWARD -j ACCEPT
# Liberando regras de INPUT
# Loopback
iptables -A INPUT -i lo -j ACCEPT
# IMCP para o host
iptables -A INPUT -s $NETWORK -p icmp --icmp-type 8 -j ACCEPT
iptables -A INPUT -s $NETWORK -p icmp --icmp-type 0 -j ACCEPT
# SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# FTP
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
# MSQL
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
iptables -A INPUT -p udp --dport 3306 -j ACCEPT
# APACHE
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
}
# Case stop
function stop () {
# Limpando regras
iptables -F
iptables -F -t filter
iptables -F -t nat
iptables -F -t mangle
iptables -X
iptables -Z
# Politica como accept
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
}
case $1 in
start) echo "Firewall Iniciado"
start
;;
stop) echo "Firewall Parado"
stop
;;
restart) echo "Firewall reiniciado"
stop
start
;;
esac
# FIM