http://www.zago.eti.br/iptables-modelos-3.txt Mensagens que circulou na Linux-br com modelos ou indicação de scripts de firewall com iptables. Use CTRL+F para refinar a pesquisa. Linha de: **************** separa mensagens ou tópicos. ******************************************************** Zago http://www.zago.eti.br/menu.html FAQ e artigos sobre Linux ******************************************************** ******************************************************** De:  Marcos Nomura Para:  Linux Lista Assunto:  (linux-br)Script de iptables Data:  Fri, 15 Aug 2003 10:26:00 -0300 Saudacoes caros integrantes da lista. Estou usando o RH9 com o iptables da seguinte forma #================================== Echo Iniciando o servico BIND (DNS) /etc/init.d/named start #=================================== #================================== echo Iniciando IP FORWARD echo 1 > /proc/sys/net/ipv4/ip_forward $================================== #================================== echo Iniciando agora regras de IPTABLES echo #------------------------------------------------------- echo Flash ALL iptables -F iptables -F INPUT iptables -F FORWARD iptables -F OUTPUT iptables -F -t nat iptables -X echo #-------------------------------------------------------- #-------------------------------------------------------- echo Bloqueando Ping iptables -A FORWARD -p icmp --icmp-type echo-request -j DROP iptables -A INPUT -p icmp -j REJECT --reject-with icmp-net-unreachable #-------------------------------------------------------- #-------------------------------------------------------- echo Bloqueando Ping of Death iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT echo #-------------------------------------------------------- #-------------------------------------------------------- echo Bloqueando ataques SYN FLOOD iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT echo #-------------------------------------------------------- #-------------------------------------------------------- echo Bloqueando Port Scanners Avancados iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/2 -j ACCEPT #-------------------------------------------------------- #-------------------------------------------------------- echo Bloqueando pacotes danificados ou suspeitos iptables -A FORWARD -m unclean -j DROP #-------------------------------------------------------- #-------------------------------------------------------- echo Bloqueando IP SPOOFING iptables -A INPUT -s 10.0.0.0/8 -i eth0 -j DROP iptables -A INPUT -s 172.16.0.0./16 -i eth0 -j DROP iptables -A INPUT -s 192.168.0.0/24 -i eth0 -j DROP #-------------------------------------------------------- #-------------------------------------------------------- echo Bloqueando e logando portas FTP iptables -A INPUT -p tcp --dport 21 -j LOG --log-prefix # esta linha foi criada pois havia conexoes fora pra dentro, na maquina Firewall iptables -A INPUT -p tcp --dport 21 -j DROP iptablest -A FORWARD -p tcp --dport 21 -j LOG --log-prefix #esta linha foi comentada pois barrava acessos internos a externos via fTP # iptables -A FORWARD -p tcp --dport 21 -j DROP #-------------------------------------------------------- #-------------------------------------------------------- echo bloqueando e logando BO iptables -A INPUT -p tcp --dport 12345 -j LOG --log-prefix iptables -A INPUT -p tcp --dport 12345 -j DROP #-------------------------------------------------------- #-------------------------------------------------------- echo Politicas padroes a serem ativadas DEPOIS q estiver com a lista de end # iptables -P INPUT DROP # iptables -P OUTPUT ACCEPT # iptables -P FORWARD ACCEPT #-------------------------------------------------------- #-------------------------------------------------------- echo Ativando NAT iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to (ip valido) #-------------------------------------------------------- #-------------------------------------------------------- echo Roteamento de portas para 2 server iptables -t nat -A PREROUTING -p tcp --dport XXXX -j DNAT --to 192.168.0.X:XXXX iptables -t nat -A PREROUTING -p tcp --dport XXXX -j DNAT --to 192.168.0.X:XXXX iptables -t nat -A PREROUTING -p tcp --dport XXXX -j DNAT --to 192.168.0.X:XXXX iptables -t nat -A PREROUTING -p tcp --dport XXXX -j DNAT --to 192.168.0.X:XXXX #-------------------------------------------------------- Bom, como sou iniciante em Linux, antes fazia isso via Windows, mas fiquei abismado com a velocidade e segurabilidade q o sistema Linux me proporcionou, gostaria de voces a opiniao e sugestoes de como se pode melhorar estas funcoes de Firewall Adicionarei logo os bloqueios a p2p, porem tenho perguntas: - Porque o servico de IRC das estacoes nao funciona mais? Acredito q seja na 3 linha, sobre o bloqueio de pings. Porem, como eu ativei o bloqueio para todos os pings, podem existir PINGS beneficos? Entre um limit de tempo, me parece q alguns routers utilizam essa forma. - Este script esta funcionando normalmente, mas alguem tem mais alguma sugestao? no bloqueio de port scanners, eh isso mesmo? como testaria-lo? - Na regre de bloqueio de ataque (iptables -A INPUT -s 10.0.0.0/8 -i eth0 -j DROP) apos um tempo de uso aparece qdo dou um $iptables -L -vn uma qte de bytes la, isso sao ataques SYN FLOOD barrados? Grato a ajuda de todos Marcos Nomura --------------------------------------------------------------------------- Esta lista é patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br Regras de utilização da lista: http://linux-br.conectiva.com.br FAQ: http://www.zago.eti.br/menu.html ******************************************************** De:  emanuel@ewv.com.br Responder-a:  emanuel@ewv.com.br Para:  linux-br@bazar2.conectiva.com.br Assunto:  (linux-br)firewall Data:  Wed, 20 Aug 2003 11:31:57 BRT   olá  lista ,,,   Gostaria da ajuda dos colegas .... para isso:   Estou configurando um firewall com iptables, esta máquina roda os seguintes serviços:   Squid - Proxy wu-ftpd - Servidor FTP Postfix - pop3 smtp forward de internet pra redeinterna    . . mais quando ativo meu firewall não consigo usar o proxy ... já tentei todas regras que vi .   detalhe: se descomentar a linha que fecha o resto funciona, mais o e-mail não ....   Se alguem puder me ajudar agradeço ,, toda ajuda é bem vinda ....     Obrigado.     segue meu script:     #!/bin/bash /sbin/iptables  -F   # Compartilha a conexão com squid   iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128   # Rejeitar conexões novas (NEW) e inválidas (INVALID) de pacotes com destino à maquina local ou que devem ser repassados vindos de eth1. /sbin/iptables -A INPUT -i eth1 -m state --state NEW,INVALID -j DROP /sbin/iptables -A FORWARD -i eth1 -m state --state NEW,INVALID -j DROP   # Habilitar IP forwarding echo 1 > /proc/sys/net/ipv4/ip_forward   #>Bloqueia PING #echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all   #Anti-Spoofings /sbin/iptables -A INPUT -s 10.0.0.0/8 -i  eth1 -j DROP /sbin/iptables -A INPUT -s 127.0.0.0/8 -i  eth1 -j DROP /sbin/iptables -A INPUT -s 172.16.0.0/12 -i  eth1 -j DROP /sbin/iptables -A INPUT -s 192.168.1.0/16 -i  eth1 -j DROP   #Bloqueando Multicast /sbin/iptables -A INPUT -s 224.0.0.0/8 -d 0/0 -j DROP /sbin/iptables -A INPUT -s 0/0 -d 224.0.0.0/8 -j DROP #printf "."   #>Ping da morte: /sbin/iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT   #>Proteção contra Syn-Flood /sbin/iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT   #>Port scanner suspeito: /sbin/iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT   #>Protege contra pacotes danificados (usados em ataques DoS) /sbin/iptables -A INPUT -m unclean -j DROP /sbin/iptables -A FORWARD -m unclean -j DROP   #Aceita trafico em lo (loopback) device /sbin/iptables -I INPUT -i lo -j ACCEPT /sbin/iptables -I OUTPUT -o lo -j ACCEPT /sbin/iptables -I INPUT -i ! lo -s 127.0.0.0/255.0.0.0 -j DROP #printf "."   # Porta de SSH # LOG --> /var/log/messages #/sbin/iptables -A INPUT -p tcp --destination-port 22 -j LOG --log-prefix "FIREWALL - Serviço: SSH -> " # Porta de SSH para fora /sbin/iptables -A INPUT -p tcp --destination-port 22 -i eth1 -j DROP # Porta de SSH local /sbin/iptables -A INPUT -p tcp --destination-port 22 -i eth0 -j ACCEPT #printf "."   # Porta de FTP # LOG --> /var/log/messages #/sbin/iptables -A INPUT -p tcp --destination-port 21 -j LOG --log-prefix "FIREWALL - Serviço: FTP -> " # Porta de FTP para fora #/sbin/iptables -A INPUT -p tcp --destination-port 21 -i eth1 -j DROP # Porta de FTP local /sbin/iptables -A INPUT -p tcp --destination-port 21 -i eth0 -j ACCEPT # Abrir FTP para fora /sbin/iptables -A INPUT -p tcp --destination-port 21 -j ACCEPT # Abre para a rede local /sbin/iptables -A INPUT -p tcp --syn -s 192.168.0.0/255.255.255.0 -j ACCEPT # Fecha o resto /sbin/iptables -A INPUT -p tcp --syn -j DROP   #Bloqueando Tracertroute /sbin/iptables -A INPUT -p udp -s 0/0 -i eth1 --dport 33435:33525 -j DROP   # Salvando as regras /sbin/iptables-save > /etc/firewall   echo "Firewall Ativo!"   ******************************************************** De:  Gustavo Andreoni Vieira d'Almeida Para:  fabio_caqui@ig.com.br Cc:  Linux-BR Assunto:  Re: (linux-br)iptables Data:  Sat, 16 Aug 2003 14:22:11 -0300 Ola, Tente assim  iptables -t nat -A PREROUTING -t nat -p tcp -d 200.qqq.www.eee --dport 110  -j DNAT --to-destination 192.qqq.www.eee iptables -t nat -A PREROUTING -t nat -p udp --dport 110 -d 200.qqq.www.eee -j DNAT --to-destination 192.qqq.www.eee iptables -A FORWARD -p tcp --dport 110 -d 200.qqq.www.eee -j ACCEPT iptables -A FORWARD -p tcp --dport 110 -s 200.qqq.www.eee -j ACCEPT iptables -A FORWARD - p udp --dport 110 -d 200.qqq.www.eee -j ACCEPT iptables -A FORWARD - p udp --dport 110 -s 200.qqq.www.eee -j ACCEPT > iptables -t nat -A PREROUTING -t nat -p tcp -d 200.qqq.www.eee --dport 110 > -j DNAT --to 192.qqq.www.eee > iptables -t nat -A PREROUTING -t nat -p udp -d 200.qqq.www.eee --dport 110 > -j DNAT --to 192.qqq.www.eee > o mesmo para porta 25. Gustavo ******************************************************** De:  sedrez@tecgraf.puc-rio.br Para:  Jederson Cc:  linux-br@bazar2.conectiva.com.br Assunto:  RE: (linux-br)Iptables redirecionamento de servidores (ainda) Data:  Fri, 26 Sep 2003 20:52:56 -0300 (BRT) On 25-Sep-2003 Jederson wrote: > iptables -t nat -A PREROUTING -p tcp -d 200.210.47.67 > --dport 3050 -j DNAT --to 191.161.10.100 > > iptables -t nat -A POSTROUTING -p tcp -s > 191.161.10.100 --sport 3050 -j SNAT --to 200.210.47.67 > (está regra foi um frequentador da lista que me passou > e a coloquei tbm) > ... > Ajude este simples mortal aqui, que tá se matando para > fazer isso aqui funcionar.... e até agora nda... > Rio de Janeiro, 26-Sep-2003 Em primeiro lugar, tem certeza do IP que você está usando na rede interna? Não está em uma das faixas de IP reservadas pelo RFC 1918. Não deveria ser 192.168.x.x? OK, vamos consolidar e simplificar o que você precisa: Notando que que você está realizando a conexão com ppp (linha discada?), o pppd executa os scripts /etc/ppp/ip-up depois de estabelecer a conexão e /etc/ppp/ip-down quando fecha ou cai. Estes scripts normalmente chamam seus equivalentes locais - /etc/ppp/ip-up-local e /etc/ppp/ip-down-local - que não são substituidos quando há atualização do pacote. Se estes arquivos *-local não existirem, crie-os com permissão de execução (a+x). Nas regras que vou colocar a seguir, usei duas capacidades que tenho visto pouca gente usar: controle de estado de conexão (-m state) e Chains definidas pelo usuário. São duas coisas que nos permitem manter a segurança reduzindo o número de regras. NB: Eu não testei isto, embora partes sejam de scripts que eu usei em casa até ter conexão por cabo. No arquivo /etc/ppp/ip-down-local, coloque os seguintes comandos: #----------- # Desabilita o roteamento sysctl -w net.ipv4.ip_forward=0 # Limpa TODAS as regras de iptables iptables -t filter -F iptables -t nat    -F iptables -t mangle -F # retira chains definidas pelo usuário iptables -t filter -X iptables -t nat    -X iptables -t mangle -X # retorna default policy ao "default" iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT #----------- Isto vai garantir um estado "limpo" cada vez que começar uma conexão. Agora, no arquivo /etc/ppp/ip-up-local, coloque os seguintes comandos: #----------- # Os parâmetros são, na ordem: # interface tty velocidade IP-local IP-remoto [extras] IF="$1"         # Interface externa IP="$4"         # IP local # Auxiliares IN="eth0"               # Interface interna IBSERV="191.161.10.100" # InterBase Server IBPORT="3050"           # InterBase Port (tcp) # ICMP de serviço ICMPUTIL="echo-reply destination-unreachable time-exceeded parameter-problem" # Desabilita o roteamento até estabelecer as regras sysctl -w net.ipv4.ip_forward=0 # Chains de LOG, para INPUT e FORWARD # Limita o LOG a 10/minuto, para evitar lotar o LOG em scan iptables -N DROPLOGI iptables -A DROPLOGI -j LOG --logprefix "DENY:INPUT: " --loglevel 6 \         -m limit --limit 10/minute iptables -A DROPLOGI -j DROP iptables -N DROPLOGF iptables -A DROPLOGF -j LOG --logprefix "DENY:FORWARD: " --loglevel 6 \         -m limit --limit 10/minute iptables -A DROPLOGF -j DROP # masquerade iptables -t nat -A POSTROUTING -o "$IF" -j MASQUERADE # cuidados com o loopback iptables -A INPUT -i lo -j ACCEPT iptables -F FORWARD -i lo -o lo -j ACCEPT # limpeza do Input: IPs de rede interna (RFC 1918) vindos da Internet iptables -A INPUT -i "$IF" -s 10.0.0.0/8         -j DROPLOGI iptables -A INPUT -i "$IF" -s 172.16.0.0/12      -j DROPLOGI iptables -A INPUT -i "$IF" -s 192.168.0.0/16     -j DROPLOGI # Bloqueia multicast - se quiser permitir multicast, substitua # DROPLOGI por ACCEPT iptables -A INPUT -i "$IF" -d 224.0.0.0/8        -j DROPLOGI # Bloqueia o que não for destinado ao IP local iptables -A INPUT -i "$IF" -d \! "$IP"           -j DROPLOGI # Permite o PING, mas evitando o flood iptables -A INPUT -i "$IF" -p icmp --icmp-type echo-request -j ACCEPT \         -m limit --limit 60/minute --limit-burst 10 # Permite os pacotes ICMP úteis for d in $ICMPUTIL ; do         iptables -A INPUT -i "$IF" -p icmp --icmp-type $d -j ACCEPT done # OK, agora Forward genérico iptables -A FORWARD -i "$IN" -o "$IF" -m state \         --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -i "$IF" -o "$IN" --state ESTABLISHED,RELATED \         -j ACCEPT iptables -A FORWARD -i "$IN" -o "$IN" -j ACCEPT # Agora, o que não tiver regra, nega o acesso (default policy) iptables -P FORWARD DROP # Finalmente podemos habilitar o forward e colocar outras regras sysctl -w net.ipv4.ip_forward=1 # Permite o acesso do InterBase, com controle de estado iptables -A INPUT -i "$IF" -p tcp --dport "$IBPORT" -m state \         --state NEW,ESTABLISHED -j ACCEPT # Redireciona para rede interna iptables -t nat -I PREROUTING -i "$IF" --dport "$IBPORT" -j DNAT \         --to "$IBSERV" # Permite o Forward do InterBase iptables -A FORWARD -i "$IF" -o "$IN" -p tcp -d "$IBSERV" \         --dport "$IBPORT" --state NEW,ESTABLISHED,RELATED -j ACCEPT # Fechamento # input apenas da rede interna, de conexões estabelecidas e das regras # acima iptables -A INPUT -i "$IF" -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -i "$IN" -j ACCEPT # O resto é bloqueado com log iptables -A INPUT -i "$IF" -j DROPLOGI iptables -A FORWARD -j DROPLOGF #---------- ----- Paulo F. Sedrez ******************************************************** De:  Marcus Lima Responder-a:  marcuslima@marcuslima.eti.br Para:  Moacir Cardoso , linux Assunto:  RES: (linux-br)[IPTABLES] Compartilhando a Internet Data:  Tue, 13 Jan 2004 08:18:19 -0200 > O comando abaixo esta usando a interface correta(ppp0)? > #iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE         Sim, uma vez que a ppp0 possui o IP válido e é a interface ligada ao Gateway Padrão, sim, todos os pacotes que saem com destino a Internet acabam saindo pela ppp0 (-o de output) e como os IPs da sua rede interna precisam ser mascarados, você os está marcarando pelo IP da interface ligada a Internet. > O comando de redirecionamento está usando a interface correta (eth1)? > #iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128         Este já não sei se esta correto, aparentemente não!         Considerando que o Squid é de uso interno, você deveria capturar os pacotes que entram (-i de input) pela interface ligada na rede interna, neste caso a eth0. A eth1 praticamente não será utilizada pelo seu computador, considere que você tem apenas a eth0 como rede interna e ppp0 como a Internet. []s e boa sorte Marcus Lima. Consultor de Segurança. ******************************************************** De:  Moacir Cardoso Para:  linux Assunto:  (linux-br)[IPTABLES FIREWALL] Modelo de Firewall Data:  Wed, 14 Jan 2004 17:47:58 +0000 #!/bin/sh #Detecta o IP da Internet NET=`ifconfig ppp0 | grep inet | cut -f 13 -d " "`/32 #Net Interface IF=ppp0 #iptables IPT=/usr/sbin/iptables $IPT -N LR $IPT -A LR -j LOG $IPT -A LR -j DROP $IPT -P INPUT DROP STOP=LR #Esta regra barra qualquer tentativa de conexão vindo da internet $IPT -A INPUT -j $STOP #Aqui serao adicionados os IPs que voce quer liberar de sua maquina #$IPT -t filter -A INPUT -s IP/32 -j ACCEPT #Ligar algumas proteçoes do kernel if [ -e /proc/sys/net/ipv4/tcp_syncookies ]  then   echo 1 > /proc/sys/net/ipv4/tcp_syncookies fi if [ -e /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses ]  then   echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses fi if [ -e /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts ]  then   echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts fi #Alguns serviços que voce possa querer liberar o acesso serao adicionados aqui #$IPT -t filter -A INPUT -p tcp -s 0/0 -d $NET --dport 21 -i $IF -j ACCEPT #ftp $IPT -t filter -A INPUT -p tcp -s 0/0 -d $NET --dport 22 -i $IF -j ACCEPT #ssh $IPT -t filter -A INPUT -p tcp -s 0/0 -d $NET --dport 23 -i $IF -j ACCEPT #telnet $IPT -t filter -A INPUT -p tcp -s 0/0 -d $NET --dport 25 -i $IF -j ACCEPT #smtp #$IPT -t filter -A INPUT -p tcp -s 0/0 -d $NET --dport 80 -i $IF -j ACCEPT #www $IPT -t filter -A INPUT -p tcp -s 0/0 -d $NET --dport 110 -i $IF -j ACCEPT #pop3 #Permitir entrada de ICMP $IPT -t filter -A INPUT -p icmp -s $NET -d 0/0 -j ACCEPT ----------------------------------------------------------------------- Neste Script eu barro todas as portas e libero somente o que vou precisar. Neste caso estou liberando somente as portas POP3, SMTP, TELNET e SSH pois aqui nesta empresa a internet só é utilizada para navegação, envio e recebimento de e-mails. Valhe resaltar que serviços como ICQ, MSN e tal não vão funcionar pois estes serviços utilizam portas aleatórias então não tem como deixar uma porta aberta para eles. Gostaria que vocês comentassem sobre o que acharam do script e sugestões também serão de muita valia. um abraço pra todos, bye! Moa :-) ******************************************************** De:  caio ferreira Para:  linux-br Assunto:  Re: (linux-br)duvida teorica - FreeS/Wan Data:  Fri, 16 Jan 2004 05:44:10 -0200 On Thu, 15 Jan 2004 13:18:34 -0200 Thiago Macieira wrote: > tenho Vírtua há muitos anos e as portas baixas não são bloqueadas. > Verifique se o firewall do próprio servidor não está bloqueando.         O script de firewall esta assim : #!/bin/bash IPTABLES=/usr/sbin/iptables echo "Starting firewall TESTE ...." # recover IPs ETH0IP=`ifconfig eth0 | grep "inet addr:" | sed 's/.*inet addr://' | cut -d ' ' -f 1` ETH1IP=`ifconfig eth1 | grep "inet addr:" | sed 's/.*inet addr://' | cut -d ' ' -f 1` # clean all possible old mess $IPTABLES -F $IPTABLES -t nat -F $IPTABLES -t mangle -F # First the Masquerading $IPTABLES -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -d \! 192.168.0.0/24  -j MASQUERADE #$IPTABLES -t nat -A POSTROUTING -o eth0 -j MASQUERADE echo "1" >/proc/sys/net/ipv4/ip_forward # Freeswan echo 0 > /proc/sys/net/ipv4/conf/eth0/rp_filter # opening all $IPTABLES -P INPUT ACCEPT $IPTABLES -P OUTPUT ACCEPT $IPTABLES -P FORWARD ACCEPT $IPTABLES -t nat -P POSTROUTING ACCEPT $IPTABLES -t nat -P PREROUTING ACCEPT $IPTABLES -t filter -P FORWARD ACCEPT $IPTABLES -t nat -A PREROUTING -p udp --dport 500 -j ACCEPT $IPTABLES -t filter -A INPUT -p udp --dport 500 -j ACCEPT $IPTABLES -t mangle -A PREROUTING -p udp --dport 500 -j ACCEPT # port forwarding for remote administration # ssh $IPTABLES -t nat -A PREROUTING -p tcp -d $ETH0IP --dport 2022 -j DNAT --to 192.168.1.2:22 # ssh backup $IPTABLES -t nat -A PREROUTING -p tcp -d $ETH0IP --dport 8022 -j DNAT --to 192.168.1.2:22 # Freeswan $IPTABLES -A INPUT -i eth0 -p udp --dport 500 -j ACCEPT # IKE negotiations $IPTABLES -A INPUT -p udp --sport 500 --dport 500 -j ACCEPT $IPTABLES -A OUTPUT -p udp --sport 500 --dport 500 -j ACCEPT # ESP encryption $IPTABLES -A INPUT -p 50 -j ACCEPT $IPTABLES -A OUTPUT -p 50 -j ACCEPT # AH authentication $IPTABLES -A INPUT -p 51 -j ACCEPT $IPTABLES -A OUTPUT -p 51 -j ACCEPT # Liberar para a aplicacao $IPTABLES -A INPUT -p tcp --sport 2020 --dport 2020 -j ACCEPT $IPTABLES -A OUTPUT -p tcp --sport 2020 --dport 2020 -j ACCEPT         Como voce pode verificar esta tudo aberto, inclusive deixei a regra de redirecionamento de porta para te mostrar que ate um tempo atras a porta 22 estava fechada, então fui obrigado a redirecionar da porta 22 para a 2022 e 8022. A situacao da porta 500 para fazer a vpn : PORT    STATE  SERVICE 500/tcp closed isakmp         O estranho eh que agora a porta 22 e 80 estão abertas. Eu nao entendo esse pessoal da Virtua. [ ]'s     *******************    .''`. * Caio A. Ferreira   *  : :'  : * GNU/Linux Debian   *  `. `'`   *******************     `- Gnupg ID 0x01186BE1 Key fingerprint =3D F17E 75C6 CE00 0E09 F63B  71B0 A0D2 FAD9 0118 6BE1 P. O que significa FeedBack? R. Filho de zagueiro. ******************************************************** De:  robsoncb2@yahoo.com.br Para:  linux-br@bazar.conectiva.com.br Assunto:  (linux-br) Posição da regra do squid no firewall ? Data:  Fri, 13 Feb 2004 09:02:42 -0300 (ART) Pessoal pretendo colocar a regra do squid como umas das primeiras regras do meu firewall, será que vai influenciar alguma coisa nas regras de proteção contra os ataques mais comuns. Ou seja, será que colocando a regra do squid como umas das primeiras, os pacotes vão pasar pelas regras de proteção a seguir ? Exemplo: --------------------------- #Squid iptables -t nat -A PREROUTING -p tcp -m multiport -s 172.16.0.0/16 --dport 80,443 -j REDIRECT --to-ports 3128 #Ataque DOS iptables -A FORWARD -m unclean -j DROP #Contra Ping iptables -A FORWARD -p icmp --icmp-type echo-request -j DROP #Contra Ping of Death iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT #Contra ataques Syn-flood iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT #Contra Port scanners avançados (nmap) iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT #Contra IP spoofing iptables -A INPUT -s 172.16.0.0/16 -i ! eth0 -j DROP iptables -A INPUT ! -s 172.16.0.0/16 -i eth0 -j DROP --------------------------- Robson. ******************************************************** De:  caio ferreira Para:  linux Assunto:  Re: (linux-br)  nao consigo conectar na rede fastrack usando o mlonkey (kmldonkey       - mlnet) Data:  Wed, 15 Sep 2004 11:23:44 -0300 otavio wrote: Pessoal, > > Eu usando o kmlondkey em uma rede doméstica com adsl 300 da BRT e um > roteador 3com (office conect ou 812 - aquele alugado pela brt) com > PPPoA. > > Mas estou com dificuldade em baixar arquivos em redes p2p? Existe alguma > configuração a ser feita.  Ouvi dizer que o mldonkey pode não funcionar > direito em redes com masquerade ou nat. Isso é verdade? > > Uso mandrake em uma maquina e conectiva em outra (10.0) >         Coloca as seguintes regras no seu script de firewall, com o cuidado de mudar o valor do ip # eMule $IPTABLES -A PREROUTING -t nat -p tcp --dport 4661 -j DNAT --to 192.168.1.20 $IPTABLES -A PREROUTING -t nat -p tcp --dport 4662 -j DNAT --to 192.168.1.20 $IPTABLES -A PREROUTING -t nat -p udp --dport 4665 -j DNAT --to 192.168.1.20 $IPTABLES -A FORWARD -i $ETH0IP -p udp -m udp --dport 4665 -j ACCEPT $IPTABLES -A FORWARD -i $ETH0IP -p tcp -m tcp --dport 4662 -j ACCEPT $IPTABLES -A FORWARD -i $ETH0IP -p tcp -m tcp --dport 4661 -j ACCEPT $IPTABLES -A FORWARD -s 192.168.1.20 -i eth1 -j ACCEPT ******************************************************** De:  Thiago Macieira Para:  linux-br@bazar2.conectiva.com.br Cc:  Wendell Almeida Silva Assunto:  Re: (linux-br)Como liberar somente pop e smtp? Data:  Wed, 29 Sep 2004 17:22:48 -0300 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Wendell Almeida Silva wrote: >Salve! > >Estou usando as seguintes regras para bloquear qualquer acesso a Internet > de uma sub rede, liberando apenas os serviços de envio e recebimento de > e-mail: > >iptables -A FORWARD -s $SUBNET -i $IF_SUBNET -o $IF_INTERNET -j internet > >1) iptables -A internet -p tcp --dport 25 -j ACCEPT >2) iptables -A internet -p tcp --dport 110 -j ACCEPT >3) iptables -A internet -j DROP > >No entanto, as duas primeiras regras acima não estão liberando o acesso e >estou tendo que liberar qualquer conexão para o envio/recebimento de > e-mail funcionar com: > >iptables -A internet -j ACCEPT > >Qual é o erro nas duas primeiras regras? Nenhum. As regras estão funcionando perfeitamente. O problema é que você só liberou metade da conexão: os dados que saem da subnet e vão para a Internet. Falta liberar o retorno: da Internet para a sua subnet: iptables -A FORWARD -d $SUBNET -i $IF_INTERNET -o $IF_SUBNET -mstate --state ESTABLISHED,RELATED -j ACCEPT A propósito, eu trocaria a regra 3 por: iptables -A internet -j REJECT --reject-with icmp-admin-prohibited - --   Thiago Macieira  -  Registered Linux user #65028    thiago (AT) macieira (DOT) info     ICQ UIN: 1967141   PGP/GPG: 0x6EF45358; fingerprint:     E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358 ******************************************************** De: Alejandro Flores Responder A: Alejandro Flores Para: denise antonelli Cc: linux-br@bazar2.conectiva.com.br Assunto: Re: (linux-br)Ajuda Firewall - iptables. Data: Wed, 27 Apr 2005 15:15:34 -0300 Olá, > Equip.1 - Linux: Conectiva 10 (CL10upd1-final); > Kernel 2.6.10-72032U10_12cl(i686) > Perfil de instalação: Firewall > Não tenho Squid. Porque não? > Equip.2 - Windows98: Proxy/Firewall Você tem certeza que quer fazer isso ?? :-) > Meu objetivo: Implementar um firewall Linux na frente > do Servidor Proxy Windows para melhorar a segurança e > controle de conteúdo (bloquear sites, MSN, etc.). E se > der certo, num futuro próximo substituir o Proxy > Windows pelo Squid. Porque não vai logo no squid? :-) Você pode ir testando com o squid na maq que é seu firewall. Quando estiver satisfeita, instala o linux nessa maq windows 98 proxy para utilizar o squid e desativa o squid do firewall. > Explicando melhor: Já tenho um equipamento com > Windows98 funcionando como Proxy - Programa Winproxy > da empresa Ositis: este programa atua como Proxy, > Firewall e Anti-virus; ele tem também um módulo de > controle de conteúdo mas não está ativo porque sua > renovação anual é muito cara. Assim pensei numa > solução Linux que não sei se vai funcionar. Claro que vai funcionar. :-) > Coloquei o adsl-start e o ./regras-iptables no > /etc/rc.d/rc.local > Na inicialização,depois de executar o regras-iptables, > aparece uma mensagem: > iptables: No chain/target/match by that name. Isso quer dizer que você escreveu o nome de alguma chain ou target errado, ou em letras minusculas, por exemplo. INPUT e input são diferentes. > Quando coloquei as linhas para bloquear o MSN e outros > sites como: > iptables -A FORWARD -s $REDEINT -d > loginnet.passport.com -j REJECT > deu alguns erros, por exemplo: > iptables v1.2.9: host/network 'loginnet.passport.com' > not found > try 'iptables -h'or iptables --help for more > information. Quando você passa o nome de um host ao invés de um IP para a regra do IPTABLES, ele tenta traduzir o nome (loginnet.passport.com) para o respectivo endereço IP e assim criar a regra. Ele está dizendo que não consegue resolver o nome loginnet.passport.com. Pode ser simplesmente configuração de DNS de seu linux. Se as regras de iptables estão sendo chamadas antes de você estar conectado a internet, com certeza ele vai dar erro. -- Abraço! Alejandro Flores http://www.triforsec.com.br/ ******************************************************** De: Thiago Macieira Para: linux-br@bazar2.conectiva.com.br Assunto: Re: (linux-br)Liberar NFS+SSH+FTP+SAMBA no iptables Data: Wed, 11 May 2005 22:41:47 -0300 Raphael wrote: >Bom lista, >Queria liberar apenas esses protocolos no meu iptables, >mais eu não faço a menor ideia de como fazer. >Alguém pode me indicar um caminho...... Ok, vou assumir o seguinte: - a máquina com firewall é também a origem do tráfego - a máquina em questão é *servidora* desses protocolos - você não tem nenhuma outra regra do iptables - não há problemas com tráfego sainte: apenas entrante Se alguma das premissas estiver errada, as regras abaixo não funcionarão para você. Mas servirão de ajuda. Lembre-se também que não as testei: estou postando apenas para dar-lhe o caminho das pedras. Ao mesmo tempo, entenda que a necessidade de ter premissas como acima significa que você não incluiu informações suficientes na sua mensagem. Por favor, releia o "Como fazer perguntas de maneira inteligente" para evitar problemas futuros. # Política padrão: iptables -P INPUT ACCEPT # Libere FTP iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT # Libere Samba (*) iptables -A INPUT -p tcp --dport 135:139 -j ACCEPT iptables -A INPUT -p udp --dport 137 -j ACCEPT # Libere SSH iptables -A INPUT -p tcp --dport 22 -j ACCEPT # Libere NFS iptables -A INPUT -p tcp --dport 111 -j ACCEPT iptables -A INPUT -p udp --dport 111 -j ACCEPT #iptables -A INPUT -p udp --dport 2049 -j ACCEPT # desnecessária # Bloqueie todas as outras portas baixas iptables -A INPUT -p tcp --dport :1023 -j REJECT --reject-with tcp-reset iptables -A INPUT -p udp --dport :1023 -j REJECT Nota (*): não tenho certeza se são essas as portas. Se usar SMB criptografado, a porta é 445. -- Thiago Macieira - thiago (AT) macieira (DOT) info PGP/GPG: 0x6EF45358; fingerprint: E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358 1. On frumscafte, hwonne time_t wæs náht, se scieppend þone circolwyrde wundorcræftlíge cennede and seo eorðe wæs idel and hit wæs gód. ******************************************************** De: Rafael Ferigollo Para: linux-br@bazar2.conectiva.com.br Assunto: Re: (linux-br)Problemas com o IPtables Data: Thu, 23 Jun 2005 10:12:10 -0300 >Alguém alguma receita de bolo como configurar o >iptables em um compartilhamento da imternet com o >linux. Bom dia, ai vai uma receita de bolo, #/bin/bash #Configuracao de firewall #habilita forward echo 1 > /proc/sys/net/ipv4/ip_forward #habilita modulos /sbin/modprobe iptable_nat /sbin/modprobe ip_conntrack_ftp /sbin/modprobe ip_nat_ftp iptables -F iptables -t nat -F iptables -t nat -A POSTROUTING -s ip/mascara -j MASQUERADE é isso ai, onde vc tem ip vc coloca a classe da sua rede, por exemplo sua rede é 192.168.10.x, então vc coloca 192.168.10.0 e na mascara se vc tem 255.255.255.0 vc coloca 24, abaixo segue uma tabela pras mascaras : Máscara Máscara Número (Forma (Forma Máximo de octal) 32 bits) Máquinas Classe A: /8 /255.0.0.0 16,777,215 Classe B: /16 /255.255.0.0 65,535 /17 /255.255.128.0 32,767 /18 /255.255.192.0 16,383 /19 /255.255.224.0 8,191 /20 /255.255.240.0 4,095 /21 /255.255.248.0 2,047 /22 /255.255.252.0 1,023 /23 /255.255.254.0 511 Classe C /24 /255.255.255.0 255 /25 /255.255.255.128 127 /26 /255.255.255.192 63 /27 /255.255.255.224 31 /28 /255.255.255.240 15 /29 /255.255.255.248 7 /30 /255.255.255.252 3 /32 /255.255.255.255 1 Bel. Rafael S. Ferigollo Gerente de Redes SpeedRS Provedor Internet rferigollo@speedrs.com.br ******************************************************** ********************************************************