Baixe o app para aproveitar ainda mais
Prévia do material em texto
• #!/bin/bash########################## ### Variaveis ############ ########################## echo “Definindo Variaveis”REDE=”192.168.60.0/24ʺ echo “Rede interna”NET=”0.0.0.0/0ʺ echo “Todas as Redes”PA=”1024:65535ʺ echo “Portas Altas” • DPORT=”80,443ʺ echo “Portas HTTP e HTTPS que sairao pelo Proxy”IPG=”192.168.60.1ʺ ## Conforme /etc/init.d/roteamento.sh ## echo “IP Gateway”ETHINTERNET=”eth0ʺ ## Conforme /etc/init.d/roteamento.sh ## echo “Placa Internet” ETHREDE=”eth1ʺ ## Conforme /etc/init.d/roteamento.sh ## echo “Placa Rede Interna” ############# Políticas de Segurança Iniciais ############# • echo “limpando Tabelas” iptables -F iptables -t nat -F iptables -t mangle -Fecho “Dropando as Politicas” iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP ############# REGRAS ################ • echo “Autorizando o kernel a rotear pacotes”sysctl -w net.ipv4.ip_forward=1echo “Liberando cenexoes na Loopback” iptables -A OUTPUT -d 127.0.0.1 -j ACCEPT iptables -A INPUT -d 127.0.0.1 -j ACCEPTecho “Liberando Ping” iptables -A OUTPUT -p icmp -j ACCEPT iptables -A INPUT -p icmp -j ACCEPT • echo “Liberando acesso SSH” iptables -A OUTPUT -p tcp –sport 22 -j ACCEPT iptables -A OUTPUT -p tcp –dport 22 -j ACCEPT iptables -A INPUT -p tcp –dport 22 -j ACCEPT iptables -A INPUT -p tcp –sport 22 -j ACCEPTecho “Liberando Resolucoes de Nome” iptables -A OUTPUT -p udp –sport $PA –dport 53 -j ACCEPT iptables -A INPUT -p udp –sport 53 –dport $PA -j ACCEPT • echo “Navegacao na Web” iptables -A OUTPUT -p tcp –sport $PA –dport 80 -j ACCEPT iptables -A OUTPUT -p tcp –sport $PA –dport 443 -j ACCEPT iptables -A INPUT -p tcp –sport 80 –dport $PA -j ACCEPT iptables -A INPUT -p tcp –sport 443 –dport $PA -j ACCEPTecho “Navegacao web com Proxy” iptables -A INPUT -p tcp –dport 3128 -j ACCEPT iptables -A OUTPUT -p tcp –sport 3128 -j ACCEPT iptables -t nat -A PREROUTING -i eth1 -p tcp -m multiport –dport $DPORT -j REDIRECT –to-port 3128 • echo “Liberacao mtr” iptables -A INPUT -p icmp –icmp-type 11 -s $IPG -j ACCEPTecho “Redirecionamento para Rede Interna” iptables -A FORWARD -s $REDE -j ACCEPT iptables -A FORWARD -d $REDE -j ACCEPTecho “Mascarando a Rede Interna” iptables -t nat -A POSTROUTING -o $ETHINTERNET -j MASQUERADE ############# Politicas de Segurança Adicionais ############# • echo “Protecao contra ip spoofing” echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter echo “Proteção Contra ping por Broadcast” echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_broadcastsecho “Descarta pacotes mal formados” iptables -A INPUT -m state –state INVALID -j DROP • echo “Protecao contra DDoS por icmp” iptables -A INPUT -p icmp –icmp-type echo-request -m limit –limit 1/s -j ACCEPT echo “Descartando pacotes inválidos ou mal formados” iptables -A INPUT -m conntrack –ctstate INVALID -j DROP iptables -A OUTPUT -m conntrack –ctstate INVALID -j DROP iptables -A FORWARD -m conntrack –ctstate INVALID -j DROP • echo “Aceitando pacotes de conexões já estabelecidas” iptables -A INPUT -m conntrack –ctstate ESTABILISHED,RELATED -j ACCEPT iptables -A OUTPUT -m conntrack –ctstate ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -m conntrack –ctstate ESTABLISHED,RELATED -j ACCEPT echo “Ok” - Coloque isso num arquivo e de permissão de execução. Feito isso, coloque o script na inicialização do sistema (para o Debian ou derivados, use o comando abaixo): • # update-rc.d nome_do_seu_arquivo* defaults - Verificar no material disponibilizado, como e onde devem ser salvos os arquivos de iptables. - TRADUZIR E IDENTIFICAR TODOS OS COMANDOS UTILIZADOS NESTE SCRIPT
Compartilhar