Ir ao conteúdo

Script De Firewall, Análise


celsoboy

Posts recomendados

Postado

Peguei este script e fiz as adaptações conforme precisava e gostaria que alguém pudesse dar uma analisada se está bom assim...

Tem um outro script que faz redirecionamento para um servidor 2000, pois são vários IPs que acessam o terminal service.

Valeu a ajuda.

O script:

#!/bin/bash

#

# Script de Firewall

#

#

IPTABLES="/usr/sbin/iptables"

VERDE="eth0"

VERMELHO="eth1"

LOCAL="lo"

echo

echo "=========================================="

echo "| INICIANDO FIREWALL |"

echo "=========================================="

### Passo 1: Limpando as regras ###

$IPTABLES -F INPUT

$IPTABLES -F OUTPUT

$IPTABLES -F FORWARD

echo "Limpando as regras .................[ OK ]"

# Definindo a Politica Default das Cadeias

$IPTABLES -P INPUT DROP

$IPTABLES -P FORWARD DROP

$IPTABLES -P OUTPUT ACCEPT

echo "Colocando as regras padroes ........[ OK ]"

### Passo 2: Desabilitar o trafego IP entre as placas de rede ###

echo "0" > /proc/sys/net/ipv4/ip_forward

echo "Desabilitando o roteamento .........[ OK ]"

# Configurando a Protecao anti-spoofing

for spoofing in /proc/sys/net/ipv4/conf/*/rp_filter; do

echo "1" > $spoofing

done

echo "Protecao anti-spoofing .............[ OK ]"

# Protecao contra ping da morte

$IPTABLES -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

echo "Protecao ping da morte .............[ OK ]"

# Impedimos que um atacante possa maliciosamente alterar alguma rota

echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects

echo "Inserindo anti-redirects ...........[ OK ]"

# Utilizado em diversos ataques, isso possibilita que o atacante determine o "caminho" que seu

# pacote vai percorrer (roteadores) ate seu destino. Junto com spoof, isso se torna muito perigoso.

echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route

echo "Inserindo anti-source_route ........[ OK ]"

# Protecao contra responses bogus

echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

echo "Inserindo anti-bugus_response ......[ OK ]"

# Protecao contra ataques de syn flood (inicio da conexao TCP). Tenta conter ataques de DoS.

echo 1 > /proc/sys/net/ipv4/tcp_syncookies

echo "Inserindo protecao anti-synflood ...[ OK ]"

### Passo 3: Carregando os modulos do iptables ###

modprobe ip_tables

modprobe iptable_filter

modprobe iptable_mangle

modprobe iptable_nat

modprobe ipt_MASQUERADE

echo "Carregando modulos do IPTABLES .....[ OK ]"

### Passo 4: Agora, vamos definir o que pode passar e o que não ###

####################

# Cadeia de Entrada

# LOCALHOST - ACEITA TODOS OS PACOTES

$IPTABLES -A INPUT -i $LOCAL -j ACCEPT

# PORTA 80 - ACEITA PARA A REDE LOCAL

$IPTABLES -A INPUT -i $VERDE -p tcp --dport 80 -j ACCEPT

# PORTA 222 - ACEITA PARA A REDE LOCAL, SSH

$IPTABLES -A INPUT -i $VERDE -p tcp --dport 222 -j ACCEPT

# No iptables, temos de dizer quais sockets sao validos em uma conexao

$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT

echo "Iniciando regras para INPUT ........[ OK ]"

################################

# Cadeia de Reenvio (FORWARD).

# Primeiro, ativar o mascaramento (nat).

$IPTABLES -t nat -F POSTROUTING

$IPTABLES -t nat -A POSTROUTING -o $VERMELHO -j MASQUERADE

echo "Ativando mascaramento de IP ........[ OK ]"

# Agora dizemos quem e o que podem acessar externamente

# No iptables, o controle do acesso a rede externa e feito na cadeia "FORWARD"

# COMPUTADOR QUE ACEITA TODOS OS PACOTES

# iptables -A FORWARD -s 192.168.42.20 -j ACCEPT

# PORTA 3128 - ACEITA PARA A REDE LOCAL

$IPTABLES -A FORWARD -i $VERDE -p tcp --dport 800 -j ACCEPT

# Redireciona porta 80 para 800 (squid)

$IPTABLES -t nat -A PREROUTING -i $VERDE -p tcp --dport 80 -j REDIRECT --to-port 800

# PORTA 53 - ACEITA PARA A REDE LOCAL

$IPTABLES -A FORWARD -i $VERDE -p udp --dport 53 -j ACCEPT

# PORTA 110 - ACEITA PARA A REDE LOCAL

$IPTABLES -A FORWARD -i $VERDE -p tcp --dport 110 -j ACCEPT

# PORTA 25 - ACEITA PARA A REDE LOCAL

$IPTABLES -A FORWARD -i $VERDE -p tcp --dport 25 -j ACCEPT

# PORTA 443 - ACEITA PARA A REDE LOCAL

$IPTABLES -A FORWARD -i $VERDE -p tcp --dport 443 -j ACCEPT

# PORTA 21 - ACEITA PARA A REDE LOCAL

$IPTABLES -A FORWARD -i $VERDE -p tcp --dport 21 -j ACCEPT

# Redireciomanento para IPs acessarem a empresa e direcionamento para uma porta, no caso a 3389

# $IPTABLES -t nat -A PREROUTING -p tcp -i 200.???.???.???? --dport 3389 -j DNAT --to 192.168.42.2:3389

#

# Criado arquivo rc.incluiip em /etc/rc.local para incluir os IPs para redirecionamento

#

# echo "Redirecionando porta 3389 ..........[ OK ]"

# No iptables, temos de dizer quais sockets sao validos em uma conexao

$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT

echo "Iniciando regras para FORWARD ......[ OK ]"

# Finalmente: Habilitando o trafego IP, entre as Interfaces de rede

echo "1" > /proc/sys/net/ipv4/ip_forward

echo "=========================================="

echo "Habilitando o roteamento ...........[ OK ]"

echo

echo "Acabado! Firewall: OK! ...........[ OK ]"

echo "=========================================="

echo

Até mais,

Celso

Postado

eu deixo sempre a politica de output como drop tb cara... caso alguma maquina da sua rede pegue algum vírus/worm q se transmite automaticamente você diminui o trafego disso e evita de ser um espalhador de virus para os outros... ai você libera a saida do q você precisa

Obrigado

Postado

Vou colocar este para rodar e ir aos poucos as outras coisas.

Só posso colocar para teste mesmo no sábado quando a rede está parada.

Se colocar DROP na OUTPUT vou ter que liberar cada saída, cada porta certo?

Abraço,

Celso

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!