jotak20
(usa Nenhuma)
Enviado em 03/07/2018 - 19:40h
Ola sou novo no site, estou batendo a cabeça para resolver um problema que peguei, minha experiencia é maior em ALC cisco, mas surgiu um problema no meu trabalho em uma rede que e gerenciada por um servidor linux que faz a gestao em iptables, li bastante e começei a fazer um arquivo em shell mas nao consigo avançar, parece que a logica esta errada queria uma luz... se alguem poder me ajudar
Eu preciso aplicar as seguintes regras
ssh apenas da rede 143.54/16
http liberado
conexão mysql apenas do ip 143.54.12.26
aceitar pacotes echo a uma taxa de 8 por segundo
bloquear qualquer conxao com as redes 10/8 e 192.168/16
qualquer computador da rede 143.54.12/24 possa fazer ftp
e por ultimo fazer um logdrop pra registrar o trafego direciando a ela e bloquealos, e direcionar as tentativas de telnet pra essa regra
fiz parte do que esta descrito em cima mas empaquei esta tudo documentado
#!/bin/bash
WAN_DEV=eth0 #interface de rede do computador
IPTABLES=/sbin/iptables
function default_policy
{
$IPTABLES -P OUTPUT ACCEPT # define que a política padrão para pacotes na cadeia OUTPUT (saída) é ACCEPT
case $1 in
drop)
$IPTABLES -P INPUT DROP # define que a política padrão para pacotes na cadeia INPUT (entrada) é DROP
$IPTABLES -P FORWARD DROP # define que a política padrão para pacotes na cadeia FORWARD (encaminhamento) é DROP
;;
accept)
$IPTABLES -P INPUT ACCEPT # define que a política padrão para pacotes na cadeia INPUT (entrada) é ACCEPT
$IPTABLES -P FORWARD ACCEPT # define que a política padrão para pacotes na cadeia FORWARD (encaminhamento) é ACCEPT
;;
esac
}
function firewall_rules {
case $1 in
add_all)
$IPTABLES -A INPUT -i lo -j ACCEPT
${IPTABLES} -P INPUT ACCEPT
$IPTABLES -A INPUT -i $WAN_DEV -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -i $WAN_DEV -p icmp -m limit --limit 8/s -j ACCEPT #(8 pacotes por segundo)
# inicio do ponto onde devem ser adicionadas as demais políticas que se desejam na rede
$IPTABLES -A INPUT -i $WAN_DEV -p tcp --dport 80 -j ACCEPT # aceita conexões na porta 80 (HTTP)
$IPTABLES -A INPUT -p $WAN_DEV -p tcp --dport 22 -s 143.54.0.0/16 -j ACCEPT # aceita Conexões SSH
$IPTABLES -A INPUT -p $WAN_DEV -p tcp --dport 3306 -s 143.54.12.26 -j ACCEPT # aceita conexões mysql
$IPTABLES
# fim do ponto onde devem ser adicionadas as demais políticas que se desejam na rede
;;
remove_all)
$IPTABLES -t nat -F
$IPTABLES -t nat -Z
$IPTABLES -t filter -F
$IPTABLES -t filter -Z
$IPTABLES -t mangle -Z
$IPTABLES -t mangle -F
;;
esac
}
case $1 in
start)
echo -n "Starting netfilter Rules: "
default_policy drop
firewall_rules add_all
echo "done."
;;
stop)
echo -n "Stopping netfilter Rules: "
firewall_rules remove_all
default_policy accept
echo "done."
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 [ start | stop | restart ]"
;;
esac