Página 2 de 2 PrimeiroPrimeiro 12
+ Responder ao Tópico



  1. #6
    wrochal
    Caro CHVT,

    Não entendi sua pergunta abaixo:

    Como eu nunca fiz um script, também nunca liguei para isso, agora eu estou querendo criar um script Estou querendo criar um rc.firewall no diretório: /etc/rc.d/ e depois torna-lo executável, mas para isso eu preciso de um script para o iptables. Então, a minha dúvida é a seguinte: Como ficaria um script com as regras que eu citei acima

    :?: :?: :?:

    Tem vários artigo que fala sobre as regras, sendo de bloqueio de portas, evitando resposta de icmp, e etc.....

    Na under tem artigos q tem todas as regras acima,

  2. #7
    chvt
    Eu quero que meu script seja igual ao que vou colocar abaixo, mas em vez das regras do exemplo desse script, eu vou querer as minhas regras...

    #!/bin/sh
    # Modelo de configuração de firewall
    # Autor: Gleydson M. Silva
    # Data: 05/09/2001
    # Descrição: Produzido para ser distribuído livremente, acompanha o guia
    # Foca GNU/Linux. http://focalinux.cipsga.org.br
    #

    # É assumido um sistema usando kmod para carga automática dos módulos usados por
    # esta configuração do firewall:
    # ipt_filter
    # ipt_nat
    # ipt_conntrack
    # ipt_mangle
    # ipt_TOS
    # ipt_MASQUERADE
    # ipt_LOG

    # Se você tem um kernel modularizado que não utiliza o kmod, será necessário
    # carregar estes módulos via modprobe, insmod ou iptables --modprobe=modulo

    ##### Definição de Policiamento #####
    # Tabela filter
    iptables -t filter -P INPUT DROP
    iptables -t filter -P OUTPUT ACCEPT
    iptables -t filter -P FORWARD DROP
    # Tabela nat
    iptables -t nat -P PREROUTING ACCEPT
    iptables -t nat -P OUTPUT ACCEPT
    iptables -t nat -P POSTROUTING DROP
    # Tabela mangle
    iptables -t mangle -P PREROUTING ACCEPT
    iptables -t mangle -P OUTPUT ACCEPT


    ##### Proteção contra IP Spoofing #####
    for i in /proc/sys/net/ipv4/conf/*/rp_filter; do
    echo 1 >$i
    done

    ##### Ativamos o redirecionamento de pacotes (requerido para NAT) #####
    echo "1" >/proc/sys/net/ipv4/ip_forward

    # O iptables define automaticamente o número máximo de conexões simultâneas
    # com base na memória do sistema. Para 32MB = 2048, 64MB = 4096, 128MB = 8192,
    # sendo que são usados 350 bytes de memória residente para controlar
    # cada conexão.
    # Quando este limite é excedido a seguinte mensagem é mostrada:
    # "ip_conntrack: maximum limit of XXX entries exceed"
    #
    # Como temos uma rede simples, vamos abaixar este limite. Por outro lado isto
    # criará uma certa limitação de tráfego para evitar a sobrecarga do servidor.
    echo "2048" > /proc/sys/net/ipv4/ip_conntrack_max


    ###############################################################
    # Tabela filter #
    ###############################################################

    ##### Chain INPUT #####
    # Criamos um chain que será usado para tratar o tráfego vindo da Internet e
    iptables -N ppp-input

    # Aceita todo o tráfego vindo do loopback e indo pro loopback
    iptables -A INPUT -i lo -j ACCEPT
    # Todo tráfego vindo da rede interna também é aceito
    iptables -A INPUT -s 192.168.1.0/24 -i eth0 -j ACCEPT

    # Conexões vindas da interface ppp0 são tratadas pelo chain ppp-input
    iptables -A INPUT -i ppp+ -j ppp-input

    # Qualquer outra conexão desconhecida é imediatamente registrada e derrubada
    iptables -A INPUT -j LOG --log-prefix "FIREWALL: INPUT "
    iptables -A INPUT -j DROP


    ##### Chain FORWARD ####
    # Permite redirecionamento de conexões entre as interfaces locais
    # especificadas abaixo. Qualquer tráfego vindo/indo para outras
    # interfaces será bloqueado neste passo
    iptables -A FORWARD -d 192.168.1.0/24 -i ppp+ -o eth0 -j ACCEPT
    iptables -A FORWARD -s 192.168.1.0/24 -i eth0 -o ppp+ -j ACCEPT
    iptables -A FORWARD -j LOG --log-prefix "FIREWALL: FORWARD "
    iptables -A FORWARD -j DROP


    ##### Chain ppp-input ####
    # Aceitamos todas as mensagens icmp vindas de ppp0 com certa limitação
    # O tráfego de pacotes icmp que superar este limite será bloqueado
    # pela regra "...! ESTABLISHED,RELATED -j DROP" no final do
    # chain ppp-input
    #
    iptables -A ppp-input -p icmp -m limit --limit 2/s -j ACCEPT

    # Primeiro aceitamos o tráfego vindo da Internet para o serviço www (porta 80)
    iptables -A ppp-input -p tcp --dport 80 -j ACCEPT

    # A tentativa de acesso externo a estes serviços serão registrados no syslog
    # do sistema e serão bloqueados pela última regra abaixo.
    iptables -A ppp-input -p tcp --dport 21 -j LOG --log-prefix "FIREWALL: ftp "
    iptables -A ppp-input -p tcp --dport 25 -j LOG --log-prefix "FIREWALL: smtp "
    iptables -A ppp-input -p udp --dport 53 -j LOG --log-prefix "FIREWALL: dns "
    iptables -A ppp-input -p tcp --dport 110 -j LOG --log-prefix "FIREWALL: pop3 "
    iptables -A ppp-input -p tcp --dport 113 -j LOG --log-prefix "FIREWALL: identd "
    iptables -A ppp-input -p udp --dport 111 -j LOG --log-prefix "FIREWALL: rpc"
    iptables -A ppp-input -p tcp --dport 111 -j LOG --log-prefix "FIREWALL: rpc"
    iptables -A ppp-input -p tcp --dport 137:139 -j LOG --log-prefix "FIREWALL: samba "
    iptables -A ppp-input -p udp --dport 137:139 -j LOG --log-prefix "FIREWALL: samba "
    # Bloqueia qualquer tentativa de nova conexão de fora para esta máquina
    iptables -A ppp-input -m state --state ! ESTABLISHED,RELATED -j LOG --log-prefix "FIREWALL: ppp-in "
    iptables -A ppp-input -m state --state ! ESTABLISHED,RELATED -j DROP
    # Qualquer outro tipo de tráfego é aceito
    iptables -A ppp-input -j ACCEPT


    #######################################################
    # Tabela nat #
    #######################################################

    ##### Chain POSTROUTING #####
    # Permite qualquer conexão vinda com destino a lo e rede local para eth0
    iptables -t nat -A POSTROUTING -o lo -j ACCEPT
    iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j ACCEPT

    # Não queremos que usuários tenham acesso direto a www e smtp da rede externa, o
    # squid e smtpd do firewall devem ser obrigatoriamente usados. Também registramos
    # as tentativas para monitorarmos qual máquina está tentando conectar-se diretamente.
    iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp+ -p tcp --dport 80 -j LOG --log-prefix "FIREWALL: SNAT-www "
    iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp+ -p tcp --dport 25 -j LOG --log-prefix "FIREWALL: SNAT-smtp "
    iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp+ -p tcp --dport 25 -j DROP
    iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp+ -p tcp --dport 80 -j DROP
    # É feito masquerading dos outros serviços da rede interna indo para a interface
    # ppp0
    iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp+ -j MASQUERADE

    # Qualquer outra origem de tráfego desconhecida indo para eth0 (conexões vindas
    # de ppp+) são bloqueadas aqui
    iptables -t nat -A POSTROUTING -o eth0 -d 192.168.1.0/24 -j LOG --log-prefix "FIREWALL: SNAT unknown"
    iptables -t nat -A POSTROUTING -o eth0 -d 192.168.1.0/24 -j DROP
    # Quando iniciamos uma conexão ppp, obtermos um endereço classe A (10.x.x.x) e após
    # estabelecida a conexão real, este endereço é modificado. O tráfego indo para
    # a interface ppp não deverá ser bloqueado. Os bloqueios serão feitos no
    # chain INPUT da tabela filter
    iptables -t nat -A POSTROUTING -o ppp+ -j ACCEPT

    # Registra e bloqueia qualquer outro tipo de tráfego desconhecido
    iptables -t nat -A POSTROUTING -j LOG --log-prefix "FIREWALL: SNAT "
    iptables -t nat -A POSTROUTING -j DROP


    ###############################################
    # Tabela mangle #
    ###############################################

    ##### Chain OUTPUT #####
    # Define mínimo de espera para os serviços ftp, telnet, irc e DNS, isto
    # dará uma melhor sensação de conexão em tempo real e diminuirá o tempo
    # de espera para conexões que requerem resolução de nomes.
    iptables -t mangle -A OUTPUT -o ppp+ -p tcp --dport 21 -j TOS --set-tos 0x10
    iptables -t mangle -A OUTPUT -o ppp+ -p tcp --dport 23 -j TOS --set-tos 0x10
    iptables -t mangle -A OUTPUT -o ppp+ -p tcp --dport 6665:6668 -j TOS --set-tos 0x10
    iptables -t mangle -A OUTPUT -o ppp+ -p udp --dport 53 -j TOS --set-tos 0x10



  3. intao chvt, vc vai ter q ler cada regra do seu script e colocar o comentario acima de cada uma delas informando o que a mesma faz, depois é só dexa o script executavel e pronto.....mas pra que vc quer colocar os comentarios acima de cada linha?? só isso que eu ainda nao intendi... ops:

  4. #9
    chvt
    É SDM, você tem razão, vou deixar o script sem comentários...



  5. #10
    wrochal
    CHVT,

    Na boa, como vc coloca regras dessa sem saber o que é, ou vc sabe ou apenas queria deixar de forma mais fácil de analizar.?

    falou, :?:






Tópicos Similares

  1. Script para Habilitar e Desabilitar Bloqueios feitos em IPtables
    Por flaviobatistela no fórum Servidores de Rede
    Respostas: 4
    Último Post: 31-10-2006, 16:17
  2. script para criação de contas
    Por no fórum Linguagens de Programação
    Respostas: 1
    Último Post: 08-02-2003, 16:08
  3. Regra de ipchains para iptables!
    Por no fórum Servidores de Rede
    Respostas: 6
    Último Post: 27-12-2002, 10:43
  4. Regra para IpTables
    Por no fórum Servidores de Rede
    Respostas: 2
    Último Post: 08-11-2002, 13:36
  5. scripts para logs do Radius
    Por dboom no fórum Servidores de Rede
    Respostas: 1
    Último Post: 15-09-2002, 15:00

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L